summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.qmake.conf1
-rwxr-xr-xbin/syncqt.pl18
-rw-r--r--config.tests/arch/arch.pro1
-rw-r--r--config.tests/arch/arch_host.pro1
-rw-r--r--config.tests/arch/write_info.pri14
-rw-r--r--config_help.txt10
-rw-r--r--configure.json2
-rw-r--r--configure.pri53
-rw-r--r--doc/src/images/macmainwindow.pngbin39579 -> 0 bytes
-rw-r--r--examples/corelib/threads/doc/src/mandelbrot.qdoc4
-rw-r--r--examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp2
-rw-r--r--examples/widgets/animation/easing/window.cpp7
-rw-r--r--examples/widgets/animation/stickman/animation.cpp18
-rw-r--r--examples/widgets/animation/stickman/animation.h4
-rw-r--r--examples/widgets/animation/stickman/graphicsview.cpp12
-rw-r--r--examples/widgets/animation/stickman/graphicsview.h12
-rw-r--r--examples/widgets/animation/stickman/lifecycle.cpp19
-rw-r--r--examples/widgets/animation/stickman/lifecycle.h11
-rw-r--r--examples/widgets/animation/stickman/node.h4
-rw-r--r--examples/widgets/animation/stickman/rectbutton.cpp7
-rw-r--r--examples/widgets/animation/stickman/rectbutton.h8
-rw-r--r--examples/widgets/animation/stickman/stickman.cpp29
-rw-r--r--examples/widgets/animation/stickman/stickman.h13
-rw-r--r--examples/widgets/animation/sub-attaq/animationmanager.cpp17
-rw-r--r--examples/widgets/animation/sub-attaq/animationmanager.h10
-rw-r--r--examples/widgets/animation/sub-attaq/boat.cpp19
-rw-r--r--examples/widgets/animation/sub-attaq/boat.h7
-rw-r--r--examples/widgets/animation/sub-attaq/boat_p.h20
-rw-r--r--examples/widgets/animation/sub-attaq/bomb.cpp19
-rw-r--r--examples/widgets/animation/sub-attaq/bomb.h6
-rw-r--r--examples/widgets/animation/sub-attaq/graphicsscene.cpp73
-rw-r--r--examples/widgets/animation/sub-attaq/graphicsscene.h21
-rw-r--r--examples/widgets/animation/sub-attaq/mainwindow.cpp7
-rw-r--r--examples/widgets/animation/sub-attaq/mainwindow.h8
-rw-r--r--examples/widgets/animation/sub-attaq/pixmapitem.cpp5
-rw-r--r--examples/widgets/animation/sub-attaq/pixmapitem.h8
-rw-r--r--examples/widgets/animation/sub-attaq/progressitem.cpp7
-rw-r--r--examples/widgets/animation/sub-attaq/progressitem.h8
-rw-r--r--examples/widgets/animation/sub-attaq/qanimationstate.cpp4
-rw-r--r--examples/widgets/animation/sub-attaq/qanimationstate.h10
-rw-r--r--examples/widgets/animation/sub-attaq/states.cpp28
-rw-r--r--examples/widgets/animation/sub-attaq/states.h24
-rw-r--r--examples/widgets/animation/sub-attaq/submarine.cpp26
-rw-r--r--examples/widgets/animation/sub-attaq/submarine.h11
-rw-r--r--examples/widgets/animation/sub-attaq/submarine_p.h9
-rw-r--r--examples/widgets/animation/sub-attaq/textinformationitem.cpp9
-rw-r--r--examples/widgets/animation/sub-attaq/textinformationitem.h6
-rw-r--r--examples/widgets/animation/sub-attaq/torpedo.cpp23
-rw-r--r--examples/widgets/animation/sub-attaq/torpedo.h6
-rw-r--r--examples/widgets/graphicsview/boxes/scene.cpp4
-rw-r--r--examples/widgets/graphicsview/chip/view.cpp2
-rw-r--r--examples/widgets/graphicsview/elasticnodes/graphwidget.cpp2
-rw-r--r--examples/widgets/itemviews/dirview/main.cpp8
-rw-r--r--examples/widgets/painting/affine/xform.cpp2
-rw-r--r--examples/widgets/tools/codecs/encodingdialog.cpp2
-rw-r--r--examples/widgets/tools/i18n/languagechooser.cpp10
-rw-r--r--examples/widgets/widgets/mousebuttons/buttontester.cpp11
-rw-r--r--mkspecs/android-clang/qmake.conf123
-rw-r--r--mkspecs/android-g++/qmake.conf35
-rw-r--r--mkspecs/android-g++/qplatformdefs.h177
-rw-r--r--mkspecs/common/android-base-head.conf72
-rw-r--r--mkspecs/common/android-base-tail.conf90
-rw-r--r--mkspecs/common/msvc-desktop.conf2
-rw-r--r--mkspecs/features/android/android.prf43
-rw-r--r--mkspecs/features/android/android_deployment_settings.prf37
-rw-r--r--mkspecs/features/android/default_pre.prf77
-rw-r--r--mkspecs/features/android/resolve_config.prf10
-rw-r--r--mkspecs/features/create_cmake.prf107
-rw-r--r--mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in51
-rw-r--r--mkspecs/features/data/cmake/Qt5ImportPlugin.cpp.in2
-rw-r--r--mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in95
-rw-r--r--mkspecs/features/exclusive_builds_post.prf2
-rw-r--r--mkspecs/features/mac/default_post.prf13
-rw-r--r--mkspecs/features/qmake_use.prf6
-rw-r--r--mkspecs/features/qml_module.prf17
-rw-r--r--mkspecs/features/qt_android_deps.prf6
-rw-r--r--mkspecs/features/qt_build_config.prf4
-rw-r--r--mkspecs/features/qt_configure.prf9
-rw-r--r--mkspecs/features/qt_functions.prf3
-rw-r--r--mkspecs/features/qt_helper_lib.prf33
-rw-r--r--mkspecs/features/qt_module.prf2
-rw-r--r--mkspecs/features/qt_module_pris.prf27
-rw-r--r--mkspecs/wasm-emscripten/qmake.conf5
-rw-r--r--mkspecs/win32-clang-msvc/qmake.conf7
-rw-r--r--qmake/Makefile.unix13
-rw-r--r--qmake/Makefile.win323
-rw-r--r--qmake/doc/src/qmake-manual.qdoc10
-rw-r--r--qmake/generators/makefile.cpp29
-rw-r--r--qmake/generators/makefile.h1
-rw-r--r--qmake/generators/makefiledeps.cpp183
-rw-r--r--qmake/generators/makefiledeps.h27
-rw-r--r--qmake/generators/metamakefile.cpp39
-rw-r--r--qmake/generators/projectgenerator.cpp2
-rw-r--r--qmake/generators/unix/unixmake.cpp7
-rw-r--r--qmake/generators/unix/unixmake2.cpp38
-rw-r--r--qmake/generators/win32/mingw_make.cpp6
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp15
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp22
-rw-r--r--qmake/generators/win32/winmakefile.cpp19
-rw-r--r--qmake/generators/win32/winmakefile.h3
-rw-r--r--qmake/generators/xmloutput.cpp10
-rw-r--r--qmake/qmake.pro8
-rw-r--r--src/3rdparty/forkfd/forkfd.c186
-rw-r--r--src/3rdparty/forkfd/forkfd.h5
-rw-r--r--src/3rdparty/forkfd/forkfd_atomic.h39
-rw-r--r--src/3rdparty/forkfd/forkfd_c11.h64
-rw-r--r--src/3rdparty/forkfd/forkfd_freebsd.c101
-rw-r--r--src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties2
-rw-r--r--src/3rdparty/sqlite.pri6
-rw-r--r--src/3rdparty/xcb/README35
-rw-r--r--src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch15
-rw-r--r--src/3rdparty/xcb/include/xcb/randr.h5075
-rw-r--r--src/3rdparty/xcb/include/xcb/render.h4513
-rw-r--r--src/3rdparty/xcb/include/xcb/shape.h1103
-rw-r--r--src/3rdparty/xcb/include/xcb/shm.h738
-rw-r--r--src/3rdparty/xcb/include/xcb/sync.h2216
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_atom.h18
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_aux.h214
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_bitops.h212
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_event.h90
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_icccm.h1049
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_image.h630
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_keysyms.h71
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_pixel.h171
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_renderutil.h150
-rw-r--r--src/3rdparty/xcb/include/xcb/xcb_util.h8
-rw-r--r--src/3rdparty/xcb/include/xcb/xfixes.h2816
-rw-r--r--src/3rdparty/xcb/include/xcb/xinerama.h811
-rw-r--r--src/3rdparty/xcb/include/xcb/xinput.h4
-rw-r--r--src/3rdparty/xcb/include/xcb/xkb.h12085
-rw-r--r--src/3rdparty/xcb/libxcb/fix_compiler_warning_on_32bit_systems.patch15
-rw-r--r--src/3rdparty/xcb/libxcb/fixup-xinput-c.patch19
-rw-r--r--src/3rdparty/xcb/libxcb/randr.c5640
-rw-r--r--src/3rdparty/xcb/libxcb/render.c5295
-rw-r--r--src/3rdparty/xcb/libxcb/shape.c1102
-rw-r--r--src/3rdparty/xcb/libxcb/shm.c724
-rw-r--r--src/3rdparty/xcb/libxcb/sync.c2258
-rw-r--r--src/3rdparty/xcb/libxcb/xfixes.c3274
-rw-r--r--src/3rdparty/xcb/libxcb/xinerama.c703
-rw-r--r--src/3rdparty/xcb/libxcb/xinput.c6
-rw-r--r--src/3rdparty/xcb/libxcb/xkb.c15959
-rw-r--r--src/3rdparty/xcb/qt_attribution.json24
-rw-r--r--src/3rdparty/xcb/sysinclude/render.h1
-rw-r--r--src/3rdparty/xcb/sysinclude/xcb.h1
-rw-r--r--src/3rdparty/xcb/sysinclude/xcbext.h1
-rw-r--r--src/3rdparty/xcb/sysinclude/xproto.h1
-rw-r--r--src/3rdparty/xcb/xcb-util-image/xcb_image.c1011
-rw-r--r--src/3rdparty/xcb/xcb-util-keysyms/keysyms.c498
-rw-r--r--src/3rdparty/xcb/xcb-util-renderutil/util.c255
-rw-r--r--src/3rdparty/xcb/xcb-util-wm/icccm.c845
-rw-r--r--src/3rdparty/xcb/xcb-util/atoms.c76
-rw-r--r--src/3rdparty/xcb/xcb-util/event.c257
-rw-r--r--src/3rdparty/xcb/xcb-util/xcb_aux.c374
-rw-r--r--src/android/jar/jar.pro1
-rw-r--r--src/android/java/java.pro2
-rw-r--r--src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java77
-rw-r--r--src/android/templates/AndroidManifest.xml5
-rw-r--r--src/android/templates/build.gradle2
-rw-r--r--src/android/templates/res/values/libs.xml9
-rw-r--r--src/android/templates/templates.pro2
-rw-r--r--src/concurrent/qtconcurrentreducekernel.h12
-rw-r--r--src/corelib/Qt6CoreMacros.cmake32
-rw-r--r--src/corelib/animation/qpropertyanimation.cpp3
-rw-r--r--src/corelib/animation/qvariantanimation.cpp5
-rw-r--r--src/corelib/codecs/qicucodec.cpp2
-rw-r--r--src/corelib/codecs/qtextcodec.cpp29
-rw-r--r--src/corelib/configure.json38
-rw-r--r--src/corelib/corelib.pro1
-rw-r--r--src/corelib/doc/snippets/cmake-macros/examples.cmake11
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp4
-rw-r--r--src/corelib/doc/src/cmake-macros.qdoc69
-rw-r--r--src/corelib/global/qconfig-bootstrapped.h4
-rw-r--r--src/corelib/global/qglobal.cpp55
-rw-r--r--src/corelib/global/qglobal.h12
-rw-r--r--src/corelib/global/qglobalstatic.h3
-rw-r--r--src/corelib/global/qhooks.cpp2
-rw-r--r--src/corelib/global/qlibraryinfo.cpp4
-rw-r--r--src/corelib/global/qlogging.cpp5
-rw-r--r--src/corelib/global/qnamespace.h10
-rw-r--r--src/corelib/global/qnamespace.qdoc22
-rw-r--r--src/corelib/global/qoperatingsystemversion.cpp8
-rw-r--r--src/corelib/global/qoperatingsystemversion.h1
-rw-r--r--src/corelib/global/qsystemdetection.h14
-rw-r--r--src/corelib/io/forkfd_qt.cpp29
-rw-r--r--src/corelib/io/qfileinfo.cpp64
-rw-r--r--src/corelib/io/qfileinfo.h2
-rw-r--r--src/corelib/io/qfileselector.cpp6
-rw-r--r--src/corelib/io/qfilesystemwatcher_win.cpp13
-rw-r--r--src/corelib/io/qloggingregistry.cpp7
-rw-r--r--src/corelib/io/qprocess_unix.cpp3
-rw-r--r--src/corelib/io/qresource.cpp26
-rw-r--r--src/corelib/io/qsettings.cpp41
-rw-r--r--src/corelib/itemmodels/qabstractitemmodel.cpp15
-rw-r--r--src/corelib/kernel/qcore_mac.cpp3
-rw-r--r--src/corelib/kernel/qcore_mac_p.h12
-rw-r--r--src/corelib/kernel/qcore_unix.cpp4
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp29
-rw-r--r--src/corelib/kernel/qcoreapplication_win.cpp3
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp67
-rw-r--r--src/corelib/kernel/qeventdispatcher_win_p.h2
-rw-r--r--src/corelib/kernel/qmetaobject.cpp47
-rw-r--r--src/corelib/kernel/qmetaobject_p.h8
-rw-r--r--src/corelib/kernel/qmetatype.cpp2
-rw-r--r--src/corelib/kernel/qmetatype.h9
-rw-r--r--src/corelib/kernel/qmetatype_p.h2
-rw-r--r--src/corelib/kernel/qobject.cpp210
-rw-r--r--src/corelib/kernel/qobject.h24
-rw-r--r--src/corelib/kernel/qobject_p.h53
-rw-r--r--src/corelib/kernel/qvariant.cpp8
-rw-r--r--src/corelib/kernel/qvariant.h8
-rw-r--r--src/corelib/plugin/qlibrary_unix.cpp21
-rw-r--r--src/corelib/serialization/qcborvalue.cpp16
-rw-r--r--src/corelib/serialization/qcborvalue.h3
-rw-r--r--src/corelib/serialization/qcborvalue_p.h56
-rw-r--r--src/corelib/serialization/qdatastream.cpp1
-rw-r--r--src/corelib/serialization/qjsonvalue.h4
-rw-r--r--src/corelib/text/qchar.cpp1
-rw-r--r--src/corelib/text/qchar.h1
-rw-r--r--src/corelib/text/qlocale.cpp578
-rw-r--r--src/corelib/text/qlocale.h21
-rw-r--r--src/corelib/text/qlocale_data_p.h3158
-rw-r--r--src/corelib/text/qlocale_p.h30
-rw-r--r--src/corelib/text/qlocale_win.cpp8
-rw-r--r--src/corelib/text/qregexp.cpp5
-rw-r--r--src/corelib/text/qstring.h12
-rw-r--r--src/corelib/text/qstringbuilder.h2
-rw-r--r--src/corelib/text/qstringliteral.h7
-rw-r--r--src/corelib/text/qstringview.h7
-rw-r--r--src/corelib/thread/qfutureinterface.cpp5
-rw-r--r--src/corelib/thread/qfutureinterface.h13
-rw-r--r--src/corelib/thread/qlocking_p.h119
-rw-r--r--src/corelib/thread/qreadwritelock.h28
-rw-r--r--src/corelib/thread/qthread_unix.cpp23
-rw-r--r--src/corelib/thread/qthread_win.cpp2
-rw-r--r--src/corelib/thread/thread.pri1
-rw-r--r--src/corelib/time/qcalendar.cpp1090
-rw-r--r--src/corelib/time/qcalendar.h193
-rw-r--r--src/corelib/time/qcalendarbackend_p.h144
-rw-r--r--src/corelib/time/qcalendarmath_p.h77
-rw-r--r--src/corelib/time/qdatetime.cpp731
-rw-r--r--src/corelib/time/qdatetime.h35
-rw-r--r--src/corelib/time/qdatetime_p.h18
-rw-r--r--src/corelib/time/qdatetimeparser.cpp174
-rw-r--r--src/corelib/time/qdatetimeparser_p.h11
-rw-r--r--src/corelib/time/qgregoriancalendar.cpp175
-rw-r--r--src/corelib/time/qgregoriancalendar_p.h90
-rw-r--r--src/corelib/time/qhijricalendar.cpp125
-rw-r--r--src/corelib/time/qhijricalendar_data_p.h1146
-rw-r--r--src/corelib/time/qhijricalendar_p.h83
-rw-r--r--src/corelib/time/qislamiccivilcalendar.cpp125
-rw-r--r--src/corelib/time/qislamiccivilcalendar_p.h76
-rw-r--r--src/corelib/time/qjalalicalendar.cpp212
-rw-r--r--src/corelib/time/qjalalicalendar_data_p.h893
-rw-r--r--src/corelib/time/qjalalicalendar_p.h86
-rw-r--r--src/corelib/time/qjuliancalendar.cpp128
-rw-r--r--src/corelib/time/qjuliancalendar_p.h (renamed from src/gui/image/qpictureformatplugin.h)56
-rw-r--r--src/corelib/time/qmilankoviccalendar.cpp141
-rw-r--r--src/corelib/time/qmilankoviccalendar_p.h (renamed from src/widgets/util/qscroller_mac.mm)54
-rw-r--r--src/corelib/time/qromancalendar.cpp105
-rw-r--r--src/corelib/time/qromancalendar_data_p.h2646
-rw-r--r--src/corelib/time/qromancalendar_p.h79
-rw-r--r--src/corelib/time/time.pri41
-rw-r--r--src/corelib/tools/qbitarray.cpp20
-rw-r--r--src/corelib/tools/qcryptographichash.cpp8
-rw-r--r--src/corelib/tools/qeasingcurve.h3
-rw-r--r--src/corelib/tools/qlinkedlist.h7
-rw-r--r--src/corelib/tools/qlist.h11
-rw-r--r--src/corelib/tools/qpoint.cpp23
-rw-r--r--src/corelib/tools/qpoint.h4
-rw-r--r--src/corelib/tools/qset.h37
-rw-r--r--src/corelib/tools/qset.qdoc3
-rw-r--r--src/corelib/tools/qsize.cpp18
-rw-r--r--src/corelib/tools/qsize.h11
-rw-r--r--src/corelib/tools/qtimeline.h4
-rw-r--r--src/corelib/tools/qvarlengtharray.h7
-rw-r--r--src/corelib/tools/qvector.h7
-rw-r--r--src/corelib/tools/tools.pri14
-rw-r--r--src/dbus/qdbus_symbols.cpp3
-rw-r--r--src/dbus/qdbusconnection.cpp13
-rw-r--r--src/dbus/qdbusextratypes.cpp8
-rw-r--r--src/dbus/qdbusextratypes.h3
-rw-r--r--src/dbus/qdbusintegrator.cpp7
-rw-r--r--src/dbus/qdbuspendingcall.cpp15
-rw-r--r--src/dbus/qdbuspendingreply.cpp4
-rw-r--r--src/dbus/qdbusserver.cpp4
-rw-r--r--src/gui/configure.json91
-rw-r--r--src/gui/doc/qtgui.qdocconf3
-rw-r--r--src/gui/doc/snippets/picture/picture.cpp79
-rw-r--r--src/gui/doc/src/includes/qt-colors.qdocinc86
-rw-r--r--src/gui/doc/src/includes/svg-colors.qdocinc594
-rw-r--r--src/gui/doc/src/richtext.qdoc69
-rw-r--r--src/gui/image/image.pri21
-rw-r--r--src/gui/image/qimage.cpp17
-rw-r--r--src/gui/image/qimage.h1
-rw-r--r--src/gui/image/qimage_conversions.cpp222
-rw-r--r--src/gui/image/qimage_p.h1
-rw-r--r--src/gui/image/qimage_ssse3.cpp7
-rw-r--r--src/gui/image/qpicture.cpp832
-rw-r--r--src/gui/image/qpicture.h78
-rw-r--r--src/gui/image/qpictureformatplugin.cpp135
-rw-r--r--src/gui/image/qpixmap_win.cpp3
-rw-r--r--src/gui/image/qpnghandler.cpp2
-rw-r--r--src/gui/kernel/qevent.cpp73
-rw-r--r--src/gui/kernel/qevent.h3
-rw-r--r--src/gui/kernel/qguiapplication.cpp52
-rw-r--r--src/gui/kernel/qguiapplication.h3
-rw-r--r--src/gui/kernel/qguiapplication_p.h1
-rw-r--r--src/gui/kernel/qguivariant.cpp1
-rw-r--r--src/gui/kernel/qhighdpiscaling.cpp337
-rw-r--r--src/gui/kernel/qhighdpiscaling_p.h43
-rw-r--r--src/gui/kernel/qopenglcontext.cpp3
-rw-r--r--src/gui/kernel/qplatformintegration.cpp3
-rw-r--r--src/gui/kernel/qplatformintegration.h3
-rw-r--r--src/gui/kernel/qplatformscreen.cpp22
-rw-r--r--src/gui/kernel/qplatformscreen.h3
-rw-r--r--src/gui/kernel/qscreen.cpp13
-rw-r--r--src/gui/kernel/qsurface.cpp6
-rw-r--r--src/gui/kernel/qsurfaceformat.cpp12
-rw-r--r--src/gui/kernel/qtouchdevice.cpp32
-rw-r--r--src/gui/kernel/qwindowsysteminterface.cpp4
-rw-r--r--src/gui/opengl/qopenglprogrambinarycache.cpp3
-rw-r--r--src/gui/opengl/qopengltextureuploader.cpp18
-rw-r--r--src/gui/painting/painting.pri42
-rw-r--r--src/gui/painting/qbezier.cpp34
-rw-r--r--src/gui/painting/qbezier_p.h40
-rw-r--r--src/gui/painting/qcolor.cpp81
-rw-r--r--src/gui/painting/qcolor.h187
-rw-r--r--src/gui/painting/qcolorspace.cpp74
-rw-r--r--src/gui/painting/qcolorspace.h16
-rw-r--r--src/gui/painting/qcolorspace_p.h15
-rw-r--r--src/gui/painting/qcolortransform.h1
-rw-r--r--src/gui/painting/qcompositionfunctions.cpp24
-rw-r--r--src/gui/painting/qdrawhelper.cpp30
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp35
-rw-r--r--src/gui/painting/qpainterpath.cpp21
-rw-r--r--src/gui/painting/qstroker_p.h2
-rw-r--r--src/gui/platform/wasm/qwasmlocalfileaccess.cpp37
-rw-r--r--src/gui/platform/wasm/qwasmlocalfileaccess_p.h2
-rw-r--r--src/gui/rhi/qrhi.cpp214
-rw-r--r--src/gui/rhi/qrhi_p.h7
-rw-r--r--src/gui/rhi/qrhi_p_p.h4
-rw-r--r--src/gui/rhi/qrhid3d11.cpp205
-rw-r--r--src/gui/rhi/qrhid3d11_p_p.h12
-rw-r--r--src/gui/rhi/qrhigles2.cpp179
-rw-r--r--src/gui/rhi/qrhigles2_p_p.h25
-rw-r--r--src/gui/rhi/qrhimetal.mm15
-rw-r--r--src/gui/rhi/qrhimetal_p_p.h4
-rw-r--r--src/gui/rhi/qrhinull.cpp15
-rw-r--r--src/gui/rhi/qrhinull_p_p.h4
-rw-r--r--src/gui/rhi/qrhiprofiler.cpp9
-rw-r--r--src/gui/rhi/qrhivulkan.cpp532
-rw-r--r--src/gui/rhi/qrhivulkan_p.h5
-rw-r--r--src/gui/rhi/qrhivulkan_p_p.h57
-rw-r--r--src/gui/rhi/qshader.cpp12
-rw-r--r--src/gui/rhi/qshaderdescription.cpp18
-rw-r--r--src/gui/text/AGLFN_LICENSE.txt26
-rw-r--r--src/gui/text/qcssparser.cpp22
-rw-r--r--src/gui/text/qcssparser_p.h3
-rw-r--r--src/gui/text/qfont.cpp8
-rw-r--r--src/gui/text/qfont_p.h10
-rw-r--r--src/gui/text/qfontengine.cpp25
-rw-r--r--src/gui/text/qfontengine_p.h23
-rw-r--r--src/gui/text/qfontmetrics.cpp27
-rw-r--r--src/gui/text/qfontmetrics.h4
-rw-r--r--src/gui/text/qt_attribution.json17
-rw-r--r--src/gui/text/qtextdocument.cpp80
-rw-r--r--src/gui/text/qtextdocument_p.cpp3
-rw-r--r--src/gui/text/qtextdocumentfragment.cpp35
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp931
-rw-r--r--src/gui/text/qtextformat.cpp279
-rw-r--r--src/gui/text/qtextformat.h110
-rw-r--r--src/gui/text/qtexthtmlparser.cpp43
-rw-r--r--src/gui/text/qtexthtmlparser_p.h9
-rw-r--r--src/gui/text/qtextlayout.h4
-rw-r--r--src/network/access/access.pri6
-rw-r--r--src/network/access/http2/hpack.cpp5
-rw-r--r--src/network/access/http2/hpack_p.h1
-rw-r--r--src/network/access/http2/http2frames.cpp4
-rw-r--r--src/network/access/http2/http2protocol.cpp116
-rw-r--r--src/network/access/http2/http2protocol_p.h62
-rw-r--r--src/network/access/qhttp2configuration.cpp312
-rw-r--r--src/network/access/qhttp2configuration.h100
-rw-r--r--src/network/access/qhttp2protocolhandler.cpp45
-rw-r--r--src/network/access/qhttp2protocolhandler_p.h25
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp11
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h8
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp6
-rw-r--r--src/network/access/qhttpthreaddelegate.cpp4
-rw-r--r--src/network/access/qhttpthreaddelegate_p.h3
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp5
-rw-r--r--src/network/access/qnetworkaccessmanager.h2
-rw-r--r--src/network/access/qnetworkreplyhttpimpl.cpp64
-rw-r--r--src/network/access/qnetworkreplyhttpimpl_p.h2
-rw-r--r--src/network/access/qnetworkrequest.cpp71
-rw-r--r--src/network/access/qnetworkrequest.h5
-rw-r--r--src/network/bearer/qbearerengine.cpp4
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp69
-rw-r--r--src/network/kernel/qhostinfo.cpp166
-rw-r--r--src/network/kernel/qhostinfo_p.h65
-rw-r--r--src/network/kernel/qnetconmonitor_win.cpp10
-rw-r--r--src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp41
-rw-r--r--src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h20
-rw-r--r--src/platformsupport/glxconvenience/qglxconvenience.cpp4
-rw-r--r--src/platformsupport/kmsconvenience/qkmsdevice.cpp31
-rw-r--r--src/platformsupport/kmsconvenience/qkmsdevice_p.h1
-rw-r--r--src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy_p.h16
-rw-r--r--src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy_p.h20
-rw-r--r--src/plugins/bearer/android/jar/jar.pro2
-rw-r--r--src/plugins/bearer/connman/qconnmanengine.cpp45
-rw-r--r--src/plugins/bearer/connman/qconnmanservice_linux.cpp9
-rw-r--r--src/plugins/bearer/linux_common/qofonoservice_linux.cpp15
-rw-r--r--src/plugins/imageformats/jpeg/qjpeghandler.cpp29
-rw-r--r--src/plugins/platforms/android/androidjnimain.cpp6
-rw-r--r--src/plugins/platforms/android/androidjnimenu.cpp12
-rw-r--r--src/plugins/platforms/android/qandroidplatformmenu.cpp43
-rw-r--r--src/plugins/platforms/android/qandroidplatformmenu.h5
-rw-r--r--src/plugins/platforms/android/qandroidplatformmenubar.cpp34
-rw-r--r--src/plugins/platforms/android/qandroidplatformmenubar.h6
-rw-r--r--src/plugins/platforms/android/qandroidplatformscreen.cpp8
-rw-r--r--src/plugins/platforms/android/qandroidplatformscreen.h2
-rw-r--r--src/plugins/platforms/cocoa/qcocoabackingstore.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoaglcontext.mm11
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.h2
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm13
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenuloader.mm48
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.mm3
-rw-r--r--src/plugins/platforms/cocoa/qcocoascreen.h1
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.h1
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm69
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindowmanager.mm3
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfsintegration.cpp1
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfswindow.cpp9
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfswindow_p.h1
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp3
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp2
-rw-r--r--src/plugins/platforms/offscreen/qoffscreencommon.cpp3
-rw-r--r--src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp2
-rw-r--r--src/plugins/platforms/vnc/qvncclient.cpp13
-rw-r--r--src/plugins/platforms/wasm/qwasmintegration.cpp1
-rw-r--r--src/plugins/platforms/windows/qwindowsglcontext.cpp11
-rw-r--r--src/plugins/platforms/windows/qwindowsscreen.cpp9
-rw-r--r--src/plugins/platforms/windows/qwindowsscreen.h2
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp11
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp12
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp26
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h8
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_basic.cpp21
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_basic.h6
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_xi2.cpp6
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.cpp25
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.h20
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp17
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.h3
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp28
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.h2
-rw-r--r--src/plugins/platforms/xcb/xcb-static/xcb-static.pro80
-rw-r--r--src/plugins/platforms/xcb/xcb.pro2
-rw-r--r--src/plugins/platforms/xcb/xcb_qpa_lib.pro30
-rw-r--r--src/plugins/printsupport/cups/qppdprintdevice.cpp2
-rw-r--r--src/plugins/styles/mac/qmacstyle_mac.mm5
-rw-r--r--src/plugins/styles/windowsvista/qwindowsvistastyle.cpp8
-rw-r--r--src/plugins/styles/windowsvista/qwindowsxpstyle.cpp32
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog.cpp2
-rw-r--r--src/printsupport/dialogs/qprintdialog_unix.cpp5
-rw-r--r--src/testlib/doc/snippets/code/doc_src_qsignalspy.cpp48
-rw-r--r--src/testlib/doc/src/qttestlib-manual.qdoc5
-rw-r--r--src/testlib/qsignalspy.h71
-rw-r--r--src/testlib/qsignalspy.qdoc22
-rw-r--r--src/testlib/qtest.h32
-rw-r--r--src/testlib/qtestcase.h2
-rw-r--r--src/tools/androiddeployqt/main.cpp1143
-rw-r--r--src/tools/androidtestrunner/main.cpp4
-rw-r--r--src/tools/bootstrap/bootstrap.pro3
-rw-r--r--src/tools/qlalr/lalr.cpp10
-rw-r--r--src/tools/uic/qclass_lib_map.h3
-rw-r--r--src/widgets/configure.json7
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp49
-rw-r--r--src/widgets/dialogs/qfiledialog.h1
-rw-r--r--src/widgets/dialogs/qfileinfogatherer.cpp117
-rw-r--r--src/widgets/dialogs/qfileinfogatherer_p.h20
-rw-r--r--src/widgets/dialogs/qfilesystemmodel.cpp103
-rw-r--r--src/widgets/dialogs/qfilesystemmodel.h17
-rw-r--r--src/widgets/dialogs/qwizard.cpp12
-rw-r--r--src/widgets/dialogs/qwizard_win.cpp36
-rw-r--r--src/widgets/dialogs/qwizard_win_p.h16
-rw-r--r--src/widgets/doc/snippets/code/doc_src_styles.cpp5
-rw-r--r--src/widgets/doc/snippets/code/src_gui_dialogs_qfiledialog.cpp11
-rw-r--r--src/widgets/doc/snippets/macmainwindow.mm290
-rw-r--r--src/widgets/graphicsview/graphicsview.pri7
-rw-r--r--src/widgets/graphicsview/qgraphicsitem.cpp15
-rw-r--r--src/widgets/graphicsview/qgraphicsitem.h6
-rw-r--r--src/widgets/graphicsview/qgraphicsproxywidget.cpp12
-rw-r--r--src/widgets/graphicsview/qgraphicsscene.cpp15
-rw-r--r--src/widgets/graphicsview/qgraphicsview.cpp12
-rw-r--r--src/widgets/graphicsview/qgraphicsview_p.h22
-rw-r--r--src/widgets/graphicsview/qgraphicswidget.cpp16
-rw-r--r--src/widgets/graphicsview/qgraphicswidget_p.cpp7
-rw-r--r--src/widgets/itemviews/qabstractitemview.cpp3
-rw-r--r--src/widgets/itemviews/qheaderview.cpp2
-rw-r--r--src/widgets/itemviews/qtableview.cpp8
-rw-r--r--src/widgets/itemviews/qtreeview.cpp34
-rw-r--r--src/widgets/kernel/kernel.pri4
-rw-r--r--src/widgets/kernel/qapplication.cpp4
-rw-r--r--src/widgets/kernel/qapplication_p.h47
-rw-r--r--src/widgets/kernel/qdesktopwidget.cpp2
-rw-r--r--src/widgets/kernel/qdesktopwidget_p.h2
-rw-r--r--src/widgets/kernel/qgesturemanager.cpp10
-rw-r--r--src/widgets/kernel/qshortcut.cpp2
-rw-r--r--src/widgets/kernel/qtooltip.cpp45
-rw-r--r--src/widgets/kernel/qwhatsthis.cpp16
-rw-r--r--src/widgets/kernel/qwidget.cpp778
-rw-r--r--src/widgets/kernel/qwidget.h4
-rw-r--r--src/widgets/kernel/qwidget_p.h269
-rw-r--r--src/widgets/kernel/qwidgetbackingstore_p.h310
-rw-r--r--src/widgets/kernel/qwidgetrepaintmanager.cpp (renamed from src/widgets/kernel/qwidgetbackingstore.cpp)1259
-rw-r--r--src/widgets/kernel/qwidgetrepaintmanager_p.h153
-rw-r--r--src/widgets/kernel/qwidgetwindow.cpp8
-rw-r--r--src/widgets/styles/qcommonstyle.cpp115
-rw-r--r--src/widgets/styles/qfusionstyle.cpp45
-rw-r--r--src/widgets/styles/qpixmapstyle.cpp8
-rw-r--r--src/widgets/styles/qstylehelper.cpp43
-rw-r--r--src/widgets/styles/qstylehelper_p.h9
-rw-r--r--src/widgets/styles/qstyleoption.cpp5
-rw-r--r--src/widgets/styles/qstyleoption.h46
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp7
-rw-r--r--src/widgets/styles/qwindowsstyle.cpp14
-rw-r--r--src/widgets/util/qcompleter.h2
-rw-r--r--src/widgets/util/qflickgesture.cpp15
-rw-r--r--src/widgets/util/qscrollerproperties.cpp7
-rw-r--r--src/widgets/util/qsystemtrayicon.cpp11
-rw-r--r--src/widgets/util/util.pri4
-rw-r--r--src/widgets/widgets/qabstractscrollarea.cpp143
-rw-r--r--src/widgets/widgets/qabstractscrollarea_p.h9
-rw-r--r--src/widgets/widgets/qabstractslider.cpp9
-rw-r--r--src/widgets/widgets/qabstractspinbox.cpp2
-rw-r--r--src/widgets/widgets/qcalendarwidget.cpp396
-rw-r--r--src/widgets/widgets/qcalendarwidget.h5
-rw-r--r--src/widgets/widgets/qcombobox.cpp11
-rw-r--r--src/widgets/widgets/qdatetimeedit.cpp66
-rw-r--r--src/widgets/widgets/qdatetimeedit.h4
-rw-r--r--src/widgets/widgets/qdatetimeedit_p.h20
-rw-r--r--src/widgets/widgets/qdockarealayout.cpp43
-rw-r--r--src/widgets/widgets/qdockwidget.cpp29
-rw-r--r--src/widgets/widgets/qmaccocoaviewcontainer_mac.mm26
-rw-r--r--src/widgets/widgets/qmdiarea.cpp15
-rw-r--r--src/widgets/widgets/qmdisubwindow.cpp43
-rw-r--r--src/widgets/widgets/qplaintextedit.cpp3
-rw-r--r--src/widgets/widgets/qpushbutton.cpp32
-rw-r--r--src/widgets/widgets/qpushbutton_p.h3
-rw-r--r--src/widgets/widgets/qrubberband.cpp13
-rw-r--r--src/widgets/widgets/qsizegrip.cpp34
-rw-r--r--src/widgets/widgets/qstatusbar.cpp41
-rw-r--r--src/widgets/widgets/qtabbar.cpp24
-rw-r--r--src/widgets/widgets/qtabbar_p.h6
-rw-r--r--src/widgets/widgets/qtextedit.cpp3
-rw-r--r--src/widgets/widgets/qtoolbar.cpp7
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol.cpp5
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol_p.h24
-rw-r--r--src/widgets/widgets/qwidgetresizehandler.cpp15
-rw-r--r--sync.profile3
-rw-r--r--tests/auto/bic/data/QtConcurrent.5.13.0.linux-gcc-amd64.txt5029
-rw-r--r--tests/auto/bic/data/QtCore.5.13.0.linux-gcc-amd64.txt4977
-rw-r--r--tests/auto/bic/data/QtDBus.5.13.0.linux-gcc-amd64.txt5316
-rw-r--r--tests/auto/bic/data/QtGui.5.13.0.linux-gcc-amd64.txt8792
-rw-r--r--tests/auto/bic/data/QtNetwork.5.13.0.linux-gcc-amd64.txt5884
-rw-r--r--tests/auto/bic/data/QtOpenGL.5.13.0.linux-gcc-amd64.txt19811
-rw-r--r--tests/auto/bic/data/QtPrintSupport.5.13.0.linux-gcc-amd64.txt20062
-rw-r--r--tests/auto/bic/data/QtSql.5.13.0.linux-gcc-amd64.txt5404
-rw-r--r--tests/auto/bic/data/QtTest.5.13.0.linux-gcc-amd64.txt5074
-rw-r--r--tests/auto/bic/data/QtWidgets.5.13.0.linux-gcc-amd64.txt19561
-rw-r--r--tests/auto/bic/data/QtXml.5.13.0.linux-gcc-amd64.txt5417
-rw-r--r--tests/auto/cmake/CMakeLists.txt2
-rw-r--r--tests/auto/cmake/cmake.pro7
-rw-r--r--tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.pro9
-rw-r--r--tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.json1
-rw-r--r--tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.pro9
-rw-r--r--tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.cpp10
-rw-r--r--tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.h70
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins.pro36
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins1/fake.cpp34
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins1/mockplugins1.pro10
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins1/qmockplugin.h72
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins2/fake.cpp34
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins2/mockplugins2.pro4
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins3/fake.cpp34
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins3/mockplugins3.pro11
-rw-r--r--tests/auto/cmake/mockplugins/mockplugins3/qmockauxplugin.h72
-rw-r--r--tests/auto/cmake/test_QTBUG-63422/CMakeLists.txt3
-rw-r--r--tests/auto/cmake/test_import_plugins/CMakeLists.txt111
-rw-r--r--tests/auto/cmake/test_import_plugins/check.cpp.in8
-rw-r--r--tests/auto/cmake/test_import_plugins/main.cpp101
-rw-r--r--tests/auto/cmake/test_interface/CMakeLists.txt3
-rw-r--r--tests/auto/cmake/test_moc_macro_target/CMakeLists.txt4
-rw-r--r--tests/auto/corelib/animation/qpauseanimation/BLACKLIST8
-rw-r--r--tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp191
-rw-r--r--tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST4
-rw-r--r--tests/auto/corelib/io/qprocess/BLACKLIST1
-rw-r--r--tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp2
-rw-r--r--tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp83
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp30
-rw-r--r--tests/auto/corelib/kernel/qelapsedtimer/BLACKLIST3
-rw-r--r--tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp14
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp48
-rw-r--r--tests/auto/corelib/kernel/qsocketnotifier/BLACKLIST3
-rw-r--r--tests/auto/corelib/kernel/qtimer/BLACKLIST9
-rw-r--r--tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp27
-rw-r--r--tests/auto/corelib/serialization/qtextstream/BLACKLIST3
-rw-r--r--tests/auto/corelib/text/qlatin1string/tst_qlatin1string.cpp8
-rw-r--r--tests/auto/corelib/text/qstringview/tst_qstringview.cpp12
-rw-r--r--tests/auto/corelib/thread/qsemaphore/BLACKLIST3
-rw-r--r--tests/auto/corelib/thread/qthread/BLACKLIST4
-rw-r--r--tests/auto/corelib/thread/qthreadpool/BLACKLIST7
-rw-r--r--tests/auto/corelib/time/qcalendar/qcalendar.pro5
-rw-r--r--tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp236
-rw-r--r--tests/auto/corelib/time/time.pro1
-rw-r--r--tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp57
-rw-r--r--tests/auto/corelib/tools/qlinkedlist/qlinkedlist.pro2
-rw-r--r--tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp28
-rw-r--r--tests/auto/corelib/tools/qlist/qlist.pro2
-rw-r--r--tests/auto/corelib/tools/qlist/tst_qlist.cpp28
-rw-r--r--tests/auto/corelib/tools/qpoint/tst_qpoint.cpp7
-rw-r--r--tests/auto/corelib/tools/qpointf/tst_qpointf.cpp7
-rw-r--r--tests/auto/corelib/tools/qset/qset.pro2
-rw-r--r--tests/auto/corelib/tools/qset/tst_qset.cpp28
-rw-r--r--tests/auto/corelib/tools/qsize/tst_qsize.cpp44
-rw-r--r--tests/auto/corelib/tools/qsizef/tst_qsizef.cpp44
-rw-r--r--tests/auto/corelib/tools/qtimeline/BLACKLIST4
-rw-r--r--tests/auto/corelib/tools/qvarlengtharray/qvarlengtharray.pro2
-rw-r--r--tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp29
-rw-r--r--tests/auto/corelib/tools/qvector/qvector.pro2
-rw-r--r--tests/auto/corelib/tools/qvector/tst_qvector.cpp28
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp24
-rw-r--r--tests/auto/gui/image/qimagereader/tst_qimagereader.cpp9
-rw-r--r--tests/auto/gui/image/qpicture/tst_qpicture.cpp31
-rw-r--r--tests/auto/gui/image/qpixmap/tst_qpixmap.cpp13
-rw-r--r--tests/auto/gui/kernel/kernel.pro3
-rw-r--r--tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp36
-rw-r--r--tests/auto/gui/kernel/qguitimer/BLACKLIST8
-rw-r--r--tests/auto/gui/kernel/qhighdpiscaling/qhighdpiscaling.pro6
-rw-r--r--tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp95
-rw-r--r--tests/auto/gui/kernel/qwindow/BLACKLIST15
-rw-r--r--tests/auto/gui/painting/qcolor/tst_qcolor.cpp249
-rw-r--r--tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp23
-rw-r--r--tests/auto/gui/painting/qpainter/tst_qpainter.cpp6
-rw-r--r--tests/auto/gui/painting/qpainterpath/BLACKLIST2
-rw-r--r--tests/auto/gui/painting/qregion/tst_qregion.cpp24
-rw-r--r--tests/auto/gui/text/qcssparser/tst_qcssparser.cpp29
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp41
-rw-r--r--tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp148
-rw-r--r--tests/auto/gui/text/qtexttable/tst_qtexttable.cpp108
-rw-r--r--tests/auto/network/access/http2/http2srv.cpp10
-rw-r--r--tests/auto/network/access/http2/http2srv.h12
-rw-r--r--tests/auto/network/access/http2/tst_http2.cpp154
-rw-r--r--tests/auto/network/access/qabstractnetworkcache/BLACKLIST2
-rw-r--r--tests/auto/network/access/qftp/BLACKLIST9
-rw-r--r--tests/auto/network/access/qnetworkreply/BLACKLIST191
-rw-r--r--tests/auto/network/access/spdy/BLACKLIST3
-rw-r--r--tests/auto/network/kernel/qdnslookup/BLACKLIST12
-rw-r--r--tests/auto/network/socket/qsocks5socketengine/BLACKLIST3
-rw-r--r--tests/auto/network/socket/qtcpserver/BLACKLIST14
-rw-r--r--tests/auto/network/socket/qtcpsocket/BLACKLIST3
-rw-r--r--tests/auto/network/socket/qudpsocket/BLACKLIST6
-rw-r--r--tests/auto/network/ssl/qsslkey/BLACKLIST17
-rw-r--r--tests/auto/network/ssl/qsslsocket/BLACKLIST4
-rw-r--r--tests/auto/opengl/qgl/tst_qgl.cpp7
-rw-r--r--tests/auto/opengl/qglthreads/tst_qglthreads.cpp3
-rw-r--r--tests/auto/other/lancelot/paintcommands.cpp11
-rw-r--r--tests/auto/other/lancelot/tst_lancelot.cpp13
-rw-r--r--tests/auto/other/networkselftest/BLACKLIST3
-rw-r--r--tests/auto/other/qabstractitemmodelutils/dynamictreemodel.cpp2
-rw-r--r--tests/auto/other/qfocusevent/BLACKLIST3
-rw-r--r--tests/auto/other/qnetworkaccessmanager_and_qprogressdialog/BLACKLIST3
-rw-r--r--tests/auto/other/toolsupport/tst_toolsupport.cpp6
-rw-r--r--tests/auto/testlib/initmain/initmain.pro5
-rw-r--r--tests/auto/testlib/initmain/tst_initmain.cpp56
-rw-r--r--tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp52
-rw-r--r--tests/auto/testlib/testlib.pro1
-rw-r--r--tests/auto/tools/qmake/testcompiler.cpp25
-rw-r--r--tests/auto/tools/qmake/testcompiler.h10
-rw-r--r--tests/auto/tools/qmake/testdata/conflicting_targets/conflicting_targets.pro5
-rw-r--r--tests/auto/tools/qmake/testdata/conflicting_targets/main.cpp4
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/inter.inc1
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/main.cpp1
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/version.inc28
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/windows_resources.pro4
-rw-r--r--tests/auto/tools/qmake/testdata/windows_resources/windows_resources.rc2
-rw-r--r--tests/auto/tools/qmake/tst_qmake.cpp150
-rw-r--r--tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST11
-rw-r--r--tests/auto/widgets/dialogs/qmessagebox/BLACKLIST6
-rw-r--r--tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp19
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp11
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp3
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp744
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsview/BLACKLIST12
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp2
-rw-r--r--tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp3
-rw-r--r--tests/auto/widgets/itemviews/qheaderview/BLACKLIST1
-rw-r--r--tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp9
-rw-r--r--tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp26
-rw-r--r--tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp41
-rw-r--r--tests/auto/widgets/kernel/qapplication/BLACKLIST3
-rw-r--r--tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp2
-rw-r--r--tests/auto/widgets/kernel/qformlayout/qformlayout.pro2
-rw-r--r--tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp13
-rw-r--r--tests/auto/widgets/kernel/qwidget/BLACKLIST10
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp18
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/button.pngbin1785 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/combobox.pngbin1808 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/lineedit.pngbin953 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/mdi.pngbin3092 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/menu.pngbin1139 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/radiobutton.pngbin1498 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/slider.pngbin1074 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/mac/spinbox.pngbin1299 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/button.pngbin722 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/combobox.pngbin809 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/lineedit.pngbin530 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/menu.pngbin646 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/radiobutton.pngbin844 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/slider.pngbin575 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/images/vista/spinbox.pngbin583 -> 0 bytes
-rw-r--r--tests/auto/widgets/styles/qstyle/qstyle.pro5
-rw-r--r--tests/auto/widgets/styles/qstyle/testdata.qrc19
-rw-r--r--tests/auto/widgets/styles/qstyle/tst_qstyle.cpp127
-rw-r--r--tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp6
-rw-r--r--tests/auto/widgets/widgets/qframe/tst_qframe.cpp4
-rw-r--r--tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp3
-rw-r--r--tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp2
-rw-r--r--tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp3
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/main.cpp47
-rw-r--r--tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp170
-rw-r--r--tests/benchmarks/corelib/time/qdatetime/main.cpp291
-rw-r--r--tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp22
-rw-r--r--tests/benchmarks/gui/image/qimagereader/qimagereader.pro2
-rw-r--r--tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp17
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp5
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp12
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp5
-rw-r--r--tests/manual/diaglib/textdump.cpp3
-rw-r--r--tests/manual/highdpi/highdpi.pro1
-rw-r--r--tests/manual/highdpi/main.cpp89
-rw-r--r--tests/manual/lance/main.cpp13
-rw-r--r--tests/manual/manual.pro1
-rw-r--r--tests/manual/qtexttableborders/main.cpp39
-rw-r--r--tests/manual/qtexttableborders/qtexttableborders.pro10
-rw-r--r--tests/manual/qtexttableborders/resources.qrc6
-rw-r--r--tests/manual/qtexttableborders/table-border-test-header.html129
-rw-r--r--tests/manual/qtexttableborders/table-border-test.html171
-rw-r--r--tests/manual/qtexttableborders/widget.cpp125
-rw-r--r--tests/manual/qtexttableborders/widget.h56
-rw-r--r--tests/manual/qtexttableborders/widget.ui79
-rw-r--r--tests/manual/rhi/shared/examplefw.h3
-rw-r--r--tests/manual/rhi/triquadcube/triquadcube.cpp5
-rw-r--r--tests/manual/textrendering/glyphshaping/main.cpp2
-rwxr-xr-xutil/locale_database/cldr2qlocalexml.py15
-rw-r--r--util/locale_database/localexml.py104
-rwxr-xr-xutil/locale_database/qlocalexml2cpp.py122
777 files changed, 130225 insertions, 83771 deletions
diff --git a/.qmake.conf b/.qmake.conf
index dfdd8e2c96..de7af300dc 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -2,7 +2,6 @@ load(qt_build_config)
CONFIG += warning_clean
DEFINES += QT_NO_JAVA_STYLE_ITERATORS
-DEFINES += QT_NO_LINKED_LIST
QT_SOURCE_TREE = $$PWD
QT_BUILD_TREE = $$shadowed($$PWD)
diff --git a/bin/syncqt.pl b/bin/syncqt.pl
index 8226edfb76..1258994f93 100755
--- a/bin/syncqt.pl
+++ b/bin/syncqt.pl
@@ -79,9 +79,6 @@ normalizePath(\$out_basedir);
our $build_basedir;
our $basedir;
-# Make sure we use Windows line endings for chomp and friends on Windows.
-$INPUT_RECORD_SEPARATOR = "\r\n" if ($^O eq "msys");
-
# will be defined based on the modules sync.profile
our (%modules, %moduleheaders, @allmoduleheadersprivate, %classnames, %deprecatedheaders);
our (@qpa_headers, @private_headers);
@@ -182,10 +179,10 @@ sub shouldMasterInclude {
my ($iheader) = @_;
return 0 if (basename($iheader) =~ /_/);
return 0 if (basename($iheader) =~ /qconfig/);
+ local $/ = "\x0a";
if (open(F, "<$iheader")) {
while (<F>) {
- chomp;
- chop if /\r$/;
+ s/\x0d?\x0a//;
return 0 if (/^\#pragma qt_no_master_include$/);
}
close(F);
@@ -215,11 +212,11 @@ sub classNames {
my $ihdrbase = basename($iheader);
my $parsable = "";
+ local $/ = "\x0a";
if(open(F, "<$iheader")) {
while(<F>) {
+ s/\x0d?\x0a//;
my $line = $_;
- chomp $line;
- chop $line if ($line =~ /\r$/);
if($line =~ /^\#/) {
$$clean = 0 if ($line =~ m/^#pragma qt_sync_skip_header_check/);
return @ret if($line =~ m/^#pragma qt_sync_stop_processing/);
@@ -231,6 +228,7 @@ sub classNames {
$line .= ";" if($line =~ m/^Q_[A-Z_0-9]*\(.*\)[\r\n]*$/); #qt macro
$line .= ";" if($line =~ m/^QT_(BEGIN|END)_HEADER[\r\n]*$/); #qt macro
$line .= ";" if($line =~ m/^QT_(BEGIN|END)_NAMESPACE(_[A-Z]+)*[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_DEPRECATED_X\(.*\)[\r\n]*$/); #qt macro
$line .= ";" if($line =~ m/^QT_MODULE\(.*\)[\r\n]*$/); # QT_MODULE macro
$line .= ";" if($line =~ m/^QT_WARNING_(PUSH|POP|DISABLE_\w+\(.*\))[\r\n]*$/); # qt macros
$$requires = $1 if ($line =~ m/^QT_REQUIRE_CONFIG\((.*)\);[\r\n]*$/);
@@ -336,6 +334,7 @@ sub check_header {
$header_skip_qt_begin_namespace_test = 1 if ($ignore_for_qt_begin_namespace_check{$header});
}
+ local $/ = "\x0a";
open(F, "<$iheader") or return;
my $qt_begin_namespace_found = 0;
my $qt_end_namespace_found = 0;
@@ -344,7 +343,7 @@ sub check_header {
my $stop_processing = 0;
my $we_mean_it = 0;
while ($line = <F>) {
- chomp $line;
+ $line =~ s/\x0d?\x0a//;
my $output_line = 1;
if ($line =~ /^ *\# *pragma (qt_no_included_check|qt_sync_stop_processing)/) {
$stop_processing = 1;
@@ -965,9 +964,10 @@ foreach my $lib (@modules_to_sync) {
#push @files, "$out_basedir/include/Qt/$t" if(-e "$out_basedir/include/Qt/$t");
foreach my $file (@files) {
my $remove_file = 0;
+ local $/ = "\x0a";
if(open(F, "<$file")) {
while(my $line = <F>) {
- chomp $line;
+ $line =~ s/\x0d?\x0a//;
if($line =~ /^\#include \"([^\"]*)\"$/) {
my $include = $1;
$include = $subdir . "/" . $include unless(substr($include, 0, 1) eq "/");
diff --git a/config.tests/arch/arch.pro b/config.tests/arch/arch.pro
index 45a7eb33af..c607898b71 100644
--- a/config.tests/arch/arch.pro
+++ b/config.tests/arch/arch.pro
@@ -1 +1,2 @@
SOURCES = arch.cpp
+include(write_info.pri)
diff --git a/config.tests/arch/arch_host.pro b/config.tests/arch/arch_host.pro
index cefdbc77ef..ea0d1fa572 100644
--- a/config.tests/arch/arch_host.pro
+++ b/config.tests/arch/arch_host.pro
@@ -1,2 +1,3 @@
option(host_build)
SOURCES = arch.cpp
+include(write_info.pri)
diff --git a/config.tests/arch/write_info.pri b/config.tests/arch/write_info.pri
new file mode 100644
index 0000000000..666b9e5cbb
--- /dev/null
+++ b/config.tests/arch/write_info.pri
@@ -0,0 +1,14 @@
+targetinfofile = $$basename(_PRO_FILE_)
+targetinfofile ~= s/pro$/target.txt/
+
+win32 {
+ ext = .exe
+} else:wasm {
+ equals(WASM_OBJECT_FILES, 1): \
+ ext = .o
+ else: \
+ ext = .wasm
+}
+
+content = $${file_prefix}$${TARGET}$${ext}
+write_file($$OUT_PWD/$$targetinfofile, content)
diff --git a/config_help.txt b/config_help.txt
index 3f31fd351f..87413155ce 100644
--- a/config_help.txt
+++ b/config_help.txt
@@ -203,9 +203,8 @@ Build environment:
-android-ndk-platform Set Android platform
-android-ndk-host .... Set Android NDK host (linux-x86, linux-x86_64, etc.)
[$ANDROID_NDK_HOST]
- -android-arch ........ Set Android architecture (armeabi, armeabi-v7a,
- arm64-v8a, x86, x86_64)
- -android-toolchain-version ... Set Android toolchain version
+ -android-abis ....... Comma separated Android abis, default is:
+ armeabi-v7a,arm64-v8a,x86,x86_64
-android-style-assets Automatically extract style assets from the device at
run time. This option makes the Android style behave
correctly, but also makes the Android platform plugin
@@ -297,8 +296,7 @@ Gui, printing, widget options:
-gbm ............... Enable backends for GBM [auto] (Linux only)
-kms ............... Enable backends for KMS [auto] (Linux only)
-linuxfb ........... Enable Linux Framebuffer support [auto] (Linux only)
- -xcb ............... Enable X11 support. Select used xcb-* libraries [system/qt/no]
- (-qt-xcb still uses system version of libxcb itself)
+ -xcb ............... Enable X11 support [auto] (Linux only)
Input backends:
-libudev............ Enable udev support [auto]
@@ -307,7 +305,7 @@ Gui, printing, widget options:
-libinput .......... Enable libinput support [auto]
-mtdev ............. Enable mtdev support [auto]
-tslib ............. Enable tslib support [auto]
- -xcb-xinput ........ Enable XInput2 support [auto]
+ -bundled-xcb-xinput Use bundled XInput2 support [auto]
-xkbcommon ......... Enable key mapping support [auto]
Image formats:
diff --git a/configure.json b/configure.json
index e3eb2e152c..3b9d87e08a 100644
--- a/configure.json
+++ b/configure.json
@@ -51,11 +51,11 @@
"translationdir": "string",
"android-arch": "string",
+ "android-abis": "string",
"android-ndk": "string",
"android-ndk-host": "string",
"android-ndk-platform": "string",
"android-sdk": "string",
- "android-toolchain-version": "string",
"android-style-assets": "boolean",
"appstore-compliant": "boolean",
diff --git a/configure.pri b/configure.pri
index 7b8dee0953..ecd46b8e38 100644
--- a/configure.pri
+++ b/configure.pri
@@ -286,37 +286,13 @@ defineTest(qtConfTest_architecture) {
!qtConfTest_compile($${1}): \
error("Could not determine $$eval($${1}.label). See config.log for details.")
- host = $$eval($${1}.host)
- isEmpty(host): host = false
- file_prefix =
- exts = -
- $$host {
- equals(QMAKE_HOST.os, Windows): \
- exts = .exe
- } else {
- win32 {
- exts = .exe
- } else:android {
- file_prefix = lib
- exts = .so
- } else:wasm {
- exts = .wasm .o
- }
- }
-
test = $$eval($${1}.test)
output = $$eval($${1}.output)
test_out_dir = $$OUT_PWD/$$basename(QMAKE_CONFIG_TESTS_DIR)/$$test
- test_out_file =
- for(ext, exts) {
- equals(ext, -): ext =
- f = $$test_out_dir/$$file_prefix$$output$$ext
- exists($$f) {
- test_out_file = $$f
- break()
- }
- }
- isEmpty(test_out_file): \
+ test_out_file = $$test_out_dir/$$cat($$test_out_dir/$${output}.target.txt)
+ exists($$test_out_file): \
+ content = $$cat($$test_out_file, blob)
+ else: \
error("$$eval($${1}.label) detection binary not found.")
content = $$cat($$test_out_file, blob)
@@ -597,14 +573,7 @@ defineTest(qtConfOutput_prepareOptions) {
qtConfFatalError("Cannot find Android NDK." \
"Please use -android-ndk option to specify one.")
- ndk_tc_ver = $$eval(config.input.android-toolchain-version)
- isEmpty(ndk_tc_ver): \
- ndk_tc_ver = 4.9
- !exists($$ndk_root/toolchains/arm-linux-androideabi-$$ndk_tc_ver/prebuilt/*): \
- qtConfFatalError("Cannot detect Android NDK toolchain." \
- "Please use -android-toolchain-version to specify it.")
-
- ndk_tc_pfx = $$ndk_root/toolchains/arm-linux-androideabi-$$ndk_tc_ver/prebuilt
+ ndk_tc_pfx = $$ndk_root/toolchains/llvm/prebuilt
ndk_host = $$eval(config.input.android-ndk-host)
isEmpty(ndk_host): \
ndk_host = $$getenv(ANDROID_NDK_HOST)
@@ -642,10 +611,11 @@ defineTest(qtConfOutput_prepareOptions) {
qtConfFatalError("Specified Android NDK host is invalid.")
}
- target_arch = $$eval(config.input.android-arch)
- isEmpty(target_arch): \
- target_arch = armeabi-v7a
-
+ android_abis = $$eval(config.input.android-abis)
+ isEmpty(android_abis): \
+ android_abis = $$eval(config.input.android-arch)
+ isEmpty(android_abis): \
+ android_abis = armeabi-v7a,arm64-v8a,x86,x86_64
platform = $$eval(config.input.android-ndk-platform)
isEmpty(platform): \
platform = android-21
@@ -655,8 +625,7 @@ defineTest(qtConfOutput_prepareOptions) {
"DEFAULT_ANDROID_NDK_ROOT = $$val_escape(ndk_root)" \
"DEFAULT_ANDROID_PLATFORM = $$platform" \
"DEFAULT_ANDROID_NDK_HOST = $$ndk_host" \
- "DEFAULT_ANDROID_TARGET_ARCH = $$target_arch" \
- "DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION = $$ndk_tc_ver"
+ "DEFAULT_ANDROID_ABIS = $$split(android_abis, ',')"
}
export($${currentConfig}.output.devicePro)
diff --git a/doc/src/images/macmainwindow.png b/doc/src/images/macmainwindow.png
deleted file mode 100644
index 84eb11ca5e..0000000000
--- a/doc/src/images/macmainwindow.png
+++ /dev/null
Binary files differ
diff --git a/examples/corelib/threads/doc/src/mandelbrot.qdoc b/examples/corelib/threads/doc/src/mandelbrot.qdoc
index 274874632e..9e3fdc1dfe 100644
--- a/examples/corelib/threads/doc/src/mandelbrot.qdoc
+++ b/examples/corelib/threads/doc/src/mandelbrot.qdoc
@@ -304,8 +304,8 @@
\snippet threads/mandelbrot/mandelbrotwidget.cpp 12
The wheel event handler is reimplemented to make the mouse wheel
- control the zoom level. QWheelEvent::delta() returns the angle of
- the wheel mouse movement, in eights of a degree. For most mice,
+ control the zoom level. QWheelEvent::angleDelta() returns the angle
+ of the wheel mouse movement, in eighths of a degree. For most mice,
one wheel step corresponds to 15 degrees. We find out how many
mouse steps we have and determine the resulting zoom factor.
For example, if we have two wheel steps in the positive direction
diff --git a/examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp b/examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp
index 71d0abb09f..822791533b 100644
--- a/examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp
+++ b/examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp
@@ -176,7 +176,7 @@ void MandelbrotWidget::keyPressEvent(QKeyEvent *event)
//! [12]
void MandelbrotWidget::wheelEvent(QWheelEvent *event)
{
- int numDegrees = event->delta() / 8;
+ int numDegrees = event->angleDelta().y() / 8;
double numSteps = numDegrees / 15.0f;
zoom(pow(ZoomInFactor, numSteps));
}
diff --git a/examples/widgets/animation/easing/window.cpp b/examples/widgets/animation/easing/window.cpp
index aa12147388..d1d6348361 100644
--- a/examples/widgets/animation/easing/window.cpp
+++ b/examples/widgets/animation/easing/window.cpp
@@ -55,11 +55,10 @@ Window::Window(QWidget *parent)
m_iconSize(64, 64)
{
m_ui.setupUi(this);
- QButtonGroup *buttonGroup = findChild<QButtonGroup *>(); // ### workaround for uic in 4.4
m_ui.easingCurvePicker->setIconSize(m_iconSize);
m_ui.easingCurvePicker->setMinimumHeight(m_iconSize.height() + 50);
- buttonGroup->setId(m_ui.lineRadio, 0);
- buttonGroup->setId(m_ui.circleRadio, 1);
+ m_ui.buttonGroup->setId(m_ui.lineRadio, 0);
+ m_ui.buttonGroup->setId(m_ui.circleRadio, 1);
QEasingCurve dummy;
m_ui.periodSpinBox->setValue(dummy.period());
@@ -68,7 +67,7 @@ Window::Window(QWidget *parent)
connect(m_ui.easingCurvePicker, &QListWidget::currentRowChanged,
this, &Window::curveChanged);
- connect(buttonGroup, QOverload<int>::of(&QButtonGroup::buttonClicked),
+ connect(m_ui.buttonGroup, QOverload<int>::of(&QButtonGroup::buttonClicked),
this, &Window::pathChanged);
connect(m_ui.periodSpinBox, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &Window::periodChanged);
diff --git a/examples/widgets/animation/stickman/animation.cpp b/examples/widgets/animation/stickman/animation.cpp
index 5c2d1682af..73d79adc84 100644
--- a/examples/widgets/animation/stickman/animation.cpp
+++ b/examples/widgets/animation/stickman/animation.cpp
@@ -50,16 +50,13 @@
#include "animation.h"
-#include <QPointF>
-#include <QVector>
#include <QIODevice>
#include <QDataStream>
class Frame
{
public:
- Frame() {
- }
+ Frame() = default;
int nodeCount() const
{
@@ -85,9 +82,8 @@ private:
QVector<QPointF> m_nodePositions;
};
-Animation::Animation()
+Animation::Animation() : m_currentFrame(0)
{
- m_currentFrame = 0;
m_frames.append(new Frame);
}
@@ -103,6 +99,8 @@ void Animation::setTotalFrames(int totalFrames)
while (totalFrames < m_frames.size())
delete m_frames.takeLast();
+
+ setCurrentFrame(m_currentFrame);
}
int Animation::totalFrames() const
@@ -112,7 +110,7 @@ int Animation::totalFrames() const
void Animation::setCurrentFrame(int currentFrame)
{
- m_currentFrame = qMax(qMin(currentFrame, totalFrames()-1), 0);
+ m_currentFrame = qBound(0, currentFrame, totalFrames() - 1);
}
int Animation::currentFrame() const
@@ -177,18 +175,16 @@ void Animation::load(QIODevice *device)
int frameCount;
stream >> frameCount;
- for (int i=0; i<frameCount; ++i) {
-
+ for (int i = 0; i < frameCount; ++i) {
int nodeCount;
stream >> nodeCount;
Frame *frame = new Frame;
frame->setNodeCount(nodeCount);
- for (int j=0; j<nodeCount; ++j) {
+ for (int j = 0; j < nodeCount; ++j) {
QPointF pos;
stream >> pos;
-
frame->setNodePos(j, pos);
}
diff --git a/examples/widgets/animation/stickman/animation.h b/examples/widgets/animation/stickman/animation.h
index e57847aeaa..5cc1133ac0 100644
--- a/examples/widgets/animation/stickman/animation.h
+++ b/examples/widgets/animation/stickman/animation.h
@@ -52,8 +52,8 @@
#define ANIMATION_H
#include <QPointF>
-#include <QList>
#include <QString>
+#include <QVector>
class Frame;
QT_BEGIN_NAMESPACE
@@ -85,7 +85,7 @@ public:
private:
QString m_name;
- QList<Frame *> m_frames;
+ QVector<Frame *> m_frames;
int m_currentFrame;
};
diff --git a/examples/widgets/animation/stickman/graphicsview.cpp b/examples/widgets/animation/stickman/graphicsview.cpp
index 7058e15345..0f5800cff3 100644
--- a/examples/widgets/animation/stickman/graphicsview.cpp
+++ b/examples/widgets/animation/stickman/graphicsview.cpp
@@ -51,13 +51,8 @@
#include "graphicsview.h"
#include "stickman.h"
-#include <QtGui/QKeyEvent>
-#include <QtWidgets/QGraphicsScene>
-#include <QtWidgets/QGraphicsView>
-
-GraphicsView::GraphicsView(QWidget *parent)
- : QGraphicsView(parent), m_editor(nullptr)
-{}
+#include <QKeyEvent>
+#include <QGraphicsScene>
void GraphicsView::keyPressEvent(QKeyEvent *e)
{
@@ -66,7 +61,8 @@ void GraphicsView::keyPressEvent(QKeyEvent *e)
emit keyPressed(Qt::Key(e->key()));
}
-void GraphicsView::resizeEvent(QResizeEvent *)
+void GraphicsView::resizeEvent(QResizeEvent *e)
{
fitInView(scene()->sceneRect());
+ QGraphicsView::resizeEvent(e);
}
diff --git a/examples/widgets/animation/stickman/graphicsview.h b/examples/widgets/animation/stickman/graphicsview.h
index 361fee219d..29f4c6237e 100644
--- a/examples/widgets/animation/stickman/graphicsview.h
+++ b/examples/widgets/animation/stickman/graphicsview.h
@@ -51,24 +51,20 @@
#ifndef GRAPHICSVIEW_H
#define GRAPHICSVIEW_H
-#include <QtWidgets/QGraphicsView>
+#include <QGraphicsView>
-class MainWindow;
class GraphicsView: public QGraphicsView
{
Q_OBJECT
public:
- GraphicsView(QWidget *parent = nullptr);
+ using QGraphicsView::QGraphicsView;
protected:
- void resizeEvent(QResizeEvent *event) override;
- void keyPressEvent(QKeyEvent *) override;
+ void resizeEvent(QResizeEvent *e) override;
+ void keyPressEvent(QKeyEvent *e) override;
signals:
void keyPressed(int key);
-
-private:
- MainWindow *m_editor;
};
#endif
diff --git a/examples/widgets/animation/stickman/lifecycle.cpp b/examples/widgets/animation/stickman/lifecycle.cpp
index 046e3f4cd1..5ad284c590 100644
--- a/examples/widgets/animation/stickman/lifecycle.cpp
+++ b/examples/widgets/animation/stickman/lifecycle.cpp
@@ -54,8 +54,15 @@
#include "animation.h"
#include "graphicsview.h"
-#include <QtCore>
-#include <QtWidgets>
+#include <QEventTransition>
+#include <QFile>
+#include <QParallelAnimationGroup>
+#include <QPropertyAnimation>
+#include <QRandomGenerator>
+#include <QSignalTransition>
+#include <QState>
+#include <QStateMachine>
+#include <QTimer>
class KeyPressTransition: public QSignalTransition
{
@@ -107,7 +114,7 @@ LifeCycle::LifeCycle(StickMan *stickMan, GraphicsView *keyReceiver)
// Create animation group to be used for all transitions
m_animationGroup = new QParallelAnimationGroup();
const int stickManNodeCount = m_stickMan->nodeCount();
- for (int i=0; i<stickManNodeCount; ++i) {
+ for (int i = 0; i < stickManNodeCount; ++i) {
QPropertyAnimation *pa = new QPropertyAnimation(m_stickMan->node(i), "pos");
m_animationGroup->addAnimation(pa);
}
@@ -175,7 +182,7 @@ void LifeCycle::addActivity(const QString &fileName, Qt::Key key, QObject *sende
QState *state = makeState(m_alive, fileName);
m_alive->addTransition(new KeyPressTransition(m_keyReceiver, key, state));
- if (sender || signal)
+ if (sender && signal)
m_alive->addTransition(sender, signal, state);
}
@@ -192,13 +199,13 @@ QState *LifeCycle::makeState(QState *parentState, const QString &animationFileNa
const int frameCount = animation.totalFrames();
QState *previousState = nullptr;
- for (int i=0; i<frameCount; ++i) {
+ for (int i = 0; i < frameCount; ++i) {
animation.setCurrentFrame(i);
//! [1]
QState *frameState = new QState(topLevel);
const int nodeCount = animation.nodeCount();
- for (int j=0; j<nodeCount; ++j)
+ for (int j = 0; j < nodeCount; ++j)
frameState->assignProperty(m_stickMan->node(j), "pos", animation.nodePos(j));
//! [1]
diff --git a/examples/widgets/animation/stickman/lifecycle.h b/examples/widgets/animation/stickman/lifecycle.h
index e3f9876676..21ab99276d 100644
--- a/examples/widgets/animation/stickman/lifecycle.h
+++ b/examples/widgets/animation/stickman/lifecycle.h
@@ -53,16 +53,16 @@
#include <Qt>
-class StickMan;
QT_BEGIN_NAMESPACE
-class QStateMachine;
-class QAnimationGroup;
-class QState;
class QAbstractState;
class QAbstractTransition;
+class QAnimationGroup;
class QObject;
+class QState;
+class QStateMachine;
QT_END_NAMESPACE
class GraphicsView;
+class StickMan;
class LifeCycle
{
public:
@@ -70,7 +70,8 @@ public:
~LifeCycle();
void setDeathAnimation(const QString &fileName);
- void addActivity(const QString &fileName, Qt::Key key, QObject *sender = NULL, const char *signal = NULL);
+ void addActivity(const QString &fileName, Qt::Key key,
+ QObject *sender = nullptr, const char *signal = nullptr);
void start();
diff --git a/examples/widgets/animation/stickman/node.h b/examples/widgets/animation/stickman/node.h
index 679999b7e8..2b393c60c1 100644
--- a/examples/widgets/animation/stickman/node.h
+++ b/examples/widgets/animation/stickman/node.h
@@ -51,13 +51,13 @@
#ifndef NODE_H
#define NODE_H
-#include <QGraphicsItem>
+#include <QGraphicsObject>
class Node: public QGraphicsObject
{
Q_OBJECT
public:
- explicit Node(const QPointF &pos, QGraphicsItem *parent = 0);
+ explicit Node(const QPointF &pos, QGraphicsItem *parent = nullptr);
~Node();
QRectF boundingRect() const override;
diff --git a/examples/widgets/animation/stickman/rectbutton.cpp b/examples/widgets/animation/stickman/rectbutton.cpp
index 7eea94ae6f..5174d0aeaf 100644
--- a/examples/widgets/animation/stickman/rectbutton.cpp
+++ b/examples/widgets/animation/stickman/rectbutton.cpp
@@ -51,12 +51,7 @@
#include "rectbutton.h"
#include <QPainter>
-RectButton::RectButton(QString buttonText) : m_ButtonText(buttonText)
-{
-}
-
-
-RectButton::~RectButton()
+RectButton::RectButton(const QString &buttonText) : m_ButtonText(buttonText)
{
}
diff --git a/examples/widgets/animation/stickman/rectbutton.h b/examples/widgets/animation/stickman/rectbutton.h
index ab47bad0f7..ee6cd3f530 100644
--- a/examples/widgets/animation/stickman/rectbutton.h
+++ b/examples/widgets/animation/stickman/rectbutton.h
@@ -57,19 +57,19 @@ class RectButton : public QGraphicsObject
{
Q_OBJECT
public:
- RectButton(QString buttonText);
- ~RectButton();
+ RectButton(const QString &buttonText);
QRectF boundingRect() const override;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
protected:
- QString m_ButtonText;
-
void mousePressEvent (QGraphicsSceneMouseEvent *event) override;
signals:
void clicked();
+
+private:
+ QString m_ButtonText;
};
#endif // RECTBUTTON_H
diff --git a/examples/widgets/animation/stickman/stickman.cpp b/examples/widgets/animation/stickman/stickman.cpp
index 5725f64eec..3f373b6b52 100644
--- a/examples/widgets/animation/stickman/stickman.cpp
+++ b/examples/widgets/animation/stickman/stickman.cpp
@@ -52,10 +52,9 @@
#include "node.h"
#include <QPainter>
-#include <QTimer>
-#include <qmath.h>
+#include <QtMath>
-static const qreal Coords[NodeCount * 2] = {
+static constexpr qreal Coords[NodeCount * 2] = {
0.0, -150.0, // head, #0
0.0, -100.0, // body pentagon, top->bottom, left->right, #1 - 5
@@ -81,7 +80,7 @@ static const qreal Coords[NodeCount * 2] = {
};
-static const int Bones[BoneCount * 2] = {
+static constexpr int Bones[BoneCount * 2] = {
0, 1, // neck
1, 2, // body
@@ -117,19 +116,13 @@ static const int Bones[BoneCount * 2] = {
StickMan::StickMan()
{
- m_sticks = true;
- m_isDead = false;
- m_pixmap = QPixmap("images/head.png");
- m_penColor = Qt::white;
- m_fillColor = Qt::black;
-
// Set up start position of limbs
- for (int i=0; i<NodeCount; ++i) {
+ for (int i = 0; i < NodeCount; ++i) {
m_nodes[i] = new Node(QPointF(Coords[i * 2], Coords[i * 2 + 1]), this);
connect(m_nodes[i], &Node::positionChanged, this, &StickMan::childPositionChanged);
}
- for (int i=0; i<BoneCount; ++i) {
+ for (int i = 0; i < BoneCount; ++i) {
int n1 = Bones[i * 2];
int n2 = Bones[i * 2 + 1];
@@ -137,16 +130,12 @@ StickMan::StickMan()
Node *node2 = m_nodes[n2];
QPointF dist = node1->pos() - node2->pos();
- m_perfectBoneLengths[i] = sqrt(pow(dist.x(),2) + pow(dist.y(),2));
+ m_perfectBoneLengths[i] = sqrt(pow(dist.x(), 2) + pow(dist.y(), 2));
}
startTimer(10);
}
-StickMan::~StickMan()
-{
-}
-
void StickMan::childPositionChanged()
{
prepareGeometryChange();
@@ -155,7 +144,7 @@ void StickMan::childPositionChanged()
void StickMan::setDrawSticks(bool on)
{
m_sticks = on;
- for (int i=0;i<nodeCount();++i) {
+ for (int i = 0; i < nodeCount(); ++i) {
Node *node = m_nodes[i];
node->setVisible(on);
}
@@ -188,7 +177,7 @@ void StickMan::stabilize()
{
static const qreal threshold = 0.001;
- for (int i=0; i<BoneCount; ++i) {
+ for (int i = 0; i < BoneCount; ++i) {
int n1 = Bones[i * 2];
int n2 = Bones[i * 2 + 1];
@@ -236,7 +225,7 @@ void StickMan::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidge
stabilize();
if (m_sticks) {
painter->setPen(Qt::white);
- for (int i=0; i<BoneCount; ++i) {
+ for (int i = 0; i < BoneCount; ++i) {
int n1 = Bones[i * 2];
int n2 = Bones[i * 2 + 1];
diff --git a/examples/widgets/animation/stickman/stickman.h b/examples/widgets/animation/stickman/stickman.h
index f2311a0358..63c02abc8f 100644
--- a/examples/widgets/animation/stickman/stickman.h
+++ b/examples/widgets/animation/stickman/stickman.h
@@ -57,8 +57,6 @@ static const int NodeCount = 16;
static const int BoneCount = 24;
class Node;
-QT_BEGIN_NAMESPACE
-QT_END_NAMESPACE
class StickMan: public QGraphicsObject
{
Q_OBJECT
@@ -67,7 +65,6 @@ class StickMan: public QGraphicsObject
Q_PROPERTY(bool isDead WRITE setIsDead READ isDead)
public:
StickMan();
- ~StickMan();
QRectF boundingRect() const override;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
@@ -101,13 +98,11 @@ private:
Node *m_nodes[NodeCount];
qreal m_perfectBoneLengths[BoneCount];
- uint m_sticks : 1;
- uint m_isDead : 1;
- uint m_reserved : 30;
+ bool m_sticks = true;
+ bool m_isDead = false;
- QPixmap m_pixmap;
- QColor m_penColor;
- QColor m_fillColor;
+ QColor m_penColor = Qt::white;
+ QColor m_fillColor = Qt::black;
};
#endif // STICKMAN_H
diff --git a/examples/widgets/animation/sub-attaq/animationmanager.cpp b/examples/widgets/animation/sub-attaq/animationmanager.cpp
index a611641613..261cbd1e1c 100644
--- a/examples/widgets/animation/sub-attaq/animationmanager.cpp
+++ b/examples/widgets/animation/sub-attaq/animationmanager.cpp
@@ -51,22 +51,13 @@
//Own
#include "animationmanager.h"
-//Qt
-#include <QtCore/QAbstractAnimation>
-#include <QtCore/QDebug>
-
-// the universe's only animation manager
-AnimationManager *AnimationManager::instance = nullptr;
-
-AnimationManager::AnimationManager()
-{
-}
+#include <QAbstractAnimation>
AnimationManager *AnimationManager::self()
{
- if (!instance)
- instance = new AnimationManager;
- return instance;
+ // the universe's only animation manager
+ static AnimationManager s_instance;
+ return &s_instance;
}
void AnimationManager::registerAnimation(QAbstractAnimation *anim)
diff --git a/examples/widgets/animation/sub-attaq/animationmanager.h b/examples/widgets/animation/sub-attaq/animationmanager.h
index 9365fa1f1e..5ddea66e80 100644
--- a/examples/widgets/animation/sub-attaq/animationmanager.h
+++ b/examples/widgets/animation/sub-attaq/animationmanager.h
@@ -51,7 +51,7 @@
#ifndef ANIMATIONMANAGER_H
#define ANIMATIONMANAGER_H
-#include <QtCore/QObject>
+#include <QObject>
QT_BEGIN_NAMESPACE
class QAbstractAnimation;
@@ -59,9 +59,10 @@ QT_END_NAMESPACE
class AnimationManager : public QObject
{
-Q_OBJECT
+ Q_OBJECT
+ AnimationManager() = default;
+ ~AnimationManager() = default;
public:
- AnimationManager();
void registerAnimation(QAbstractAnimation *anim);
void unregisterAnimation(QAbstractAnimation *anim);
void unregisterAllAnimations();
@@ -75,8 +76,7 @@ private slots:
void unregisterAnimation_helper(QObject *obj);
private:
- static AnimationManager *instance;
- QList<QAbstractAnimation *> animations;
+ QVector<QAbstractAnimation *> animations;
};
#endif // ANIMATIONMANAGER_H
diff --git a/examples/widgets/animation/sub-attaq/boat.cpp b/examples/widgets/animation/sub-attaq/boat.cpp
index 9037d54878..d5fa314b60 100644
--- a/examples/widgets/animation/sub-attaq/boat.cpp
+++ b/examples/widgets/animation/sub-attaq/boat.cpp
@@ -52,18 +52,17 @@
#include "boat.h"
#include "boat_p.h"
#include "bomb.h"
-#include "pixmapitem.h"
#include "graphicsscene.h"
#include "animationmanager.h"
#include "qanimationstate.h"
//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QHistoryState>
-#include <QtCore/QFinalState>
-#include <QtCore/QState>
-#include <QtCore/QSequentialAnimationGroup>
+#include <QFinalState>
+#include <QHistoryState>
+#include <QPropertyAnimation>
+#include <QSequentialAnimationGroup>
+#include <QState>
+#include <QStateMachine>
static QAbstractAnimation *setupDestroyAnimation(Boat *boat)
{
@@ -181,7 +180,7 @@ Boat::Boat()
launchStateLeft->addTransition(historyState);
launchStateRight->addTransition(historyState);
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
//This state play the destroyed animation
QAnimationState *destroyedState = new QAnimationState(machine);
@@ -191,10 +190,10 @@ Boat::Boat()
moving->addTransition(this, &Boat::boatDestroyed, destroyedState);
//Transition to final state when the destroyed animation is finished
- destroyedState->addTransition(destroyedState, &QAnimationState::animationFinished, final);
+ destroyedState->addTransition(destroyedState, &QAnimationState::animationFinished, finalState);
//The machine has finished to be executed, then the boat is dead
- connect(machine,&QState::finished, this, &Boat::boatExecutionFinished);
+ connect(machine, &QState::finished, this, &Boat::boatExecutionFinished);
}
diff --git a/examples/widgets/animation/sub-attaq/boat.h b/examples/widgets/animation/sub-attaq/boat.h
index a75e2b1474..22f2f0f7c1 100644
--- a/examples/widgets/animation/sub-attaq/boat.h
+++ b/examples/widgets/animation/sub-attaq/boat.h
@@ -48,12 +48,11 @@
**
****************************************************************************/
-#ifndef __BOAT__H__
-#define __BOAT__H__
+#ifndef BOAT_H
+#define BOAT_H
#include "pixmapitem.h"
-class Bomb;
QT_BEGIN_NAMESPACE
class QVariantAnimation;
class QAbstractAnimation;
@@ -101,4 +100,4 @@ private:
QStateMachine *machine;
};
-#endif //__BOAT__H__
+#endif // BOAT_H
diff --git a/examples/widgets/animation/sub-attaq/boat_p.h b/examples/widgets/animation/sub-attaq/boat_p.h
index 8ebfeb27f5..bb1a783392 100644
--- a/examples/widgets/animation/sub-attaq/boat_p.h
+++ b/examples/widgets/animation/sub-attaq/boat_p.h
@@ -67,7 +67,9 @@
#include "graphicsscene.h"
// Qt
-#include <QtWidgets/QKeyEventTransition>
+#include <QGraphicsRotation>
+#include <QKeyEventTransition>
+#include <QState>
static const int MAX_BOMB = 5;
@@ -88,7 +90,7 @@ protected:
return (boat->currentSpeed() == 1);
}
private:
- Boat * boat;
+ Boat *boat;
};
//These transtion test if we have to move the boat (i.e current speed was 0 or another value)
@@ -118,7 +120,7 @@ protected:
boat->updateBoatMovement();
}
private:
- Boat * boat;
+ Boat *boat;
int key;
};
@@ -139,7 +141,7 @@ protected:
return (boat->bombsLaunched() < MAX_BOMB);
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing when the boat is moving right
@@ -157,7 +159,7 @@ protected:
boat->updateBoatMovement();
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing when the boat is moving left
@@ -175,7 +177,7 @@ protected:
boat->updateBoatMovement();
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing when the boat is in a stand by position
@@ -194,7 +196,7 @@ protected:
boat->updateBoatMovement();
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing the launch of the torpedo on the right
@@ -216,7 +218,7 @@ protected:
boat->setBombsLaunched(boat->bombsLaunched() + 1);
}
private:
- Boat * boat;
+ Boat *boat;
};
//This state is describing the launch of the torpedo on the left
@@ -238,7 +240,7 @@ protected:
boat->setBombsLaunched(boat->bombsLaunched() + 1);
}
private:
- Boat * boat;
+ Boat *boat;
};
#endif // BOAT_P_H
diff --git a/examples/widgets/animation/sub-attaq/bomb.cpp b/examples/widgets/animation/sub-attaq/bomb.cpp
index 2b865137dd..0b9c365662 100644
--- a/examples/widgets/animation/sub-attaq/bomb.cpp
+++ b/examples/widgets/animation/sub-attaq/bomb.cpp
@@ -51,15 +51,14 @@
//Own
#include "bomb.h"
#include "submarine.h"
-#include "pixmapitem.h"
#include "animationmanager.h"
#include "qanimationstate.h"
//Qt
-#include <QtCore/QSequentialAnimationGroup>
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
+#include <QFinalState>
+#include <QPropertyAnimation>
+#include <QSequentialAnimationGroup>
+#include <QStateMachine>
Bomb::Bomb() : PixmapItem(QString("bomb"), GraphicsScene::Big)
{
@@ -83,7 +82,7 @@ void Bomb::launch(Bomb::Direction direction)
anim->setEndValue(QPointF(x() + delta*2,scene()->height()));
anim->setDuration(y()/2*60);
launchAnimation->addAnimation(anim);
- connect(anim,&QVariantAnimation::valueChanged,this,&Bomb::onAnimationLaunchValueChanged);
+ connect(anim, &QVariantAnimation::valueChanged, this, &Bomb::onAnimationLaunchValueChanged);
connect(this, &Bomb::bombExploded, launchAnimation, &QAbstractAnimation::stop);
//We setup the state machine of the bomb
QStateMachine *machine = new QStateMachine(this);
@@ -93,18 +92,18 @@ void Bomb::launch(Bomb::Direction direction)
launched->setAnimation(launchAnimation);
//End
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
machine->setInitialState(launched);
//### Add a nice animation when the bomb is destroyed
- launched->addTransition(this, &Bomb::bombExploded,final);
+ launched->addTransition(this, &Bomb::bombExploded, finalState);
//If the animation is finished, then we move to the final state
- launched->addTransition(launched, &QAnimationState::animationFinished, final);
+ launched->addTransition(launched, &QAnimationState::animationFinished, finalState);
//The machine has finished to be executed, then the boat is dead
- connect(machine,&QState::finished,this, &Bomb::bombExecutionFinished);
+ connect(machine,&QState::finished, this, &Bomb::bombExecutionFinished);
machine->start();
diff --git a/examples/widgets/animation/sub-attaq/bomb.h b/examples/widgets/animation/sub-attaq/bomb.h
index 8e893f81e3..9ae54b4d81 100644
--- a/examples/widgets/animation/sub-attaq/bomb.h
+++ b/examples/widgets/animation/sub-attaq/bomb.h
@@ -48,8 +48,8 @@
**
****************************************************************************/
-#ifndef __BOMB__H__
-#define __BOMB__H__
+#ifndef BOMB_H
+#define BOMB_H
#include "pixmapitem.h"
@@ -73,4 +73,4 @@ private slots:
void onAnimationLaunchValueChanged(const QVariant &);
};
-#endif //__BOMB__H__
+#endif // BOMB_H
diff --git a/examples/widgets/animation/sub-attaq/graphicsscene.cpp b/examples/widgets/animation/sub-attaq/graphicsscene.cpp
index 8f0dfc1357..c7e2d269c8 100644
--- a/examples/widgets/animation/sub-attaq/graphicsscene.cpp
+++ b/examples/widgets/animation/sub-attaq/graphicsscene.cpp
@@ -55,38 +55,33 @@
#include "submarine.h"
#include "torpedo.h"
#include "bomb.h"
-#include "pixmapitem.h"
#include "animationmanager.h"
#include "qanimationstate.h"
#include "progressitem.h"
#include "textinformationitem.h"
//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QSequentialAnimationGroup>
-#include <QtCore/QParallelAnimationGroup>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-#include <QtCore/QPauseAnimation>
-#include <QtWidgets/QAction>
-#include <QtCore/QDir>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QMessageBox>
-#include <QtWidgets/QGraphicsView>
-#include <QtWidgets/QGraphicsSceneMouseEvent>
-#include <QtCore/QXmlStreamReader>
-
-GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode)
- : QGraphicsScene(x , y, width, height), mode(mode), boat(new Boat)
+#include <QAction>
+#include <QApplication>
+#include <QFile>
+#include <QFinalState>
+#include <QParallelAnimationGroup>
+#include <QPropertyAnimation>
+#include <QSequentialAnimationGroup>
+#include <QStateMachine>
+#include <QXmlStreamReader>
+
+GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode, QObject *parent)
+ : QGraphicsScene(x, y, width, height, parent), mode(mode), boat(new Boat)
{
- PixmapItem *backgroundItem = new PixmapItem(QString("background"),mode);
+ PixmapItem *backgroundItem = new PixmapItem(QStringLiteral("background"), mode);
backgroundItem->setZValue(1);
backgroundItem->setPos(0,0);
addItem(backgroundItem);
- PixmapItem *surfaceItem = new PixmapItem(QString("surface"),mode);
+ PixmapItem *surfaceItem = new PixmapItem(QStringLiteral("surface"), mode);
surfaceItem->setZValue(3);
- surfaceItem->setPos(0,sealLevel() - surfaceItem->boundingRect().height()/2);
+ surfaceItem->setPos(0, sealLevel() - surfaceItem->boundingRect().height() / 2);
addItem(surfaceItem);
//The item that display score and level
@@ -137,8 +132,8 @@ qreal GraphicsScene::sealLevel() const
void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
{
- static const int nLetters = 10;
- static struct {
+ static constexpr int nLetters = 10;
+ static constexpr struct {
char const *pix;
qreal initX, initY;
qreal destX, destY;
@@ -154,8 +149,8 @@ void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
{"q", 200, 2000, 510, 250 },
{"excl", 0, 2000, 570, 220 } };
- QSequentialAnimationGroup * lettersGroupMoving = new QSequentialAnimationGroup(this);
- QParallelAnimationGroup * lettersGroupFading = new QParallelAnimationGroup(this);
+ QSequentialAnimationGroup *lettersGroupMoving = new QSequentialAnimationGroup(this);
+ QParallelAnimationGroup *lettersGroupFading = new QParallelAnimationGroup(this);
for (int i = 0; i < nLetters; ++i) {
PixmapItem *logo = new PixmapItem(QLatin1String(":/logo-") + logoData[i].pix, this);
@@ -180,7 +175,7 @@ void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
PlayState *gameState = new PlayState(this, machine);
//Final state
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
//Animation when the player enter in the game
QAnimationState *lettersMovingState = new QAnimationState(machine);
@@ -198,8 +193,8 @@ void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
gameState->addTransition(newAction, &QAction::triggered, gameState);
//Wanna quit, then connect to CTRL+Q
- gameState->addTransition(quitAction, &QAction::triggered, final);
- lettersMovingState->addTransition(quitAction, &QAction::triggered, final);
+ gameState->addTransition(quitAction, &QAction::triggered, finalState);
+ lettersMovingState->addTransition(quitAction, &QAction::triggered, finalState);
//Welcome screen is the initial state
machine->setInitialState(lettersMovingState);
@@ -213,21 +208,24 @@ void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction)
void GraphicsScene::addItem(Bomb *bomb)
{
bombs.insert(bomb);
- connect(bomb,&Bomb::bombExecutionFinished,this, &GraphicsScene::onBombExecutionFinished);
+ connect(bomb, &Bomb::bombExecutionFinished,
+ this, &GraphicsScene::onBombExecutionFinished);
QGraphicsScene::addItem(bomb);
}
void GraphicsScene::addItem(Torpedo *torpedo)
{
torpedos.insert(torpedo);
- connect(torpedo,&Torpedo::torpedoExecutionFinished,this, &GraphicsScene::onTorpedoExecutionFinished);
+ connect(torpedo, &Torpedo::torpedoExecutionFinished,
+ this, &GraphicsScene::onTorpedoExecutionFinished);
QGraphicsScene::addItem(torpedo);
}
void GraphicsScene::addItem(SubMarine *submarine)
{
submarines.insert(submarine);
- connect(submarine,&SubMarine::subMarineExecutionFinished,this, &GraphicsScene::onSubMarineExecutionFinished);
+ connect(submarine, &SubMarine::subMarineExecutionFinished,
+ this, &GraphicsScene::onSubMarineExecutionFinished);
QGraphicsScene::addItem(submarine);
}
@@ -239,15 +237,18 @@ void GraphicsScene::addItem(QGraphicsItem *item)
void GraphicsScene::onBombExecutionFinished()
{
Bomb *bomb = qobject_cast<Bomb *>(sender());
+ if (!bomb)
+ return;
bombs.remove(bomb);
bomb->deleteLater();
- if (boat)
- boat->setBombsLaunched(boat->bombsLaunched() - 1);
+ boat->setBombsLaunched(boat->bombsLaunched() - 1);
}
void GraphicsScene::onTorpedoExecutionFinished()
{
Torpedo *torpedo = qobject_cast<Torpedo *>(sender());
+ if (!torpedo)
+ return;
torpedos.remove(torpedo);
torpedo->deleteLater();
}
@@ -255,6 +256,8 @@ void GraphicsScene::onTorpedoExecutionFinished()
void GraphicsScene::onSubMarineExecutionFinished()
{
SubMarine *submarine = qobject_cast<SubMarine *>(sender());
+ if (!submarine)
+ return;
submarines.remove(submarine);
if (submarines.count() == 0)
emit allSubMarineDestroyed(submarine->points());
@@ -266,16 +269,22 @@ void GraphicsScene::onSubMarineExecutionFinished()
void GraphicsScene::clearScene()
{
for (SubMarine *sub : qAsConst(submarines)) {
+ // make sure to not go into onSubMarineExecutionFinished
+ sub->disconnect(this);
sub->destroy();
sub->deleteLater();
}
for (Torpedo *torpedo : qAsConst(torpedos)) {
+ // make sure to not go into onTorpedoExecutionFinished
+ torpedo->disconnect(this);
torpedo->destroy();
torpedo->deleteLater();
}
for (Bomb *bomb : qAsConst(bombs)) {
+ // make sure to not go into onBombExecutionFinished
+ bomb->disconnect(this);
bomb->destroy();
bomb->deleteLater();
}
diff --git a/examples/widgets/animation/sub-attaq/graphicsscene.h b/examples/widgets/animation/sub-attaq/graphicsscene.h
index 86c3414bbb..dd3719bc10 100644
--- a/examples/widgets/animation/sub-attaq/graphicsscene.h
+++ b/examples/widgets/animation/sub-attaq/graphicsscene.h
@@ -48,13 +48,12 @@
**
****************************************************************************/
-#ifndef __GRAPHICSSCENE__H__
-#define __GRAPHICSSCENE__H__
+#ifndef GRAPHICSSCENE_H
+#define GRAPHICSSCENE_H
//Qt
-#include <QtWidgets/QGraphicsScene>
-#include <QtCore/QSet>
-#include <QtCore/QState>
+#include <QGraphicsScene>
+#include <QSet>
class Boat;
@@ -78,18 +77,18 @@ public:
};
struct SubmarineDescription {
- int type;
- int points;
+ int type = 0;
+ int points = 0;
QString name;
};
struct LevelDescription {
- int id;
+ int id = 0;
QString name;
- QList<QPair<int,int> > submarines;
+ QVector<QPair<int, int>> submarines;
};
- GraphicsScene(int x, int y, int width, int height, Mode mode = Big);
+ GraphicsScene(int x, int y, int width, int height, Mode mode, QObject *parent = nullptr);
qreal sealLevel() const;
void setupScene(QAction *newAction, QAction *quitAction);
void addItem(Bomb *bomb);
@@ -127,5 +126,5 @@ private:
friend class UpdateScoreTransition;
};
-#endif //__GRAPHICSSCENE__H__
+#endif // GRAPHICSSCENE_H
diff --git a/examples/widgets/animation/sub-attaq/mainwindow.cpp b/examples/widgets/animation/sub-attaq/mainwindow.cpp
index a4bb15b383..8f545ecebd 100644
--- a/examples/widgets/animation/sub-attaq/mainwindow.cpp
+++ b/examples/widgets/animation/sub-attaq/mainwindow.cpp
@@ -56,11 +56,10 @@
#include <QGraphicsView>
#include <QApplication>
#include <QMenu>
-#include <QMenuBar>
#include <QLayout>
#ifndef QT_NO_OPENGL
-# include <QtOpenGL/QtOpenGL>
+# include <QtOpenGL>
#endif
MainWindow::MainWindow(QWidget *parent)
@@ -74,10 +73,10 @@ MainWindow::MainWindow(QWidget *parent)
quitAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Q));
if (QApplication::arguments().contains("-fullscreen")) {
- scene = new GraphicsScene(0, 0, 750, 400, GraphicsScene::Small);
+ scene = new GraphicsScene(0, 0, 750, 400, GraphicsScene::Small, this);
setWindowState(Qt::WindowFullScreen);
} else {
- scene = new GraphicsScene(0, 0, 880, 630);
+ scene = new GraphicsScene(0, 0, 880, 630, GraphicsScene::Big, this);
layout()->setSizeConstraint(QLayout::SetFixedSize);
}
diff --git a/examples/widgets/animation/sub-attaq/mainwindow.h b/examples/widgets/animation/sub-attaq/mainwindow.h
index c4fb9d324d..660acfaa0a 100644
--- a/examples/widgets/animation/sub-attaq/mainwindow.h
+++ b/examples/widgets/animation/sub-attaq/mainwindow.h
@@ -48,11 +48,11 @@
**
****************************************************************************/
-#ifndef __MAINWINDOW__H__
-#define __MAINWINDOW__H__
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
//Qt
-#include <QtWidgets/QMainWindow>
+#include <QMainWindow>
class GraphicsScene;
QT_BEGIN_NAMESPACE
class QGraphicsView;
@@ -69,4 +69,4 @@ private:
QGraphicsView *view;
};
-#endif //__MAINWINDOW__H__
+#endif // MAINWINDOW_H
diff --git a/examples/widgets/animation/sub-attaq/pixmapitem.cpp b/examples/widgets/animation/sub-attaq/pixmapitem.cpp
index 9475d5c3f8..a8581d881a 100644
--- a/examples/widgets/animation/sub-attaq/pixmapitem.cpp
+++ b/examples/widgets/animation/sub-attaq/pixmapitem.cpp
@@ -54,7 +54,7 @@
//Qt
#include <QPainter>
-PixmapItem::PixmapItem(const QString &fileName,GraphicsScene::Mode mode, QGraphicsItem * parent)
+PixmapItem::PixmapItem(const QString &fileName, GraphicsScene::Mode mode, QGraphicsItem *parent)
: QGraphicsObject(parent)
{
if (mode == GraphicsScene::Big)
@@ -63,7 +63,8 @@ PixmapItem::PixmapItem(const QString &fileName,GraphicsScene::Mode mode, QGraphi
pix = QPixmap(QStringLiteral(":/small/") + fileName);
}
-PixmapItem::PixmapItem(const QString &fileName, QGraphicsScene *scene) : QGraphicsObject(), pix(fileName)
+PixmapItem::PixmapItem(const QString &fileName, QGraphicsScene *scene)
+ : QGraphicsObject(), pix(fileName)
{
scene->addItem(this);
}
diff --git a/examples/widgets/animation/sub-attaq/pixmapitem.h b/examples/widgets/animation/sub-attaq/pixmapitem.h
index ec5c01857f..45e2ca806f 100644
--- a/examples/widgets/animation/sub-attaq/pixmapitem.h
+++ b/examples/widgets/animation/sub-attaq/pixmapitem.h
@@ -48,14 +48,14 @@
**
****************************************************************************/
-#ifndef __PIXMAPITEM__H__
-#define __PIXMAPITEM__H__
+#ifndef PIXMAPITEM_H
+#define PIXMAPITEM_H
//Own
#include "graphicsscene.h"
//Qt
-#include <QtWidgets/QGraphicsObject>
+#include <QGraphicsObject>
class PixmapItem : public QGraphicsObject
{
@@ -69,4 +69,4 @@ private:
QPixmap pix;
};
-#endif //__PIXMAPITEM__H__
+#endif // PIXMAPITEM_H
diff --git a/examples/widgets/animation/sub-attaq/progressitem.cpp b/examples/widgets/animation/sub-attaq/progressitem.cpp
index 8b6b367710..350dbb7bbd 100644
--- a/examples/widgets/animation/sub-attaq/progressitem.cpp
+++ b/examples/widgets/animation/sub-attaq/progressitem.cpp
@@ -49,10 +49,11 @@
****************************************************************************/
#include "progressitem.h"
-#include "pixmapitem.h"
-ProgressItem::ProgressItem (QGraphicsItem * parent)
- : QGraphicsTextItem(parent), currentLevel(1), currentScore(0)
+#include <QFont>
+
+ProgressItem::ProgressItem(QGraphicsItem *parent)
+ : QGraphicsTextItem(parent)
{
setFont(QFont("Comic Sans MS"));
setPos(parentItem()->boundingRect().topRight() - QPointF(180, -5));
diff --git a/examples/widgets/animation/sub-attaq/progressitem.h b/examples/widgets/animation/sub-attaq/progressitem.h
index 23f5407978..f76b168151 100644
--- a/examples/widgets/animation/sub-attaq/progressitem.h
+++ b/examples/widgets/animation/sub-attaq/progressitem.h
@@ -52,19 +52,19 @@
#define PROGRESSITEM_H
//Qt
-#include <QtWidgets/QGraphicsTextItem>
+#include <QGraphicsTextItem>
class ProgressItem : public QGraphicsTextItem
{
public:
- ProgressItem(QGraphicsItem * parent = 0);
+ ProgressItem(QGraphicsItem *parent = nullptr);
void setLevel(int level);
void setScore(int score);
private:
void updateProgress();
- int currentLevel;
- int currentScore;
+ int currentLevel = 1;
+ int currentScore = 0;
};
#endif // PROGRESSITEM_H
diff --git a/examples/widgets/animation/sub-attaq/qanimationstate.cpp b/examples/widgets/animation/sub-attaq/qanimationstate.cpp
index ce99f9080d..6da085561b 100644
--- a/examples/widgets/animation/sub-attaq/qanimationstate.cpp
+++ b/examples/widgets/animation/sub-attaq/qanimationstate.cpp
@@ -50,7 +50,7 @@
#include "qanimationstate.h"
-#include <QtCore/qstate.h>
+#include <QAbstractAnimation>
QT_BEGIN_NAMESPACE
@@ -106,7 +106,7 @@ void QAnimationState::setAnimation(QAbstractAnimation *animation)
return;
//Disconnect from the previous animation if exist
- if(m_animation)
+ if (m_animation)
disconnect(m_animation, &QAbstractAnimation::finished, this, &QAnimationState::animationFinished);
m_animation = animation;
diff --git a/examples/widgets/animation/sub-attaq/qanimationstate.h b/examples/widgets/animation/sub-attaq/qanimationstate.h
index 063b119058..24759851ba 100644
--- a/examples/widgets/animation/sub-attaq/qanimationstate.h
+++ b/examples/widgets/animation/sub-attaq/qanimationstate.h
@@ -51,13 +51,7 @@
#ifndef QANIMATIONSTATE_H
#define QANIMATIONSTATE_H
-#ifndef QT_STATEMACHINE_SOLUTION
-# include <QtCore/qstate.h>
-# include <QtCore/qabstractanimation.h>
-#else
-# include "qstate.h"
-# include "qabstractanimation.h"
-#endif
+#include <QState>
QT_BEGIN_NAMESPACE
@@ -67,7 +61,7 @@ class QAnimationState : public QState
{
Q_OBJECT
public:
- QAnimationState(QState *parent = 0);
+ QAnimationState(QState *parent = nullptr);
~QAnimationState();
void setAnimation(QAbstractAnimation *animation);
diff --git a/examples/widgets/animation/sub-attaq/states.cpp b/examples/widgets/animation/sub-attaq/states.cpp
index cda10ccdaf..c7e2738aad 100644
--- a/examples/widgets/animation/sub-attaq/states.cpp
+++ b/examples/widgets/animation/sub-attaq/states.cpp
@@ -59,12 +59,12 @@
#include "textinformationitem.h"
//Qt
-#include <QtWidgets/QMessageBox>
-#include <QtWidgets/QGraphicsView>
-#include <QtCore/QStateMachine>
-#include <QtWidgets/QKeyEventTransition>
-#include <QtCore/QFinalState>
-#include <QtCore/QRandomGenerator>
+#include <QFinalState>
+#include <QGraphicsView>
+#include <QKeyEventTransition>
+#include <QMessageBox>
+#include <QRandomGenerator>
+#include <QStateMachine>
PlayState::PlayState(GraphicsScene *scene, QState *parent)
: QState(parent), scene(scene), machine(nullptr),
@@ -146,7 +146,7 @@ void PlayState::onEntry(QEvent *)
machine->setInitialState(levelState);
//Final state
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
//This transition is triggered when the player press space after completing a level
CustomSpaceTransition *spaceTransition = new CustomSpaceTransition(scene->views().at(0), this, QEvent::KeyPress, Qt::Key_Space);
@@ -154,7 +154,7 @@ void PlayState::onEntry(QEvent *)
winState->addTransition(spaceTransition);
//We lost we should reach the final state
- lostState->addTransition(lostState, &QState::finished, final);
+ lostState->addTransition(lostState, &QState::finished, finalState);
machine->start();
}
@@ -181,11 +181,9 @@ void LevelState::initializeLevel()
scene->progressItem->setScore(game->score);
scene->progressItem->setLevel(game->currentLevel + 1);
- GraphicsScene::LevelDescription currentLevelDescription = scene->levelsData.value(game->currentLevel);
+ const GraphicsScene::LevelDescription currentLevelDescription = scene->levelsData.value(game->currentLevel);
+ for (const QPair<int,int> &subContent : currentLevelDescription.submarines) {
- for (int i = 0; i < currentLevelDescription.submarines.size(); ++i ) {
-
- QPair<int,int> subContent = currentLevelDescription.submarines.at(i);
GraphicsScene::SubmarineDescription submarineDesc = scene->submarinesData.at(subContent.first);
for (int j = 0; j < subContent.second; ++j ) {
@@ -202,9 +200,10 @@ void LevelState::initializeLevel()
}
/** Pause State */
-PauseState::PauseState(GraphicsScene *scene, QState *parent) : QState(parent),scene(scene)
+PauseState::PauseState(GraphicsScene *scene, QState *parent) : QState(parent), scene(scene)
{
}
+
void PauseState::onEntry(QEvent *)
{
AnimationManager::self()->pauseAll();
@@ -324,8 +323,7 @@ bool WinTransition::eventTest(QEvent *event)
/** Space transition */
CustomSpaceTransition::CustomSpaceTransition(QWidget *widget, PlayState *game, QEvent::Type type, int key)
- : QKeyEventTransition(widget, type, key),
- game(game)
+ : QKeyEventTransition(widget, type, key), game(game)
{
}
diff --git a/examples/widgets/animation/sub-attaq/states.h b/examples/widgets/animation/sub-attaq/states.h
index cd68e319c2..b3651e1c82 100644
--- a/examples/widgets/animation/sub-attaq/states.h
+++ b/examples/widgets/animation/sub-attaq/states.h
@@ -52,15 +52,11 @@
#define STATES_H
//Qt
-#include <QtCore/QState>
-#include <QtCore/QSignalTransition>
-#include <QtCore/QPropertyAnimation>
-#include <QtWidgets/QKeyEventTransition>
-#include <QtCore/QSet>
+#include <QKeyEventTransition>
+#include <QSignalTransition>
+#include <QState>
class GraphicsScene;
-class Boat;
-class SubMarine;
QT_BEGIN_NAMESPACE
class QStateMachine;
QT_END_NAMESPACE
@@ -68,7 +64,7 @@ QT_END_NAMESPACE
class PlayState : public QState
{
public:
- explicit PlayState(GraphicsScene *scene, QState *parent = 0);
+ explicit PlayState(GraphicsScene *scene, QState *parent = nullptr);
~PlayState();
protected:
@@ -92,7 +88,7 @@ private :
class LevelState : public QState
{
public:
- LevelState(GraphicsScene *scene, PlayState *game, QState *parent = 0);
+ LevelState(GraphicsScene *scene, PlayState *game, QState *parent = nullptr);
protected:
void onEntry(QEvent *) override;
private :
@@ -104,7 +100,7 @@ private :
class PauseState : public QState
{
public:
- explicit PauseState(GraphicsScene *scene, QState *parent = 0);
+ explicit PauseState(GraphicsScene *scene, QState *parent = nullptr);
protected:
void onEntry(QEvent *) override;
@@ -116,7 +112,7 @@ private :
class LostState : public QState
{
public:
- LostState(GraphicsScene *scene, PlayState *game, QState *parent = 0);
+ LostState(GraphicsScene *scene, PlayState *game, QState *parent = nullptr);
protected:
void onEntry(QEvent *) override;
@@ -129,7 +125,7 @@ private :
class WinState : public QState
{
public:
- WinState(GraphicsScene *scene, PlayState *game, QState *parent = 0);
+ WinState(GraphicsScene *scene, PlayState *game, QState *parent = nullptr);
protected:
void onEntry(QEvent *) override;
@@ -154,7 +150,7 @@ public:
protected:
bool eventTest(QEvent *event) override;
private:
- PlayState * game;
+ PlayState *game;
GraphicsScene *scene;
};
@@ -166,7 +162,7 @@ public:
protected:
bool eventTest(QEvent *event) override;
private:
- PlayState * game;
+ PlayState *game;
GraphicsScene *scene;
};
diff --git a/examples/widgets/animation/sub-attaq/submarine.cpp b/examples/widgets/animation/sub-attaq/submarine.cpp
index 775e75ceed..a4ca376045 100644
--- a/examples/widgets/animation/sub-attaq/submarine.cpp
+++ b/examples/widgets/animation/sub-attaq/submarine.cpp
@@ -52,15 +52,14 @@
#include "submarine.h"
#include "submarine_p.h"
#include "torpedo.h"
-#include "pixmapitem.h"
#include "graphicsscene.h"
#include "animationmanager.h"
#include "qanimationstate.h"
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-#include <QtCore/QSequentialAnimationGroup>
+#include <QFinalState>
+#include <QPropertyAnimation>
+#include <QStateMachine>
+#include <QSequentialAnimationGroup>
static QAbstractAnimation *setupDestroyAnimation(SubMarine *sub)
{
@@ -86,9 +85,8 @@ SubMarine::SubMarine(int type, const QString &name, int points) : PixmapItem(QSt
graphicsRotation = new QGraphicsRotation(this);
graphicsRotation->setAxis(Qt::YAxis);
- graphicsRotation->setOrigin(QVector3D(size().width()/2, size().height()/2, 0));
- QList<QGraphicsTransform *> r;
- r.append(graphicsRotation);
+ graphicsRotation->setOrigin(QVector3D(size().width() / 2, size().height() / 2, 0));
+ QList<QGraphicsTransform *> r({graphicsRotation});
setTransformations(r);
//We setup the state machine of the submarine
@@ -112,7 +110,7 @@ SubMarine::SubMarine(int type, const QString &name, int points) : PixmapItem(QSt
machine->setInitialState(moving);
//End
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
//If the moving animation is finished we move to the return state
movement->addTransition(movement, &QAnimationState::animationFinished, rotation);
@@ -128,7 +126,7 @@ SubMarine::SubMarine(int type, const QString &name, int points) : PixmapItem(QSt
moving->addTransition(this, &SubMarine::subMarineDestroyed, destroyedState);
//Transition to final state when the destroyed animation is finished
- destroyedState->addTransition(destroyedState, &QAnimationState::animationFinished, final);
+ destroyedState->addTransition(destroyedState, &QAnimationState::animationFinished, finalState);
//The machine has finished to be executed, then the submarine is dead
connect(machine,&QState::finished,this, &SubMarine::subMarineExecutionFinished);
@@ -145,9 +143,8 @@ void SubMarine::setCurrentDirection(SubMarine::Movement direction)
{
if (this->direction == direction)
return;
- if (direction == SubMarine::Right && this->direction == SubMarine::None) {
+ if (direction == SubMarine::Right && this->direction == SubMarine::None)
graphicsRotation->setAngle(180);
- }
this->direction = direction;
}
@@ -158,9 +155,8 @@ enum SubMarine::Movement SubMarine::currentDirection() const
void SubMarine::setCurrentSpeed(int speed)
{
- if (speed < 0 || speed > 3) {
+ if (speed < 0 || speed > 3)
qWarning("SubMarine::setCurrentSpeed : The speed is invalid");
- }
this->speed = speed;
emit subMarineStateChanged();
}
@@ -172,7 +168,7 @@ int SubMarine::currentSpeed() const
void SubMarine::launchTorpedo(int speed)
{
- Torpedo * torp = new Torpedo();
+ Torpedo *torp = new Torpedo;
GraphicsScene *scene = static_cast<GraphicsScene *>(this->scene());
scene->addItem(torp);
torp->setPos(pos());
diff --git a/examples/widgets/animation/sub-attaq/submarine.h b/examples/widgets/animation/sub-attaq/submarine.h
index d145c9cbee..256683ec70 100644
--- a/examples/widgets/animation/sub-attaq/submarine.h
+++ b/examples/widgets/animation/sub-attaq/submarine.h
@@ -48,15 +48,12 @@
**
****************************************************************************/
-#ifndef __SUBMARINE__H__
-#define __SUBMARINE__H__
-
-//Qt
-#include <QtWidgets/QGraphicsTransform>
+#ifndef SUBMARINE_H
+#define SUBMARINE_H
#include "pixmapitem.h"
-class Torpedo;
+#include <QGraphicsRotation>
class SubMarine : public PixmapItem
{
@@ -99,4 +96,4 @@ private:
QGraphicsRotation *graphicsRotation;
};
-#endif //__SUBMARINE__H__
+#endif // SUBMARINE_H
diff --git a/examples/widgets/animation/sub-attaq/submarine_p.h b/examples/widgets/animation/sub-attaq/submarine_p.h
index 1c2cb7ceac..36807dade3 100644
--- a/examples/widgets/animation/sub-attaq/submarine_p.h
+++ b/examples/widgets/animation/sub-attaq/submarine_p.h
@@ -68,16 +68,15 @@
#include "qanimationstate.h"
//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QRandomGenerator>
-#include <QtWidgets/QGraphicsScene>
+#include <QPropertyAnimation>
+#include <QRandomGenerator>
//This state is describing when the boat is moving right
class MovementState : public QAnimationState
{
Q_OBJECT
public:
- explicit MovementState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
+ explicit MovementState(SubMarine *submarine, QState *parent = nullptr) : QAnimationState(parent)
{
movementAnimation = new QPropertyAnimation(submarine, "pos");
connect(movementAnimation, &QPropertyAnimation::valueChanged,
@@ -117,7 +116,7 @@ private:
class ReturnState : public QAnimationState
{
public:
- explicit ReturnState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
+ explicit ReturnState(SubMarine *submarine, QState *parent = nullptr) : QAnimationState(parent)
{
returnAnimation = new QPropertyAnimation(submarine->rotation(), "angle");
returnAnimation->setDuration(500);
diff --git a/examples/widgets/animation/sub-attaq/textinformationitem.cpp b/examples/widgets/animation/sub-attaq/textinformationitem.cpp
index 16f787125d..4d4934f63d 100644
--- a/examples/widgets/animation/sub-attaq/textinformationitem.cpp
+++ b/examples/widgets/animation/sub-attaq/textinformationitem.cpp
@@ -50,14 +50,15 @@
#include "textinformationitem.h"
#include "pixmapitem.h"
-TextInformationItem::TextInformationItem (QGraphicsItem * parent)
+TextInformationItem::TextInformationItem (QGraphicsItem *parent)
: QGraphicsTextItem(parent)
{
setFont(QFont("Comic Sans MS", 15));
}
-#include <QDebug>
-void TextInformationItem::setMessage(const QString& text)
+
+void TextInformationItem::setMessage(const QString &text)
{
setHtml(text);
- setPos(parentItem()->boundingRect().center().x() - boundingRect().size().width()/2 , parentItem()->boundingRect().center().y());
+ setPos(parentItem()->boundingRect().center().x() - boundingRect().size().width() / 2,
+ parentItem()->boundingRect().center().y());
}
diff --git a/examples/widgets/animation/sub-attaq/textinformationitem.h b/examples/widgets/animation/sub-attaq/textinformationitem.h
index aa6f913e48..0a0b618460 100644
--- a/examples/widgets/animation/sub-attaq/textinformationitem.h
+++ b/examples/widgets/animation/sub-attaq/textinformationitem.h
@@ -52,13 +52,13 @@
#define TEXTINFORMATIONITEM_H
//Qt
-#include <QtWidgets/QGraphicsTextItem>
+#include <QGraphicsTextItem>
class TextInformationItem : public QGraphicsTextItem
{
public:
- TextInformationItem(QGraphicsItem * parent = 0);
- void setMessage(const QString& text);
+ TextInformationItem(QGraphicsItem *parent = nullptr);
+ void setMessage(const QString &text);
};
#endif // TEXTINFORMATIONITEM_H
diff --git a/examples/widgets/animation/sub-attaq/torpedo.cpp b/examples/widgets/animation/sub-attaq/torpedo.cpp
index 92a3833452..7395aa39ac 100644
--- a/examples/widgets/animation/sub-attaq/torpedo.cpp
+++ b/examples/widgets/animation/sub-attaq/torpedo.cpp
@@ -50,15 +50,14 @@
//Own
#include "torpedo.h"
-#include "pixmapitem.h"
#include "boat.h"
#include "graphicsscene.h"
#include "animationmanager.h"
#include "qanimationstate.h"
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
+#include <QPropertyAnimation>
+#include <QStateMachine>
+#include <QFinalState>
Torpedo::Torpedo() : PixmapItem(QString::fromLatin1("torpedo"),GraphicsScene::Big),
currentSpeed(0)
@@ -70,11 +69,11 @@ void Torpedo::launch()
{
QPropertyAnimation *launchAnimation = new QPropertyAnimation(this, "pos");
AnimationManager::self()->registerAnimation(launchAnimation);
- launchAnimation->setEndValue(QPointF(x(),qobject_cast<GraphicsScene *>(scene())->sealLevel() - 15));
+ launchAnimation->setEndValue(QPointF(x(), qobject_cast<GraphicsScene *>(scene())->sealLevel() - 15));
launchAnimation->setEasingCurve(QEasingCurve::InQuad);
- launchAnimation->setDuration(y()/currentSpeed*10);
- connect(launchAnimation,&QVariantAnimation::valueChanged,this,&Torpedo::onAnimationLaunchValueChanged);
- connect(this,&Torpedo::torpedoExploded, launchAnimation, &QAbstractAnimation::stop);
+ launchAnimation->setDuration(y() / currentSpeed * 10);
+ connect(launchAnimation, &QVariantAnimation::valueChanged, this, &Torpedo::onAnimationLaunchValueChanged);
+ connect(this, &Torpedo::torpedoExploded, launchAnimation, &QAbstractAnimation::stop);
//We setup the state machine of the torpedo
QStateMachine *machine = new QStateMachine(this);
@@ -84,18 +83,18 @@ void Torpedo::launch()
launched->setAnimation(launchAnimation);
//End
- QFinalState *final = new QFinalState(machine);
+ QFinalState *finalState = new QFinalState(machine);
machine->setInitialState(launched);
//### Add a nice animation when the torpedo is destroyed
- launched->addTransition(this, &Torpedo::torpedoExploded,final);
+ launched->addTransition(this, &Torpedo::torpedoExploded, finalState);
//If the animation is finished, then we move to the final state
- launched->addTransition(launched, &QAnimationState::animationFinished, final);
+ launched->addTransition(launched, &QAnimationState::animationFinished, finalState);
//The machine has finished to be executed, then the boat is dead
- connect(machine,&QState::finished,this, &Torpedo::torpedoExecutionFinished);
+ connect(machine, &QState::finished, this, &Torpedo::torpedoExecutionFinished);
machine->start();
}
diff --git a/examples/widgets/animation/sub-attaq/torpedo.h b/examples/widgets/animation/sub-attaq/torpedo.h
index bd04bd79aa..7ac853d4e9 100644
--- a/examples/widgets/animation/sub-attaq/torpedo.h
+++ b/examples/widgets/animation/sub-attaq/torpedo.h
@@ -48,8 +48,8 @@
**
****************************************************************************/
-#ifndef __TORPEDO__H__
-#define __TORPEDO__H__
+#ifndef TORPEDO_H
+#define TORPEDO_H
#include "pixmapitem.h"
@@ -73,4 +73,4 @@ private:
int currentSpeed;
};
-#endif //__TORPEDO__H__
+#endif // TORPEDO_H
diff --git a/examples/widgets/graphicsview/boxes/scene.cpp b/examples/widgets/graphicsview/boxes/scene.cpp
index d51124aed7..a9995efa27 100644
--- a/examples/widgets/graphicsview/boxes/scene.cpp
+++ b/examples/widgets/graphicsview/boxes/scene.cpp
@@ -128,10 +128,6 @@ void ColorEdit::mousePressEvent(QMouseEvent *event)
QColor color(m_color);
QColorDialog dialog(color, 0);
dialog.setOption(QColorDialog::ShowAlphaChannel, true);
-// The ifdef block is a workaround for the beta, TODO: remove when bug 238525 is fixed
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- dialog.setOption(QColorDialog::DontUseNativeDialog, true);
-#endif
dialog.move(280, 120);
if (dialog.exec() == QDialog::Rejected)
return;
diff --git a/examples/widgets/graphicsview/chip/view.cpp b/examples/widgets/graphicsview/chip/view.cpp
index 9676c13ff7..7d5fd699a4 100644
--- a/examples/widgets/graphicsview/chip/view.cpp
+++ b/examples/widgets/graphicsview/chip/view.cpp
@@ -68,7 +68,7 @@
void GraphicsView::wheelEvent(QWheelEvent *e)
{
if (e->modifiers() & Qt::ControlModifier) {
- if (e->delta() > 0)
+ if (e->angleDelta().y() > 0)
view->zoomIn(6);
else
view->zoomOut(6);
diff --git a/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp b/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp
index 6b817b2a21..9341d77f8d 100644
--- a/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp
+++ b/examples/widgets/graphicsview/elasticnodes/graphwidget.cpp
@@ -190,7 +190,7 @@ void GraphWidget::timerEvent(QTimerEvent *event)
//! [5]
void GraphWidget::wheelEvent(QWheelEvent *event)
{
- scaleView(pow((double)2, -event->delta() / 240.0));
+ scaleView(pow((double)2, -event->angleDelta().y() / 240.0));
}
//! [5]
#endif
diff --git a/examples/widgets/itemviews/dirview/main.cpp b/examples/widgets/itemviews/dirview/main.cpp
index eefea657f6..9fecffda40 100644
--- a/examples/widgets/itemviews/dirview/main.cpp
+++ b/examples/widgets/itemviews/dirview/main.cpp
@@ -65,8 +65,10 @@ int main(int argc, char *argv[])
parser.setApplicationDescription("Qt Dir View Example");
parser.addHelpOption();
parser.addVersionOption();
- QCommandLineOption dontUseCustomDirectoryIconsOption("c", "Set QFileIconProvider::DontUseCustomDirectoryIcons");
+ QCommandLineOption dontUseCustomDirectoryIconsOption("c", "Set QFileSystemModel::DontUseCustomDirectoryIcons");
parser.addOption(dontUseCustomDirectoryIconsOption);
+ QCommandLineOption dontWatchOption("w", "Set QFileSystemModel::DontWatch");
+ parser.addOption(dontWatchOption);
parser.addPositionalArgument("directory", "The directory to start in.");
parser.process(app);
const QString rootPath = parser.positionalArguments().isEmpty()
@@ -75,7 +77,9 @@ int main(int argc, char *argv[])
QFileSystemModel model;
model.setRootPath("");
if (parser.isSet(dontUseCustomDirectoryIconsOption))
- model.iconProvider()->setOptions(QFileIconProvider::DontUseCustomDirectoryIcons);
+ model.setOption(QFileSystemModel::DontUseCustomDirectoryIcons);
+ if (parser.isSet(dontWatchOption))
+ model.setOption(QFileSystemModel::DontWatchForChanges);
QTreeView tree;
tree.setModel(&model);
if (!rootPath.isEmpty()) {
diff --git a/examples/widgets/painting/affine/xform.cpp b/examples/widgets/painting/affine/xform.cpp
index 482e0f3268..50acf0f814 100644
--- a/examples/widgets/painting/affine/xform.cpp
+++ b/examples/widgets/painting/affine/xform.cpp
@@ -260,7 +260,7 @@ void XFormView::timerEvent(QTimerEvent *e)
#if QT_CONFIG(wheelevent)
void XFormView::wheelEvent(QWheelEvent *e)
{
- m_scale += e->delta() / qreal(600);
+ m_scale += e->angleDelta().y() / qreal(600);
m_scale = qMax(qreal(0.1), qMin(qreal(4), m_scale));
emit scaleChanged(int(m_scale*1000));
}
diff --git a/examples/widgets/tools/codecs/encodingdialog.cpp b/examples/widgets/tools/codecs/encodingdialog.cpp
index ca4b56db9e..aa57d47dc7 100644
--- a/examples/widgets/tools/codecs/encodingdialog.cpp
+++ b/examples/widgets/tools/codecs/encodingdialog.cpp
@@ -248,7 +248,7 @@ static const char *encodingToolTips[]
{
QT_TRANSLATE_NOOP("EncodingDialog", "Unicode points for use with any encoding (C++, Python)"),
QT_TRANSLATE_NOOP("EncodingDialog", "QString::fromUtf8()"),
- QT_TRANSLATE_NOOP("EncodingDialog", "QStringViewLiteral(), wchar_t on Windows"),
+ QT_TRANSLATE_NOOP("EncodingDialog", "wchar_t on Windows, char16_t everywhere"),
QT_TRANSLATE_NOOP("EncodingDialog", "wchar_t on Unix (Ucs4)"),
QT_TRANSLATE_NOOP("EncodingDialog", "QLatin1String")
};
diff --git a/examples/widgets/tools/i18n/languagechooser.cpp b/examples/widgets/tools/i18n/languagechooser.cpp
index 963165ff81..e61e4432e4 100644
--- a/examples/widgets/tools/i18n/languagechooser.cpp
+++ b/examples/widgets/tools/i18n/languagechooser.cpp
@@ -53,12 +53,6 @@
#include "languagechooser.h"
#include "mainwindow.h"
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-QT_BEGIN_NAMESPACE
-extern void qt_mac_set_menubar_merge(bool merge);
-QT_END_NAMESPACE
-#endif
-
LanguageChooser::LanguageChooser(const QString& defaultLang, QWidget *parent)
: QDialog(parent, Qt::WindowStaysOnTopHint)
{
@@ -95,10 +89,6 @@ LanguageChooser::LanguageChooser(const QString& defaultLang, QWidget *parent)
mainLayout->addWidget(buttonBox);
setLayout(mainLayout);
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- qt_mac_set_menubar_merge(false);
-#endif
-
setWindowTitle("I18N");
}
diff --git a/examples/widgets/widgets/mousebuttons/buttontester.cpp b/examples/widgets/widgets/mousebuttons/buttontester.cpp
index 6653221698..88dbbeda45 100644
--- a/examples/widgets/widgets/mousebuttons/buttontester.cpp
+++ b/examples/widgets/widgets/mousebuttons/buttontester.cpp
@@ -93,15 +93,16 @@ void ButtonTester::mouseDoubleClickEvent(QMouseEvent *e)
void ButtonTester::wheelEvent (QWheelEvent *e)
{
QString result;
- if (e->delta() > 0) {
-
- if (e->orientation() == Qt::Vertical) {
+ const bool vertical = qAbs(e->angleDelta().y()) >= qAbs(e->angleDelta().x());
+ const int delta = vertical ? e->angleDelta().y() : e->angleDelta().x();
+ if (delta > 0) {
+ if (vertical) {
result = "Mouse Wheel Event: UP";
} else {
result = "Mouse Wheel Event: LEFT";
}
- } else if (e->delta() < 0) {
- if (e->orientation() == Qt::Vertical) {
+ } else if (delta < 0) {
+ if (vertical) {
result = "Mouse Wheel Event: DOWN";
} else {
result = "Mouse Wheel Event: RIGHT";
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
index 8569c08348..81609c3962 100644
--- a/mkspecs/android-clang/qmake.conf
+++ b/mkspecs/android-clang/qmake.conf
@@ -8,43 +8,108 @@ CONFIG += android_install unversioned_soname unversioned_libname
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/clang.conf)
-include(../common/android-base-head.conf)
-NDK_LLVM_PATH = $$NDK_ROOT/toolchains/llvm/prebuilt/$$NDK_HOST
-QMAKE_CC = $$NDK_LLVM_PATH/bin/clang
-QMAKE_CXX = $$NDK_LLVM_PATH/bin/clang++
+load(device_config)
-equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
- QMAKE_CFLAGS += -target armv7-none-linux-androideabi
-else: equals(ANDROID_TARGET_ARCH, armeabi): \
- QMAKE_CFLAGS += -target armv5te-none-linux-androideabi
-else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
- QMAKE_CFLAGS += -target aarch64-none-linux-android
-else: equals(ANDROID_TARGET_ARCH, x86): \
- QMAKE_CFLAGS += -target i686-none-linux-android -mstackrealign
-else: equals(ANDROID_TARGET_ARCH, x86_64): \
- QMAKE_CFLAGS += -target x86_64-none-linux-android
+# In early configure setup; nothing useful to be done here.
+isEmpty(DEFAULT_ANDROID_NDK_ROOT): return()
-QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
+NDK_ROOT = $$(ANDROID_NDK_ROOT)
+isEmpty(NDK_ROOT): NDK_ROOT = $$DEFAULT_ANDROID_NDK_ROOT
-QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++
-equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
+!exists($$NDK_ROOT): error("You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.")
-QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
- -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
- -isystem $$NDK_ROOT/sources/android/support/include \
- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
+NDK_HOST = $$(ANDROID_NDK_HOST)
+isEmpty(NDK_HOST): NDK_HOST = $$DEFAULT_ANDROID_NDK_HOST
-ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
+ANDROID_PLATFORM = $$(ANDROID_NDK_PLATFORM)
+isEmpty(ANDROID_PLATFORM): ANDROID_PLATFORM = $$DEFAULT_ANDROID_PLATFORM
-ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so
+ANDROID_SDK_ROOT = $$(ANDROID_SDK_ROOT)
+isEmpty(ANDROID_SDK_ROOT): ANDROID_SDK_ROOT = $$DEFAULT_ANDROID_SDK_ROOT
+
+ANDROID_SDK_BUILD_TOOLS_REVISION = $$(ANDROID_BUILD_TOOLS_REVISION)
+isEmpty(ANDROID_SDK_BUILD_TOOLS_REVISION) {
+ SDK_BUILD_TOOLS_REVISIONS = $$files($$ANDROID_SDK_ROOT/build-tools/*)
+ for (REVISION, SDK_BUILD_TOOLS_REVISIONS) {
+ BASENAME = $$basename(REVISION)
+ greaterThan(BASENAME, $$ANDROID_SDK_BUILD_TOOLS_REVISION): ANDROID_SDK_BUILD_TOOLS_REVISION = $$BASENAME
+ }
+}
+
+ALL_ANDROID_ABIS = $$(ALL_ANDROID_ABIS)
+isEmpty(ALL_ANDROID_ABIS): ALL_ANDROID_ABIS = $$DEFAULT_ANDROID_ABIS
+isEmpty(ALL_ANDROID_ABIS): ALL_ANDROID_ABIS = arm64-v8a armeabi-v7a x86_64 x86
+
+CONFIG += $$ANDROID_PLATFORM
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+NDK_LLVM_PATH = $$NDK_ROOT/toolchains/llvm/prebuilt/$$NDK_HOST
+QMAKE_CC = $$NDK_LLVM_PATH/bin/clang
+QMAKE_CXX = $$NDK_LLVM_PATH/bin/clang++
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_OBJCOPY = $$NDK_LLVM_PATH/bin/llvm-objcopy
+QMAKE_AR = $$NDK_LLVM_PATH/bin/llvm-ar cqs
+QMAKE_OBJCOPY = $$NDK_LLVM_PATH/bin/llvm-objcopy
+QMAKE_NM = $$NDK_LLVM_PATH/bin/llvm-nm -P
+
+QMAKE_CFLAGS_OPTIMIZE = -Oz
+QMAKE_CFLAGS_OPTIMIZE_FULL = -Oz
+
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden
+QMAKE_CFLAGS_NEON = -mfpu=neon
+
+QMAKE_LFLAGS_APP = -Wl,--no-undefined -Wl,-z,noexecstack -shared
+QMAKE_LFLAGS_SHLIB = -Wl,--no-undefined -Wl,-z,noexecstack -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_NOUNDEF = -Wl,--no-undefined
+QMAKE_LFLAGS_RPATH = -Wl,-rpath=
+QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link=
+
+QMAKE_LIBS_X11 =
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_OPENGL =
+QMAKE_INCDIR_POST =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
ANDROID_USE_LLVM = true
-exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
- ANDROID_CXX_STL_LIBS = -lc++
-else: \
- ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")
+armeabi-v7a.sdk = armeabi-v7a
+armeabi-v7a.target = armeabi-v7a
+armeabi-v7a.dir_affix = armeabi-v7a
+armeabi-v7a.CONFIG = armeabi-v7a
+armeabi-v7a.deployment_identifier = armeabi-v7a
+
+arm64-v8a.sdk = arm64-v8a
+arm64-v8a.target = arm64-v8a
+arm64-v8a.dir_affix = arm64-v8a
+arm64-v8a.CONFIG = arm64-v8a
+arm64-v8a.deployment_identifier = arm64-v8a
+
+x86.sdk = x86
+x86.target = x86
+x86.dir_affix = x86
+x86.CONFIG = x86
+x86.deployment_identifier = x86
+
+x86_64.sdk = x86_64
+x86_64.target = x86_64
+x86_64.dir_affix = x86_64
+x86_64.CONFIG = x86_64
+x86_64.deployment_identifier = x86_64
-include(../common/android-base-tail.conf)
+load(qt_config)
diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf
deleted file mode 100644
index 0cb3558f96..0000000000
--- a/mkspecs/android-g++/qmake.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-# qmake configuration for building with android-g++
-MAKEFILE_GENERATOR = UNIX
-QMAKE_PLATFORM = android
-QMAKE_COMPILER = gcc
-
-CONFIG += android_install unversioned_soname unversioned_libname plugin_with_soname android_deployment_settings
-
-include(../common/linux.conf)
-include(../common/gcc-base-unix.conf)
-include(../common/android-base-head.conf)
-
-QMAKE_CC = $${CROSS_COMPILE}gcc
-QMAKE_CXX = $${CROSS_COMPILE}g++
-QMAKE_LINK = $$QMAKE_CXX
-
-ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/libs/$$ANDROID_TARGET_ARCH
-ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libgnustl_shared.so
-ANDROID_CXX_STL_LIBS = -lgnustl_shared -lgcc
-ANDROID_USE_LLVM = false
-
-exists($$NDK_ROOT/sysroot/usr/include): \
- QMAKE_CFLAGS += --sysroot=$$NDK_ROOT/sysroot \
- -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX
-else: QMAKE_CFLAGS += --sysroot=$$ANDROID_PLATFORM_ROOT_PATH
-
-QMAKE_CFLAGS += -isystem $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/include \
- -isystem $$ANDROID_SOURCES_CXX_STL_LIBDIR/include
-
-equals(ANDROID_TARGET_ARCH, armeabi)|equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
- LIBGCC_PATH_FULL = $$system("$$QMAKE_CXX -mthumb-interwork -print-libgcc-file-name")
-else: \
- LIBGCC_PATH_FULL = $$system("$$QMAKE_CXX -print-libgcc-file-name")
-ANDROID_SOURCES_CXX_STL_LIBDIR += $$dirname(LIBGCC_PATH_FULL)
-
-include(../common/android-base-tail.conf)
diff --git a/mkspecs/android-g++/qplatformdefs.h b/mkspecs/android-g++/qplatformdefs.h
deleted file mode 100644
index 0b92709dd5..0000000000
--- a/mkspecs/android-g++/qplatformdefs.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the qmake spec of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QPLATFORMDEFS_H
-#define QPLATFORMDEFS_H
-
-// Get Qt defines/settings
-
-#include "qglobal.h"
-
-// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
-
-// 1) need to reset default environment if _BSD_SOURCE is defined
-// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
-// 3) it seems older glibc need this to include the X/Open stuff
-
-#include <unistd.h>
-
-// We are hot - unistd.h should have turned on the specific APIs we requested
-
-#include <features.h>
-#include <pthread.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <grp.h>
-#include <pwd.h>
-#include <signal.h>
-#include <dlfcn.h>
-
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/ipc.h>
-#include <sys/time.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
-
-#ifdef QT_LARGEFILE_SUPPORT
-#define QT_STATBUF struct stat64
-#define QT_STATBUF4TSTAT struct stat64
-#define QT_STAT ::stat64
-#define QT_FSTAT ::fstat64
-#define QT_LSTAT ::lstat64
-#define QT_OPEN ::open64
-#define QT_TRUNCATE ::truncate64
-#define QT_FTRUNCATE ::ftruncate64
-#define QT_LSEEK ::lseek64
-#else
-#define QT_STATBUF struct stat
-#define QT_STATBUF4TSTAT struct stat
-#define QT_STAT ::stat
-#define QT_FSTAT ::fstat
-#define QT_LSTAT ::lstat
-#define QT_OPEN ::open
-#define QT_TRUNCATE ::truncate
-#define QT_FTRUNCATE ::ftruncate
-#define QT_LSEEK ::lseek
-#endif
-
-#ifdef QT_LARGEFILE_SUPPORT
-#define QT_FOPEN ::fopen64
-#define QT_FSEEK ::fseeko64
-#define QT_FTELL ::ftello64
-#define QT_FGETPOS ::fgetpos64
-#define QT_FSETPOS ::fsetpos64
-#define QT_MMAP ::mmap64
-#define QT_FPOS_T fpos64_t
-#define QT_OFF_T off64_t
-#else
-#define QT_FOPEN ::fopen
-#define QT_FSEEK ::fseek
-#define QT_FTELL ::ftell
-#define QT_FGETPOS ::fgetpos
-#define QT_FSETPOS ::fsetpos
-#define QT_MMAP ::mmap
-#define QT_FPOS_T fpos_t
-#define QT_OFF_T long
-#endif
-
-#define QT_STAT_REG S_IFREG
-#define QT_STAT_DIR S_IFDIR
-#define QT_STAT_MASK S_IFMT
-#define QT_STAT_LNK S_IFLNK
-#define QT_SOCKET_CONNECT ::connect
-#define QT_SOCKET_BIND ::bind
-#define QT_FILENO fileno
-#define QT_CLOSE ::close
-#define QT_READ ::read
-#define QT_WRITE ::write
-#define QT_ACCESS ::access
-#define QT_GETCWD ::getcwd
-#define QT_CHDIR ::chdir
-#define QT_MKDIR ::mkdir
-#define QT_RMDIR ::rmdir
-#define QT_OPEN_LARGEFILE O_LARGEFILE
-#define QT_OPEN_RDONLY O_RDONLY
-#define QT_OPEN_WRONLY O_WRONLY
-#define QT_OPEN_RDWR O_RDWR
-#define QT_OPEN_CREAT O_CREAT
-#define QT_OPEN_TRUNC O_TRUNC
-#define QT_OPEN_APPEND O_APPEND
-#define QT_OPEN_EXCL O_EXCL
-
-// Directory iteration
-#define QT_DIR DIR
-
-#define QT_OPENDIR ::opendir
-#define QT_CLOSEDIR ::closedir
-
-#if defined(QT_LARGEFILE_SUPPORT) \
- && defined(QT_USE_XOPEN_LFS_EXTENSIONS) \
- && !defined(QT_NO_READDIR64)
-#define QT_DIRENT struct dirent64
-#define QT_READDIR ::readdir64
-#define QT_READDIR_R ::readdir64_r
-#else
-#define QT_DIRENT struct dirent
-#define QT_READDIR ::readdir
-#define QT_READDIR_R ::readdir_r
-#endif
-
-#define QT_SOCKET_CONNECT ::connect
-#define QT_SOCKET_BIND ::bind
-
-
-#define QT_SIGNAL_RETTYPE void
-#define QT_SIGNAL_ARGS int
-#define QT_SIGNAL_IGNORE SIG_IGN
-
-#define QT_SOCKLEN_T socklen_t
-
-#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
-#define QT_SNPRINTF ::snprintf
-#define QT_VSNPRINTF ::vsnprintf
-#endif
-
-#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/common/android-base-head.conf b/mkspecs/common/android-base-head.conf
deleted file mode 100644
index ba90ad5f17..0000000000
--- a/mkspecs/common/android-base-head.conf
+++ /dev/null
@@ -1,72 +0,0 @@
-load(device_config)
-
-# In early configure setup; nothing useful to be done here.
-isEmpty(DEFAULT_ANDROID_NDK_ROOT): return()
-
-NDK_ROOT = $$(ANDROID_NDK_ROOT)
-isEmpty(NDK_ROOT): NDK_ROOT = $$DEFAULT_ANDROID_NDK_ROOT
-
-NDK_HOST = $$(ANDROID_NDK_HOST)
-isEmpty(NDK_HOST): NDK_HOST = $$DEFAULT_ANDROID_NDK_HOST
-
-ANDROID_PLATFORM = $$(ANDROID_NDK_PLATFORM)
-isEmpty(ANDROID_PLATFORM): ANDROID_PLATFORM = $$DEFAULT_ANDROID_PLATFORM
-
-ANDROID_TARGET_ARCH = $$(ANDROID_TARGET_ARCH)
-isEmpty(ANDROID_TARGET_ARCH): ANDROID_TARGET_ARCH = $$DEFAULT_ANDROID_TARGET_ARCH
-
-NDK_TOOLCHAIN_PREFIX = $$(ANDROID_NDK_TOOLCHAIN_PREFIX)
-isEmpty(NDK_TOOLCHAIN_PREFIX) {
- equals(ANDROID_TARGET_ARCH, x86): NDK_TOOLCHAIN_PREFIX = x86
- else: equals(ANDROID_TARGET_ARCH, x86_64): NDK_TOOLCHAIN_PREFIX = x86_64
- else: equals(ANDROID_TARGET_ARCH, arm64-v8a): NDK_TOOLCHAIN_PREFIX = aarch64-linux-android
- else: NDK_TOOLCHAIN_PREFIX = arm-linux-androideabi
-}
-
-NDK_TOOLS_PREFIX = $$(ANDROID_NDK_TOOLS_PREFIX)
-isEmpty(NDK_TOOLS_PREFIX) {
- equals(ANDROID_TARGET_ARCH, x86): NDK_TOOLS_PREFIX = i686-linux-android
- else: equals(ANDROID_TARGET_ARCH, x86_64): NDK_TOOLS_PREFIX = x86_64-linux-android
- else: equals(ANDROID_TARGET_ARCH, arm64-v8a): NDK_TOOLS_PREFIX = aarch64-linux-android
- else: NDK_TOOLS_PREFIX = arm-linux-androideabi
-}
-
-NDK_TOOLCHAIN_VERSION = $$(ANDROID_NDK_TOOLCHAIN_VERSION)
-isEmpty(NDK_TOOLCHAIN_VERSION): NDK_TOOLCHAIN_VERSION = $$DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION
-
-equals(ANDROID_TARGET_ARCH, x86): ANDROID_ARCHITECTURE = x86
-else: equals(ANDROID_TARGET_ARCH, x86_64): ANDROID_ARCHITECTURE = x86_64
-else: equals(ANDROID_TARGET_ARCH, arm64-v8a): ANDROID_ARCHITECTURE = arm64
-else: ANDROID_ARCHITECTURE = arm
-
-!equals(NDK_TOOLCHAIN_VERSION, 4.4.3): ANDROID_CXXSTL_SUFFIX = -$$NDK_TOOLCHAIN_VERSION
-
-NDK_TOOLCHAIN = $$NDK_TOOLCHAIN_PREFIX-$$NDK_TOOLCHAIN_VERSION
-NDK_TOOLCHAIN_PATH = $$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST
-
-
-ANDROID_SDK_ROOT = $$(ANDROID_SDK_ROOT)
-isEmpty(ANDROID_SDK_ROOT): ANDROID_SDK_ROOT = $$DEFAULT_ANDROID_SDK_ROOT
-
-ANDROID_SDK_BUILD_TOOLS_REVISION = $$(ANDROID_BUILD_TOOLS_REVISION)
-isEmpty(ANDROID_SDK_BUILD_TOOLS_REVISION) {
- SDK_BUILD_TOOLS_REVISIONS = $$files($$ANDROID_SDK_ROOT/build-tools/*)
- for (REVISION, SDK_BUILD_TOOLS_REVISIONS) {
- BASENAME = $$basename(REVISION)
- greaterThan(BASENAME, $$ANDROID_SDK_BUILD_TOOLS_REVISION): ANDROID_SDK_BUILD_TOOLS_REVISION = $$BASENAME
- }
-}
-
-CONFIG += $$ANDROID_PLATFORM
-QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "")
-
-ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/
-
-CROSS_COMPILE = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-
-
-QMAKE_PCH_OUTPUT_EXT = .gch
-
-QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
-QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE}
-QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
-QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
diff --git a/mkspecs/common/android-base-tail.conf b/mkspecs/common/android-base-tail.conf
deleted file mode 100644
index edc255d08e..0000000000
--- a/mkspecs/common/android-base-tail.conf
+++ /dev/null
@@ -1,90 +0,0 @@
-# In early configure setup; nothing useful to be done here.
-isEmpty(DEFAULT_ANDROID_NDK_ROOT): return()
-
-# -fstack-protector-strong offers good protection against stack smashing attacks.
-# It is (currently) enabled only on Android because we know for sure that Andoroid compilers supports it
-QMAKE_CFLAGS += -fstack-protector-strong -DANDROID
-
-equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
- QMAKE_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove
-else: equals(ANDROID_TARGET_ARCH, armeabi): \
- QMAKE_CFLAGS += -march=armv5te -mtune=xscale -msoft-float -fno-builtin-memmove
-# -fno-builtin-memmove is used to workaround https://code.google.com/p/android/issues/detail?id=81692
-
-QMAKE_CFLAGS_WARN_ON = -Wall -W
-QMAKE_CFLAGS_WARN_OFF =
-equals(ANDROID_TARGET_ARCH, armeabi-v7a) | equals(ANDROID_TARGET_ARCH, armeabi) {
- CONFIG += optimize_size
- QMAKE_CFLAGS_DEBUG = -g -marm -O0
- equals(ANDROID_TARGET_ARCH, armeabi):if(equals(NDK_TOOLCHAIN_VERSION, 4.8)|equals(NDK_TOOLCHAIN_VERSION, 4.9)) {
- DEFINES += QT_OS_ANDROID_GCC_48_WORKAROUND
- } else {
- QMAKE_CFLAGS_RELEASE += -mthumb
- QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
- }
-}
-
-QMAKE_CFLAGS_SHLIB = -fPIC
-QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
-QMAKE_CFLAGS_THREAD = -D_REENTRANT
-QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden
-QMAKE_CFLAGS_NEON = -mfpu=neon
-
-QMAKE_CFLAGS_GNUC99 = -std=gnu99
-QMAKE_CFLAGS_GNUC11 = -std=gnu11
-QMAKE_CXXFLAGS_CXX11 = -std=c++11
-QMAKE_CXXFLAGS_CXX14 = -std=c++14
-QMAKE_CXXFLAGS_CXX1Z = -std=c++1z
-QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
-QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++14
-QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
-
-QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
-QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
-QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
-QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
-QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
-QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
-QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
-QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
-QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
-QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
-
-# modifications to linux.conf
-QMAKE_AR = $${CROSS_COMPILE}ar cqs
-QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
-QMAKE_NM = $${CROSS_COMPILE}nm -P
-
-QMAKE_STRIP =
-#$${CROSS_COMPILE}strip
-
-QMAKE_RANLIB = $${CROSS_COMPILE}ranlib
-
-QMAKE_INCDIR_POST =
-QMAKE_LIBDIR_POST = $$ANDROID_SOURCES_CXX_STL_LIBDIR
-QMAKE_INCDIR_X11 =
-QMAKE_LIBDIR_X11 =
-QMAKE_INCDIR_OPENGL =
-QMAKE_LIBDIR_OPENGL =
-
-QMAKE_LINK_SHLIB = $$QMAKE_LINK
-QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH
-equals(ANDROID_TARGET_ARCH, x86_64) QMAKE_LFLAGS += -L$$ANDROID_PLATFORM_ROOT_PATH/usr/lib64
-QMAKE_LFLAGS_APP = -Wl,--no-undefined -Wl,-z,noexecstack -shared
-QMAKE_LFLAGS_SHLIB = -Wl,--no-undefined -Wl,-z,noexecstack -shared
-QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
-QMAKE_LFLAGS_NOUNDEF = -Wl,--no-undefined
-QMAKE_LFLAGS_RPATH = -Wl,-rpath=
-QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link=
-
-QMAKE_LIBS_PRIVATE = $$ANDROID_CXX_STL_LIBS -llog -lz -lm -ldl -lc
-QMAKE_LIBS_X11 =
-QMAKE_LIBS_THREAD =
-QMAKE_LIBS_EGL = -lEGL
-QMAKE_LIBS_OPENGL =
-QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
-
-
-!exists($$NDK_ROOT): error("You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.")
-
-load(qt_config)
diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf
index 0b94e5a3f5..0bb3e13337 100644
--- a/mkspecs/common/msvc-desktop.conf
+++ b/mkspecs/common/msvc-desktop.conf
@@ -84,7 +84,7 @@ QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
QMAKE_LINK = link
QMAKE_LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT
-QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
+QMAKE_LFLAGS_RELEASE = /OPT:REF /INCREMENTAL:NO
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO
QMAKE_LFLAGS_DEBUG = /DEBUG
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE
diff --git a/mkspecs/features/android/android.prf b/mkspecs/features/android/android.prf
index 0e6f4a4592..fc0ff553d0 100644
--- a/mkspecs/features/android/android.prf
+++ b/mkspecs/features/android/android.prf
@@ -4,29 +4,46 @@ APK_PATH = $$shell_path($$OUT_PWD/android-build/$${TARGET}.apk)
apk_install_target.depends = first
apk_install_target.commands = $(MAKE) -f $(MAKEFILE) INSTALL_ROOT=$$OUT_PWD/android-build install
- apk.target = apk
- apk.depends = apk_install_target
qtPrepareTool(ANDROIDDEPLOYQT, androiddeployqt)
isEmpty(ANDROID_DEPLOYMENT_SETTINGS_FILE): ANDROID_DEPLOYMENT_SETTINGS_FILE = $$OUT_PWD/android-$$TARGET-deployment-settings.json
contains(QMAKE_HOST.os, Windows): extension = .exe
+
+ apk.target = apk
+ apk.depends = apk_install_target
apk.commands = $$ANDROIDDEPLOYQT --input $$ANDROID_DEPLOYMENT_SETTINGS_FILE --output $$OUT_PWD/android-build --apk $$APK_PATH
+
+ aab.target = aab
+ aab.depends = apk_install_target
+ aab.commands = $$ANDROIDDEPLOYQT --input $$ANDROID_DEPLOYMENT_SETTINGS_FILE --output $$OUT_PWD/android-build --aab --apk $$APK_PATH
} else {
+ prepareRecursiveTarget(aab)
prepareRecursiveTarget(apk)
prepareRecursiveTarget(apk_install_target)
}
-QMAKE_EXTRA_TARGETS *= apk apk_install_target
-contains(TEMPLATE, ".*app") {
- !android_app {
- !contains(TARGET, ".so"): TARGET = lib$${TARGET}.so
- QMAKE_LFLAGS += -Wl,-soname,$$shell_quote($$TARGET)
+build_pass {
+ contains(TEMPLATE, ".*app") {
+ !android_app {
+ !contains(TARGET, ".so") {
+ single_arch:TARGET = lib$${TARGET}.so
+ else:TARGET = lib$${TARGET}_$${QT_ARCH}.so
+ }
+ QMAKE_LFLAGS += -Wl,-soname,$$shell_quote($$TARGET)
- android_install {
- target.path=/libs/$$ANDROID_TARGET_ARCH/
- INSTALLS *= target
+ android_install {
+ target.path=/libs/$$ANDROID_TARGET_ARCH/
+ INSTALLS *= target
+ }
}
+ } else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install {
+ target.path = /libs/$$ANDROID_TARGET_ARCH/
+ INSTALLS *= target
}
-} else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install {
- target.path = /libs/$$ANDROID_TARGET_ARCH/
- INSTALLS *= target
+} else {
+ QMAKE_EXTRA_TARGETS *= aab apk apk_install_target
+
+ android-build-distclean.commands = \
+ $$QMAKE_DEL_TREE $$shell_quote($$shell_path($$OUT_PWD/android-build))
+ QMAKE_EXTRA_TARGETS *= android-build-distclean
+ CLEAN_DEPS += android-build-distclean
}
diff --git a/mkspecs/features/android/android_deployment_settings.prf b/mkspecs/features/android/android_deployment_settings.prf
index 48943fa0f4..4d6101e297 100644
--- a/mkspecs/features/android/android_deployment_settings.prf
+++ b/mkspecs/features/android/android_deployment_settings.prf
@@ -17,32 +17,21 @@ contains(TEMPLATE, ".*app"):!build_pass:!android-embedded {
isEmpty(NDK_ROOT): NDK_ROOT = $$DEFAULT_ANDROID_NDK_ROOT
FILE_CONTENT += " \"ndk\": $$emitString($$NDK_ROOT),"
- equals(ANDROID_USE_LLVM, true) {
- FILE_CONTENT += " \"toolchain-prefix\": \"llvm\","
- FILE_CONTENT += " \"tool-prefix\": \"llvm\","
- } else {
- NDK_TOOLCHAIN_PREFIX = $$(ANDROID_NDK_TOOLCHAIN_PREFIX)
- isEmpty(NDK_TOOLCHAIN_PREFIX) {
- equals(ANDROID_TARGET_ARCH, x86): NDK_TOOLCHAIN_PREFIX = x86
- else: equals(ANDROID_TARGET_ARCH, x86_64): NDK_TOOLCHAIN_PREFIX = x86_64
- else: equals(ANDROID_TARGET_ARCH, arm64-v8a): NDK_TOOLCHAIN_PREFIX = aarch64-linux-android
- else: NDK_TOOLCHAIN_PREFIX = arm-linux-androideabi
- }
- FILE_CONTENT += " \"toolchain-prefix\": $$emitString($$NDK_TOOLCHAIN_PREFIX),"
- FILE_CONTENT += " \"tool-prefix\": $$emitString($$NDK_TOOLS_PREFIX),"
- }
-
- NDK_TOOLCHAIN_VERSION = $$(ANDROID_NDK_TOOLCHAIN_VERSION)
- isEmpty(NDK_TOOLCHAIN_VERSION): NDK_TOOLCHAIN_VERSION = $$DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION
- FILE_CONTENT += " \"toolchain-version\": $$emitString($$NDK_TOOLCHAIN_VERSION),"
+ FILE_CONTENT += " \"toolchain-prefix\": \"llvm\","
+ FILE_CONTENT += " \"tool-prefix\": \"llvm\","
NDK_HOST = $$(ANDROID_NDK_HOST)
isEmpty(NDK_HOST): NDK_HOST = $$DEFAULT_ANDROID_NDK_HOST
FILE_CONTENT += " \"ndk-host\": $$emitString($$NDK_HOST),"
- ANDROID_TARGET_ARCH = $$(ANDROID_TARGET_ARCH)
- isEmpty(ANDROID_TARGET_ARCH): ANDROID_TARGET_ARCH = $$DEFAULT_ANDROID_TARGET_ARCH
- FILE_CONTENT += " \"target-architecture\": $$emitString($$ANDROID_TARGET_ARCH),"
+ for (arch, ANDROID_ABIS) {
+ equals(arch, x86): libs_arch = i686-linux-android
+ else: equals(arch, x86_64): libs_arch = x86_64-linux-android
+ else: equals(arch, arm64-v8a): libs_arch = aarch64-linux-android
+ else: libs_arch = arm-linux-androideabi
+ ARCHS += "$$emitString($$arch):$$emitString($$libs_arch)"
+ }
+ FILE_CONTENT += " \"architectures\": {$$join(ARCHS,", ")},"
# Explicitly set qt dependencies of application for deployment
!isEmpty(ANDROID_DEPLOYMENT_DEPENDENCIES): \
@@ -74,13 +63,11 @@ contains(TEMPLATE, ".*app"):!build_pass:!android-embedded {
QML_ROOT_PATH = $$_PRO_FILE_PWD_
FILE_CONTENT += " \"qml-root-path\": $$emitString($$QML_ROOT_PATH),"
FILE_CONTENT += " \"stdcpp-path\": $$emitString($$ANDROID_STDCPP_PATH),"
- FILE_CONTENT += " \"useLLVM\": $$ANDROID_USE_LLVM,"
-
- FILE_CONTENT += " \"application-binary\": $$emitString($$absolute_path($$DESTDIR, $$OUT_PWD)/$$TARGET)"
+ FILE_CONTENT += ""
+ FILE_CONTENT += " \"application-binary\": $$emitString($$TARGET)"
FILE_CONTENT += "}"
isEmpty(ANDROID_DEPLOYMENT_SETTINGS_FILE): ANDROID_DEPLOYMENT_SETTINGS_FILE = $$OUT_PWD/android-$$TARGET-deployment-settings.json
write_file($$ANDROID_DEPLOYMENT_SETTINGS_FILE, FILE_CONTENT)|error()
}
-
diff --git a/mkspecs/features/android/default_pre.prf b/mkspecs/features/android/default_pre.prf
new file mode 100644
index 0000000000..a73cd4b39c
--- /dev/null
+++ b/mkspecs/features/android/default_pre.prf
@@ -0,0 +1,77 @@
+load(default_pre)
+
+build_pass:armeabi-v7a {
+ QT_ARCH = armeabi-v7a
+} else:build_pass:arm64-v8a {
+ QT_ARCH = arm64-v8a
+} else:build_pass:x86 {
+ QT_ARCH = x86
+} else:build_pass:x86_64 {
+ QT_ARCH = x86_64
+} else {
+ # default architecture
+ QT_ARCH = arm64-v8a
+}
+
+DEFAULT_ANDROID_TARGET_ARCH=$${QT_ARCH}
+
+ANDROID_TARGET_ARCH = $$(ANDROID_TARGET_ARCH)
+isEmpty(ANDROID_TARGET_ARCH): ANDROID_TARGET_ARCH = $$DEFAULT_ANDROID_TARGET_ARCH
+
+# Follow https://android.googlesource.com/platform/ndk/+/ndk-release-r20/docs/BuildSystemMaintainers.md
+
+equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
+ QMAKE_CFLAGS = -target armv7a-linux-androideabi$$replace(ANDROID_PLATFORM, "android-", "")
+else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
+ QMAKE_CFLAGS = -target aarch64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
+else: equals(ANDROID_TARGET_ARCH, x86): \
+ QMAKE_CFLAGS = -target i686-linux-android$$replace(ANDROID_PLATFORM, "android-", "") -mstackrealign
+else: equals(ANDROID_TARGET_ARCH, x86_64): \
+ QMAKE_CFLAGS = -target x86_64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
+
+QMAKE_CFLAGS += -fno-limit-debug-info
+
+QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS
+
+ANDROID_STDCPP_PATH = $$NDK_LLVM_PATH/sysroot/usr/lib/
+
+# -fstack-protector-strong offers good protection against stack smashing attacks.
+# It is (currently) enabled only on Android because we know for sure that Android compilers supports it
+QMAKE_CFLAGS += -fPIC -fstack-protector-strong -DANDROID
+
+
+equals(ANDROID_TARGET_ARCH, armeabi-v7a) | equals(ANDROID_TARGET_ARCH, armeabi) {
+ CONFIG += optimize_size
+ QMAKE_CFLAGS_DEBUG = -g -marm -O0
+ QMAKE_CFLAGS_RELEASE += -mthumb
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
+}
+
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_LIBS_EGL = -lEGL
+QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
+
+QMAKE_STRIP =
+#$${CROSS_COMPILE}strip
+
+
+equals(QT_ARCH, x86): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/i686-linux-android-
+else: equals(QT_ARCH, x86_64): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/x86_64-linux-android-
+else: equals(QT_ARCH, arm64-v8a): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/aarch64-linux-android-
+else: CROSS_COMPILE = $$NDK_LLVM_PATH/bin/arm-linux-androideabi-
+
+QMAKE_RANLIB = $${CROSS_COMPILE}ranlib
+QMAKE_LINK_SHLIB = $$QMAKE_LINK
+QMAKE_LFLAGS =
+
+QMAKE_LIBS_PRIVATE = -llog -lz -lm -ldl -lc
diff --git a/mkspecs/features/android/resolve_config.prf b/mkspecs/features/android/resolve_config.prf
new file mode 100644
index 0000000000..0cc4e73cc9
--- /dev/null
+++ b/mkspecs/features/android/resolve_config.prf
@@ -0,0 +1,10 @@
+load(resolve_config)
+
+!equals(TEMPLATE, aux):!host_build:!single_arch:!java:android {
+ isEmpty(ANDROID_ABIS): ANDROID_ABIS = $$ALL_ANDROID_ABIS
+
+ ALL_ABIS = $$join(ANDROID_ABIS, _and_)
+ CONFIG += $$ALL_ABIS build_all
+ addExclusiveBuildsProper($$ALL_ABIS, $$ANDROID_ABIS)
+ unset(ALL_ABIS)
+}
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index 376a7ded5d..5c561042cd 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
@@ -138,8 +138,8 @@ CMAKE_RELEASE_TYPE =
# the debug libraries at build time.
equals(QMAKE_HOST.os, Windows): CMAKE_BIN_SUFFIX = ".exe"
-if(build_all|CONFIG(debug, debug|release)): CMAKE_DEBUG_TYPE = debug
-if(build_all|CONFIG(release, debug|release)): CMAKE_RELEASE_TYPE = release
+if(debug_and_release:build_all)|CONFIG(debug, debug|release): CMAKE_DEBUG_TYPE = debug
+if(debug_and_release:build_all)|CONFIG(release, debug|release): CMAKE_RELEASE_TYPE = release
# CMAKE_DEBUG_AND_RELEASE is used to tell the _populate_$${CMAKE_MODULE_NAME}_target_properties
# functions whether a Configuration specific generator expression needs to be added to the values
@@ -153,67 +153,109 @@ if(build_all|CONFIG(release, debug|release)): CMAKE_RELEASE_TYPE = release
# <CONFIG> equivalent to the value specified by CMAKE_BUILD_TYPE.
# This means that when Qt was built in a Release configuration, and the application in a Debug
# configuration, IMPORTED_LOCATION_RELEASE will be used for the Qt libraries.
-debug_and_release {
+#
+# Note that we need to check for the "debug_and_release" feature, and not the CONFIG value, because
+# the CONFIG value is always set to true on Windows in msvc-desktop.conf disregarding whether the
+# configure line specified just -debug or just -release.
+# This also means that if a user configures and builds Qt with -release, and then calls nmake debug
+# to build debug libraries of Qt, the generated CMake file won't know about debug libraries,
+# and will always link against the release libraries.
+qtConfig(debug_and_release) {
CMAKE_DEBUG_AND_RELEASE = TRUE
} else {
CMAKE_DEBUG_AND_RELEASE = FALSE
}
contains(CONFIG, plugin) {
- !isEmpty(PLUGIN_EXTENDS):!equals(PLUGIN_EXTENDS, -) {
- count(PLUGIN_EXTENDS, 1, greaterThan): \
- error("Plugin declares to extend multiple modules. We don't handle that ...")
- PLUGIN_MODULE_NAME = $$PLUGIN_EXTENDS
+ equals(PLUGIN_EXTENDS, -) {
+ CMAKE_PLUGIN_EXTENDS = -
} else {
- PLUGIN_MODULE_NAME =
- for (mod, QT_MODULES) {
- contains(QT.$${mod}.plugin_types, $$PLUGIN_TYPE) {
- !isEmpty(PLUGIN_MODULE_NAME): \
- error("Multiple modules claim plugin type '$$PLUGIN_TYPE' ($$mod, in addition to $$PLUGIN_MODULE_NAME)")
- PLUGIN_MODULE_NAME = $$mod
- break()
- }
+ list_plugin_extends =
+ for (p, PLUGIN_EXTENDS) {
+ m = $$cmakeModuleName($$p)
+ list_plugin_extends += Qt5::$$m
}
- isEmpty(PLUGIN_MODULE_NAME): error("No module claims plugin type '$$PLUGIN_TYPE'")
+ CMAKE_PLUGIN_EXTENDS = $$join(list_plugin_extends, ";")
}
+ PLUGIN_MODULE_NAME =
+ unique_qt_modules = $$unique(QT_MODULES) # In case modules appear in multiple places
+ for (mod, unique_qt_modules) {
+ contains(QT.$${mod}.plugin_types, $$PLUGIN_TYPE) {
+ !isEmpty(PLUGIN_MODULE_NAME): \
+ error("Multiple modules claim plugin type '$$PLUGIN_TYPE' ($$mod, in addition to $$PLUGIN_MODULE_NAME)")
+ PLUGIN_MODULE_NAME = $$mod
+ }
+ }
+ isEmpty(PLUGIN_MODULE_NAME): error("No module claims plugin type '$$PLUGIN_TYPE'")
+
+ sorted_deps = $$sort_depends(QT_PLUGIN.$${CMAKE_QT_STEM}.DEPENDS, QT.)
+ mod_deps =
+ lib_deps =
+ aux_mod_deps =
+ aux_lib_deps =
+ for (dep, sorted_deps) {
+ cdep = $$cmakeModuleName($$dep)
+ mod_deps += $$cdep
+ lib_deps += Qt5::$$cdep
+ }
+ CMAKE_PLUGIN_MODULE_DEPS = $$join(mod_deps, ";")
+ CMAKE_PLUGIN_QT5_MODULE_DEPS = $$join(lib_deps, ";")
+
CMAKE_MODULE_NAME = $$cmakeModuleName($$PLUGIN_MODULE_NAME)
CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME
+ CMAKE_PLUGIN_TYPE = $$PLUGIN_TYPE
+ CMAKE_PLUGIN_TYPE_ESCAPED = $$replace(PLUGIN_TYPE, [-/], _)
win32 {
isEmpty(CMAKE_STATIC_TYPE) {
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.dll
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.dll
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.prl
} else:mingw {
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.a
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}d.a
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}d.prl
} else { # MSVC static
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.lib
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.lib
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.prl
}
} else {
mac {
- isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
- else: CMAKE_PlUGIN_EXT = .a
+ isEmpty(CMAKE_STATIC_TYPE): CMAKE_PLUGIN_EXT = .dylib
+ else: CMAKE_PLUGIN_EXT = .a
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}$${CMAKE_PLUGIN_EXT}
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}_debug$${CMAKE_PLUGIN_EXT}
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}_debug.prl
} else {
- isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so
- else: CMAKE_PlUGIN_EXT = .a
+ isEmpty(CMAKE_STATIC_TYPE): CMAKE_PLUGIN_EXT = .so
+ else: CMAKE_PLUGIN_EXT = .a
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}$${CMAKE_PLUGIN_EXT}
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}$${CMAKE_PLUGIN_EXT}
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.prl
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.prl
}
}
cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ cmake_qt5_plugin_import_file.input = $$PWD/data/cmake/Qt5ImportPlugin.cpp.in
+ cmake_qt5_plugin_import_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}_Import.cpp
- !build_pass:QMAKE_SUBSTITUTES += \
- cmake_target_file
+ !build_pass {
+ QMAKE_SUBSTITUTES += cmake_target_file
+ static|staticlib: QMAKE_SUBSTITUTES += cmake_qt5_plugin_import_file
+ }
cmake_qt5_plugin_file.files = $$cmake_target_file.output
+ static|staticlib: cmake_qt5_plugin_file.files += $$cmake_qt5_plugin_import_file.output
cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
INSTALLS += cmake_qt5_plugin_file
@@ -244,6 +286,7 @@ CMAKE_MODULE_DEPS = $$join(mod_deps, ";")
CMAKE_QT5_MODULE_DEPS = $$join(lib_deps, ";")
CMAKE_INTERFACE_MODULE_DEPS = $$join(aux_mod_deps, ";")
CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";")
+CMAKE_MODULE_PLUGIN_TYPES = $$join(QT.$${MODULE}.plugin_types, ";")
mac {
!isEmpty(CMAKE_STATIC_TYPE) {
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index d4fd057682..4d3dc1bd35 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -317,6 +317,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS)
!!ENDIF // TEMPLATE != aux
+ # It can happen that the same FooConfig.cmake file is included when calling find_package()
+ # on some Qt component. An example of that is when using a Qt static build with auto inclusion
+ # of plugins:
+ #
+ # Qt5WidgetsConfig.cmake -> Qt5GuiConfig.cmake -> Qt5Gui_QSvgIconPlugin.cmake ->
+ # Qt5SvgConfig.cmake -> Qt5WidgetsConfig.cmake ->
+ # finish processing of second Qt5WidgetsConfig.cmake ->
+ # return to first Qt5WidgetsConfig.cmake ->
+ # add_library cannot create imported target "Qt5::Widgets".
+ #
+ # Make sure to return early in the original Config inclusion, because the target has already
+ # been defined as part of the second inclusion.
+ if(TARGET Qt5::$${CMAKE_MODULE_NAME})
+ return()
+ endif()
+
set(_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_QT5_MODULE_DEPS}\")
!!IF !isEmpty(CMAKE_INTERFACE_QT5_MODULE_DEPS)
@@ -381,6 +397,8 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";"))
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";"))
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_PLUGIN_TYPES \"$${CMAKE_MODULE_PLUGIN_TYPES}\")
+
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE)
foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS})
if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR})
@@ -488,7 +506,8 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\")
- macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+ macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION
+ IsDebugAndRelease)
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
@@ -500,6 +519,36 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set_target_properties(Qt5::${Plugin} PROPERTIES
\"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
)
+
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+ set(_static_deps
+ ${_Qt5${Plugin}_STATIC_${Configuration}_LIB_DEPENDENCIES}
+ )
+
+ if(NOT "${IsDebugAndRelease}")
+ set(_genex_condition \"1\")
+ else()
+ if("${Configuration}" STREQUAL "DEBUG")
+ set(_genex_condition \"$<CONFIG:Debug>\")
+ else()
+ set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
+ endif()
+ endif()
+ if(_static_deps)
+ set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
+ set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+ \"${_static_deps_genex}\"
+ )
+ endif()
+
+ set(_static_link_flags \"${_Qt5${Plugin}_STATIC_${Configuration}_LINK_FLAGS}\")
+ if(NOT CMAKE_VERSION VERSION_LESS \"3.13\" AND _static_link_flags)
+ set(_static_link_flags_genex \"$<${_genex_condition}:${_static_link_flags}>\")
+ set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_OPTIONS
+ \"${_static_link_flags_genex}\"
+ )
+ endif()
+!!ENDIF
endmacro()
if (pluginTargets)
diff --git a/mkspecs/features/data/cmake/Qt5ImportPlugin.cpp.in b/mkspecs/features/data/cmake/Qt5ImportPlugin.cpp.in
new file mode 100644
index 0000000000..6e27f7a260
--- /dev/null
+++ b/mkspecs/features/data/cmake/Qt5ImportPlugin.cpp.in
@@ -0,0 +1,2 @@
+#include <QtPlugin>
+Q_IMPORT_PLUGIN($$CMAKE_PLUGIN_NAME)
diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
index 5baf0fdb10..7b70cfed09 100644
--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
@@ -1,11 +1,102 @@
add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+set(_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_PLUGIN_MODULE_DEPS}\")
+
+foreach(_module_dep ${_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES})
+ if(NOT Qt5${_module_dep}_FOUND)
+ find_package(Qt5${_module_dep}
+ $$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT}
+ ${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET}
+ ${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED}
+ PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\" NO_DEFAULT_PATH
+ )
+ endif()
+endforeach()
+
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
+)
+!!ELSE
+_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+ \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
+)
!!ENDIF
+!!ENDIF
+
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
+)
+!!ELSE
+_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+ \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
+)
+!!ENDIF
+!!ENDIF
+
+set_property(TARGET Qt5::$$CMAKE_PLUGIN_NAME PROPERTY INTERFACE_SOURCES
+ \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_$${CMAKE_PLUGIN_NAME}_Import.cpp\"
+)
+!!ENDIF
+
+!!IF !isEmpty(CMAKE_RELEASE_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+!!ENDIF
+!!IF !isEmpty(CMAKE_DEBUG_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
!!ENDIF
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
+set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY QT_ALL_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED} Qt5::$${CMAKE_PLUGIN_NAME})
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+# $<GENEX_EVAL:...> wasn\'t added until CMake 3.12, so put a version guard around it
+if(CMAKE_VERSION VERSION_LESS \"3.12\")
+ set(_manual_plugins_genex \"$<TARGET_PROPERTY:QT_PLUGINS>\")
+ set(_plugin_type_genex \"$<TARGET_PROPERTY:QT_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED}>\")
+ set(_no_plugins_genex \"$<TARGET_PROPERTY:QT_NO_PLUGINS>\")
+else()
+ set(_manual_plugins_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_PLUGINS>>\")
+ set(_plugin_type_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED}>>\")
+ set(_no_plugins_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_NO_PLUGINS>>\")
+endif()
+set(_user_specified_genex
+ \"$<IN_LIST:Qt5::$$CMAKE_PLUGIN_NAME,${_manual_plugins_genex};${_plugin_type_genex}>\"
+)
+string(CONCAT _plugin_genex
+ \"$<$<OR:\"
+ # Add this plugin if it\'s in the list of manual plugins or plugins for the type
+ \"${_user_specified_genex},\"
+ # Add this plugin if the list of plugins for the type is empty, the PLUGIN_EXTENDS
+ # is either empty or equal to the module name, and the user hasn\'t blacklisted it
+ \"$<AND:\"
+ \"$<STREQUAL:${_plugin_type_genex},>,\"
+ \"$<OR:\"
+ \"$<STREQUAL:$<TARGET_PROPERTY:Qt5::$${CMAKE_PLUGIN_NAME},QT_PLUGIN_EXTENDS>,Qt5::$${CMAKE_MODULE_NAME}>,\"
+ \"$<STREQUAL:$<TARGET_PROPERTY:Qt5::$${CMAKE_PLUGIN_NAME},QT_PLUGIN_EXTENDS>,>\"
+ \">,\"
+ \"$<NOT:$<IN_LIST:Qt5::$${CMAKE_PLUGIN_NAME},${_no_plugins_genex}>>\"
+ \">\"
+ \">:Qt5::$$CMAKE_PLUGIN_NAME>\"
+)
+set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+ ${_plugin_genex}
+)
+set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+ \"$${CMAKE_PLUGIN_QT5_MODULE_DEPS}\"
+)
+!!ENDIF
+set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_TYPE \"$$CMAKE_PLUGIN_TYPE\")
+set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_EXTENDS \"$$CMAKE_PLUGIN_EXTENDS\")
diff --git a/mkspecs/features/exclusive_builds_post.prf b/mkspecs/features/exclusive_builds_post.prf
index 936085af0b..a9c341a2d7 100644
--- a/mkspecs/features/exclusive_builds_post.prf
+++ b/mkspecs/features/exclusive_builds_post.prf
@@ -1,4 +1,6 @@
+load(qt_functions)
+
contains(TEMPLATE, subdirs) {
for(build, QMAKE_EXCLUSIVE_BUILDS) {
prepareRecursiveTarget($$build)
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
index c46222debd..60b2eb2117 100644
--- a/mkspecs/features/mac/default_post.prf
+++ b/mkspecs/features/mac/default_post.prf
@@ -1,5 +1,9 @@
load(default_post)
+# Recompute SDK version in case the user set it explicitly
+sdk_version = $$QMAKE_MAC_SDK_VERSION
+QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
+
contains(TEMPLATE, .*app) {
!macx-xcode:if(isEmpty(BUILDS)|build_pass) {
# Detect changes to the platform SDK
@@ -14,7 +18,7 @@ contains(TEMPLATE, .*app) {
!versionAtLeast(QMAKE_MAC_SDK_VERSION, $$QT_MAC_SDK_VERSION_MIN): \
warning("Qt requires at least version $$QT_MAC_SDK_VERSION_MIN of the platform SDK," \
- "you're using $${QMAKE_MAC_SDK_VERSION}. Please upgrade.")
+ "you're building against version $${QMAKE_MAC_SDK_VERSION}. Please upgrade.")
!isEmpty(QT_MAC_SDK_VERSION_MAX) {
# For Qt developers only
@@ -244,6 +248,11 @@ macx-xcode {
QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
}
+!equals(sdk_version, $$QMAKE_MAC_SDK_VERSION) {
+ # Explicit SDK version has been set, respect that
+ QMAKE_LFLAGS += -Wl,-sdk_version -Wl,$$sdk_version
+}
+
cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
!isEmpty(QMAKE_XCODE_VERSION): \
cache(QMAKE_XCODE_VERSION, stash)
@@ -261,7 +270,7 @@ xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identif
QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
!macx-xcode {
- generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode $(EXPORT__PRO_FILE_)
+ generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode $(EXPORT__PRO_FILE_) $$QMAKE_ARGS
generate_xcode_project.target = xcodeproj
QMAKE_EXTRA_VARIABLES += _PRO_FILE_
QMAKE_EXTRA_TARGETS += generate_xcode_project
diff --git a/mkspecs/features/qmake_use.prf b/mkspecs/features/qmake_use.prf
index 64faa4f215..ecb4f7ed41 100644
--- a/mkspecs/features/qmake_use.prf
+++ b/mkspecs/features/qmake_use.prf
@@ -22,7 +22,11 @@ for(ever) {
!defined(QMAKE_LIBS_$$nu, var): \
error("Library '$$lower($$replace(nu, _, -))' is not defined.")
- debug: \
+ android {
+ ABI_LIBS = $$eval(QMAKE_LIBS_$${nu}_$${QT_ARCH})
+ isEmpty(ABI_LIBS): ABI_LIBS = $$eval(QMAKE_LIBS_$${nu})
+ LIBS$${suffix} += $$ABI_LIBS
+ } else: debug: \
LIBS$${suffix} += $$eval(QMAKE_LIBS_$${nu}_DEBUG) $$eval(QMAKE_LIBS_$$nu)
else: \
LIBS$${suffix} += $$eval(QMAKE_LIBS_$${nu}_RELEASE) $$eval(QMAKE_LIBS_$$nu)
diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
index 57cfec78b3..c0b50416c9 100644
--- a/mkspecs/features/qml_module.prf
+++ b/mkspecs/features/qml_module.prf
@@ -52,15 +52,26 @@ builtin_resources {
qmldir.base = $$qmldir_path
qmldir.files = $$qmldir_file
qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-INSTALLS += qmldir
qmlfiles.base = $$_PRO_FILE_PWD_
qmlfiles.files = $$fq_aux_qml_files
install_qml_files: qmlfiles.files += $$fq_qml_files
qmlfiles.path = $${qmldir.path}
-INSTALLS += qmlfiles
-!debug_and_release|!build_all|CONFIG(release, debug|release) {
+INSTALL_QML_FILES = false
+
+android {
+ build_pass {
+ isEmpty(ANDROID_ABIS): ANDROID_ABIS = $$ALL_ANDROID_ABIS
+ ABI = $$first(ANDROID_ABIS)
+ equals(ABI, $$QT_ARCH): INSTALL_QML_FILES = true
+ }
+} else: !debug_and_release|!build_all|CONFIG(release, debug|release): INSTALL_QML_FILES = true
+
+equals(INSTALL_QML_FILES, true) {
+ INSTALLS += qmldir
+ INSTALLS += qmlfiles
+
!prefix_build {
COPIES += qmldir qmlfiles
} else {
diff --git a/mkspecs/features/qt_android_deps.prf b/mkspecs/features/qt_android_deps.prf
index c172ca8c4e..e50c24b966 100644
--- a/mkspecs/features/qt_android_deps.prf
+++ b/mkspecs/features/qt_android_deps.prf
@@ -16,7 +16,7 @@
ANDROID_DEPENDS_DIR = $$MODULE_BASE_OUTDIR/lib/
DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml
-!build_pass {
+build_pass:!isEmpty(QT_ARCH): {
!isEmpty(MODULE_PLUGIN_TYPES) {
for(PLUGIN_TYPE, MODULE_PLUGIN_TYPES) {
ANDROID_BUNDLED_FILES += "plugins/$$PLUGIN_TYPE"
@@ -46,6 +46,8 @@ DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml
EXTENDS = $$section(LIB_FILE, ":", 1, 1)
!isEmpty(EXTENDS): EXTENDS = "extends=\"$$EXTENDS\""
LIB_FILE = $$section(LIB_FILE, ":", 0, 0)
+ LIB_FILE = $$replace(LIB_FILE,".so", "_$${QT_ARCH}.so")
+ !isEmpty(EXTENDS): EXTENDS = $$replace(EXTENDS,".so", "_$${QT_ARCH}.so")
FILE_CONTENT += "<lib file=\"$$LIB_FILE\" $$EXTENDS />"
}
}
@@ -54,12 +56,14 @@ DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml
for(REPLACEMENT, ANDROID_LIB_DEPENDENCY_REPLACEMENTS) {
REPLACEMENT_FILE = $$section(REPLACEMENT, ":", 0, 0)
LIB_FILE = $$section(REPLACEMENT, ":", 1, 1)
+ REPLACEMENT_FILE = $$replace(REPLACEMENT_FILE,".so", "_$${QT_ARCH}.so")
FILE_CONTENT += "<lib file=\"$$LIB_FILE\" replaces=\"$$REPLACEMENT_FILE\" />"
}
}
!isEmpty(ANDROID_BUNDLED_FILES) {
for (BUNDLED_FILE, ANDROID_BUNDLED_FILES) {
+ BUNDLED_FILE = $$replace(BUNDLED_FILE,".so", "_$${QT_ARCH}.so")
FILE_CONTENT += "<bundled file=\"$$BUNDLED_FILE\" />"
}
}
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
index 8a7c9c28d3..745b09a885 100644
--- a/mkspecs/features/qt_build_config.prf
+++ b/mkspecs/features/qt_build_config.prf
@@ -108,6 +108,10 @@ macos: CONFIG += testcase_no_bundle
# Override MinGW's definition in _mingw.h
mingw: DEFINES += WINVER=0x0601 _WIN32_WINNT=0x0601
+# By default, the following features should not be used in Qt's own
+# implementation, so declare them invisible to Qt modules.
+DEFINES += QT_NO_LINKED_LIST # QLinkedList
+
defineTest(qtBuildPart) {
bp = $$eval($$upper($$section(_QMAKE_CONF_, /, -2, -2))_BUILD_PARTS)
isEmpty(bp): bp = $$QT_BUILD_PARTS
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index 2ac9de266f..1219fe1443 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -560,7 +560,7 @@ defineTest(qtConfResolveLibs) {
} else {
paths += $$lp
}
- } else: contains(l, "^-l.*") {
+ } else: !android: contains(l, "^-l.*") {
lib = $$replace(l, "^-l", )
lcan =
integrity:contains(lib, "^.*\\.a") {
@@ -1905,8 +1905,11 @@ defineTest(qtConfCreateReportRecurse) {
entry = $${1}.$$n
subKeys = $$eval($${entry}._KEYS_)
contains(subKeys, condition) {
- condition = $$eval($${entry}.condition)
- r = $$qtConfEvaluate($$condition)
+ r = true
+ for (condition, $$qtConfScalarOrList($${entry}.condition)) {
+ r = $$qtConfEvaluate($$condition)
+ !$$r: break()
+ }
!qtConfIsBoolean($$r): \
error("Evaluation of condition '$$condition' in report entry $${entry} yielded non-boolean value '$$r'.")
!$$r: next()
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 1903e509c8..ede494eec1 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -1,7 +1,8 @@
defineReplace(qtPlatformTargetSuffix) {
suffix =
- CONFIG(debug, debug|release) {
+ android: return($${suffix}_$${QT_ARCH})
+ else: CONFIG(debug, debug|release) {
!debug_and_release|build_pass {
mac: return($${suffix}_debug)
win32: return($${suffix}d)
diff --git a/mkspecs/features/qt_helper_lib.prf b/mkspecs/features/qt_helper_lib.prf
index 2cb54fc547..216c24c7aa 100644
--- a/mkspecs/features/qt_helper_lib.prf
+++ b/mkspecs/features/qt_helper_lib.prf
@@ -29,19 +29,19 @@ DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
THE_TARGET = $$qt5LibraryTarget($$TARGET)
-!build_pass {
- MODULE = $$replace(TARGET, ^qt, )
- MODULE ~= s,-,_,
- MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_ext_$${MODULE}.pri
- ucmodule = $$upper($$MODULE)
+MODULE = $$replace(TARGET, ^qt, )
+MODULE ~= s,-,_,
+MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_ext_$${MODULE}.pri
+ucmodule = $$upper($$MODULE)
+win32|CONFIG(static, static|shared) {
+ prefix = $$QMAKE_PREFIX_STATICLIB
+ suffix = $$QMAKE_EXTENSION_STATICLIB
+} else {
+ prefix = $$QMAKE_PREFIX_SHLIB
+ suffix = $$QMAKE_EXTENSION_SHLIB
+}
- win32|CONFIG(static, static|shared) {
- prefix = $$QMAKE_PREFIX_STATICLIB
- suffix = $$QMAKE_EXTENSION_STATICLIB
- } else {
- prefix = $$QMAKE_PREFIX_SHLIB
- suffix = $$QMAKE_EXTENSION_SHLIB
- }
+!build_pass {
CC_USES =
LD_USES =
for (use, QMAKE_USE) {
@@ -58,7 +58,9 @@ THE_TARGET = $$qt5LibraryTarget($$TARGET)
"QMAKE_DEPENDS_$${ucmodule}_LD =$$join(LD_USES, " ", " ")" \
"QMAKE_INCDIR_$${ucmodule} = $$val_escape(MODULE_INCLUDEPATH)" \
"QMAKE_DEFINES_$${ucmodule} = $$val_escape(MODULE_DEFINES)"
- debug_and_release {
+ android {
+ MODULE_PRI_CONT += "QMAKE_LIBS_$${ucmodule} ="
+ } else: debug_and_release {
win32: \
MODULE_DEBUG_LIBS = $$DESTDIR/$$prefix$${TARGET}d.$$suffix
else: darwin: \
@@ -76,6 +78,11 @@ THE_TARGET = $$qt5LibraryTarget($$TARGET)
"QMAKE_LIBS_$${ucmodule} = $$val_escape(MODULE_LIBS)"
}
write_file($$MODULE_PRI, MODULE_PRI_CONT)|error()
+} else: android {
+ ABI_TARGET = $$qt5LibraryTarget($$TARGET)
+ ABI_MODULE_LIBS = $$DESTDIR/$$prefix$${ABI_TARGET}.$$suffix
+ MODULE_PRI_CONT = "QMAKE_LIBS_$${ucmodule}_$${QT_ARCH} = $$val_escape(ABI_MODULE_LIBS)"
+ write_file($$MODULE_PRI, MODULE_PRI_CONT, append)|error()
}
TARGET = $$THE_TARGET
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 169d91c746..828a9621b9 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -93,7 +93,7 @@ header_module {
DESTDIR = $$MODULE_BASE_OUTDIR/lib
DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
-CONFIG += qmake_cache target_qt
+CONFIG += target_qt
QMAKE_DOCS_TARGETDIR = qt$${MODULE}
diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf
index e892f83432..719caf3d4a 100644
--- a/mkspecs/features/qt_module_pris.prf
+++ b/mkspecs/features/qt_module_pris.prf
@@ -51,13 +51,12 @@ defineReplace(qtGetExportsForModule) {
return($$result)
}
-defineReplace(qtExportLibsForModule) {
+defineReplace(qtExportDepsForModule) {
result =
for (lib, QT.$${1}.libraries) {
NAME = $$upper($$lib)
vars = \
QMAKE_DEPENDS_$${NAME}_CC QMAKE_DEPENDS_$${NAME}_LD \
- QMAKE_LIBS_$$NAME QMAKE_LIBS_$${NAME}_DEBUG QMAKE_LIBS_$${NAME}_RELEASE \
QMAKE_DEFINES_$$NAME QMAKE_INCDIR_$$NAME
for (var, vars) {
expvar = $$var
@@ -71,6 +70,24 @@ defineReplace(qtExportLibsForModule) {
return($$result)
}
+defineReplace(qtExportLibsForModule) {
+ result =
+ for (lib, QT.$${1}.libraries) {
+ NAME = $$upper($$lib)
+ vars = \
+ QMAKE_LIBS_$$NAME QMAKE_LIBS_$${NAME}_DEBUG QMAKE_LIBS_$${NAME}_RELEASE
+ for (var, vars) {
+ expvar = $$var
+ expvar ~= s/^QMAKE_/QMAKE_EXPORT_/
+ defined($$expvar, var):equals($$expvar, -): next()
+ !defined($$expvar, var): expvar = $$var
+ defined($$expvar, var): \
+ result += "$$var$${2} = $$val_escape($$expvar)"
+ }
+ }
+ return($$result)
+}
+
!build_pass {
# Create a module .pri file
@@ -160,6 +177,7 @@ defineReplace(qtExportLibsForModule) {
"QT.$${MODULE}_private.module_config =$$join(module_build_type, " ", " ")" \
$$qtGetFeaturesForModule($${MODULE}_private) \
"" \
+ $$qtExportDepsForModule($${MODULE}_private) \
$$qtExportLibsForModule($${MODULE}_private)
write_file($$MODULE_PRIVATE_PRI, MODULE_PRIVATE_PRI_CONT)|error()
}
@@ -220,7 +238,10 @@ defineReplace(qtExportLibsForModule) {
}
cache(QT_MODULES, transient)
-} # !build_pass
+} else:android:!no_private_module:!internal_module {
+ MODULE_PRIVATE_PRI_CONT = $$qtExportLibsForModule($${MODULE}_private, _$${QT_ARCH})
+ write_file($$MODULE_PRIVATE_PRI, MODULE_PRIVATE_PRI_CONT, append)|error()
+}
# Schedule the regular .pri file for installation
CONFIG += qt_install_module
diff --git a/mkspecs/wasm-emscripten/qmake.conf b/mkspecs/wasm-emscripten/qmake.conf
index c6c3af3622..992803e055 100644
--- a/mkspecs/wasm-emscripten/qmake.conf
+++ b/mkspecs/wasm-emscripten/qmake.conf
@@ -14,6 +14,8 @@ load(device_config)
QMAKE_CFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES
QMAKE_CXXFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES
QMAKE_LFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES
+} else {
+ EMCC_COMMON_LFLAGS += -s \"BINARYEN_TRAP_MODE=\'clamp\'\"
}
EMTERP_FLAGS = \
@@ -29,8 +31,7 @@ EMCC_COMMON_LFLAGS = \
-s USE_WEBGL2=1 \
-s NO_EXIT_RUNTIME=0 \
-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
- --bind \
- -s \"BINARYEN_TRAP_MODE=\'clamp\'\"
+ --bind
# The -s arguments can also be used with release builds,
# but are here in debug for clarity.
diff --git a/mkspecs/win32-clang-msvc/qmake.conf b/mkspecs/win32-clang-msvc/qmake.conf
index 5da7e2d1b2..238e401b84 100644
--- a/mkspecs/win32-clang-msvc/qmake.conf
+++ b/mkspecs/win32-clang-msvc/qmake.conf
@@ -39,6 +39,11 @@ QMAKE_CXXFLAGS += -Wno-microsoft-enum-value
QMAKE_LINK = lld-link
QMAKE_LIB = llvm-lib /NOLOGO
+QMAKE_CXXFLAGS_CXX11 = -std:c++11
+QMAKE_CXXFLAGS_CXX14 = -std:c++14
+QMAKE_CXXFLAGS_CXX1Z = -std:c++17
+QMAKE_CXXFLAGS_CXX2A = -std:c++latest
+
QMAKE_CFLAGS_LTCG = -flto=thin
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
QMAKE_CFLAGS_LTCG_FATOBJECTS = -flto
@@ -49,6 +54,4 @@ QMAKE_LFLAGS_LTCG =
QMAKE_CFLAGS_OPTIMIZE_SIZE = /clang:-Oz
QMAKE_CFLAGS_OPTIMIZE_FULL = /clang:-O3
-QMAKE_LFLAGS_RELEASE += /OPT:REF,ICF,LBR
-
load(qt_config)
diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix
index 68f173cd1b..e895feaef4 100644
--- a/qmake/Makefile.unix
+++ b/qmake/Makefile.unix
@@ -28,6 +28,7 @@ QOBJS = \
qmetatype.o qsystemerror.o qvariant.o \
quuid.o \
qarraydata.o qbitarray.o qbytearray.o qbytearraymatcher.o \
+ qcalendar.o qgregoriancalendar.o qromancalendar.o \
qcryptographichash.o qdatetime.o qhash.o qlist.o \
qlocale.o qlocale_tools.o qmap.o qregexp.o qringbuffer.o \
qstringbuilder.o qstring.o qstringlist.o qversionnumber.o \
@@ -114,7 +115,10 @@ DEPEND_SRC = \
$(SOURCE_PATH)/src/corelib/text/qstring.cpp \
$(SOURCE_PATH)/src/corelib/text/qstringlist.cpp \
$(SOURCE_PATH)/src/corelib/text/qvsnprintf.cpp \
+ $(SOURCE_PATH)/src/corelib/time/qcalendar.cpp \
$(SOURCE_PATH)/src/corelib/time/qdatetime.cpp \
+ $(SOURCE_PATH)/src/corelib/time/qgregoriancalendar.cpp \
+ $(SOURCE_PATH)/src/corelib/time/qromancalendar.cpp \
$(SOURCE_PATH)/src/corelib/tools/qarraydata.cpp \
$(SOURCE_PATH)/src/corelib/tools/qbitarray.cpp \
$(SOURCE_PATH)/src/corelib/tools/qcryptographichash.cpp \
@@ -428,6 +432,15 @@ qfileinfo.o: $(SOURCE_PATH)/src/corelib/io/qfileinfo.cpp
qdatetime.o: $(SOURCE_PATH)/src/corelib/time/qdatetime.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $<
+qcalendar.o: $(SOURCE_PATH)/src/corelib/time/qcalendar.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $<
+
+qgregoriancalendar.o: $(SOURCE_PATH)/src/corelib/time/qgregoriancalendar.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $<
+
+qromancalendar.o: $(SOURCE_PATH)/src/corelib/time/qromancalendar.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $<
+
qstringlist.o: $(SOURCE_PATH)/src/corelib/text/qstringlist.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $<
diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32
index 43059f9af0..672df47953 100644
--- a/qmake/Makefile.win32
+++ b/qmake/Makefile.win32
@@ -71,6 +71,7 @@ QTOBJS= \
qbytearray.obj \
qvsnprintf.obj \
qbytearraymatcher.obj \
+ qcalendar.obj \
qdatetime.obj \
qdir.obj \
qdiriterator.obj \
@@ -83,6 +84,7 @@ QTOBJS= \
qfileinfo.obj \
qendian.obj \
qglobal.obj \
+ qgregoriancalendar.obj \
qhash.obj \
qiodevice.obj \
qringbuffer.obj \
@@ -97,6 +99,7 @@ QTOBJS= \
qoperatingsystemversion.obj \
qoperatingsystemversion_win.obj \
qregexp.obj \
+ qromancalendar.obj \
qutfcodec.obj \
qstring.obj \
qstringlist.obj \
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index b271abcee3..3495f97b2c 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -2583,10 +2583,8 @@
\section1 RC_FILE
- Specifies the name of the resource file for the application.
- The value of this variable is typically handled by
- qmake or \l{#QMAKESPEC}{qmake.conf} and rarely
- needs to be modified.
+ Windows only. Specifies the name of the Windows resource file (.rc) for the
+ target. See \l{Adding Windows Resource Files}.
\target RC_CODEPAGE
\section1 RC_CODEPAGE
@@ -2649,7 +2647,9 @@
\section1 RES_FILE
- Specifies the name of the compiled Windows resource file for the target.
+ Windows only. Specifies the name of the Windows resource compiler's output
+ file for this target. See \l{RC_FILE} and \l{Adding Windows Resource Files}.
+
The value of this variable is typically handled by
qmake or \l{#QMAKESPEC}{qmake.conf} and rarely
needs to be modified.
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 2082bd6dc3..94e9259c68 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -764,27 +764,13 @@ MakefileGenerator::init()
ProStringList incDirs = v["DEPENDPATH"] + v["QMAKE_ABSOLUTE_SOURCE_PATH"];
if(project->isActiveConfig("depend_includepath"))
incDirs += v["INCLUDEPATH"];
- QList<QMakeLocalFileName> deplist;
+ QVector<QMakeLocalFileName> deplist;
deplist.reserve(incDirs.size());
for (ProStringList::Iterator it = incDirs.begin(); it != incDirs.end(); ++it)
deplist.append(QMakeLocalFileName((*it).toQString()));
QMakeSourceFileInfo::setDependencyPaths(deplist);
debug_msg(1, "Dependency Directories: %s",
incDirs.join(QString(" :: ")).toLatin1().constData());
- //cache info
- if(project->isActiveConfig("qmake_cache")) {
- QString cache_file;
- if(!project->isEmpty("QMAKE_INTERNAL_CACHE_FILE")) {
- cache_file = QDir::fromNativeSeparators(project->first("QMAKE_INTERNAL_CACHE_FILE").toQString());
- } else {
- cache_file = ".qmake.internal.cache";
- if(project->isActiveConfig("build_pass"))
- cache_file += ".BUILD." + project->first("BUILD_PASS");
- }
- if(cache_file.indexOf('/') == -1)
- cache_file.prepend(Option::output_dir + '/');
- QMakeSourceFileInfo::setCacheFile(cache_file);
- }
//add to dependency engine
for(x = 0; x < compilers.count(); ++x) {
@@ -1839,7 +1825,7 @@ static QStringList splitDeps(const QString &indeps, bool lineMode)
QString MakefileGenerator::resolveDependency(const QDir &outDir, const QString &file)
{
- const QList<QMakeLocalFileName> &depdirs = QMakeSourceFileInfo::dependencyPaths();
+ const QVector<QMakeLocalFileName> &depdirs = QMakeSourceFileInfo::dependencyPaths();
for (const auto &depdir : depdirs) {
const QString &local = depdir.local();
QString lf = outDir.absoluteFilePath(local + '/' + file);
@@ -3105,7 +3091,7 @@ MakefileGenerator::findFileForDep(const QMakeLocalFileName &dep, const QMakeLoca
if(Option::output_dir != qmake_getpwd()
&& QDir::isRelativePath(dep.real())) { //is it from the shadow tree
- QList<QMakeLocalFileName> depdirs = QMakeSourceFileInfo::dependencyPaths();
+ QVector<QMakeLocalFileName> depdirs = QMakeSourceFileInfo::dependencyPaths();
depdirs.prepend(fileInfo(file.real()).absoluteDir().path());
QString pwd = qmake_getpwd();
if(pwd.at(pwd.length()-1) != '/')
@@ -3456,4 +3442,13 @@ QString MakefileGenerator::shellQuote(const QString &str)
return isWindowsShell() ? IoUtils::shellQuoteWin(str) : IoUtils::shellQuoteUnix(str);
}
+/*
+ * Returns the name of the variable that contains the fully resolved target
+ * (including DESTDIR) of this generator.
+ */
+ProKey MakefileGenerator::fullTargetVariable() const
+{
+ return "TARGET";
+}
+
QT_END_NAMESPACE
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
index ac1d5abb11..45250a6aa2 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
@@ -276,6 +276,7 @@ public:
virtual bool openOutput(QFile &, const QString &build) const;
bool isWindowsShell() const { return Option::dir_sep == QLatin1String("\\"); }
QString shellQuote(const QString &str);
+ virtual ProKey fullTargetVariable() const;
};
Q_DECLARE_TYPEINFO(MakefileGenerator::Compiler, Q_MOVABLE_TYPE);
Q_DECLARE_OPERATORS_FOR_FLAGS(MakefileGenerator::FileFixifyTypes)
diff --git a/qmake/generators/makefiledeps.cpp b/qmake/generators/makefiledeps.cpp
index 69a3217723..7c4be64aa8 100644
--- a/qmake/generators/makefiledeps.cpp
+++ b/qmake/generators/makefiledeps.cpp
@@ -60,21 +60,14 @@ QT_BEGIN_NAMESPACE
inline bool qmake_endOfLine(const char &c) { return (c == '\r' || c == '\n'); }
#endif
-//#define QMAKE_USE_CACHE
-
-QMakeLocalFileName::QMakeLocalFileName(const QString &name) : is_null(name.isNull())
+QMakeLocalFileName::QMakeLocalFileName(const QString &name)
+ : real_name(name)
{
- if(!name.isEmpty()) {
- if(name.at(0) == QLatin1Char('"') && name.at(name.length()-2) == QLatin1Char('"'))
- real_name = name.mid(1, name.length()-2);
- else
- real_name = name;
- }
}
const QString
&QMakeLocalFileName::local() const
{
- if(!is_null && local_name.isNull())
+ if (!isNull() && local_name.isNull())
local_name = Option::normalizePath(real_name);
return local_name;
}
@@ -199,10 +192,10 @@ void QMakeSourceFileInfo::dependTreeWalker(SourceFile *node, SourceDependChildre
}
}
-void QMakeSourceFileInfo::setDependencyPaths(const QList<QMakeLocalFileName> &l)
+void QMakeSourceFileInfo::setDependencyPaths(const QVector<QMakeLocalFileName> &l)
{
// Ensure that depdirs does not contain the same paths several times, to minimize the stats
- QList<QMakeLocalFileName> ll;
+ QVector<QMakeLocalFileName> ll;
for (int i = 0; i < l.count(); ++i) {
if (!ll.contains(l.at(i)))
ll.append(l.at(i));
@@ -265,19 +258,10 @@ QMakeSourceFileInfo::QMakeSourceFileInfo(const QString &cf)
//buffer
spare_buffer = nullptr;
spare_buffer_size = 0;
-
- //cache
- cachefile = cf;
- if(!cachefile.isEmpty())
- loadCache(cachefile);
}
QMakeSourceFileInfo::~QMakeSourceFileInfo()
{
- //cache
- if(!cachefile.isEmpty() /*&& files_changed*/)
- saveCache(cachefile);
-
//buffer
if(spare_buffer) {
free(spare_buffer);
@@ -290,12 +274,6 @@ QMakeSourceFileInfo::~QMakeSourceFileInfo()
delete includes;
}
-void QMakeSourceFileInfo::setCacheFile(const QString &cf)
-{
- cachefile = cf;
- loadCache(cachefile);
-}
-
void QMakeSourceFileInfo::addSourceFiles(const ProStringList &l, uchar seek,
QMakeSourceFileInfo::SourceFileType type)
{
@@ -853,8 +831,8 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file)
}
}
if(!exists) { //path lookup
- for(QList<QMakeLocalFileName>::Iterator it = depdirs.begin(); it != depdirs.end(); ++it) {
- QMakeLocalFileName f((*it).real() + Option::dir_sep + lfn.real());
+ for (const QMakeLocalFileName &depdir : qAsConst(depdirs)) {
+ QMakeLocalFileName f(depdir.real() + Option::dir_sep + lfn.real());
QFileInfo fi(findFileInfo(f));
if(fi.exists() && !fi.isDir()) {
lfn = fixPathForFile(f);
@@ -1054,151 +1032,4 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file)
return true;
}
-
-void QMakeSourceFileInfo::saveCache(const QString &cf)
-{
-#ifdef QMAKE_USE_CACHE
- if(cf.isEmpty())
- return;
-
- QFile file(QMakeLocalFileName(cf).local());
- if(file.open(QIODevice::WriteOnly)) {
- QTextStream stream(&file);
- stream << QMAKE_VERSION_STR << endl << endl; //version
- { //cache verification
- QMap<QString, QStringList> verify = getCacheVerification();
- stream << verify.count() << endl;
- for(QMap<QString, QStringList>::iterator it = verify.begin();
- it != verify.end(); ++it) {
- stream << it.key() << endl << it.value().join(';') << endl;
- }
- stream << endl;
- }
- if(files->nodes) {
- for(int file = 0; file < files->num_nodes; ++file) {
- for(SourceFiles::SourceFileNode *node = files->nodes[file]; node; node = node->next) {
- stream << node->file->file.local() << endl; //source
- stream << node->file->type << endl; //type
-
- //depends
- stream << ";";
- if(node->file->deps) {
- for(int depend = 0; depend < node->file->deps->used_nodes; ++depend) {
- if(depend)
- stream << ";";
- stream << node->file->deps->children[depend]->file.local();
- }
- }
- stream << endl;
-
- stream << node->file->mocable << endl; //mocable
- stream << endl; //just for human readability
- }
- }
- }
- stream.flush();
- file.close();
- }
-#else
- Q_UNUSED(cf);
-#endif
-}
-
-void QMakeSourceFileInfo::loadCache(const QString &cf)
-{
- if(cf.isEmpty())
- return;
-
-#ifdef QMAKE_USE_CACHE
- QMakeLocalFileName cache_file(cf);
- int fd = open(QMakeLocalFileName(cf).local().toLatin1(), O_RDONLY);
- if(fd == -1)
- return;
- QFileInfo cache_fi = findFileInfo(cache_file);
- if(!cache_fi.exists() || cache_fi.isDir())
- return;
-
- QFile file;
- if (!file.open(fd, QIODevice::ReadOnly))
- return;
- QTextStream stream(&file);
-
- if (stream.readLine() == QMAKE_VERSION_STR) { //version check
- stream.skipWhiteSpace();
-
- bool verified = true;
- { //cache verification
- QMap<QString, QStringList> verify;
- int len = stream.readLine().toInt();
- for(int i = 0; i < len; ++i) {
- QString var = stream.readLine();
- QString val = stream.readLine();
- verify.insert(var, val.split(';', QString::SkipEmptyParts));
- }
- verified = verifyCache(verify);
- }
- if(verified) {
- stream.skipWhiteSpace();
- if(!files)
- files = new SourceFiles;
- while(!stream.atEnd()) {
- QString source = stream.readLine();
- QString type = stream.readLine();
- QString depends = stream.readLine();
- QString mocable = stream.readLine();
- stream.skipWhiteSpace();
-
- QMakeLocalFileName fn(source);
- QFileInfo fi = findFileInfo(fn);
-
- SourceFile *file = files->lookupFile(fn);
- if(!file) {
- file = new SourceFile;
- file->file = fn;
- files->addFile(file);
- file->type = (SourceFileType)type.toInt();
- file->exists = fi.exists();
- }
- if(fi.exists() && fi.lastModified() < cache_fi.lastModified()) {
- if(!file->dep_checked) { //get depends
- if(!file->deps)
- file->deps = new SourceDependChildren;
- file->dep_checked = true;
- QStringList depend_list = depends.split(";", QString::SkipEmptyParts);
- for(int depend = 0; depend < depend_list.size(); ++depend) {
- QMakeLocalFileName dep_fn(depend_list.at(depend));
- QFileInfo dep_fi(findFileInfo(dep_fn));
- SourceFile *dep = files->lookupFile(dep_fn);
- if(!dep) {
- dep = new SourceFile;
- dep->file = dep_fn;
- dep->exists = dep_fi.exists();
- dep->type = QMakeSourceFileInfo::TYPE_UNKNOWN;
- files->addFile(dep);
- }
- dep->included_count++;
- file->deps->addChild(dep);
- }
- }
- if(!file->moc_checked) { //get mocs
- file->moc_checked = true;
- file->mocable = mocable.toInt();
- }
- }
- }
- }
- }
-#endif
-}
-
-QMap<QString, QStringList> QMakeSourceFileInfo::getCacheVerification()
-{
- return QMap<QString, QStringList>();
-}
-
-bool QMakeSourceFileInfo::verifyCache(const QMap<QString, QStringList> &v)
-{
- return v == getCacheVerification();
-}
-
QT_END_NAMESPACE
diff --git a/qmake/generators/makefiledeps.h b/qmake/generators/makefiledeps.h
index 034197fd31..7e39396754 100644
--- a/qmake/generators/makefiledeps.h
+++ b/qmake/generators/makefiledeps.h
@@ -33,6 +33,7 @@
#include <qstringlist.h>
#include <qfileinfo.h>
+#include <qvector.h>
QT_BEGIN_NAMESPACE
@@ -40,13 +41,14 @@ struct SourceFile;
struct SourceDependChildren;
class SourceFiles;
-class QMakeLocalFileName {
- bool is_null;
- mutable QString real_name, local_name;
+class QMakeLocalFileName
+{
+ QString real_name;
+ mutable QString local_name;
public:
- QMakeLocalFileName() : is_null(true) {}
+ QMakeLocalFileName() = default;
QMakeLocalFileName(const QString &);
- bool isNull() const { return is_null; }
+ bool isNull() const { return real_name.isNull(); }
inline const QString &real() const { return real_name; }
const QString &local() const;
@@ -64,7 +66,7 @@ private:
//quick project lookups
SourceFiles *files, *includes;
bool files_changed;
- QList<QMakeLocalFileName> depdirs;
+ QVector<QMakeLocalFileName> depdirs;
QStringList systemIncludes;
//sleezy buffer code
@@ -77,9 +79,6 @@ private:
bool findDeps(SourceFile *);
void dependTreeWalker(SourceFile *, SourceDependChildren *);
- //cache
- QString cachefile;
-
protected:
virtual QMakeLocalFileName fixPathForFile(const QMakeLocalFileName &, bool forOpen=false);
virtual QMakeLocalFileName findFileForDep(const QMakeLocalFileName &, const QMakeLocalFileName &);
@@ -90,8 +89,8 @@ public:
QMakeSourceFileInfo(const QString &cachefile="");
virtual ~QMakeSourceFileInfo();
- QList<QMakeLocalFileName> dependencyPaths() const { return depdirs; }
- void setDependencyPaths(const QList<QMakeLocalFileName> &);
+ QVector<QMakeLocalFileName> dependencyPaths() const { return depdirs; }
+ void setDependencyPaths(const QVector<QMakeLocalFileName> &);
enum DependencyMode { Recursive, NonRecursive };
inline void setDependencyMode(DependencyMode mode) { dep_mode = mode; }
@@ -112,12 +111,6 @@ public:
bool mocable(const QString &file);
- virtual QMap<QString, QStringList> getCacheVerification();
- virtual bool verifyCache(const QMap<QString, QStringList> &);
- void setCacheFile(const QString &cachefile); //auto caching
- void loadCache(const QString &cf);
- void saveCache(const QString &cf);
-
private:
DependencyMode dep_mode;
};
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index 705ad7008a..22a72100f7 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -33,6 +33,10 @@
#include "project.h"
#include "cachekeys.h"
+#include <algorithm>
+#include <iterator>
+#include <utility>
+
#define BUILDSMETATYPE 1
#define SUBDIRSMETATYPE 2
@@ -58,6 +62,7 @@ private:
void clearBuilds();
MakefileGenerator *processBuild(const ProString &);
void accumulateVariableFromBuilds(const ProKey &name, Build *build) const;
+ void checkForConflictingTargets() const;
public:
@@ -186,6 +191,7 @@ BuildsMetaMakefileGenerator::write()
if(!build->makefile) {
ret = false;
} else if(build == glue) {
+ checkForConflictingTargets();
accumulateVariableFromBuilds("QMAKE_INTERNAL_INCLUDED_FILES", build);
ret = build->makefile->writeProjectMakefile();
} else {
@@ -239,6 +245,39 @@ void BuildsMetaMakefileGenerator::accumulateVariableFromBuilds(const ProKey &nam
values.removeDuplicates();
}
+void BuildsMetaMakefileGenerator::checkForConflictingTargets() const
+{
+ if (makefiles.count() < 3) {
+ // Checking for conflicts only makes sense if we have more than one BUILD,
+ // and the last entry in makefiles is the "glue" Build.
+ return;
+ }
+ using TargetInfo = std::pair<Build *, ProString>;
+ QVector<TargetInfo> targets;
+ const int last = makefiles.count() - 1;
+ targets.resize(last);
+ for (int i = 0; i < last; ++i) {
+ Build *b = makefiles.at(i);
+ auto mkf = b->makefile;
+ auto prj = mkf->projectFile();
+ targets[i] = std::make_pair(b, prj->first(mkf->fullTargetVariable()));
+ }
+ std::stable_sort(targets.begin(), targets.end(),
+ [](const TargetInfo &lhs, const TargetInfo &rhs)
+ {
+ return lhs.second < rhs.second;
+ });
+ for (auto prev = targets.begin(), it = std::next(prev); it != targets.end(); ++prev, ++it) {
+ if (prev->second == it->second) {
+ warn_msg(WarnLogic, "Targets of builds '%s' and '%s' conflict: %s.",
+ qPrintable(prev->first->build),
+ qPrintable(it->first->build),
+ qPrintable(prev->second.toQString()));
+ break;
+ }
+ }
+}
+
class SubdirsMetaMakefileGenerator : public MetaMakefileGenerator
{
protected:
diff --git a/qmake/generators/projectgenerator.cpp b/qmake/generators/projectgenerator.cpp
index 119dd652b3..c43f6b4e4a 100644
--- a/qmake/generators/projectgenerator.cpp
+++ b/qmake/generators/projectgenerator.cpp
@@ -215,7 +215,7 @@ ProjectGenerator::init()
}
//setup deplist
- QList<QMakeLocalFileName> deplist;
+ QVector<QMakeLocalFileName> deplist;
{
const ProStringList &d = v["DEPENDPATH"];
for(int i = 0; i < d.size(); ++i)
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 227dc8908a..664c81296c 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -392,7 +392,7 @@ UnixMakefileGenerator::fixLibFlag(const ProString &lib)
bool
UnixMakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
{
- QList<QMakeLocalFileName> libdirs, frameworkdirs;
+ QVector<QMakeLocalFileName> libdirs, frameworkdirs;
int libidx = 0, fwidx = 0;
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
libdirs.append(QMakeLocalFileName(dlib.toQString()));
@@ -418,9 +418,8 @@ UnixMakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
libdirs.insert(libidx++, f);
} else if(opt.startsWith("-l")) {
QString lib = opt.mid(2);
- for (QList<QMakeLocalFileName>::Iterator dep_it = libdirs.begin();
- dep_it != libdirs.end(); ++dep_it) {
- QString libBase = (*dep_it).local() + '/'
+ for (const QMakeLocalFileName &libdir : qAsConst(libdirs)) {
+ QString libBase = libdir.local() + '/'
+ project->first("QMAKE_PREFIX_SHLIB") + lib;
if (linkPrl && processPrlFile(libBase, true))
goto found;
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 8d1bd08197..8b4f2bf58f 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -1447,7 +1447,36 @@ UnixMakefileGenerator::libtoolFileName(bool fixify)
void
UnixMakefileGenerator::writeLibtoolFile()
{
+ auto fixDependencyLibs
+ = [this](const ProStringList &libs)
+ {
+ ProStringList result;
+ for (auto lib : libs) {
+ auto fi = fileInfo(lib.toQString());
+ if (fi.isAbsolute()) {
+ const QString libDirArg = "-L" + fi.path();
+ if (!result.contains(libDirArg))
+ result += libDirArg;
+ QString namespec = fi.fileName();
+ int dotPos = namespec.lastIndexOf('.');
+ if (dotPos != -1 && namespec.startsWith("lib")) {
+ namespec.truncate(dotPos);
+ namespec.remove(0, 3);
+ } else {
+ debug_msg(1, "Ignoring dependency library %s",
+ lib.toLatin1().constData());
+ continue;
+ }
+ result += "-l" + namespec;
+ } else {
+ result += lib;
+ }
+ }
+ return result;
+ };
+
QString fname = libtoolFileName(), lname = fname;
+ debug_msg(1, "Writing libtool file %s", fname.toLatin1().constData());
mkdir(fileInfo(fname).path());
int slsh = lname.lastIndexOf(Option::dir_sep);
if(slsh != -1)
@@ -1485,12 +1514,11 @@ UnixMakefileGenerator::writeLibtoolFile()
<< ".a'\n\n";
t << "# Libraries that this one depends upon.\n";
+ static const ProKey libVars[] = { "LIBS", "QMAKE_LIBS" };
ProStringList libs;
- libs << "LIBS" << "QMAKE_LIBS";
- t << "dependency_libs='";
- for (ProStringList::ConstIterator it = libs.cbegin(); it != libs.cend(); ++it)
- t << fixLibFlags((*it).toKey()).join(' ') << ' ';
- t << "'\n\n";
+ for (auto var : libVars)
+ libs += fixLibFlags(var);
+ t << "dependency_libs='" << fixDependencyLibs(libs).join(' ') << "'\n\n";
t << "# Version information for " << lname << "\n";
int maj = project->first("VER_MAJ").toInt();
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
index 40114948c2..878291fae9 100644
--- a/qmake/generators/win32/mingw_make.cpp
+++ b/qmake/generators/win32/mingw_make.cpp
@@ -342,7 +342,11 @@ void MingwMakefileGenerator::writeRcFilePart(QTextStream &t)
if (defines.isEmpty())
defines = ProString(" $(DEFINES)");
- t << escapeDependencyPath(var("RES_FILE")) << ": " << escapeDependencyPath(rc_file) << "\n\t"
+ addSourceFile(rc_file, QMakeSourceFileInfo::SEEK_DEPS);
+ const QStringList rcDeps = QStringList(rc_file) << dependencies(rc_file);
+
+ t << escapeDependencyPath(var("RES_FILE")) << ": "
+ << escapeDependencyPaths(rcDeps).join(' ') << "\n\t"
<< var("QMAKE_RC") << " -i " << escapeFilePath(rc_file) << " -o " << fileVar("RES_FILE")
<< incPathStr << defines << "\n\n";
}
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index 3116238aa0..0515c7404f 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -300,14 +300,17 @@ inline XmlOutput::xml_output valueTagT( const triState v)
return valueTag(v == _True ? "true" : "false");
}
-static QString vcxCommandSeparator()
+static QString commandLinesForOutput(QStringList commands)
{
// MSBuild puts the contents of the custom commands into a batch file and calls it.
// As we want every sub-command to be error-checked (as is done by makefile-based
// backends), we insert the checks ourselves, using the undocumented jump target.
- static QString cmdSep =
- QLatin1String("&#x000D;&#x000A;if errorlevel 1 goto VCEnd&#x000D;&#x000A;");
- return cmdSep;
+ static QString errchk = QStringLiteral("if errorlevel 1 goto VCEnd");
+ for (int i = commands.count() - 2; i >= 0; --i) {
+ if (!commands.at(i).startsWith("rem", Qt::CaseInsensitive))
+ commands.insert(i + 1, errchk);
+ }
+ return commands.join('\n');
}
static QString unquote(const QString &value)
@@ -1658,7 +1661,7 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCCustomBuildTool &tool)
{
xml << tag("Command")
<< attrTag("Condition", condition)
- << valueTag(tool.CommandLine.join(vcxCommandSeparator()));
+ << valueTag(commandLinesForOutput(tool.CommandLine));
}
if ( !tool.Description.isEmpty() )
@@ -1712,7 +1715,7 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCEventTool &tool)
{
xml
<< tag(tool.EventName)
- << tag(_Command) << valueTag(tool.CommandLine.join(vcxCommandSeparator()))
+ << tag(_Command) << valueTag(commandLinesForOutput(tool.CommandLine))
<< tag(_Message) << valueTag(tool.Description)
<< closetag(tool.EventName);
}
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index b6f7f20564..b74448ce94 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -209,7 +209,9 @@ bool VcprojGenerator::writeProjectMakefile()
struct VcsolutionDepend {
QString uuid;
- QString vcprojFile, orig_target, target;
+ QString vcprojFile;
+ QString projectName;
+ QString target;
Target targetType;
QStringList dependencies;
};
@@ -433,7 +435,8 @@ ProStringList VcprojGenerator::collectDependencies(QMakeProject *proj, QHash<QSt
Option::qmake_mode = old_mode;
// We assume project filename is [QMAKE_PROJECT_NAME].vcproj
- QString vcproj = tmp_vcproj.project->first("QMAKE_PROJECT_NAME") + project->first("VCPROJ_EXTENSION");
+ const ProString projectName = tmp_vcproj.project->first("QMAKE_PROJECT_NAME");
+ const QString vcproj = projectName + project->first("VCPROJ_EXTENSION");
QString vcprojDir = Option::output_dir;
// If file doesn't exsist, then maybe the users configuration
@@ -445,14 +448,14 @@ ProStringList VcprojGenerator::collectDependencies(QMakeProject *proj, QHash<QSt
VcsolutionDepend *newDep = new VcsolutionDepend;
newDep->vcprojFile = vcprojDir + Option::dir_sep + vcproj;
- newDep->orig_target = tmp_proj.first("QMAKE_ORIG_TARGET").toQString();
+ newDep->projectName = projectName.toQString();
newDep->target = tmp_proj.first("MSVCPROJ_TARGET").toQString().section(Option::dir_sep, -1);
newDep->targetType = tmp_vcproj.projectTarget;
newDep->uuid = tmp_proj.isEmpty("QMAKE_UUID") ? getProjectUUID(Option::fixPathToLocalOS(vcprojDir + QDir::separator() + vcproj)).toString().toUpper(): tmp_proj.first("QMAKE_UUID").toQString();
// We want to store it as the .lib name.
if (newDep->target.endsWith(".dll"))
newDep->target = newDep->target.left(newDep->target.length()-3) + "lib";
- projGuids.insert(newDep->orig_target, newDep->target);
+ projGuids.insert(newDep->projectName, newDep->target);
if (tmpList.size()) {
const ProStringList depends = tmpList;
@@ -591,7 +594,7 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
for (QList<VcsolutionDepend*>::Iterator it = solution_cleanup.begin(); it != solution_cleanup.end(); ++it) {
// ### quoting rules?
t << _slnProjectBeg << _slnMSVCvcprojGUID << _slnProjectMid
- << "\"" << (*it)->orig_target << "\", \"" << (*it)->vcprojFile
+ << "\"" << (*it)->projectName << "\", \"" << (*it)->vcprojFile
<< "\", \"" << (*it)->uuid << "\"";
debug_msg(1, "Project %s has dependencies: %s", (*it)->target.toLatin1().constData(), (*it)->dependencies.join(" ").toLatin1().constData());
@@ -937,6 +940,15 @@ void VcprojGenerator::initProject()
vcProject.SccProjectName = project->first("SCCPROJECTNAME").toQString();
vcProject.SccLocalPath = project->first("SCCLOCALPATH").toQString();
vcProject.flat_files = project->isActiveConfig("flat");
+
+ // Set up the full target path for target conflict checking.
+ const QChar slash = QLatin1Char('/');
+ QString destdir = QDir::fromNativeSeparators(var("DESTDIR"));
+ if (!destdir.endsWith(slash))
+ destdir.append(slash);
+ project->values("DEST_TARGET") = ProStringList(destdir
+ + project->first("TARGET")
+ + project->first("TARGET_EXT"));
}
void VcprojGenerator::initConfiguration()
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index b79fd8f250..27d2a7c0a5 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -79,7 +79,7 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
ProStringList impexts = project->values("QMAKE_LIB_EXTENSIONS");
if (impexts.isEmpty())
impexts = project->values("QMAKE_EXTENSION_STATICLIB");
- QList<QMakeLocalFileName> dirs;
+ QVector<QMakeLocalFileName> dirs;
int libidx = 0;
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
dirs.append(QMakeLocalFileName(dlib.toQString()));
@@ -104,8 +104,7 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
QString lib = arg.toQString();
ProString verovr =
project->first(ProKey("QMAKE_" + lib.toUpper() + "_VERSION_OVERRIDE"));
- for (QList<QMakeLocalFileName>::Iterator dir_it = dirs.begin();
- dir_it != dirs.end(); ++dir_it) {
+ for (auto dir_it = dirs.begin(); dir_it != dirs.end(); ++dir_it) {
QString cand = (*dir_it).real() + Option::dir_sep + lib;
if (linkPrl && processPrlFile(cand, true)) {
(*it) = cand;
@@ -128,8 +127,7 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
if (processPrlFile(lib, false))
(*it) = lib;
} else {
- for (QList<QMakeLocalFileName>::Iterator dir_it = dirs.begin();
- dir_it != dirs.end(); ++dir_it) {
+ for (auto dir_it = dirs.begin(); dir_it != dirs.end(); ++dir_it) {
QString cand = (*dir_it).real() + Option::dir_sep + lib;
if (processPrlFile(cand, false)) {
(*it) = cand;
@@ -669,6 +667,9 @@ void Win32MakefileGenerator::writeRcFilePart(QTextStream &t)
incPathStr += escapeFilePath(path);
}
+ addSourceFile(rc_file, QMakeSourceFileInfo::SEEK_DEPS);
+ const QStringList rcDeps = QStringList(rc_file) << dependencies(rc_file);
+
// The resource tool may use defines. This might be the same defines passed in as the
// compiler, since you may use these defines in the .rc file itself.
// As the escape syntax for the command line defines for RC is different from that for CL,
@@ -680,7 +681,8 @@ void Win32MakefileGenerator::writeRcFilePart(QTextStream &t)
// Also, we need to add the _DEBUG define manually since the compiler defines this symbol
// by itself, and we use it in the automatically created rc file when VERSION is defined
// in the .pro file.
- t << escapeDependencyPath(res_file) << ": " << escapeDependencyPath(rc_file) << "\n\t"
+ t << escapeDependencyPath(res_file) << ": "
+ << escapeDependencyPaths(rcDeps).join(' ') << "\n\t"
<< var("QMAKE_RC") << (project->isActiveConfig("debug") ? " -D_DEBUG" : "")
<< defines << incPathStr << " -fo " << escapeFilePath(res_file)
<< ' ' << escapeFilePath(rc_file);
@@ -815,4 +817,9 @@ QString Win32MakefileGenerator::getManifestFileForRcFile() const
return QString();
}
+ProKey Win32MakefileGenerator::fullTargetVariable() const
+{
+ return "DEST_TARGET";
+}
+
QT_END_NAMESPACE
diff --git a/qmake/generators/win32/winmakefile.h b/qmake/generators/win32/winmakefile.h
index 8eb633fdfa..09984fe355 100644
--- a/qmake/generators/win32/winmakefile.h
+++ b/qmake/generators/win32/winmakefile.h
@@ -64,6 +64,9 @@ protected:
void processRcFileVar();
static QString cQuoted(const QString &str);
virtual QString getManifestFileForRcFile() const;
+
+public:
+ ProKey fullTargetVariable() const override;
};
QT_END_NAMESPACE
diff --git a/qmake/generators/xmloutput.cpp b/qmake/generators/xmloutput.cpp
index 2f48763550..7fc1b081c7 100644
--- a/qmake/generators/xmloutput.cpp
+++ b/qmake/generators/xmloutput.cpp
@@ -113,7 +113,8 @@ QString XmlOutput::doConversion(const QString &text)
// this is a way to escape characters that shouldn't be converted
for (int i=0; i<text.count(); ++i) {
- if (text.at(i) == QLatin1Char('&')) {
+ const QChar c = text.at(i);
+ if (c == QLatin1Char('&')) {
if ( (i + 7) < text.count() &&
text.at(i + 1) == QLatin1Char('#') &&
text.at(i + 2) == QLatin1Char('x') &&
@@ -122,12 +123,15 @@ QString XmlOutput::doConversion(const QString &text)
} else {
output += QLatin1String("&amp;");
}
+ } else if (c == QLatin1Char('<')) {
+ output += QLatin1String("&lt;");
+ } else if (c == QLatin1Char('>')) {
+ output += QLatin1String("&gt;");
} else {
- QChar c = text.at(i);
if (c.unicode() < 0x20) {
output += QString("&#x%1;").arg(c.unicode(), 2, 16, QLatin1Char('0'));
} else {
- output += text.at(i);
+ output += c;
}
}
}
diff --git a/qmake/qmake.pro b/qmake/qmake.pro
index 4681fbf764..a9d8b58da8 100644
--- a/qmake/qmake.pro
+++ b/qmake/qmake.pro
@@ -115,6 +115,7 @@ SOURCES += \
qbuffer.cpp \
qbytearray.cpp \
qbytearraymatcher.cpp \
+ qcalendar.cpp \
qcryptographichash.cpp \
qdatetime.cpp \
qdir.cpp \
@@ -127,6 +128,7 @@ SOURCES += \
qfsfileengine.cpp \
qfsfileengine_iterator.cpp \
qglobal.cpp \
+ qgregoriancalendar.cpp \
qhash.cpp \
qiodevice.cpp \
qjson.cpp \
@@ -145,6 +147,7 @@ SOURCES += \
qmetatype.cpp \
qnumeric.cpp \
qregexp.cpp \
+ qromancalendar.cpp \
qsettings.cpp \
qstring.cpp \
qstringlist.cpp \
@@ -168,6 +171,9 @@ HEADERS += \
qbuffer.h \
qbytearray.h \
qbytearraymatcher.h \
+ qcalendar.h \
+ qcalendarbackend_p.h \
+ qcalendarmath_p.h \
qchar.h \
qcryptographichash.h \
qdatetime.h \
@@ -178,6 +184,7 @@ HEADERS += \
qfile.h \
qfileinfo.h \
qglobal.h \
+ qgregoriancalendar_p.h \
qhash.h \
qiodevice.h \
qjson_p.h \
@@ -194,6 +201,7 @@ HEADERS += \
qmetatype.h \
qnumeric.h \
qregexp.h \
+ qromancalendar_p.h \
qstring.h \
qstringlist.h \
qstringmatcher.h \
diff --git a/src/3rdparty/forkfd/forkfd.c b/src/3rdparty/forkfd/forkfd.c
index 12537b6199..e4f3bd85de 100644
--- a/src/3rdparty/forkfd/forkfd.c
+++ b/src/3rdparty/forkfd/forkfd.c
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 Intel Corporation.
+** Copyright (C) 2019 Intel Corporation.
** Copyright (C) 2015 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
**
** Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -59,9 +59,6 @@
# define HAVE_PIPE2 1
# endif
#endif
-#if defined(__FreeBSD__) && __FreeBSD__ >= 9
-# include <sys/procdesc.h>
-#endif
#if _POSIX_VERSION-0 >= 200809L || _XOPEN_VERSION-0 >= 500
# define HAVE_WAITID 1
@@ -93,9 +90,11 @@
# endif
#endif
-#ifndef FFD_ATOMIC_RELAXED
-# include "forkfd_gcc.h"
-#endif
+#include "forkfd_atomic.h"
+
+static int system_has_forkfd(void);
+static int system_forkfd(int flags, pid_t *ppid, int *system);
+static int system_forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage);
#define CHILDREN_IN_SMALL_ARRAY 16
#define CHILDREN_IN_BIG_ARRAY 256
@@ -448,6 +447,37 @@ static void ignore_sigpipe()
#endif
}
+#if defined(__GNUC__) && (!defined(__FreeBSD__) || __FreeBSD__ < 10)
+__attribute((destructor, unused)) static void cleanup();
+#endif
+
+static void cleanup()
+{
+ BigArray *array;
+ /* This function is not thread-safe!
+ * It must only be called when the process is shutting down.
+ * At shutdown, we expect no one to be calling forkfd(), so we don't
+ * need to be thread-safe with what is done there.
+ *
+ * But SIGCHLD might be delivered to any thread, including this one.
+ * There's no way to prevent that. The correct solution would be to
+ * cooperatively delete. We don't do that.
+ */
+ if (ffd_atomic_load(&forkfd_status, FFD_ATOMIC_RELAXED) == 0)
+ return;
+
+ /* notify the handler that we're no longer in operation */
+ ffd_atomic_store(&forkfd_status, 0, FFD_ATOMIC_RELAXED);
+
+ /* free any arrays we might have */
+ array = ffd_atomic_load(&children.header.nextArray, FFD_ATOMIC_ACQUIRE);
+ while (array != NULL) {
+ BigArray *next = ffd_atomic_load(&array->header.nextArray, FFD_ATOMIC_ACQUIRE);
+ free(array);
+ array = next;
+ }
+}
+
static void forkfd_initialize()
{
#if defined(HAVE_BROKEN_WAITID)
@@ -489,44 +519,15 @@ static void forkfd_initialize()
ignore_sigpipe();
#endif
-#ifndef __GNUC__
+#ifdef __GNUC__
+ (void) cleanup; /* suppress unused static function warning */
+#else
atexit(cleanup);
#endif
ffd_atomic_store(&forkfd_status, 1, FFD_ATOMIC_RELAXED);
}
-#ifdef __GNUC__
-__attribute((destructor, unused)) static void cleanup();
-#endif
-
-static void cleanup()
-{
- BigArray *array;
- /* This function is not thread-safe!
- * It must only be called when the process is shutting down.
- * At shutdown, we expect no one to be calling forkfd(), so we don't
- * need to be thread-safe with what is done there.
- *
- * But SIGCHLD might be delivered to any thread, including this one.
- * There's no way to prevent that. The correct solution would be to
- * cooperatively delete. We don't do that.
- */
- if (ffd_atomic_load(&forkfd_status, FFD_ATOMIC_RELAXED) == 0)
- return;
-
- /* notify the handler that we're no longer in operation */
- ffd_atomic_store(&forkfd_status, 0, FFD_ATOMIC_RELAXED);
-
- /* free any arrays we might have */
- array = ffd_atomic_load(&children.header.nextArray, FFD_ATOMIC_ACQUIRE);
- while (array != NULL) {
- BigArray *next = ffd_atomic_load(&array->header.nextArray, FFD_ATOMIC_ACQUIRE);
- free(array);
- array = next;
- }
-}
-
static int create_pipe(int filedes[], int flags)
{
int ret = -1;
@@ -565,55 +566,6 @@ static int create_pipe(int filedes[], int flags)
return ret;
}
-#if defined(FORKFD_NO_SPAWNFD) && defined(__FreeBSD__) && __FreeBSD__ >= 9
-# if __FreeBSD__ == 9
-/* PROCDESC is an optional feature in the kernel and wasn't enabled
- * by default on FreeBSD 9. So we need to check for it at runtime. */
-static ffd_atomic_int system_has_forkfd = FFD_ATOMIC_INIT(1);
-# else
-/* On FreeBSD 10, PROCDESC was enabled by default. On v11, it's not an option
- * anymore and can't be disabled. */
-static const int system_has_forkfd = 1;
-# endif
-
-static int system_forkfd(int flags, pid_t *ppid)
-{
- int ret;
- pid_t pid;
- pid = pdfork(&ret, PD_DAEMON);
- if (__builtin_expect(pid == -1, 0)) {
-# if __FreeBSD__ == 9
- if (errno == ENOSYS) {
- /* PROCDESC wasn't compiled into the kernel: don't try it again. */
- ffd_atomic_store(&system_has_forkfd, 0, FFD_ATOMIC_RELAXED);
- }
-# endif
- return -1;
- }
- if (pid == 0) {
- /* child process */
- return FFD_CHILD_PROCESS;
- }
-
- /* parent process */
- if (flags & FFD_CLOEXEC)
- fcntl(ret, F_SETFD, FD_CLOEXEC);
- if (flags & FFD_NONBLOCK)
- fcntl(ret, F_SETFL, fcntl(ret, F_GETFL) | O_NONBLOCK);
- if (ppid)
- *ppid = pid;
- return ret;
-}
-#else
-static const int system_has_forkfd = 0;
-static int system_forkfd(int flags, pid_t *ppid)
-{
- (void)flags;
- (void)ppid;
- return -1;
-}
-#endif
-
#ifndef FORKFD_NO_FORKFD
/**
* @brief forkfd returns a file descriptor representing a child process
@@ -661,11 +613,9 @@ int forkfd(int flags, pid_t *ppid)
int efd;
#endif
- if (system_has_forkfd) {
- ret = system_forkfd(flags, ppid);
- if (system_has_forkfd)
- return ret;
- }
+ fd = system_forkfd(flags, ppid, &ret);
+ if (ret)
+ return fd;
(void) pthread_once(&forkfd_initialization, forkfd_initialize);
@@ -790,7 +740,7 @@ int spawnfd(int flags, pid_t *ppid, const char *path, const posix_spawn_file_act
/* we can only do work if we have a way to start the child in stopped mode;
* otherwise, we have a major race condition. */
- assert(!system_has_forkfd);
+ assert(!system_has_forkfd());
(void) pthread_once(&forkfd_initialization, forkfd_initialize);
@@ -843,30 +793,13 @@ out:
#endif // _POSIX_SPAWN && !FORKFD_NO_SPAWNFD
-int forkfd_wait(int ffd, forkfd_info *info, struct rusage *rusage)
+int forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage)
{
struct pipe_payload payload;
int ret;
- if (system_has_forkfd) {
-#if defined(__FreeBSD__) && __FreeBSD__ >= 9
- pid_t pid;
- int status;
- int options = WEXITED;
-
- ret = pdgetpid(ffd, &pid);
- if (ret == -1)
- return ret;
- ret = fcntl(ffd, F_GETFL);
- if (ret == -1)
- return ret;
- options |= (ret & O_NONBLOCK) ? WNOHANG : 0;
- ret = wait4(pid, &status, options, rusage);
- if (ret != -1 && info)
- convertStatusToForkfdInfo(status, info);
- return ret == -1 ? -1 : 0;
-#endif
- }
+ if (system_has_forkfd())
+ return system_forkfd_wait(ffd, info, rusage);
ret = read(ffd, &payload, sizeof(payload));
if (ret == -1)
@@ -886,3 +819,28 @@ int forkfd_close(int ffd)
{
return close(ffd);
}
+
+#if defined(__FreeBSD__) && __FreeBSD__ >= 9
+# include "forkfd_freebsd.c"
+#else
+int system_has_forkfd()
+{
+ return 0;
+}
+
+int system_forkfd(int flags, pid_t *ppid, int *system)
+{
+ (void)flags;
+ (void)ppid;
+ *system = 0;
+ return -1;
+}
+
+int system_forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage)
+{
+ (void)ffd;
+ (void)info;
+ (void)rusage;
+ return -1;
+}
+#endif
diff --git a/src/3rdparty/forkfd/forkfd.h b/src/3rdparty/forkfd/forkfd.h
index 958321c299..eb121de593 100644
--- a/src/3rdparty/forkfd/forkfd.h
+++ b/src/3rdparty/forkfd/forkfd.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 Intel Corporation.
+** Copyright (C) 2019 Intel Corporation.
**
** Permission is hereby granted, free of charge, to any person obtaining a copy
** of this software and associated documentation files (the "Software"), to deal
@@ -27,6 +27,7 @@
#include <fcntl.h>
#include <stdint.h>
+#include <sys/wait.h>
#include <unistd.h> // to get the POSIX flags
#if _POSIX_SPAWN > 0
@@ -48,7 +49,7 @@ struct forkfd_info {
};
int forkfd(int flags, pid_t *ppid);
-int forkfd_wait(int ffd, forkfd_info *info, struct rusage *rusage);
+int forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage);
int forkfd_close(int ffd);
#if _POSIX_SPAWN > 0
diff --git a/src/3rdparty/forkfd/forkfd_atomic.h b/src/3rdparty/forkfd/forkfd_atomic.h
new file mode 100644
index 0000000000..394e30d26c
--- /dev/null
+++ b/src/3rdparty/forkfd/forkfd_atomic.h
@@ -0,0 +1,39 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Intel Corporation.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a copy
+** of this software and associated documentation files (the "Software"), to deal
+** in the Software without restriction, including without limitation the rights
+** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+** copies of the Software, and to permit persons to whom the Software is
+** furnished to do so, subject to the following conditions:
+**
+** The above copyright notice and this permission notice shall be included in
+** all copies or substantial portions of the Software.
+**
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+** THE SOFTWARE.
+**
+****************************************************************************/
+
+#if !defined(FFD_ATOMIC_H) & !defined(FFD_ATOMIC_RELAXED)
+#define FFD_ATOMIC_H
+
+#if defined(__cplusplus) && __cplusplus >= 201103L
+# include "forkfd_c11.h"
+#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+# include "forkfd_c11.h"
+#elif defined(__GNUC__)
+# include "forkfd_gcc.h"
+#endif
+
+#endif /* FFD_ATOMIC_h && FFD_ATOMIC_RELAXED */
+#ifndef FFD_ATOMIC_RELAXED
+# error "Could not determine atomics for this platform"
+#endif
diff --git a/src/3rdparty/forkfd/forkfd_c11.h b/src/3rdparty/forkfd/forkfd_c11.h
new file mode 100644
index 0000000000..f3dc2b5357
--- /dev/null
+++ b/src/3rdparty/forkfd/forkfd_c11.h
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Intel Corporation.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a copy
+** of this software and associated documentation files (the "Software"), to deal
+** in the Software without restriction, including without limitation the rights
+** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+** copies of the Software, and to permit persons to whom the Software is
+** furnished to do so, subject to the following conditions:
+**
+** The above copyright notice and this permission notice shall be included in
+** all copies or substantial portions of the Software.
+**
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+** THE SOFTWARE.
+**
+****************************************************************************/
+
+#ifndef FFD_ATOMIC_C11_H
+#define FFD_ATOMIC_C11_H
+
+/* atomics */
+/* Using the C11 <stdatomic.h> header or C++11's <atomic>
+ */
+
+#if defined(__cplusplus)
+# include <atomic>
+# define ffd_atomic_pointer(type) std::atomic<type*>
+# define FFD_ATOMIC_RELAXED std::memory_order_relaxed
+# define FFD_ATOMIC_ACQUIRE std::memory_order_acquire
+# define FFD_ATOMIC_RELEASE std::memory_order_release
+// acq_rel & cst not necessary
+typedef std::atomic_int ffd_atomic_int;
+#else
+# include <stdatomic.h>
+# define ffd_atomic_pointer(type) _Atomic(type*)
+# define FFD_ATOMIC_RELAXED memory_order_relaxed
+# define FFD_ATOMIC_ACQUIRE memory_order_acquire
+# define FFD_ATOMIC_RELEASE memory_order_release
+// acq_rel & cst not necessary
+
+typedef atomic_int ffd_atomic_int;
+#endif
+
+#define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val)
+
+#define ffd_atomic_load(ptr, order) \
+ atomic_load_explicit(ptr, order)
+#define ffd_atomic_store(ptr, val, order) \
+ atomic_store_explicit(ptr, val, order)
+#define ffd_atomic_exchange(ptr,val,order) \
+ atomic_exchange_explicit(ptr, val, order)
+#define ffd_atomic_compare_exchange(ptr, expected, desired, order1, order2) \
+ atomic_compare_exchange_strong_explicit(ptr, expected, desired, order1, order2)
+#define ffd_atomic_add_fetch(ptr, val, order) \
+ (atomic_fetch_add_explicit(ptr, val, order) + (val))
+
+#endif
diff --git a/src/3rdparty/forkfd/forkfd_freebsd.c b/src/3rdparty/forkfd/forkfd_freebsd.c
new file mode 100644
index 0000000000..77ce3fcfad
--- /dev/null
+++ b/src/3rdparty/forkfd/forkfd_freebsd.c
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Intel Corporation.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a copy
+** of this software and associated documentation files (the "Software"), to deal
+** in the Software without restriction, including without limitation the rights
+** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+** copies of the Software, and to permit persons to whom the Software is
+** furnished to do so, subject to the following conditions:
+**
+** The above copyright notice and this permission notice shall be included in
+** all copies or substantial portions of the Software.
+**
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+** THE SOFTWARE.
+**
+****************************************************************************/
+
+#include "forkfd.h"
+
+#include <sys/types.h>
+#include <sys/procdesc.h>
+
+#include "forkfd_atomic.h"
+
+#if __FreeBSD__ >= 10
+/* On FreeBSD 10, PROCDESC was enabled by default. On v11, it's not an option
+ * anymore and can't be disabled. */
+static ffd_atomic_int system_forkfd_state = FFD_ATOMIC_INIT(1);
+#else
+static ffd_atomic_int system_forkfd_state = FFD_ATOMIC_INIT(0);
+#endif
+
+int system_has_forkfd()
+{
+ return ffd_atomic_load(&system_forkfd_state, FFD_ATOMIC_RELAXED) > 0;
+}
+
+int system_forkfd(int flags, pid_t *ppid, int *system)
+{
+ int ret;
+ pid_t pid;
+
+ int state = ffd_atomic_load(&system_forkfd_state, FFD_ATOMIC_RELAXED);
+ *system = 0;
+ if (state < 0)
+ return -1;
+
+ pid = pdfork(&ret, PD_DAEMON);
+# if __FreeBSD__ == 9
+ if (state == 0 && pid != 0) {
+ /* Parent process: remember whether PROCDESC was compiled into the kernel */
+ state = (pid == -1 && errno == ENOSYS) ? -1 : 1;
+ ffd_atomic_store(&system_forkfd_state, state, FFD_ATOMIC_RELAXED);
+ }
+ if (state < 0)
+ return -1;
+# endif
+ *system = 1;
+ if (__builtin_expect(pid == -1, 0))
+ return -1;
+
+ if (pid == 0) {
+ /* child process */
+ return FFD_CHILD_PROCESS;
+ }
+
+ /* parent process */
+ if (flags & FFD_CLOEXEC)
+ fcntl(ret, F_SETFD, FD_CLOEXEC);
+ if (flags & FFD_NONBLOCK)
+ fcntl(ret, F_SETFL, fcntl(ret, F_GETFL) | O_NONBLOCK);
+ if (ppid)
+ *ppid = pid;
+ return ret;
+}
+
+int system_forkfd_wait(int ffd, struct forkfd_info *info, struct rusage *rusage)
+{
+ pid_t pid;
+ int status;
+ int options = WEXITED;
+
+ int ret = pdgetpid(ffd, &pid);
+ if (ret == -1)
+ return ret;
+ ret = fcntl(ffd, F_GETFL);
+ if (ret == -1)
+ return ret;
+ options |= (ret & O_NONBLOCK) ? WNOHANG : 0;
+ ret = wait4(pid, &status, options, rusage);
+ if (ret != -1 && info)
+ convertStatusToForkfdInfo(status, info);
+ return ret == -1 ? -1 : 0;
+}
diff --git a/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties b/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties
index bf3de21830..4b7e1f3d38 100644
--- a/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties
+++ b/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/src/3rdparty/sqlite.pri b/src/3rdparty/sqlite.pri
index 6405beb3d0..cc8c12a6da 100644
--- a/src/3rdparty/sqlite.pri
+++ b/src/3rdparty/sqlite.pri
@@ -9,7 +9,11 @@ winrt {
}
qnx: DEFINES += _QNX_SOURCE
!win32:!winrt:!winphone: DEFINES += HAVE_USLEEP=1
-qtConfig(dlopen): QMAKE_USE += libdl
+qtConfig(dlopen) {
+ QMAKE_USE += libdl
+} else {
+ DEFINES += SQLITE_OMIT_LOAD_EXTENSION
+}
integrity: QMAKE_CFLAGS += -include qplatformdefs.h
INCLUDEPATH += $$PWD/sqlite
SOURCES += $$PWD/sqlite/sqlite3.c
diff --git a/src/3rdparty/xcb/README b/src/3rdparty/xcb/README
index 2f1ee24079..362fa54bf8 100644
--- a/src/3rdparty/xcb/README
+++ b/src/3rdparty/xcb/README
@@ -1,19 +1,22 @@
-Contains the header and sources files from selected xcb libraries:
+*****************************************************************
+From 62f053c19b917a369c4aad5b71ab150911b589aa:
- libxcb-1.9.1 together with xcb-proto-1.8 (randr, render, shape, shm, sync,
- xfixes, xinerama sources)
- # libxkbcommon-x11 requires libxcb-xkb >= 1.10
- libxcb-1.10 together with xcb-proto-1.10 (xkb sources)
- libxcb-1.13 together with xcb-proto-1.13 (xinput sources with removed
- Pointer Barriers API and SendExtensionEvent API)
- libxcb-util-image-0.3.9
- libxcb-util-keysyms-0.3.9
- libxcb-util-renderutil-0.3.9
- libxcb-util-wm-0.3.9
+xcb-xinput code was produced by build of libxcb 1.13 with xcb-proto 1.13.
-The 'include' directory was obtained by compiling and installing all of the modules.
-When upgrading the bundled xcb headers, they must be tested to run also with the
-minimal supported libxcb version, which currently is 1.9.1.
+The following parts were removed from it:
+ - Pointer Barriers API (requires xcb-xfixes 1.9 with xcb-proto 1.9)
+ - SendExtensionEvent API (requires definition of xcb_raw_generic_event_t
+ from libxcb 1.13)
+
+*****************************************************************
+
+As of time of writing the minimal required libxcb version is 1.11, hence
+we could restore the Pointer Barriers API, but we don't use it, so it is
+not worth the hustle. When we will bump the minimal required version of libxcb
+to 1.13, then we can drop the bundled xcb-xinput altogether.
+
+The xcb-xinput files where modified to use system includes, see:
+
+src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch
+src/3rdparty/xcb/libxcb/fixup-xinput-c.patch
-Use the -qt-xcb configure option to use the files instead of system xcb libraries.
-See src/plugins/platforms/xcb/README for details.
diff --git a/src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch b/src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch
new file mode 100644
index 0000000000..50c5ebd9f0
--- /dev/null
+++ b/src/3rdparty/xcb/include/xcb/fixup-xinput-h.patch
@@ -0,0 +1,15 @@
+diff --git a/src/3rdparty/xcb/include/xcb/xinput.h b/src/3rdparty/xcb/include/xcb/xinput.h
+index 9420047c71..729c0b5169 100644
+--- a/src/3rdparty/xcb/include/xcb/xinput.h
++++ b/src/3rdparty/xcb/include/xcb/xinput.h
+@@ -12,8 +12,8 @@
+ #ifndef __XINPUT_H
+ #define __XINPUT_H
+
+-#include "xcb.h"
+-#include "xfixes.h"
++#include <xcb/xcb.h>
++#include <xcb/xfixes.h>
+
+ #ifdef __cplusplus
+ extern "C" {
diff --git a/src/3rdparty/xcb/include/xcb/randr.h b/src/3rdparty/xcb/include/xcb/randr.h
deleted file mode 100644
index 4f4f2104cf..0000000000
--- a/src/3rdparty/xcb/include/xcb/randr.h
+++ /dev/null
@@ -1,5075 +0,0 @@
-/*
- * This file generated automatically from randr.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_RandR_API XCB RandR API
- * @brief RandR XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __RANDR_H
-#define __RANDR_H
-
-#include "xcb.h"
-#include "xproto.h"
-#include "render.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_RANDR_MAJOR_VERSION 1
-#define XCB_RANDR_MINOR_VERSION 3
-
-extern xcb_extension_t xcb_randr_id;
-
-typedef uint32_t xcb_randr_mode_t;
-
-/**
- * @brief xcb_randr_mode_iterator_t
- **/
-typedef struct xcb_randr_mode_iterator_t {
- xcb_randr_mode_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_mode_iterator_t;
-
-typedef uint32_t xcb_randr_crtc_t;
-
-/**
- * @brief xcb_randr_crtc_iterator_t
- **/
-typedef struct xcb_randr_crtc_iterator_t {
- xcb_randr_crtc_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_crtc_iterator_t;
-
-typedef uint32_t xcb_randr_output_t;
-
-/**
- * @brief xcb_randr_output_iterator_t
- **/
-typedef struct xcb_randr_output_iterator_t {
- xcb_randr_output_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_output_iterator_t;
-
-/** Opcode for xcb_randr_bad_output. */
-#define XCB_RANDR_BAD_OUTPUT 0
-
-/**
- * @brief xcb_randr_bad_output_error_t
- **/
-typedef struct xcb_randr_bad_output_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_randr_bad_output_error_t;
-
-/** Opcode for xcb_randr_bad_crtc. */
-#define XCB_RANDR_BAD_CRTC 1
-
-/**
- * @brief xcb_randr_bad_crtc_error_t
- **/
-typedef struct xcb_randr_bad_crtc_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_randr_bad_crtc_error_t;
-
-/** Opcode for xcb_randr_bad_mode. */
-#define XCB_RANDR_BAD_MODE 2
-
-/**
- * @brief xcb_randr_bad_mode_error_t
- **/
-typedef struct xcb_randr_bad_mode_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_randr_bad_mode_error_t;
-
-typedef enum xcb_randr_rotation_t {
- XCB_RANDR_ROTATION_ROTATE_0 = 1,
- XCB_RANDR_ROTATION_ROTATE_90 = 2,
- XCB_RANDR_ROTATION_ROTATE_180 = 4,
- XCB_RANDR_ROTATION_ROTATE_270 = 8,
- XCB_RANDR_ROTATION_REFLECT_X = 16,
- XCB_RANDR_ROTATION_REFLECT_Y = 32
-} xcb_randr_rotation_t;
-
-/**
- * @brief xcb_randr_screen_size_t
- **/
-typedef struct xcb_randr_screen_size_t {
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t mwidth; /**< */
- uint16_t mheight; /**< */
-} xcb_randr_screen_size_t;
-
-/**
- * @brief xcb_randr_screen_size_iterator_t
- **/
-typedef struct xcb_randr_screen_size_iterator_t {
- xcb_randr_screen_size_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_screen_size_iterator_t;
-
-/**
- * @brief xcb_randr_refresh_rates_t
- **/
-typedef struct xcb_randr_refresh_rates_t {
- uint16_t nRates; /**< */
-} xcb_randr_refresh_rates_t;
-
-/**
- * @brief xcb_randr_refresh_rates_iterator_t
- **/
-typedef struct xcb_randr_refresh_rates_iterator_t {
- xcb_randr_refresh_rates_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_refresh_rates_iterator_t;
-
-/**
- * @brief xcb_randr_query_version_cookie_t
- **/
-typedef struct xcb_randr_query_version_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_query_version_cookie_t;
-
-/** Opcode for xcb_randr_query_version. */
-#define XCB_RANDR_QUERY_VERSION 0
-
-/**
- * @brief xcb_randr_query_version_request_t
- **/
-typedef struct xcb_randr_query_version_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint32_t major_version; /**< */
- uint32_t minor_version; /**< */
-} xcb_randr_query_version_request_t;
-
-/**
- * @brief xcb_randr_query_version_reply_t
- **/
-typedef struct xcb_randr_query_version_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t major_version; /**< */
- uint32_t minor_version; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_randr_query_version_reply_t;
-
-typedef enum xcb_randr_set_config_t {
- XCB_RANDR_SET_CONFIG_SUCCESS = 0,
- XCB_RANDR_SET_CONFIG_INVALID_CONFIG_TIME = 1,
- XCB_RANDR_SET_CONFIG_INVALID_TIME = 2,
- XCB_RANDR_SET_CONFIG_FAILED = 3
-} xcb_randr_set_config_t;
-
-/**
- * @brief xcb_randr_set_screen_config_cookie_t
- **/
-typedef struct xcb_randr_set_screen_config_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_set_screen_config_cookie_t;
-
-/** Opcode for xcb_randr_set_screen_config. */
-#define XCB_RANDR_SET_SCREEN_CONFIG 2
-
-/**
- * @brief xcb_randr_set_screen_config_request_t
- **/
-typedef struct xcb_randr_set_screen_config_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- uint16_t sizeID; /**< */
- uint16_t rotation; /**< */
- uint16_t rate; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_set_screen_config_request_t;
-
-/**
- * @brief xcb_randr_set_screen_config_reply_t
- **/
-typedef struct xcb_randr_set_screen_config_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t new_timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- xcb_window_t root; /**< */
- uint16_t subpixel_order; /**< */
- uint8_t pad0[10]; /**< */
-} xcb_randr_set_screen_config_reply_t;
-
-typedef enum xcb_randr_notify_mask_t {
- XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE = 1,
- XCB_RANDR_NOTIFY_MASK_CRTC_CHANGE = 2,
- XCB_RANDR_NOTIFY_MASK_OUTPUT_CHANGE = 4,
- XCB_RANDR_NOTIFY_MASK_OUTPUT_PROPERTY = 8
-} xcb_randr_notify_mask_t;
-
-/** Opcode for xcb_randr_select_input. */
-#define XCB_RANDR_SELECT_INPUT 4
-
-/**
- * @brief xcb_randr_select_input_request_t
- **/
-typedef struct xcb_randr_select_input_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- uint16_t enable; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_select_input_request_t;
-
-/**
- * @brief xcb_randr_get_screen_info_cookie_t
- **/
-typedef struct xcb_randr_get_screen_info_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_screen_info_cookie_t;
-
-/** Opcode for xcb_randr_get_screen_info. */
-#define XCB_RANDR_GET_SCREEN_INFO 5
-
-/**
- * @brief xcb_randr_get_screen_info_request_t
- **/
-typedef struct xcb_randr_get_screen_info_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_screen_info_request_t;
-
-/**
- * @brief xcb_randr_get_screen_info_reply_t
- **/
-typedef struct xcb_randr_get_screen_info_reply_t {
- uint8_t response_type; /**< */
- uint8_t rotations; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_window_t root; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- uint16_t nSizes; /**< */
- uint16_t sizeID; /**< */
- uint16_t rotation; /**< */
- uint16_t rate; /**< */
- uint16_t nInfo; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_get_screen_info_reply_t;
-
-/**
- * @brief xcb_randr_get_screen_size_range_cookie_t
- **/
-typedef struct xcb_randr_get_screen_size_range_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_screen_size_range_cookie_t;
-
-/** Opcode for xcb_randr_get_screen_size_range. */
-#define XCB_RANDR_GET_SCREEN_SIZE_RANGE 6
-
-/**
- * @brief xcb_randr_get_screen_size_range_request_t
- **/
-typedef struct xcb_randr_get_screen_size_range_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_screen_size_range_request_t;
-
-/**
- * @brief xcb_randr_get_screen_size_range_reply_t
- **/
-typedef struct xcb_randr_get_screen_size_range_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t min_width; /**< */
- uint16_t min_height; /**< */
- uint16_t max_width; /**< */
- uint16_t max_height; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_randr_get_screen_size_range_reply_t;
-
-/** Opcode for xcb_randr_set_screen_size. */
-#define XCB_RANDR_SET_SCREEN_SIZE 7
-
-/**
- * @brief xcb_randr_set_screen_size_request_t
- **/
-typedef struct xcb_randr_set_screen_size_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint32_t mm_width; /**< */
- uint32_t mm_height; /**< */
-} xcb_randr_set_screen_size_request_t;
-
-typedef enum xcb_randr_mode_flag_t {
- XCB_RANDR_MODE_FLAG_HSYNC_POSITIVE = 1,
- XCB_RANDR_MODE_FLAG_HSYNC_NEGATIVE = 2,
- XCB_RANDR_MODE_FLAG_VSYNC_POSITIVE = 4,
- XCB_RANDR_MODE_FLAG_VSYNC_NEGATIVE = 8,
- XCB_RANDR_MODE_FLAG_INTERLACE = 16,
- XCB_RANDR_MODE_FLAG_DOUBLE_SCAN = 32,
- XCB_RANDR_MODE_FLAG_CSYNC = 64,
- XCB_RANDR_MODE_FLAG_CSYNC_POSITIVE = 128,
- XCB_RANDR_MODE_FLAG_CSYNC_NEGATIVE = 256,
- XCB_RANDR_MODE_FLAG_HSKEW_PRESENT = 512,
- XCB_RANDR_MODE_FLAG_BCAST = 1024,
- XCB_RANDR_MODE_FLAG_PIXEL_MULTIPLEX = 2048,
- XCB_RANDR_MODE_FLAG_DOUBLE_CLOCK = 4096,
- XCB_RANDR_MODE_FLAG_HALVE_CLOCK = 8192
-} xcb_randr_mode_flag_t;
-
-/**
- * @brief xcb_randr_mode_info_t
- **/
-typedef struct xcb_randr_mode_info_t {
- uint32_t id; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint32_t dot_clock; /**< */
- uint16_t hsync_start; /**< */
- uint16_t hsync_end; /**< */
- uint16_t htotal; /**< */
- uint16_t hskew; /**< */
- uint16_t vsync_start; /**< */
- uint16_t vsync_end; /**< */
- uint16_t vtotal; /**< */
- uint16_t name_len; /**< */
- uint32_t mode_flags; /**< */
-} xcb_randr_mode_info_t;
-
-/**
- * @brief xcb_randr_mode_info_iterator_t
- **/
-typedef struct xcb_randr_mode_info_iterator_t {
- xcb_randr_mode_info_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_mode_info_iterator_t;
-
-/**
- * @brief xcb_randr_get_screen_resources_cookie_t
- **/
-typedef struct xcb_randr_get_screen_resources_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_screen_resources_cookie_t;
-
-/** Opcode for xcb_randr_get_screen_resources. */
-#define XCB_RANDR_GET_SCREEN_RESOURCES 8
-
-/**
- * @brief xcb_randr_get_screen_resources_request_t
- **/
-typedef struct xcb_randr_get_screen_resources_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_screen_resources_request_t;
-
-/**
- * @brief xcb_randr_get_screen_resources_reply_t
- **/
-typedef struct xcb_randr_get_screen_resources_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- uint16_t num_crtcs; /**< */
- uint16_t num_outputs; /**< */
- uint16_t num_modes; /**< */
- uint16_t names_len; /**< */
- uint8_t pad1[8]; /**< */
-} xcb_randr_get_screen_resources_reply_t;
-
-typedef enum xcb_randr_connection_t {
- XCB_RANDR_CONNECTION_CONNECTED,
- XCB_RANDR_CONNECTION_DISCONNECTED,
- XCB_RANDR_CONNECTION_UNKNOWN
-} xcb_randr_connection_t;
-
-/**
- * @brief xcb_randr_get_output_info_cookie_t
- **/
-typedef struct xcb_randr_get_output_info_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_output_info_cookie_t;
-
-/** Opcode for xcb_randr_get_output_info. */
-#define XCB_RANDR_GET_OUTPUT_INFO 9
-
-/**
- * @brief xcb_randr_get_output_info_request_t
- **/
-typedef struct xcb_randr_get_output_info_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_timestamp_t config_timestamp; /**< */
-} xcb_randr_get_output_info_request_t;
-
-/**
- * @brief xcb_randr_get_output_info_reply_t
- **/
-typedef struct xcb_randr_get_output_info_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_randr_crtc_t crtc; /**< */
- uint32_t mm_width; /**< */
- uint32_t mm_height; /**< */
- uint8_t connection; /**< */
- uint8_t subpixel_order; /**< */
- uint16_t num_crtcs; /**< */
- uint16_t num_modes; /**< */
- uint16_t num_preferred; /**< */
- uint16_t num_clones; /**< */
- uint16_t name_len; /**< */
-} xcb_randr_get_output_info_reply_t;
-
-/**
- * @brief xcb_randr_list_output_properties_cookie_t
- **/
-typedef struct xcb_randr_list_output_properties_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_list_output_properties_cookie_t;
-
-/** Opcode for xcb_randr_list_output_properties. */
-#define XCB_RANDR_LIST_OUTPUT_PROPERTIES 10
-
-/**
- * @brief xcb_randr_list_output_properties_request_t
- **/
-typedef struct xcb_randr_list_output_properties_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
-} xcb_randr_list_output_properties_request_t;
-
-/**
- * @brief xcb_randr_list_output_properties_reply_t
- **/
-typedef struct xcb_randr_list_output_properties_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t num_atoms; /**< */
- uint8_t pad1[22]; /**< */
-} xcb_randr_list_output_properties_reply_t;
-
-/**
- * @brief xcb_randr_query_output_property_cookie_t
- **/
-typedef struct xcb_randr_query_output_property_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_query_output_property_cookie_t;
-
-/** Opcode for xcb_randr_query_output_property. */
-#define XCB_RANDR_QUERY_OUTPUT_PROPERTY 11
-
-/**
- * @brief xcb_randr_query_output_property_request_t
- **/
-typedef struct xcb_randr_query_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
-} xcb_randr_query_output_property_request_t;
-
-/**
- * @brief xcb_randr_query_output_property_reply_t
- **/
-typedef struct xcb_randr_query_output_property_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint8_t pending; /**< */
- uint8_t range; /**< */
- uint8_t immutable; /**< */
- uint8_t pad1[21]; /**< */
-} xcb_randr_query_output_property_reply_t;
-
-/** Opcode for xcb_randr_configure_output_property. */
-#define XCB_RANDR_CONFIGURE_OUTPUT_PROPERTY 12
-
-/**
- * @brief xcb_randr_configure_output_property_request_t
- **/
-typedef struct xcb_randr_configure_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
- uint8_t pending; /**< */
- uint8_t range; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_configure_output_property_request_t;
-
-/** Opcode for xcb_randr_change_output_property. */
-#define XCB_RANDR_CHANGE_OUTPUT_PROPERTY 13
-
-/**
- * @brief xcb_randr_change_output_property_request_t
- **/
-typedef struct xcb_randr_change_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
- xcb_atom_t type; /**< */
- uint8_t format; /**< */
- uint8_t mode; /**< */
- uint8_t pad0[2]; /**< */
- uint32_t num_units; /**< */
-} xcb_randr_change_output_property_request_t;
-
-/** Opcode for xcb_randr_delete_output_property. */
-#define XCB_RANDR_DELETE_OUTPUT_PROPERTY 14
-
-/**
- * @brief xcb_randr_delete_output_property_request_t
- **/
-typedef struct xcb_randr_delete_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
-} xcb_randr_delete_output_property_request_t;
-
-/**
- * @brief xcb_randr_get_output_property_cookie_t
- **/
-typedef struct xcb_randr_get_output_property_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_output_property_cookie_t;
-
-/** Opcode for xcb_randr_get_output_property. */
-#define XCB_RANDR_GET_OUTPUT_PROPERTY 15
-
-/**
- * @brief xcb_randr_get_output_property_request_t
- **/
-typedef struct xcb_randr_get_output_property_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t property; /**< */
- xcb_atom_t type; /**< */
- uint32_t long_offset; /**< */
- uint32_t long_length; /**< */
- uint8_t _delete; /**< */
- uint8_t pending; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_get_output_property_request_t;
-
-/**
- * @brief xcb_randr_get_output_property_reply_t
- **/
-typedef struct xcb_randr_get_output_property_reply_t {
- uint8_t response_type; /**< */
- uint8_t format; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_atom_t type; /**< */
- uint32_t bytes_after; /**< */
- uint32_t num_items; /**< */
- uint8_t pad0[12]; /**< */
-} xcb_randr_get_output_property_reply_t;
-
-/**
- * @brief xcb_randr_create_mode_cookie_t
- **/
-typedef struct xcb_randr_create_mode_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_create_mode_cookie_t;
-
-/** Opcode for xcb_randr_create_mode. */
-#define XCB_RANDR_CREATE_MODE 16
-
-/**
- * @brief xcb_randr_create_mode_request_t
- **/
-typedef struct xcb_randr_create_mode_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- xcb_randr_mode_info_t mode_info; /**< */
-} xcb_randr_create_mode_request_t;
-
-/**
- * @brief xcb_randr_create_mode_reply_t
- **/
-typedef struct xcb_randr_create_mode_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_randr_mode_t mode; /**< */
- uint8_t pad1[20]; /**< */
-} xcb_randr_create_mode_reply_t;
-
-/** Opcode for xcb_randr_destroy_mode. */
-#define XCB_RANDR_DESTROY_MODE 17
-
-/**
- * @brief xcb_randr_destroy_mode_request_t
- **/
-typedef struct xcb_randr_destroy_mode_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_mode_t mode; /**< */
-} xcb_randr_destroy_mode_request_t;
-
-/** Opcode for xcb_randr_add_output_mode. */
-#define XCB_RANDR_ADD_OUTPUT_MODE 18
-
-/**
- * @brief xcb_randr_add_output_mode_request_t
- **/
-typedef struct xcb_randr_add_output_mode_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_randr_mode_t mode; /**< */
-} xcb_randr_add_output_mode_request_t;
-
-/** Opcode for xcb_randr_delete_output_mode. */
-#define XCB_RANDR_DELETE_OUTPUT_MODE 19
-
-/**
- * @brief xcb_randr_delete_output_mode_request_t
- **/
-typedef struct xcb_randr_delete_output_mode_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_output_t output; /**< */
- xcb_randr_mode_t mode; /**< */
-} xcb_randr_delete_output_mode_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_info_cookie_t
- **/
-typedef struct xcb_randr_get_crtc_info_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_crtc_info_cookie_t;
-
-/** Opcode for xcb_randr_get_crtc_info. */
-#define XCB_RANDR_GET_CRTC_INFO 20
-
-/**
- * @brief xcb_randr_get_crtc_info_request_t
- **/
-typedef struct xcb_randr_get_crtc_info_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_timestamp_t config_timestamp; /**< */
-} xcb_randr_get_crtc_info_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_info_reply_t
- **/
-typedef struct xcb_randr_get_crtc_info_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- xcb_randr_mode_t mode; /**< */
- uint16_t rotation; /**< */
- uint16_t rotations; /**< */
- uint16_t num_outputs; /**< */
- uint16_t num_possible_outputs; /**< */
-} xcb_randr_get_crtc_info_reply_t;
-
-/**
- * @brief xcb_randr_set_crtc_config_cookie_t
- **/
-typedef struct xcb_randr_set_crtc_config_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_set_crtc_config_cookie_t;
-
-/** Opcode for xcb_randr_set_crtc_config. */
-#define XCB_RANDR_SET_CRTC_CONFIG 21
-
-/**
- * @brief xcb_randr_set_crtc_config_request_t
- **/
-typedef struct xcb_randr_set_crtc_config_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- xcb_randr_mode_t mode; /**< */
- uint16_t rotation; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_set_crtc_config_request_t;
-
-/**
- * @brief xcb_randr_set_crtc_config_reply_t
- **/
-typedef struct xcb_randr_set_crtc_config_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint8_t pad0[20]; /**< */
-} xcb_randr_set_crtc_config_reply_t;
-
-/**
- * @brief xcb_randr_get_crtc_gamma_size_cookie_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_size_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_crtc_gamma_size_cookie_t;
-
-/** Opcode for xcb_randr_get_crtc_gamma_size. */
-#define XCB_RANDR_GET_CRTC_GAMMA_SIZE 22
-
-/**
- * @brief xcb_randr_get_crtc_gamma_size_request_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_size_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
-} xcb_randr_get_crtc_gamma_size_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_gamma_size_reply_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_size_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t size; /**< */
- uint8_t pad1[22]; /**< */
-} xcb_randr_get_crtc_gamma_size_reply_t;
-
-/**
- * @brief xcb_randr_get_crtc_gamma_cookie_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_crtc_gamma_cookie_t;
-
-/** Opcode for xcb_randr_get_crtc_gamma. */
-#define XCB_RANDR_GET_CRTC_GAMMA 23
-
-/**
- * @brief xcb_randr_get_crtc_gamma_request_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
-} xcb_randr_get_crtc_gamma_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_gamma_reply_t
- **/
-typedef struct xcb_randr_get_crtc_gamma_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t size; /**< */
- uint8_t pad1[22]; /**< */
-} xcb_randr_get_crtc_gamma_reply_t;
-
-/** Opcode for xcb_randr_set_crtc_gamma. */
-#define XCB_RANDR_SET_CRTC_GAMMA 24
-
-/**
- * @brief xcb_randr_set_crtc_gamma_request_t
- **/
-typedef struct xcb_randr_set_crtc_gamma_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- uint16_t size; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_set_crtc_gamma_request_t;
-
-/**
- * @brief xcb_randr_get_screen_resources_current_cookie_t
- **/
-typedef struct xcb_randr_get_screen_resources_current_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_screen_resources_current_cookie_t;
-
-/** Opcode for xcb_randr_get_screen_resources_current. */
-#define XCB_RANDR_GET_SCREEN_RESOURCES_CURRENT 25
-
-/**
- * @brief xcb_randr_get_screen_resources_current_request_t
- **/
-typedef struct xcb_randr_get_screen_resources_current_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_screen_resources_current_request_t;
-
-/**
- * @brief xcb_randr_get_screen_resources_current_reply_t
- **/
-typedef struct xcb_randr_get_screen_resources_current_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- uint16_t num_crtcs; /**< */
- uint16_t num_outputs; /**< */
- uint16_t num_modes; /**< */
- uint16_t names_len; /**< */
- uint8_t pad1[8]; /**< */
-} xcb_randr_get_screen_resources_current_reply_t;
-
-/** Opcode for xcb_randr_set_crtc_transform. */
-#define XCB_RANDR_SET_CRTC_TRANSFORM 26
-
-/**
- * @brief xcb_randr_set_crtc_transform_request_t
- **/
-typedef struct xcb_randr_set_crtc_transform_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_render_transform_t transform; /**< */
- uint16_t filter_len; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_randr_set_crtc_transform_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_transform_cookie_t
- **/
-typedef struct xcb_randr_get_crtc_transform_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_crtc_transform_cookie_t;
-
-/** Opcode for xcb_randr_get_crtc_transform. */
-#define XCB_RANDR_GET_CRTC_TRANSFORM 27
-
-/**
- * @brief xcb_randr_get_crtc_transform_request_t
- **/
-typedef struct xcb_randr_get_crtc_transform_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
-} xcb_randr_get_crtc_transform_request_t;
-
-/**
- * @brief xcb_randr_get_crtc_transform_reply_t
- **/
-typedef struct xcb_randr_get_crtc_transform_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_render_transform_t pending_transform; /**< */
- uint8_t has_transforms; /**< */
- uint8_t pad1[3]; /**< */
- xcb_render_transform_t current_transform; /**< */
- uint8_t pad2[4]; /**< */
- uint16_t pending_len; /**< */
- uint16_t pending_nparams; /**< */
- uint16_t current_len; /**< */
- uint16_t current_nparams; /**< */
-} xcb_randr_get_crtc_transform_reply_t;
-
-/**
- * @brief xcb_randr_get_panning_cookie_t
- **/
-typedef struct xcb_randr_get_panning_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_panning_cookie_t;
-
-/** Opcode for xcb_randr_get_panning. */
-#define XCB_RANDR_GET_PANNING 28
-
-/**
- * @brief xcb_randr_get_panning_request_t
- **/
-typedef struct xcb_randr_get_panning_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
-} xcb_randr_get_panning_request_t;
-
-/**
- * @brief xcb_randr_get_panning_reply_t
- **/
-typedef struct xcb_randr_get_panning_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint16_t left; /**< */
- uint16_t top; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t track_left; /**< */
- uint16_t track_top; /**< */
- uint16_t track_width; /**< */
- uint16_t track_height; /**< */
- int16_t border_left; /**< */
- int16_t border_top; /**< */
- int16_t border_right; /**< */
- int16_t border_bottom; /**< */
-} xcb_randr_get_panning_reply_t;
-
-/**
- * @brief xcb_randr_set_panning_cookie_t
- **/
-typedef struct xcb_randr_set_panning_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_set_panning_cookie_t;
-
-/** Opcode for xcb_randr_set_panning. */
-#define XCB_RANDR_SET_PANNING 29
-
-/**
- * @brief xcb_randr_set_panning_request_t
- **/
-typedef struct xcb_randr_set_panning_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint16_t left; /**< */
- uint16_t top; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t track_left; /**< */
- uint16_t track_top; /**< */
- uint16_t track_width; /**< */
- uint16_t track_height; /**< */
- int16_t border_left; /**< */
- int16_t border_top; /**< */
- int16_t border_right; /**< */
- int16_t border_bottom; /**< */
-} xcb_randr_set_panning_request_t;
-
-/**
- * @brief xcb_randr_set_panning_reply_t
- **/
-typedef struct xcb_randr_set_panning_reply_t {
- uint8_t response_type; /**< */
- uint8_t status; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_timestamp_t timestamp; /**< */
-} xcb_randr_set_panning_reply_t;
-
-/** Opcode for xcb_randr_set_output_primary. */
-#define XCB_RANDR_SET_OUTPUT_PRIMARY 30
-
-/**
- * @brief xcb_randr_set_output_primary_request_t
- **/
-typedef struct xcb_randr_set_output_primary_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- xcb_randr_output_t output; /**< */
-} xcb_randr_set_output_primary_request_t;
-
-/**
- * @brief xcb_randr_get_output_primary_cookie_t
- **/
-typedef struct xcb_randr_get_output_primary_cookie_t {
- unsigned int sequence; /**< */
-} xcb_randr_get_output_primary_cookie_t;
-
-/** Opcode for xcb_randr_get_output_primary. */
-#define XCB_RANDR_GET_OUTPUT_PRIMARY 31
-
-/**
- * @brief xcb_randr_get_output_primary_request_t
- **/
-typedef struct xcb_randr_get_output_primary_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_randr_get_output_primary_request_t;
-
-/**
- * @brief xcb_randr_get_output_primary_reply_t
- **/
-typedef struct xcb_randr_get_output_primary_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_randr_output_t output; /**< */
-} xcb_randr_get_output_primary_reply_t;
-
-/** Opcode for xcb_randr_screen_change_notify. */
-#define XCB_RANDR_SCREEN_CHANGE_NOTIFY 0
-
-/**
- * @brief xcb_randr_screen_change_notify_event_t
- **/
-typedef struct xcb_randr_screen_change_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t rotation; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- xcb_window_t root; /**< */
- xcb_window_t request_window; /**< */
- uint16_t sizeID; /**< */
- uint16_t subpixel_order; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t mwidth; /**< */
- uint16_t mheight; /**< */
-} xcb_randr_screen_change_notify_event_t;
-
-typedef enum xcb_randr_notify_t {
- XCB_RANDR_NOTIFY_CRTC_CHANGE = 0,
- XCB_RANDR_NOTIFY_OUTPUT_CHANGE = 1,
- XCB_RANDR_NOTIFY_OUTPUT_PROPERTY = 2
-} xcb_randr_notify_t;
-
-/**
- * @brief xcb_randr_crtc_change_t
- **/
-typedef struct xcb_randr_crtc_change_t {
- xcb_timestamp_t timestamp; /**< */
- xcb_window_t window; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_randr_mode_t mode; /**< */
- uint16_t rotation; /**< */
- uint8_t pad0[2]; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
-} xcb_randr_crtc_change_t;
-
-/**
- * @brief xcb_randr_crtc_change_iterator_t
- **/
-typedef struct xcb_randr_crtc_change_iterator_t {
- xcb_randr_crtc_change_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_crtc_change_iterator_t;
-
-/**
- * @brief xcb_randr_output_change_t
- **/
-typedef struct xcb_randr_output_change_t {
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t config_timestamp; /**< */
- xcb_window_t window; /**< */
- xcb_randr_output_t output; /**< */
- xcb_randr_crtc_t crtc; /**< */
- xcb_randr_mode_t mode; /**< */
- uint16_t rotation; /**< */
- uint8_t connection; /**< */
- uint8_t subpixel_order; /**< */
-} xcb_randr_output_change_t;
-
-/**
- * @brief xcb_randr_output_change_iterator_t
- **/
-typedef struct xcb_randr_output_change_iterator_t {
- xcb_randr_output_change_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_output_change_iterator_t;
-
-/**
- * @brief xcb_randr_output_property_t
- **/
-typedef struct xcb_randr_output_property_t {
- xcb_window_t window; /**< */
- xcb_randr_output_t output; /**< */
- xcb_atom_t atom; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint8_t status; /**< */
- uint8_t pad0[11]; /**< */
-} xcb_randr_output_property_t;
-
-/**
- * @brief xcb_randr_output_property_iterator_t
- **/
-typedef struct xcb_randr_output_property_iterator_t {
- xcb_randr_output_property_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_output_property_iterator_t;
-
-/**
- * @brief xcb_randr_notify_data_t
- **/
-typedef union xcb_randr_notify_data_t {
- xcb_randr_crtc_change_t cc; /**< */
- xcb_randr_output_change_t oc; /**< */
- xcb_randr_output_property_t op; /**< */
-} xcb_randr_notify_data_t;
-
-/**
- * @brief xcb_randr_notify_data_iterator_t
- **/
-typedef struct xcb_randr_notify_data_iterator_t {
- xcb_randr_notify_data_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_randr_notify_data_iterator_t;
-
-/** Opcode for xcb_randr_notify. */
-#define XCB_RANDR_NOTIFY 1
-
-/**
- * @brief xcb_randr_notify_event_t
- **/
-typedef struct xcb_randr_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t subCode; /**< */
- uint16_t sequence; /**< */
- xcb_randr_notify_data_t u; /**< */
-} xcb_randr_notify_event_t;
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_mode_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_mode_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_mode_next
- **
- ** @param xcb_randr_mode_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_mode_next (xcb_randr_mode_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_mode_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_mode_end
- **
- ** @param xcb_randr_mode_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_mode_end (xcb_randr_mode_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_crtc_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_crtc_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_crtc_next
- **
- ** @param xcb_randr_crtc_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_crtc_next (xcb_randr_crtc_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_crtc_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_crtc_end
- **
- ** @param xcb_randr_crtc_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_crtc_end (xcb_randr_crtc_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_output_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_output_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_output_next
- **
- ** @param xcb_randr_output_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_output_next (xcb_randr_output_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_output_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_output_end
- **
- ** @param xcb_randr_output_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_output_end (xcb_randr_output_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_screen_size_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_screen_size_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_screen_size_next
- **
- ** @param xcb_randr_screen_size_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_screen_size_next (xcb_randr_screen_size_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_screen_size_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_screen_size_end
- **
- ** @param xcb_randr_screen_size_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_screen_size_end (xcb_randr_screen_size_iterator_t i /**< */);
-
-int
-xcb_randr_refresh_rates_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_refresh_rates_rates
- **
- ** @param const xcb_randr_refresh_rates_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_refresh_rates_rates (const xcb_randr_refresh_rates_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_refresh_rates_rates_length
- **
- ** @param const xcb_randr_refresh_rates_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_refresh_rates_rates_length (const xcb_randr_refresh_rates_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_refresh_rates_rates_end
- **
- ** @param const xcb_randr_refresh_rates_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_refresh_rates_rates_end (const xcb_randr_refresh_rates_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_refresh_rates_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_refresh_rates_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_refresh_rates_next
- **
- ** @param xcb_randr_refresh_rates_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_refresh_rates_next (xcb_randr_refresh_rates_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_refresh_rates_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_refresh_rates_end
- **
- ** @param xcb_randr_refresh_rates_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_refresh_rates_end (xcb_randr_refresh_rates_iterator_t i /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_version_cookie_t xcb_randr_query_version
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t major_version
- ** @param uint32_t minor_version
- ** @returns xcb_randr_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_version_cookie_t
-xcb_randr_query_version (xcb_connection_t *c /**< */,
- uint32_t major_version /**< */,
- uint32_t minor_version /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_version_cookie_t xcb_randr_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t major_version
- ** @param uint32_t minor_version
- ** @returns xcb_randr_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_version_cookie_t
-xcb_randr_query_version_unchecked (xcb_connection_t *c /**< */,
- uint32_t major_version /**< */,
- uint32_t minor_version /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_query_version_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_version_reply_t * xcb_randr_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_query_version_reply_t *
-xcb_randr_query_version_reply (xcb_connection_t *c /**< */,
- xcb_randr_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_screen_config_cookie_t xcb_randr_set_screen_config
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param uint16_t sizeID
- ** @param uint16_t rotation
- ** @param uint16_t rate
- ** @returns xcb_randr_set_screen_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_screen_config_cookie_t
-xcb_randr_set_screen_config (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- uint16_t sizeID /**< */,
- uint16_t rotation /**< */,
- uint16_t rate /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_screen_config_cookie_t xcb_randr_set_screen_config_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param uint16_t sizeID
- ** @param uint16_t rotation
- ** @param uint16_t rate
- ** @returns xcb_randr_set_screen_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_screen_config_cookie_t
-xcb_randr_set_screen_config_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- uint16_t sizeID /**< */,
- uint16_t rotation /**< */,
- uint16_t rate /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_set_screen_config_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_screen_config_reply_t * xcb_randr_set_screen_config_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_set_screen_config_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_set_screen_config_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_set_screen_config_reply_t *
-xcb_randr_set_screen_config_reply (xcb_connection_t *c /**< */,
- xcb_randr_set_screen_config_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_select_input_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_select_input_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t enable /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_select_input
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_select_input (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t enable /**< */);
-
-int
-xcb_randr_get_screen_info_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_info_cookie_t xcb_randr_get_screen_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_info_cookie_t
-xcb_randr_get_screen_info (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_info_cookie_t xcb_randr_get_screen_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_info_cookie_t
-xcb_randr_get_screen_info_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_screen_size_t * xcb_randr_get_screen_info_sizes
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns xcb_randr_screen_size_t *
- **
- *****************************************************************************/
-
-xcb_randr_screen_size_t *
-xcb_randr_get_screen_info_sizes (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_info_sizes_length
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_info_sizes_length (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_screen_size_iterator_t xcb_randr_get_screen_info_sizes_iterator
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns xcb_randr_screen_size_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_screen_size_iterator_t
-xcb_randr_get_screen_info_sizes_iterator (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_info_rates_length
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_info_rates_length (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_refresh_rates_iterator_t xcb_randr_get_screen_info_rates_iterator
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns xcb_randr_refresh_rates_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_refresh_rates_iterator_t
-xcb_randr_get_screen_info_rates_iterator (const xcb_randr_get_screen_info_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_screen_info_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_info_reply_t * xcb_randr_get_screen_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_info_reply_t *
-xcb_randr_get_screen_info_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_size_range_cookie_t xcb_randr_get_screen_size_range
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_size_range_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_size_range_cookie_t
-xcb_randr_get_screen_size_range (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_size_range_cookie_t xcb_randr_get_screen_size_range_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_size_range_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_size_range_cookie_t
-xcb_randr_get_screen_size_range_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_screen_size_range_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_size_range_reply_t * xcb_randr_get_screen_size_range_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_size_range_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_size_range_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_size_range_reply_t *
-xcb_randr_get_screen_size_range_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_size_range_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_screen_size_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t mm_width
- ** @param uint32_t mm_height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_screen_size_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t mm_width /**< */,
- uint32_t mm_height /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_screen_size
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t mm_width
- ** @param uint32_t mm_height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_screen_size (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t mm_width /**< */,
- uint32_t mm_height /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_mode_info_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_mode_info_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_mode_info_next
- **
- ** @param xcb_randr_mode_info_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_mode_info_next (xcb_randr_mode_info_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_mode_info_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_mode_info_end
- **
- ** @param xcb_randr_mode_info_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_mode_info_end (xcb_randr_mode_info_iterator_t i /**< */);
-
-int
-xcb_randr_get_screen_resources_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_cookie_t xcb_randr_get_screen_resources
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_cookie_t
-xcb_randr_get_screen_resources (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_cookie_t xcb_randr_get_screen_resources_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_cookie_t
-xcb_randr_get_screen_resources_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_crtc_t * xcb_randr_get_screen_resources_crtcs
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_crtc_t *
- **
- *****************************************************************************/
-
-xcb_randr_crtc_t *
-xcb_randr_get_screen_resources_crtcs (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_crtcs_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_crtcs_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_crtcs_end
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_crtcs_end (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_screen_resources_outputs
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_screen_resources_outputs (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_outputs_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_outputs_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_outputs_end
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_outputs_end (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_t * xcb_randr_get_screen_resources_modes
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_mode_info_t *
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_t *
-xcb_randr_get_screen_resources_modes (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_modes_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_modes_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_iterator_t xcb_randr_get_screen_resources_modes_iterator
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_mode_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_iterator_t
-xcb_randr_get_screen_resources_modes_iterator (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_screen_resources_names
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_screen_resources_names (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_names_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_names_length (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_names_end
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_names_end (const xcb_randr_get_screen_resources_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_screen_resources_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_reply_t * xcb_randr_get_screen_resources_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_resources_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_resources_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_reply_t *
-xcb_randr_get_screen_resources_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_resources_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_get_output_info_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_info_cookie_t xcb_randr_get_output_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_output_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_info_cookie_t
-xcb_randr_get_output_info (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_timestamp_t config_timestamp /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_info_cookie_t xcb_randr_get_output_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_output_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_info_cookie_t
-xcb_randr_get_output_info_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_timestamp_t config_timestamp /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_crtc_t * xcb_randr_get_output_info_crtcs
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_randr_crtc_t *
- **
- *****************************************************************************/
-
-xcb_randr_crtc_t *
-xcb_randr_get_output_info_crtcs (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_crtcs_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_crtcs_length (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_crtcs_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_crtcs_end (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_t * xcb_randr_get_output_info_modes
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_randr_mode_t *
- **
- *****************************************************************************/
-
-xcb_randr_mode_t *
-xcb_randr_get_output_info_modes (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_modes_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_modes_length (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_modes_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_modes_end (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_output_info_clones
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_output_info_clones (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_clones_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_clones_length (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_clones_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_clones_end (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_output_info_name
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_output_info_name (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_name_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_name_length (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_name_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_name_end (const xcb_randr_get_output_info_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_output_info_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_info_reply_t * xcb_randr_get_output_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_output_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_output_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_output_info_reply_t *
-xcb_randr_get_output_info_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_output_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_list_output_properties_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_list_output_properties_cookie_t xcb_randr_list_output_properties
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @returns xcb_randr_list_output_properties_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_list_output_properties_cookie_t
-xcb_randr_list_output_properties (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_list_output_properties_cookie_t xcb_randr_list_output_properties_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @returns xcb_randr_list_output_properties_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_list_output_properties_cookie_t
-xcb_randr_list_output_properties_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_randr_list_output_properties_atoms
- **
- ** @param const xcb_randr_list_output_properties_reply_t *R
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_randr_list_output_properties_atoms (const xcb_randr_list_output_properties_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_list_output_properties_atoms_length
- **
- ** @param const xcb_randr_list_output_properties_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_list_output_properties_atoms_length (const xcb_randr_list_output_properties_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_list_output_properties_atoms_end
- **
- ** @param const xcb_randr_list_output_properties_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_list_output_properties_atoms_end (const xcb_randr_list_output_properties_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_list_output_properties_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_list_output_properties_reply_t * xcb_randr_list_output_properties_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_list_output_properties_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_list_output_properties_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_list_output_properties_reply_t *
-xcb_randr_list_output_properties_reply (xcb_connection_t *c /**< */,
- xcb_randr_list_output_properties_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_query_output_property_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_output_property_cookie_t xcb_randr_query_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_randr_query_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_output_property_cookie_t
-xcb_randr_query_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_output_property_cookie_t xcb_randr_query_output_property_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_randr_query_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_output_property_cookie_t
-xcb_randr_query_output_property_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */);
-
-
-/*****************************************************************************
- **
- ** int32_t * xcb_randr_query_output_property_valid_values
- **
- ** @param const xcb_randr_query_output_property_reply_t *R
- ** @returns int32_t *
- **
- *****************************************************************************/
-
-int32_t *
-xcb_randr_query_output_property_valid_values (const xcb_randr_query_output_property_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_query_output_property_valid_values_length
- **
- ** @param const xcb_randr_query_output_property_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_query_output_property_valid_values_length (const xcb_randr_query_output_property_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_query_output_property_valid_values_end
- **
- ** @param const xcb_randr_query_output_property_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_query_output_property_valid_values_end (const xcb_randr_query_output_property_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_query_output_property_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_query_output_property_reply_t * xcb_randr_query_output_property_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_query_output_property_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_query_output_property_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_query_output_property_reply_t *
-xcb_randr_query_output_property_reply (xcb_connection_t *c /**< */,
- xcb_randr_query_output_property_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_configure_output_property_sizeof (const void *_buffer /**< */,
- uint32_t values_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_configure_output_property_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param uint8_t pending
- ** @param uint8_t range
- ** @param uint32_t values_len
- ** @param const int32_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_configure_output_property_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- uint8_t pending /**< */,
- uint8_t range /**< */,
- uint32_t values_len /**< */,
- const int32_t *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_configure_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param uint8_t pending
- ** @param uint8_t range
- ** @param uint32_t values_len
- ** @param const int32_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_configure_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- uint8_t pending /**< */,
- uint8_t range /**< */,
- uint32_t values_len /**< */,
- const int32_t *values /**< */);
-
-int
-xcb_randr_change_output_property_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_change_output_property_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint8_t format
- ** @param uint8_t mode
- ** @param uint32_t num_units
- ** @param const void *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_change_output_property_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint8_t format /**< */,
- uint8_t mode /**< */,
- uint32_t num_units /**< */,
- const void *data /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_change_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint8_t format
- ** @param uint8_t mode
- ** @param uint32_t num_units
- ** @param const void *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_change_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint8_t format /**< */,
- uint8_t mode /**< */,
- uint32_t num_units /**< */,
- const void *data /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_property_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_property_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */);
-
-int
-xcb_randr_get_output_property_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_property_cookie_t xcb_randr_get_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint32_t long_offset
- ** @param uint32_t long_length
- ** @param uint8_t _delete
- ** @param uint8_t pending
- ** @returns xcb_randr_get_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_property_cookie_t
-xcb_randr_get_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint32_t long_offset /**< */,
- uint32_t long_length /**< */,
- uint8_t _delete /**< */,
- uint8_t pending /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_property_cookie_t xcb_randr_get_output_property_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint32_t long_offset
- ** @param uint32_t long_length
- ** @param uint8_t _delete
- ** @param uint8_t pending
- ** @returns xcb_randr_get_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_property_cookie_t
-xcb_randr_get_output_property_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint32_t long_offset /**< */,
- uint32_t long_length /**< */,
- uint8_t _delete /**< */,
- uint8_t pending /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_output_property_data
- **
- ** @param const xcb_randr_get_output_property_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_output_property_data (const xcb_randr_get_output_property_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_property_data_length
- **
- ** @param const xcb_randr_get_output_property_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_property_data_length (const xcb_randr_get_output_property_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_property_data_end
- **
- ** @param const xcb_randr_get_output_property_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_property_data_end (const xcb_randr_get_output_property_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_output_property_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_property_reply_t * xcb_randr_get_output_property_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_output_property_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_output_property_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_output_property_reply_t *
-xcb_randr_get_output_property_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_output_property_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_create_mode_sizeof (const void *_buffer /**< */,
- uint32_t name_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_create_mode_cookie_t xcb_randr_create_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_mode_info_t mode_info
- ** @param uint32_t name_len
- ** @param const char *name
- ** @returns xcb_randr_create_mode_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_create_mode_cookie_t
-xcb_randr_create_mode (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_mode_info_t mode_info /**< */,
- uint32_t name_len /**< */,
- const char *name /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_create_mode_cookie_t xcb_randr_create_mode_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_mode_info_t mode_info
- ** @param uint32_t name_len
- ** @param const char *name
- ** @returns xcb_randr_create_mode_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_create_mode_cookie_t
-xcb_randr_create_mode_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_mode_info_t mode_info /**< */,
- uint32_t name_len /**< */,
- const char *name /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_create_mode_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_create_mode_reply_t * xcb_randr_create_mode_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_create_mode_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_create_mode_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_create_mode_reply_t *
-xcb_randr_create_mode_reply (xcb_connection_t *c /**< */,
- xcb_randr_create_mode_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_destroy_mode_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_destroy_mode_checked (xcb_connection_t *c /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_destroy_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_destroy_mode (xcb_connection_t *c /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_add_output_mode_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_add_output_mode_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_add_output_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_add_output_mode (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_mode_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_mode_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_mode (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */);
-
-int
-xcb_randr_get_crtc_info_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_info_cookie_t xcb_randr_get_crtc_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_crtc_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_info_cookie_t
-xcb_randr_get_crtc_info (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t config_timestamp /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_info_cookie_t xcb_randr_get_crtc_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_crtc_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_info_cookie_t
-xcb_randr_get_crtc_info_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t config_timestamp /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_crtc_info_outputs
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_crtc_info_outputs (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_info_outputs_length
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_info_outputs_length (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_info_outputs_end
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_info_outputs_end (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_crtc_info_possible
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_crtc_info_possible (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_info_possible_length
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_info_possible_length (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_info_possible_end
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_info_possible_end (const xcb_randr_get_crtc_info_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_crtc_info_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_info_reply_t * xcb_randr_get_crtc_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_info_reply_t *
-xcb_randr_get_crtc_info_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_set_crtc_config_sizeof (const void *_buffer /**< */,
- uint32_t outputs_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_crtc_config_cookie_t xcb_randr_set_crtc_config
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param int16_t x
- ** @param int16_t y
- ** @param xcb_randr_mode_t mode
- ** @param uint16_t rotation
- ** @param uint32_t outputs_len
- ** @param const xcb_randr_output_t *outputs
- ** @returns xcb_randr_set_crtc_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_crtc_config_cookie_t
-xcb_randr_set_crtc_config (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- xcb_randr_mode_t mode /**< */,
- uint16_t rotation /**< */,
- uint32_t outputs_len /**< */,
- const xcb_randr_output_t *outputs /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_crtc_config_cookie_t xcb_randr_set_crtc_config_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param int16_t x
- ** @param int16_t y
- ** @param xcb_randr_mode_t mode
- ** @param uint16_t rotation
- ** @param uint32_t outputs_len
- ** @param const xcb_randr_output_t *outputs
- ** @returns xcb_randr_set_crtc_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_crtc_config_cookie_t
-xcb_randr_set_crtc_config_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- xcb_randr_mode_t mode /**< */,
- uint16_t rotation /**< */,
- uint32_t outputs_len /**< */,
- const xcb_randr_output_t *outputs /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_set_crtc_config_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_crtc_config_reply_t * xcb_randr_set_crtc_config_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_set_crtc_config_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_set_crtc_config_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_set_crtc_config_reply_t *
-xcb_randr_set_crtc_config_reply (xcb_connection_t *c /**< */,
- xcb_randr_set_crtc_config_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_size_cookie_t xcb_randr_get_crtc_gamma_size
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_size_cookie_t
-xcb_randr_get_crtc_gamma_size (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_size_cookie_t xcb_randr_get_crtc_gamma_size_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_size_cookie_t
-xcb_randr_get_crtc_gamma_size_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_crtc_gamma_size_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_size_reply_t * xcb_randr_get_crtc_gamma_size_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_gamma_size_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_gamma_size_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_size_reply_t *
-xcb_randr_get_crtc_gamma_size_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_gamma_size_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_get_crtc_gamma_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_cookie_t xcb_randr_get_crtc_gamma
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_cookie_t
-xcb_randr_get_crtc_gamma (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_cookie_t xcb_randr_get_crtc_gamma_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_cookie_t
-xcb_randr_get_crtc_gamma_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_get_crtc_gamma_red
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_get_crtc_gamma_red (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_gamma_red_length
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_gamma_red_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_red_end
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_gamma_red_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_get_crtc_gamma_green
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_get_crtc_gamma_green (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_gamma_green_length
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_gamma_green_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_green_end
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_gamma_green_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_get_crtc_gamma_blue
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_get_crtc_gamma_blue (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_gamma_blue_length
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_gamma_blue_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_blue_end
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_gamma_blue_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_crtc_gamma_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_reply_t * xcb_randr_get_crtc_gamma_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_gamma_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_gamma_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_reply_t *
-xcb_randr_get_crtc_gamma_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_gamma_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_set_crtc_gamma_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_gamma_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param uint16_t size
- ** @param const uint16_t *red
- ** @param const uint16_t *green
- ** @param const uint16_t *blue
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_gamma_checked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- uint16_t size /**< */,
- const uint16_t *red /**< */,
- const uint16_t *green /**< */,
- const uint16_t *blue /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_gamma
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param uint16_t size
- ** @param const uint16_t *red
- ** @param const uint16_t *green
- ** @param const uint16_t *blue
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_gamma (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- uint16_t size /**< */,
- const uint16_t *red /**< */,
- const uint16_t *green /**< */,
- const uint16_t *blue /**< */);
-
-int
-xcb_randr_get_screen_resources_current_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_current_cookie_t xcb_randr_get_screen_resources_current
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_current_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_current_cookie_t
-xcb_randr_get_screen_resources_current (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_current_cookie_t xcb_randr_get_screen_resources_current_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_current_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_current_cookie_t
-xcb_randr_get_screen_resources_current_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_crtc_t * xcb_randr_get_screen_resources_current_crtcs
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_crtc_t *
- **
- *****************************************************************************/
-
-xcb_randr_crtc_t *
-xcb_randr_get_screen_resources_current_crtcs (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_crtcs_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_crtcs_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_crtcs_end
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_current_crtcs_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_screen_resources_current_outputs
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_screen_resources_current_outputs (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_outputs_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_outputs_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_outputs_end
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_current_outputs_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_t * xcb_randr_get_screen_resources_current_modes
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_mode_info_t *
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_t *
-xcb_randr_get_screen_resources_current_modes (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_modes_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_modes_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_iterator_t xcb_randr_get_screen_resources_current_modes_iterator
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_mode_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_iterator_t
-xcb_randr_get_screen_resources_current_modes_iterator (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_screen_resources_current_names
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_screen_resources_current_names (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_names_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_names_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_names_end
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_current_names_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_screen_resources_current_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_current_reply_t * xcb_randr_get_screen_resources_current_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_resources_current_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_resources_current_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_current_reply_t *
-xcb_randr_get_screen_resources_current_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_resources_current_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_randr_set_crtc_transform_sizeof (const void *_buffer /**< */,
- uint32_t filter_params_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_transform_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_render_transform_t transform
- ** @param uint16_t filter_len
- ** @param const char *filter_name
- ** @param uint32_t filter_params_len
- ** @param const xcb_render_fixed_t *filter_params
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_transform_checked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_render_transform_t transform /**< */,
- uint16_t filter_len /**< */,
- const char *filter_name /**< */,
- uint32_t filter_params_len /**< */,
- const xcb_render_fixed_t *filter_params /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_transform
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_render_transform_t transform
- ** @param uint16_t filter_len
- ** @param const char *filter_name
- ** @param uint32_t filter_params_len
- ** @param const xcb_render_fixed_t *filter_params
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_transform (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_render_transform_t transform /**< */,
- uint16_t filter_len /**< */,
- const char *filter_name /**< */,
- uint32_t filter_params_len /**< */,
- const xcb_render_fixed_t *filter_params /**< */);
-
-int
-xcb_randr_get_crtc_transform_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_transform_cookie_t xcb_randr_get_crtc_transform
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_transform_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_transform_cookie_t
-xcb_randr_get_crtc_transform (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_transform_cookie_t xcb_randr_get_crtc_transform_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_transform_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_transform_cookie_t
-xcb_randr_get_crtc_transform_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-
-/*****************************************************************************
- **
- ** char * xcb_randr_get_crtc_transform_pending_filter_name
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_randr_get_crtc_transform_pending_filter_name (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_pending_filter_name_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_pending_filter_name_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_pending_filter_name_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_pending_filter_name_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_fixed_t * xcb_randr_get_crtc_transform_pending_params
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_render_fixed_t *
- **
- *****************************************************************************/
-
-xcb_render_fixed_t *
-xcb_randr_get_crtc_transform_pending_params (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_pending_params_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_pending_params_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_pending_params_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_pending_params_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** char * xcb_randr_get_crtc_transform_current_filter_name
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_randr_get_crtc_transform_current_filter_name (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_current_filter_name_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_current_filter_name_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_current_filter_name_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_current_filter_name_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_fixed_t * xcb_randr_get_crtc_transform_current_params
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_render_fixed_t *
- **
- *****************************************************************************/
-
-xcb_render_fixed_t *
-xcb_randr_get_crtc_transform_current_params (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_current_params_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_current_params_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_current_params_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_current_params_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_crtc_transform_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_transform_reply_t * xcb_randr_get_crtc_transform_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_transform_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_transform_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_transform_reply_t *
-xcb_randr_get_crtc_transform_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_transform_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_panning_cookie_t xcb_randr_get_panning
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_panning_cookie_t
-xcb_randr_get_panning (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_panning_cookie_t xcb_randr_get_panning_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_panning_cookie_t
-xcb_randr_get_panning_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_panning_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_panning_reply_t * xcb_randr_get_panning_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_panning_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_panning_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_panning_reply_t *
-xcb_randr_get_panning_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_panning_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_panning_cookie_t xcb_randr_set_panning
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param uint16_t left
- ** @param uint16_t top
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint16_t track_left
- ** @param uint16_t track_top
- ** @param uint16_t track_width
- ** @param uint16_t track_height
- ** @param int16_t border_left
- ** @param int16_t border_top
- ** @param int16_t border_right
- ** @param int16_t border_bottom
- ** @returns xcb_randr_set_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_panning_cookie_t
-xcb_randr_set_panning (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- uint16_t left /**< */,
- uint16_t top /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint16_t track_left /**< */,
- uint16_t track_top /**< */,
- uint16_t track_width /**< */,
- uint16_t track_height /**< */,
- int16_t border_left /**< */,
- int16_t border_top /**< */,
- int16_t border_right /**< */,
- int16_t border_bottom /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_panning_cookie_t xcb_randr_set_panning_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param uint16_t left
- ** @param uint16_t top
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint16_t track_left
- ** @param uint16_t track_top
- ** @param uint16_t track_width
- ** @param uint16_t track_height
- ** @param int16_t border_left
- ** @param int16_t border_top
- ** @param int16_t border_right
- ** @param int16_t border_bottom
- ** @returns xcb_randr_set_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_panning_cookie_t
-xcb_randr_set_panning_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- uint16_t left /**< */,
- uint16_t top /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint16_t track_left /**< */,
- uint16_t track_top /**< */,
- uint16_t track_width /**< */,
- uint16_t track_height /**< */,
- int16_t border_left /**< */,
- int16_t border_top /**< */,
- int16_t border_right /**< */,
- int16_t border_bottom /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_set_panning_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_set_panning_reply_t * xcb_randr_set_panning_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_set_panning_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_set_panning_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_set_panning_reply_t *
-xcb_randr_set_panning_reply (xcb_connection_t *c /**< */,
- xcb_randr_set_panning_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_output_primary_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_output_t output
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_output_primary_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_output_t output /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_output_primary
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_output_t output
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_output_primary (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_output_t output /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_primary_cookie_t xcb_randr_get_output_primary
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_output_primary_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_primary_cookie_t
-xcb_randr_get_output_primary (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_primary_cookie_t xcb_randr_get_output_primary_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_output_primary_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_primary_cookie_t
-xcb_randr_get_output_primary_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_randr_get_output_primary_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_primary_reply_t * xcb_randr_get_output_primary_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_output_primary_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_output_primary_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_output_primary_reply_t *
-xcb_randr_get_output_primary_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_output_primary_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_crtc_change_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_crtc_change_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_crtc_change_next
- **
- ** @param xcb_randr_crtc_change_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_crtc_change_next (xcb_randr_crtc_change_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_crtc_change_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_crtc_change_end
- **
- ** @param xcb_randr_crtc_change_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_crtc_change_end (xcb_randr_crtc_change_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_output_change_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_output_change_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_output_change_next
- **
- ** @param xcb_randr_output_change_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_output_change_next (xcb_randr_output_change_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_output_change_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_output_change_end
- **
- ** @param xcb_randr_output_change_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_output_change_end (xcb_randr_output_change_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_output_property_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_output_property_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_output_property_next
- **
- ** @param xcb_randr_output_property_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_output_property_next (xcb_randr_output_property_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_output_property_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_output_property_end
- **
- ** @param xcb_randr_output_property_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_output_property_end (xcb_randr_output_property_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_randr_notify_data_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_randr_notify_data_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_randr_notify_data_next
- **
- ** @param xcb_randr_notify_data_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_notify_data_next (xcb_randr_notify_data_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_randr_notify_data_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_notify_data_end
- **
- ** @param xcb_randr_notify_data_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_notify_data_end (xcb_randr_notify_data_iterator_t i /**< */);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**
- * @}
- */
diff --git a/src/3rdparty/xcb/include/xcb/render.h b/src/3rdparty/xcb/include/xcb/render.h
deleted file mode 100644
index eb7f0424d5..0000000000
--- a/src/3rdparty/xcb/include/xcb/render.h
+++ /dev/null
@@ -1,4513 +0,0 @@
-/*
- * This file generated automatically from render.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_Render_API XCB Render API
- * @brief Render XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __RENDER_H
-#define __RENDER_H
-
-#include "xcb.h"
-#include "xproto.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_RENDER_MAJOR_VERSION 0
-#define XCB_RENDER_MINOR_VERSION 11
-
-extern xcb_extension_t xcb_render_id;
-
-typedef enum xcb_render_pict_type_t {
- XCB_RENDER_PICT_TYPE_INDEXED,
- XCB_RENDER_PICT_TYPE_DIRECT
-} xcb_render_pict_type_t;
-
-typedef enum xcb_render_picture_enum_t {
- XCB_RENDER_PICTURE_NONE
-} xcb_render_picture_enum_t;
-
-typedef enum xcb_render_pict_op_t {
- XCB_RENDER_PICT_OP_CLEAR,
- XCB_RENDER_PICT_OP_SRC,
- XCB_RENDER_PICT_OP_DST,
- XCB_RENDER_PICT_OP_OVER,
- XCB_RENDER_PICT_OP_OVER_REVERSE,
- XCB_RENDER_PICT_OP_IN,
- XCB_RENDER_PICT_OP_IN_REVERSE,
- XCB_RENDER_PICT_OP_OUT,
- XCB_RENDER_PICT_OP_OUT_REVERSE,
- XCB_RENDER_PICT_OP_ATOP,
- XCB_RENDER_PICT_OP_ATOP_REVERSE,
- XCB_RENDER_PICT_OP_XOR,
- XCB_RENDER_PICT_OP_ADD,
- XCB_RENDER_PICT_OP_SATURATE,
- XCB_RENDER_PICT_OP_DISJOINT_CLEAR = 16,
- XCB_RENDER_PICT_OP_DISJOINT_SRC,
- XCB_RENDER_PICT_OP_DISJOINT_DST,
- XCB_RENDER_PICT_OP_DISJOINT_OVER,
- XCB_RENDER_PICT_OP_DISJOINT_OVER_REVERSE,
- XCB_RENDER_PICT_OP_DISJOINT_IN,
- XCB_RENDER_PICT_OP_DISJOINT_IN_REVERSE,
- XCB_RENDER_PICT_OP_DISJOINT_OUT,
- XCB_RENDER_PICT_OP_DISJOINT_OUT_REVERSE,
- XCB_RENDER_PICT_OP_DISJOINT_ATOP,
- XCB_RENDER_PICT_OP_DISJOINT_ATOP_REVERSE,
- XCB_RENDER_PICT_OP_DISJOINT_XOR,
- XCB_RENDER_PICT_OP_CONJOINT_CLEAR = 32,
- XCB_RENDER_PICT_OP_CONJOINT_SRC,
- XCB_RENDER_PICT_OP_CONJOINT_DST,
- XCB_RENDER_PICT_OP_CONJOINT_OVER,
- XCB_RENDER_PICT_OP_CONJOINT_OVER_REVERSE,
- XCB_RENDER_PICT_OP_CONJOINT_IN,
- XCB_RENDER_PICT_OP_CONJOINT_IN_REVERSE,
- XCB_RENDER_PICT_OP_CONJOINT_OUT,
- XCB_RENDER_PICT_OP_CONJOINT_OUT_REVERSE,
- XCB_RENDER_PICT_OP_CONJOINT_ATOP,
- XCB_RENDER_PICT_OP_CONJOINT_ATOP_REVERSE,
- XCB_RENDER_PICT_OP_CONJOINT_XOR,
- XCB_RENDER_PICT_OP_MULTIPLY = 48,
- XCB_RENDER_PICT_OP_SCREEN,
- XCB_RENDER_PICT_OP_OVERLAY,
- XCB_RENDER_PICT_OP_DARKEN,
- XCB_RENDER_PICT_OP_LIGHTEN,
- XCB_RENDER_PICT_OP_COLOR_DODGE,
- XCB_RENDER_PICT_OP_COLOR_BURN,
- XCB_RENDER_PICT_OP_HARD_LIGHT,
- XCB_RENDER_PICT_OP_SOFT_LIGHT,
- XCB_RENDER_PICT_OP_DIFFERENCE,
- XCB_RENDER_PICT_OP_EXCLUSION,
- XCB_RENDER_PICT_OP_HSL_HUE,
- XCB_RENDER_PICT_OP_HSL_SATURATION,
- XCB_RENDER_PICT_OP_HSL_COLOR,
- XCB_RENDER_PICT_OP_HSL_LUMINOSITY
-} xcb_render_pict_op_t;
-
-typedef enum xcb_render_poly_edge_t {
- XCB_RENDER_POLY_EDGE_SHARP,
- XCB_RENDER_POLY_EDGE_SMOOTH
-} xcb_render_poly_edge_t;
-
-typedef enum xcb_render_poly_mode_t {
- XCB_RENDER_POLY_MODE_PRECISE,
- XCB_RENDER_POLY_MODE_IMPRECISE
-} xcb_render_poly_mode_t;
-
-typedef enum xcb_render_cp_t {
- XCB_RENDER_CP_REPEAT = 1,
- XCB_RENDER_CP_ALPHA_MAP = 2,
- XCB_RENDER_CP_ALPHA_X_ORIGIN = 4,
- XCB_RENDER_CP_ALPHA_Y_ORIGIN = 8,
- XCB_RENDER_CP_CLIP_X_ORIGIN = 16,
- XCB_RENDER_CP_CLIP_Y_ORIGIN = 32,
- XCB_RENDER_CP_CLIP_MASK = 64,
- XCB_RENDER_CP_GRAPHICS_EXPOSURE = 128,
- XCB_RENDER_CP_SUBWINDOW_MODE = 256,
- XCB_RENDER_CP_POLY_EDGE = 512,
- XCB_RENDER_CP_POLY_MODE = 1024,
- XCB_RENDER_CP_DITHER = 2048,
- XCB_RENDER_CP_COMPONENT_ALPHA = 4096
-} xcb_render_cp_t;
-
-typedef enum xcb_render_sub_pixel_t {
- XCB_RENDER_SUB_PIXEL_UNKNOWN,
- XCB_RENDER_SUB_PIXEL_HORIZONTAL_RGB,
- XCB_RENDER_SUB_PIXEL_HORIZONTAL_BGR,
- XCB_RENDER_SUB_PIXEL_VERTICAL_RGB,
- XCB_RENDER_SUB_PIXEL_VERTICAL_BGR,
- XCB_RENDER_SUB_PIXEL_NONE
-} xcb_render_sub_pixel_t;
-
-typedef enum xcb_render_repeat_t {
- XCB_RENDER_REPEAT_NONE,
- XCB_RENDER_REPEAT_NORMAL,
- XCB_RENDER_REPEAT_PAD,
- XCB_RENDER_REPEAT_REFLECT
-} xcb_render_repeat_t;
-
-typedef uint32_t xcb_render_glyph_t;
-
-/**
- * @brief xcb_render_glyph_iterator_t
- **/
-typedef struct xcb_render_glyph_iterator_t {
- xcb_render_glyph_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_glyph_iterator_t;
-
-typedef uint32_t xcb_render_glyphset_t;
-
-/**
- * @brief xcb_render_glyphset_iterator_t
- **/
-typedef struct xcb_render_glyphset_iterator_t {
- xcb_render_glyphset_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_glyphset_iterator_t;
-
-typedef uint32_t xcb_render_picture_t;
-
-/**
- * @brief xcb_render_picture_iterator_t
- **/
-typedef struct xcb_render_picture_iterator_t {
- xcb_render_picture_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_picture_iterator_t;
-
-typedef uint32_t xcb_render_pictformat_t;
-
-/**
- * @brief xcb_render_pictformat_iterator_t
- **/
-typedef struct xcb_render_pictformat_iterator_t {
- xcb_render_pictformat_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictformat_iterator_t;
-
-typedef int32_t xcb_render_fixed_t;
-
-/**
- * @brief xcb_render_fixed_iterator_t
- **/
-typedef struct xcb_render_fixed_iterator_t {
- xcb_render_fixed_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_fixed_iterator_t;
-
-/** Opcode for xcb_render_pict_format. */
-#define XCB_RENDER_PICT_FORMAT 0
-
-/**
- * @brief xcb_render_pict_format_error_t
- **/
-typedef struct xcb_render_pict_format_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_pict_format_error_t;
-
-/** Opcode for xcb_render_picture. */
-#define XCB_RENDER_PICTURE 1
-
-/**
- * @brief xcb_render_picture_error_t
- **/
-typedef struct xcb_render_picture_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_picture_error_t;
-
-/** Opcode for xcb_render_pict_op. */
-#define XCB_RENDER_PICT_OP 2
-
-/**
- * @brief xcb_render_pict_op_error_t
- **/
-typedef struct xcb_render_pict_op_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_pict_op_error_t;
-
-/** Opcode for xcb_render_glyph_set. */
-#define XCB_RENDER_GLYPH_SET 3
-
-/**
- * @brief xcb_render_glyph_set_error_t
- **/
-typedef struct xcb_render_glyph_set_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_glyph_set_error_t;
-
-/** Opcode for xcb_render_glyph. */
-#define XCB_RENDER_GLYPH 4
-
-/**
- * @brief xcb_render_glyph_error_t
- **/
-typedef struct xcb_render_glyph_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_render_glyph_error_t;
-
-/**
- * @brief xcb_render_directformat_t
- **/
-typedef struct xcb_render_directformat_t {
- uint16_t red_shift; /**< */
- uint16_t red_mask; /**< */
- uint16_t green_shift; /**< */
- uint16_t green_mask; /**< */
- uint16_t blue_shift; /**< */
- uint16_t blue_mask; /**< */
- uint16_t alpha_shift; /**< */
- uint16_t alpha_mask; /**< */
-} xcb_render_directformat_t;
-
-/**
- * @brief xcb_render_directformat_iterator_t
- **/
-typedef struct xcb_render_directformat_iterator_t {
- xcb_render_directformat_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_directformat_iterator_t;
-
-/**
- * @brief xcb_render_pictforminfo_t
- **/
-typedef struct xcb_render_pictforminfo_t {
- xcb_render_pictformat_t id; /**< */
- uint8_t type; /**< */
- uint8_t depth; /**< */
- uint8_t pad0[2]; /**< */
- xcb_render_directformat_t direct; /**< */
- xcb_colormap_t colormap; /**< */
-} xcb_render_pictforminfo_t;
-
-/**
- * @brief xcb_render_pictforminfo_iterator_t
- **/
-typedef struct xcb_render_pictforminfo_iterator_t {
- xcb_render_pictforminfo_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictforminfo_iterator_t;
-
-/**
- * @brief xcb_render_pictvisual_t
- **/
-typedef struct xcb_render_pictvisual_t {
- xcb_visualid_t visual; /**< */
- xcb_render_pictformat_t format; /**< */
-} xcb_render_pictvisual_t;
-
-/**
- * @brief xcb_render_pictvisual_iterator_t
- **/
-typedef struct xcb_render_pictvisual_iterator_t {
- xcb_render_pictvisual_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictvisual_iterator_t;
-
-/**
- * @brief xcb_render_pictdepth_t
- **/
-typedef struct xcb_render_pictdepth_t {
- uint8_t depth; /**< */
- uint8_t pad0; /**< */
- uint16_t num_visuals; /**< */
- uint8_t pad1[4]; /**< */
-} xcb_render_pictdepth_t;
-
-/**
- * @brief xcb_render_pictdepth_iterator_t
- **/
-typedef struct xcb_render_pictdepth_iterator_t {
- xcb_render_pictdepth_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictdepth_iterator_t;
-
-/**
- * @brief xcb_render_pictscreen_t
- **/
-typedef struct xcb_render_pictscreen_t {
- uint32_t num_depths; /**< */
- xcb_render_pictformat_t fallback; /**< */
-} xcb_render_pictscreen_t;
-
-/**
- * @brief xcb_render_pictscreen_iterator_t
- **/
-typedef struct xcb_render_pictscreen_iterator_t {
- xcb_render_pictscreen_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pictscreen_iterator_t;
-
-/**
- * @brief xcb_render_indexvalue_t
- **/
-typedef struct xcb_render_indexvalue_t {
- uint32_t pixel; /**< */
- uint16_t red; /**< */
- uint16_t green; /**< */
- uint16_t blue; /**< */
- uint16_t alpha; /**< */
-} xcb_render_indexvalue_t;
-
-/**
- * @brief xcb_render_indexvalue_iterator_t
- **/
-typedef struct xcb_render_indexvalue_iterator_t {
- xcb_render_indexvalue_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_indexvalue_iterator_t;
-
-/**
- * @brief xcb_render_color_t
- **/
-typedef struct xcb_render_color_t {
- uint16_t red; /**< */
- uint16_t green; /**< */
- uint16_t blue; /**< */
- uint16_t alpha; /**< */
-} xcb_render_color_t;
-
-/**
- * @brief xcb_render_color_iterator_t
- **/
-typedef struct xcb_render_color_iterator_t {
- xcb_render_color_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_color_iterator_t;
-
-/**
- * @brief xcb_render_pointfix_t
- **/
-typedef struct xcb_render_pointfix_t {
- xcb_render_fixed_t x; /**< */
- xcb_render_fixed_t y; /**< */
-} xcb_render_pointfix_t;
-
-/**
- * @brief xcb_render_pointfix_iterator_t
- **/
-typedef struct xcb_render_pointfix_iterator_t {
- xcb_render_pointfix_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_pointfix_iterator_t;
-
-/**
- * @brief xcb_render_linefix_t
- **/
-typedef struct xcb_render_linefix_t {
- xcb_render_pointfix_t p1; /**< */
- xcb_render_pointfix_t p2; /**< */
-} xcb_render_linefix_t;
-
-/**
- * @brief xcb_render_linefix_iterator_t
- **/
-typedef struct xcb_render_linefix_iterator_t {
- xcb_render_linefix_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_linefix_iterator_t;
-
-/**
- * @brief xcb_render_triangle_t
- **/
-typedef struct xcb_render_triangle_t {
- xcb_render_pointfix_t p1; /**< */
- xcb_render_pointfix_t p2; /**< */
- xcb_render_pointfix_t p3; /**< */
-} xcb_render_triangle_t;
-
-/**
- * @brief xcb_render_triangle_iterator_t
- **/
-typedef struct xcb_render_triangle_iterator_t {
- xcb_render_triangle_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_triangle_iterator_t;
-
-/**
- * @brief xcb_render_trapezoid_t
- **/
-typedef struct xcb_render_trapezoid_t {
- xcb_render_fixed_t top; /**< */
- xcb_render_fixed_t bottom; /**< */
- xcb_render_linefix_t left; /**< */
- xcb_render_linefix_t right; /**< */
-} xcb_render_trapezoid_t;
-
-/**
- * @brief xcb_render_trapezoid_iterator_t
- **/
-typedef struct xcb_render_trapezoid_iterator_t {
- xcb_render_trapezoid_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_trapezoid_iterator_t;
-
-/**
- * @brief xcb_render_glyphinfo_t
- **/
-typedef struct xcb_render_glyphinfo_t {
- uint16_t width; /**< */
- uint16_t height; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- int16_t x_off; /**< */
- int16_t y_off; /**< */
-} xcb_render_glyphinfo_t;
-
-/**
- * @brief xcb_render_glyphinfo_iterator_t
- **/
-typedef struct xcb_render_glyphinfo_iterator_t {
- xcb_render_glyphinfo_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_glyphinfo_iterator_t;
-
-/**
- * @brief xcb_render_query_version_cookie_t
- **/
-typedef struct xcb_render_query_version_cookie_t {
- unsigned int sequence; /**< */
-} xcb_render_query_version_cookie_t;
-
-/** Opcode for xcb_render_query_version. */
-#define XCB_RENDER_QUERY_VERSION 0
-
-/**
- * @brief xcb_render_query_version_request_t
- **/
-typedef struct xcb_render_query_version_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint32_t client_major_version; /**< */
- uint32_t client_minor_version; /**< */
-} xcb_render_query_version_request_t;
-
-/**
- * @brief xcb_render_query_version_reply_t
- **/
-typedef struct xcb_render_query_version_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t major_version; /**< */
- uint32_t minor_version; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_render_query_version_reply_t;
-
-/**
- * @brief xcb_render_query_pict_formats_cookie_t
- **/
-typedef struct xcb_render_query_pict_formats_cookie_t {
- unsigned int sequence; /**< */
-} xcb_render_query_pict_formats_cookie_t;
-
-/** Opcode for xcb_render_query_pict_formats. */
-#define XCB_RENDER_QUERY_PICT_FORMATS 1
-
-/**
- * @brief xcb_render_query_pict_formats_request_t
- **/
-typedef struct xcb_render_query_pict_formats_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_render_query_pict_formats_request_t;
-
-/**
- * @brief xcb_render_query_pict_formats_reply_t
- **/
-typedef struct xcb_render_query_pict_formats_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t num_formats; /**< */
- uint32_t num_screens; /**< */
- uint32_t num_depths; /**< */
- uint32_t num_visuals; /**< */
- uint32_t num_subpixel; /**< */
- uint8_t pad1[4]; /**< */
-} xcb_render_query_pict_formats_reply_t;
-
-/**
- * @brief xcb_render_query_pict_index_values_cookie_t
- **/
-typedef struct xcb_render_query_pict_index_values_cookie_t {
- unsigned int sequence; /**< */
-} xcb_render_query_pict_index_values_cookie_t;
-
-/** Opcode for xcb_render_query_pict_index_values. */
-#define XCB_RENDER_QUERY_PICT_INDEX_VALUES 2
-
-/**
- * @brief xcb_render_query_pict_index_values_request_t
- **/
-typedef struct xcb_render_query_pict_index_values_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_pictformat_t format; /**< */
-} xcb_render_query_pict_index_values_request_t;
-
-/**
- * @brief xcb_render_query_pict_index_values_reply_t
- **/
-typedef struct xcb_render_query_pict_index_values_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t num_values; /**< */
- uint8_t pad1[20]; /**< */
-} xcb_render_query_pict_index_values_reply_t;
-
-/** Opcode for xcb_render_create_picture. */
-#define XCB_RENDER_CREATE_PICTURE 4
-
-/**
- * @brief xcb_render_create_picture_request_t
- **/
-typedef struct xcb_render_create_picture_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t pid; /**< */
- xcb_drawable_t drawable; /**< */
- xcb_render_pictformat_t format; /**< */
- uint32_t value_mask; /**< */
-} xcb_render_create_picture_request_t;
-
-/** Opcode for xcb_render_change_picture. */
-#define XCB_RENDER_CHANGE_PICTURE 5
-
-/**
- * @brief xcb_render_change_picture_request_t
- **/
-typedef struct xcb_render_change_picture_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- uint32_t value_mask; /**< */
-} xcb_render_change_picture_request_t;
-
-/** Opcode for xcb_render_set_picture_clip_rectangles. */
-#define XCB_RENDER_SET_PICTURE_CLIP_RECTANGLES 6
-
-/**
- * @brief xcb_render_set_picture_clip_rectangles_request_t
- **/
-typedef struct xcb_render_set_picture_clip_rectangles_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- int16_t clip_x_origin; /**< */
- int16_t clip_y_origin; /**< */
-} xcb_render_set_picture_clip_rectangles_request_t;
-
-/** Opcode for xcb_render_free_picture. */
-#define XCB_RENDER_FREE_PICTURE 7
-
-/**
- * @brief xcb_render_free_picture_request_t
- **/
-typedef struct xcb_render_free_picture_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
-} xcb_render_free_picture_request_t;
-
-/** Opcode for xcb_render_composite. */
-#define XCB_RENDER_COMPOSITE 8
-
-/**
- * @brief xcb_render_composite_request_t
- **/
-typedef struct xcb_render_composite_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t mask; /**< */
- xcb_render_picture_t dst; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
- int16_t mask_x; /**< */
- int16_t mask_y; /**< */
- int16_t dst_x; /**< */
- int16_t dst_y; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
-} xcb_render_composite_request_t;
-
-/** Opcode for xcb_render_trapezoids. */
-#define XCB_RENDER_TRAPEZOIDS 10
-
-/**
- * @brief xcb_render_trapezoids_request_t
- **/
-typedef struct xcb_render_trapezoids_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_trapezoids_request_t;
-
-/** Opcode for xcb_render_triangles. */
-#define XCB_RENDER_TRIANGLES 11
-
-/**
- * @brief xcb_render_triangles_request_t
- **/
-typedef struct xcb_render_triangles_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_triangles_request_t;
-
-/** Opcode for xcb_render_tri_strip. */
-#define XCB_RENDER_TRI_STRIP 12
-
-/**
- * @brief xcb_render_tri_strip_request_t
- **/
-typedef struct xcb_render_tri_strip_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_tri_strip_request_t;
-
-/** Opcode for xcb_render_tri_fan. */
-#define XCB_RENDER_TRI_FAN 13
-
-/**
- * @brief xcb_render_tri_fan_request_t
- **/
-typedef struct xcb_render_tri_fan_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_tri_fan_request_t;
-
-/** Opcode for xcb_render_create_glyph_set. */
-#define XCB_RENDER_CREATE_GLYPH_SET 17
-
-/**
- * @brief xcb_render_create_glyph_set_request_t
- **/
-typedef struct xcb_render_create_glyph_set_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t gsid; /**< */
- xcb_render_pictformat_t format; /**< */
-} xcb_render_create_glyph_set_request_t;
-
-/** Opcode for xcb_render_reference_glyph_set. */
-#define XCB_RENDER_REFERENCE_GLYPH_SET 18
-
-/**
- * @brief xcb_render_reference_glyph_set_request_t
- **/
-typedef struct xcb_render_reference_glyph_set_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t gsid; /**< */
- xcb_render_glyphset_t existing; /**< */
-} xcb_render_reference_glyph_set_request_t;
-
-/** Opcode for xcb_render_free_glyph_set. */
-#define XCB_RENDER_FREE_GLYPH_SET 19
-
-/**
- * @brief xcb_render_free_glyph_set_request_t
- **/
-typedef struct xcb_render_free_glyph_set_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t glyphset; /**< */
-} xcb_render_free_glyph_set_request_t;
-
-/** Opcode for xcb_render_add_glyphs. */
-#define XCB_RENDER_ADD_GLYPHS 20
-
-/**
- * @brief xcb_render_add_glyphs_request_t
- **/
-typedef struct xcb_render_add_glyphs_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t glyphset; /**< */
- uint32_t glyphs_len; /**< */
-} xcb_render_add_glyphs_request_t;
-
-/** Opcode for xcb_render_free_glyphs. */
-#define XCB_RENDER_FREE_GLYPHS 22
-
-/**
- * @brief xcb_render_free_glyphs_request_t
- **/
-typedef struct xcb_render_free_glyphs_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_glyphset_t glyphset; /**< */
-} xcb_render_free_glyphs_request_t;
-
-/** Opcode for xcb_render_composite_glyphs_8. */
-#define XCB_RENDER_COMPOSITE_GLYPHS_8 23
-
-/**
- * @brief xcb_render_composite_glyphs_8_request_t
- **/
-typedef struct xcb_render_composite_glyphs_8_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- xcb_render_glyphset_t glyphset; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_composite_glyphs_8_request_t;
-
-/** Opcode for xcb_render_composite_glyphs_16. */
-#define XCB_RENDER_COMPOSITE_GLYPHS_16 24
-
-/**
- * @brief xcb_render_composite_glyphs_16_request_t
- **/
-typedef struct xcb_render_composite_glyphs_16_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- xcb_render_glyphset_t glyphset; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_composite_glyphs_16_request_t;
-
-/** Opcode for xcb_render_composite_glyphs_32. */
-#define XCB_RENDER_COMPOSITE_GLYPHS_32 25
-
-/**
- * @brief xcb_render_composite_glyphs_32_request_t
- **/
-typedef struct xcb_render_composite_glyphs_32_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t src; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_pictformat_t mask_format; /**< */
- xcb_render_glyphset_t glyphset; /**< */
- int16_t src_x; /**< */
- int16_t src_y; /**< */
-} xcb_render_composite_glyphs_32_request_t;
-
-/** Opcode for xcb_render_fill_rectangles. */
-#define XCB_RENDER_FILL_RECTANGLES 26
-
-/**
- * @brief xcb_render_fill_rectangles_request_t
- **/
-typedef struct xcb_render_fill_rectangles_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t op; /**< */
- uint8_t pad0[3]; /**< */
- xcb_render_picture_t dst; /**< */
- xcb_render_color_t color; /**< */
-} xcb_render_fill_rectangles_request_t;
-
-/** Opcode for xcb_render_create_cursor. */
-#define XCB_RENDER_CREATE_CURSOR 27
-
-/**
- * @brief xcb_render_create_cursor_request_t
- **/
-typedef struct xcb_render_create_cursor_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_cursor_t cid; /**< */
- xcb_render_picture_t source; /**< */
- uint16_t x; /**< */
- uint16_t y; /**< */
-} xcb_render_create_cursor_request_t;
-
-/**
- * @brief xcb_render_transform_t
- **/
-typedef struct xcb_render_transform_t {
- xcb_render_fixed_t matrix11; /**< */
- xcb_render_fixed_t matrix12; /**< */
- xcb_render_fixed_t matrix13; /**< */
- xcb_render_fixed_t matrix21; /**< */
- xcb_render_fixed_t matrix22; /**< */
- xcb_render_fixed_t matrix23; /**< */
- xcb_render_fixed_t matrix31; /**< */
- xcb_render_fixed_t matrix32; /**< */
- xcb_render_fixed_t matrix33; /**< */
-} xcb_render_transform_t;
-
-/**
- * @brief xcb_render_transform_iterator_t
- **/
-typedef struct xcb_render_transform_iterator_t {
- xcb_render_transform_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_transform_iterator_t;
-
-/** Opcode for xcb_render_set_picture_transform. */
-#define XCB_RENDER_SET_PICTURE_TRANSFORM 28
-
-/**
- * @brief xcb_render_set_picture_transform_request_t
- **/
-typedef struct xcb_render_set_picture_transform_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_transform_t transform; /**< */
-} xcb_render_set_picture_transform_request_t;
-
-/**
- * @brief xcb_render_query_filters_cookie_t
- **/
-typedef struct xcb_render_query_filters_cookie_t {
- unsigned int sequence; /**< */
-} xcb_render_query_filters_cookie_t;
-
-/** Opcode for xcb_render_query_filters. */
-#define XCB_RENDER_QUERY_FILTERS 29
-
-/**
- * @brief xcb_render_query_filters_request_t
- **/
-typedef struct xcb_render_query_filters_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_drawable_t drawable; /**< */
-} xcb_render_query_filters_request_t;
-
-/**
- * @brief xcb_render_query_filters_reply_t
- **/
-typedef struct xcb_render_query_filters_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t num_aliases; /**< */
- uint32_t num_filters; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_render_query_filters_reply_t;
-
-/** Opcode for xcb_render_set_picture_filter. */
-#define XCB_RENDER_SET_PICTURE_FILTER 30
-
-/**
- * @brief xcb_render_set_picture_filter_request_t
- **/
-typedef struct xcb_render_set_picture_filter_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- uint16_t filter_len; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_render_set_picture_filter_request_t;
-
-/**
- * @brief xcb_render_animcursorelt_t
- **/
-typedef struct xcb_render_animcursorelt_t {
- xcb_cursor_t cursor; /**< */
- uint32_t delay; /**< */
-} xcb_render_animcursorelt_t;
-
-/**
- * @brief xcb_render_animcursorelt_iterator_t
- **/
-typedef struct xcb_render_animcursorelt_iterator_t {
- xcb_render_animcursorelt_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_animcursorelt_iterator_t;
-
-/** Opcode for xcb_render_create_anim_cursor. */
-#define XCB_RENDER_CREATE_ANIM_CURSOR 31
-
-/**
- * @brief xcb_render_create_anim_cursor_request_t
- **/
-typedef struct xcb_render_create_anim_cursor_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_cursor_t cid; /**< */
-} xcb_render_create_anim_cursor_request_t;
-
-/**
- * @brief xcb_render_spanfix_t
- **/
-typedef struct xcb_render_spanfix_t {
- xcb_render_fixed_t l; /**< */
- xcb_render_fixed_t r; /**< */
- xcb_render_fixed_t y; /**< */
-} xcb_render_spanfix_t;
-
-/**
- * @brief xcb_render_spanfix_iterator_t
- **/
-typedef struct xcb_render_spanfix_iterator_t {
- xcb_render_spanfix_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_spanfix_iterator_t;
-
-/**
- * @brief xcb_render_trap_t
- **/
-typedef struct xcb_render_trap_t {
- xcb_render_spanfix_t top; /**< */
- xcb_render_spanfix_t bot; /**< */
-} xcb_render_trap_t;
-
-/**
- * @brief xcb_render_trap_iterator_t
- **/
-typedef struct xcb_render_trap_iterator_t {
- xcb_render_trap_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_render_trap_iterator_t;
-
-/** Opcode for xcb_render_add_traps. */
-#define XCB_RENDER_ADD_TRAPS 32
-
-/**
- * @brief xcb_render_add_traps_request_t
- **/
-typedef struct xcb_render_add_traps_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- int16_t x_off; /**< */
- int16_t y_off; /**< */
-} xcb_render_add_traps_request_t;
-
-/** Opcode for xcb_render_create_solid_fill. */
-#define XCB_RENDER_CREATE_SOLID_FILL 33
-
-/**
- * @brief xcb_render_create_solid_fill_request_t
- **/
-typedef struct xcb_render_create_solid_fill_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_color_t color; /**< */
-} xcb_render_create_solid_fill_request_t;
-
-/** Opcode for xcb_render_create_linear_gradient. */
-#define XCB_RENDER_CREATE_LINEAR_GRADIENT 34
-
-/**
- * @brief xcb_render_create_linear_gradient_request_t
- **/
-typedef struct xcb_render_create_linear_gradient_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_pointfix_t p1; /**< */
- xcb_render_pointfix_t p2; /**< */
- uint32_t num_stops; /**< */
-} xcb_render_create_linear_gradient_request_t;
-
-/** Opcode for xcb_render_create_radial_gradient. */
-#define XCB_RENDER_CREATE_RADIAL_GRADIENT 35
-
-/**
- * @brief xcb_render_create_radial_gradient_request_t
- **/
-typedef struct xcb_render_create_radial_gradient_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_pointfix_t inner; /**< */
- xcb_render_pointfix_t outer; /**< */
- xcb_render_fixed_t inner_radius; /**< */
- xcb_render_fixed_t outer_radius; /**< */
- uint32_t num_stops; /**< */
-} xcb_render_create_radial_gradient_request_t;
-
-/** Opcode for xcb_render_create_conical_gradient. */
-#define XCB_RENDER_CREATE_CONICAL_GRADIENT 36
-
-/**
- * @brief xcb_render_create_conical_gradient_request_t
- **/
-typedef struct xcb_render_create_conical_gradient_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_render_pointfix_t center; /**< */
- xcb_render_fixed_t angle; /**< */
- uint32_t num_stops; /**< */
-} xcb_render_create_conical_gradient_request_t;
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_glyph_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_glyph_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_glyph_next
- **
- ** @param xcb_render_glyph_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_glyph_next (xcb_render_glyph_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_glyph_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_glyph_end
- **
- ** @param xcb_render_glyph_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_glyph_end (xcb_render_glyph_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_glyphset_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_glyphset_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_glyphset_next
- **
- ** @param xcb_render_glyphset_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_glyphset_next (xcb_render_glyphset_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_glyphset_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_glyphset_end
- **
- ** @param xcb_render_glyphset_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_glyphset_end (xcb_render_glyphset_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_picture_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_picture_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_picture_next
- **
- ** @param xcb_render_picture_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_picture_next (xcb_render_picture_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_picture_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_picture_end
- **
- ** @param xcb_render_picture_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_picture_end (xcb_render_picture_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictformat_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictformat_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictformat_next
- **
- ** @param xcb_render_pictformat_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictformat_next (xcb_render_pictformat_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictformat_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictformat_end
- **
- ** @param xcb_render_pictformat_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictformat_end (xcb_render_pictformat_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_fixed_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_fixed_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_fixed_next
- **
- ** @param xcb_render_fixed_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_fixed_next (xcb_render_fixed_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_fixed_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_fixed_end
- **
- ** @param xcb_render_fixed_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_fixed_end (xcb_render_fixed_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_directformat_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_directformat_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_directformat_next
- **
- ** @param xcb_render_directformat_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_directformat_next (xcb_render_directformat_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_directformat_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_directformat_end
- **
- ** @param xcb_render_directformat_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_directformat_end (xcb_render_directformat_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictforminfo_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictforminfo_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictforminfo_next
- **
- ** @param xcb_render_pictforminfo_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictforminfo_next (xcb_render_pictforminfo_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictforminfo_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictforminfo_end
- **
- ** @param xcb_render_pictforminfo_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictforminfo_end (xcb_render_pictforminfo_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictvisual_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictvisual_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictvisual_next
- **
- ** @param xcb_render_pictvisual_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictvisual_next (xcb_render_pictvisual_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictvisual_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictvisual_end
- **
- ** @param xcb_render_pictvisual_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictvisual_end (xcb_render_pictvisual_iterator_t i /**< */);
-
-int
-xcb_render_pictdepth_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictvisual_t * xcb_render_pictdepth_visuals
- **
- ** @param const xcb_render_pictdepth_t *R
- ** @returns xcb_render_pictvisual_t *
- **
- *****************************************************************************/
-
-xcb_render_pictvisual_t *
-xcb_render_pictdepth_visuals (const xcb_render_pictdepth_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_pictdepth_visuals_length
- **
- ** @param const xcb_render_pictdepth_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_pictdepth_visuals_length (const xcb_render_pictdepth_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictvisual_iterator_t xcb_render_pictdepth_visuals_iterator
- **
- ** @param const xcb_render_pictdepth_t *R
- ** @returns xcb_render_pictvisual_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictvisual_iterator_t
-xcb_render_pictdepth_visuals_iterator (const xcb_render_pictdepth_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictdepth_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictdepth_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictdepth_next
- **
- ** @param xcb_render_pictdepth_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictdepth_next (xcb_render_pictdepth_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictdepth_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictdepth_end
- **
- ** @param xcb_render_pictdepth_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictdepth_end (xcb_render_pictdepth_iterator_t i /**< */);
-
-int
-xcb_render_pictscreen_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_pictscreen_depths_length
- **
- ** @param const xcb_render_pictscreen_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_pictscreen_depths_length (const xcb_render_pictscreen_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictdepth_iterator_t xcb_render_pictscreen_depths_iterator
- **
- ** @param const xcb_render_pictscreen_t *R
- ** @returns xcb_render_pictdepth_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictdepth_iterator_t
-xcb_render_pictscreen_depths_iterator (const xcb_render_pictscreen_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pictscreen_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pictscreen_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pictscreen_next
- **
- ** @param xcb_render_pictscreen_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictscreen_next (xcb_render_pictscreen_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pictscreen_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictscreen_end
- **
- ** @param xcb_render_pictscreen_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictscreen_end (xcb_render_pictscreen_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_indexvalue_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_indexvalue_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_indexvalue_next
- **
- ** @param xcb_render_indexvalue_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_indexvalue_next (xcb_render_indexvalue_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_indexvalue_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_indexvalue_end
- **
- ** @param xcb_render_indexvalue_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_indexvalue_end (xcb_render_indexvalue_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_color_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_color_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_color_next
- **
- ** @param xcb_render_color_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_color_next (xcb_render_color_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_color_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_color_end
- **
- ** @param xcb_render_color_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_color_end (xcb_render_color_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_pointfix_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_pointfix_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_pointfix_next
- **
- ** @param xcb_render_pointfix_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pointfix_next (xcb_render_pointfix_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_pointfix_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pointfix_end
- **
- ** @param xcb_render_pointfix_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pointfix_end (xcb_render_pointfix_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_linefix_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_linefix_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_linefix_next
- **
- ** @param xcb_render_linefix_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_linefix_next (xcb_render_linefix_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_linefix_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_linefix_end
- **
- ** @param xcb_render_linefix_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_linefix_end (xcb_render_linefix_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_triangle_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_triangle_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_triangle_next
- **
- ** @param xcb_render_triangle_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_triangle_next (xcb_render_triangle_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_triangle_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_triangle_end
- **
- ** @param xcb_render_triangle_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_triangle_end (xcb_render_triangle_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_trapezoid_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_trapezoid_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_trapezoid_next
- **
- ** @param xcb_render_trapezoid_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_trapezoid_next (xcb_render_trapezoid_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_trapezoid_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_trapezoid_end
- **
- ** @param xcb_render_trapezoid_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_trapezoid_end (xcb_render_trapezoid_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_glyphinfo_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_glyphinfo_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_glyphinfo_next
- **
- ** @param xcb_render_glyphinfo_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_glyphinfo_next (xcb_render_glyphinfo_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_glyphinfo_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_glyphinfo_end
- **
- ** @param xcb_render_glyphinfo_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_glyphinfo_end (xcb_render_glyphinfo_iterator_t i /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_version_cookie_t xcb_render_query_version
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t client_major_version
- ** @param uint32_t client_minor_version
- ** @returns xcb_render_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_version_cookie_t
-xcb_render_query_version (xcb_connection_t *c /**< */,
- uint32_t client_major_version /**< */,
- uint32_t client_minor_version /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_version_cookie_t xcb_render_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t client_major_version
- ** @param uint32_t client_minor_version
- ** @returns xcb_render_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_version_cookie_t
-xcb_render_query_version_unchecked (xcb_connection_t *c /**< */,
- uint32_t client_major_version /**< */,
- uint32_t client_minor_version /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_render_query_version_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_version_reply_t * xcb_render_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_render_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_render_query_version_reply_t *
-xcb_render_query_version_reply (xcb_connection_t *c /**< */,
- xcb_render_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_render_query_pict_formats_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_formats_cookie_t xcb_render_query_pict_formats
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_render_query_pict_formats_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_pict_formats_cookie_t
-xcb_render_query_pict_formats (xcb_connection_t *c /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_formats_cookie_t xcb_render_query_pict_formats_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_render_query_pict_formats_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_pict_formats_cookie_t
-xcb_render_query_pict_formats_unchecked (xcb_connection_t *c /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictforminfo_t * xcb_render_query_pict_formats_formats
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns xcb_render_pictforminfo_t *
- **
- *****************************************************************************/
-
-xcb_render_pictforminfo_t *
-xcb_render_query_pict_formats_formats (const xcb_render_query_pict_formats_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_pict_formats_formats_length
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_pict_formats_formats_length (const xcb_render_query_pict_formats_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictforminfo_iterator_t xcb_render_query_pict_formats_formats_iterator
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns xcb_render_pictforminfo_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictforminfo_iterator_t
-xcb_render_query_pict_formats_formats_iterator (const xcb_render_query_pict_formats_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_pict_formats_screens_length
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_pict_formats_screens_length (const xcb_render_query_pict_formats_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictscreen_iterator_t xcb_render_query_pict_formats_screens_iterator
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns xcb_render_pictscreen_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictscreen_iterator_t
-xcb_render_query_pict_formats_screens_iterator (const xcb_render_query_pict_formats_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint32_t * xcb_render_query_pict_formats_subpixels
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns uint32_t *
- **
- *****************************************************************************/
-
-uint32_t *
-xcb_render_query_pict_formats_subpixels (const xcb_render_query_pict_formats_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_pict_formats_subpixels_length
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_pict_formats_subpixels_length (const xcb_render_query_pict_formats_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_query_pict_formats_subpixels_end
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_query_pict_formats_subpixels_end (const xcb_render_query_pict_formats_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_render_query_pict_formats_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_formats_reply_t * xcb_render_query_pict_formats_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_query_pict_formats_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_render_query_pict_formats_reply_t *
- **
- *****************************************************************************/
-
-xcb_render_query_pict_formats_reply_t *
-xcb_render_query_pict_formats_reply (xcb_connection_t *c /**< */,
- xcb_render_query_pict_formats_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_render_query_pict_index_values_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_index_values_cookie_t xcb_render_query_pict_index_values
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_pictformat_t format
- ** @returns xcb_render_query_pict_index_values_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_pict_index_values_cookie_t
-xcb_render_query_pict_index_values (xcb_connection_t *c /**< */,
- xcb_render_pictformat_t format /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_index_values_cookie_t xcb_render_query_pict_index_values_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_pictformat_t format
- ** @returns xcb_render_query_pict_index_values_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_pict_index_values_cookie_t
-xcb_render_query_pict_index_values_unchecked (xcb_connection_t *c /**< */,
- xcb_render_pictformat_t format /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_indexvalue_t * xcb_render_query_pict_index_values_values
- **
- ** @param const xcb_render_query_pict_index_values_reply_t *R
- ** @returns xcb_render_indexvalue_t *
- **
- *****************************************************************************/
-
-xcb_render_indexvalue_t *
-xcb_render_query_pict_index_values_values (const xcb_render_query_pict_index_values_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_pict_index_values_values_length
- **
- ** @param const xcb_render_query_pict_index_values_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_pict_index_values_values_length (const xcb_render_query_pict_index_values_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_render_indexvalue_iterator_t xcb_render_query_pict_index_values_values_iterator
- **
- ** @param const xcb_render_query_pict_index_values_reply_t *R
- ** @returns xcb_render_indexvalue_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_indexvalue_iterator_t
-xcb_render_query_pict_index_values_values_iterator (const xcb_render_query_pict_index_values_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_render_query_pict_index_values_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_index_values_reply_t * xcb_render_query_pict_index_values_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_query_pict_index_values_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_render_query_pict_index_values_reply_t *
- **
- *****************************************************************************/
-
-xcb_render_query_pict_index_values_reply_t *
-xcb_render_query_pict_index_values_reply (xcb_connection_t *c /**< */,
- xcb_render_query_pict_index_values_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_render_create_picture_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_picture_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t pid
- ** @param xcb_drawable_t drawable
- ** @param xcb_render_pictformat_t format
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_picture_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t pid /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_render_pictformat_t format /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_picture
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t pid
- ** @param xcb_drawable_t drawable
- ** @param xcb_render_pictformat_t format
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_picture (xcb_connection_t *c /**< */,
- xcb_render_picture_t pid /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_render_pictformat_t format /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */);
-
-int
-xcb_render_change_picture_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_change_picture_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_change_picture_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_change_picture
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_change_picture (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */);
-
-int
-xcb_render_set_picture_clip_rectangles_sizeof (const void *_buffer /**< */,
- uint32_t rectangles_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_clip_rectangles_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param int16_t clip_x_origin
- ** @param int16_t clip_y_origin
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_clip_rectangles_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- int16_t clip_x_origin /**< */,
- int16_t clip_y_origin /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_clip_rectangles
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param int16_t clip_x_origin
- ** @param int16_t clip_y_origin
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_clip_rectangles (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- int16_t clip_x_origin /**< */,
- int16_t clip_y_origin /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_picture_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_picture_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_picture
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_picture (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t mask
- ** @param xcb_render_picture_t dst
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param int16_t mask_x
- ** @param int16_t mask_y
- ** @param int16_t dst_x
- ** @param int16_t dst_y
- ** @param uint16_t width
- ** @param uint16_t height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t mask /**< */,
- xcb_render_picture_t dst /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- int16_t mask_x /**< */,
- int16_t mask_y /**< */,
- int16_t dst_x /**< */,
- int16_t dst_y /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t mask
- ** @param xcb_render_picture_t dst
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param int16_t mask_x
- ** @param int16_t mask_y
- ** @param int16_t dst_x
- ** @param int16_t dst_y
- ** @param uint16_t width
- ** @param uint16_t height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t mask /**< */,
- xcb_render_picture_t dst /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- int16_t mask_x /**< */,
- int16_t mask_y /**< */,
- int16_t dst_x /**< */,
- int16_t dst_y /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */);
-
-int
-xcb_render_trapezoids_sizeof (const void *_buffer /**< */,
- uint32_t traps_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_trapezoids_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t traps_len
- ** @param const xcb_render_trapezoid_t *traps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_trapezoids_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t traps_len /**< */,
- const xcb_render_trapezoid_t *traps /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_trapezoids
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t traps_len
- ** @param const xcb_render_trapezoid_t *traps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_trapezoids (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t traps_len /**< */,
- const xcb_render_trapezoid_t *traps /**< */);
-
-int
-xcb_render_triangles_sizeof (const void *_buffer /**< */,
- uint32_t triangles_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_triangles_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t triangles_len
- ** @param const xcb_render_triangle_t *triangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_triangles_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t triangles_len /**< */,
- const xcb_render_triangle_t *triangles /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_triangles
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t triangles_len
- ** @param const xcb_render_triangle_t *triangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_triangles (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t triangles_len /**< */,
- const xcb_render_triangle_t *triangles /**< */);
-
-int
-xcb_render_tri_strip_sizeof (const void *_buffer /**< */,
- uint32_t points_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_tri_strip_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t points_len
- ** @param const xcb_render_pointfix_t *points
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_tri_strip_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t points_len /**< */,
- const xcb_render_pointfix_t *points /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_tri_strip
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t points_len
- ** @param const xcb_render_pointfix_t *points
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_tri_strip (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t points_len /**< */,
- const xcb_render_pointfix_t *points /**< */);
-
-int
-xcb_render_tri_fan_sizeof (const void *_buffer /**< */,
- uint32_t points_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_tri_fan_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t points_len
- ** @param const xcb_render_pointfix_t *points
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_tri_fan_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t points_len /**< */,
- const xcb_render_pointfix_t *points /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_tri_fan
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t points_len
- ** @param const xcb_render_pointfix_t *points
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_tri_fan (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t points_len /**< */,
- const xcb_render_pointfix_t *points /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_glyph_set_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t gsid
- ** @param xcb_render_pictformat_t format
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_glyph_set_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t gsid /**< */,
- xcb_render_pictformat_t format /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_glyph_set
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t gsid
- ** @param xcb_render_pictformat_t format
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_glyph_set (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t gsid /**< */,
- xcb_render_pictformat_t format /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_reference_glyph_set_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t gsid
- ** @param xcb_render_glyphset_t existing
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_reference_glyph_set_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t gsid /**< */,
- xcb_render_glyphset_t existing /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_reference_glyph_set
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t gsid
- ** @param xcb_render_glyphset_t existing
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_reference_glyph_set (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t gsid /**< */,
- xcb_render_glyphset_t existing /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_glyph_set_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_glyph_set_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_glyph_set
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_glyph_set (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */);
-
-int
-xcb_render_add_glyphs_sizeof (const void *_buffer /**< */,
- uint32_t data_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_add_glyphs_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @param uint32_t glyphs_len
- ** @param const uint32_t *glyphids
- ** @param const xcb_render_glyphinfo_t *glyphs
- ** @param uint32_t data_len
- ** @param const uint8_t *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_add_glyphs_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- uint32_t glyphs_len /**< */,
- const uint32_t *glyphids /**< */,
- const xcb_render_glyphinfo_t *glyphs /**< */,
- uint32_t data_len /**< */,
- const uint8_t *data /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_add_glyphs
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @param uint32_t glyphs_len
- ** @param const uint32_t *glyphids
- ** @param const xcb_render_glyphinfo_t *glyphs
- ** @param uint32_t data_len
- ** @param const uint8_t *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_add_glyphs (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- uint32_t glyphs_len /**< */,
- const uint32_t *glyphids /**< */,
- const xcb_render_glyphinfo_t *glyphs /**< */,
- uint32_t data_len /**< */,
- const uint8_t *data /**< */);
-
-int
-xcb_render_free_glyphs_sizeof (const void *_buffer /**< */,
- uint32_t glyphs_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_glyphs_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @param uint32_t glyphs_len
- ** @param const xcb_render_glyph_t *glyphs
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_glyphs_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- uint32_t glyphs_len /**< */,
- const xcb_render_glyph_t *glyphs /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_glyphs
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @param uint32_t glyphs_len
- ** @param const xcb_render_glyph_t *glyphs
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_glyphs (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- uint32_t glyphs_len /**< */,
- const xcb_render_glyph_t *glyphs /**< */);
-
-int
-xcb_render_composite_glyphs_8_sizeof (const void *_buffer /**< */,
- uint32_t glyphcmds_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_8_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_8_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_8
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_8 (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */);
-
-int
-xcb_render_composite_glyphs_16_sizeof (const void *_buffer /**< */,
- uint32_t glyphcmds_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_16_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_16_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_16
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_16 (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */);
-
-int
-xcb_render_composite_glyphs_32_sizeof (const void *_buffer /**< */,
- uint32_t glyphcmds_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_32_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_32_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_32
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_32 (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */);
-
-int
-xcb_render_fill_rectangles_sizeof (const void *_buffer /**< */,
- uint32_t rects_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_fill_rectangles_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_color_t color
- ** @param uint32_t rects_len
- ** @param const xcb_rectangle_t *rects
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_fill_rectangles_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_color_t color /**< */,
- uint32_t rects_len /**< */,
- const xcb_rectangle_t *rects /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_fill_rectangles
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_color_t color
- ** @param uint32_t rects_len
- ** @param const xcb_rectangle_t *rects
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_fill_rectangles (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_color_t color /**< */,
- uint32_t rects_len /**< */,
- const xcb_rectangle_t *rects /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cid
- ** @param xcb_render_picture_t source
- ** @param uint16_t x
- ** @param uint16_t y
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_cursor_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t cid /**< */,
- xcb_render_picture_t source /**< */,
- uint16_t x /**< */,
- uint16_t y /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cid
- ** @param xcb_render_picture_t source
- ** @param uint16_t x
- ** @param uint16_t y
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_cursor (xcb_connection_t *c /**< */,
- xcb_cursor_t cid /**< */,
- xcb_render_picture_t source /**< */,
- uint16_t x /**< */,
- uint16_t y /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_transform_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_transform_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_transform_next
- **
- ** @param xcb_render_transform_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_transform_next (xcb_render_transform_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_transform_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_transform_end
- **
- ** @param xcb_render_transform_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_transform_end (xcb_render_transform_iterator_t i /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_transform_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_transform_t transform
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_transform_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_transform_t transform /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_transform
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_transform_t transform
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_transform (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_transform_t transform /**< */);
-
-int
-xcb_render_query_filters_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_filters_cookie_t xcb_render_query_filters
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @returns xcb_render_query_filters_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_filters_cookie_t
-xcb_render_query_filters (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_filters_cookie_t xcb_render_query_filters_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @returns xcb_render_query_filters_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_filters_cookie_t
-xcb_render_query_filters_unchecked (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_render_query_filters_aliases
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_render_query_filters_aliases (const xcb_render_query_filters_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_filters_aliases_length
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_filters_aliases_length (const xcb_render_query_filters_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_query_filters_aliases_end
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_query_filters_aliases_end (const xcb_render_query_filters_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_filters_filters_length
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_filters_filters_length (const xcb_render_query_filters_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_str_iterator_t xcb_render_query_filters_filters_iterator
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns xcb_str_iterator_t
- **
- *****************************************************************************/
-
-xcb_str_iterator_t
-xcb_render_query_filters_filters_iterator (const xcb_render_query_filters_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_render_query_filters_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_render_query_filters_reply_t * xcb_render_query_filters_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_query_filters_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_render_query_filters_reply_t *
- **
- *****************************************************************************/
-
-xcb_render_query_filters_reply_t *
-xcb_render_query_filters_reply (xcb_connection_t *c /**< */,
- xcb_render_query_filters_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_render_set_picture_filter_sizeof (const void *_buffer /**< */,
- uint32_t values_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_filter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param uint16_t filter_len
- ** @param const char *filter
- ** @param uint32_t values_len
- ** @param const xcb_render_fixed_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_filter_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- uint16_t filter_len /**< */,
- const char *filter /**< */,
- uint32_t values_len /**< */,
- const xcb_render_fixed_t *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_filter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param uint16_t filter_len
- ** @param const char *filter
- ** @param uint32_t values_len
- ** @param const xcb_render_fixed_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_filter (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- uint16_t filter_len /**< */,
- const char *filter /**< */,
- uint32_t values_len /**< */,
- const xcb_render_fixed_t *values /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_animcursorelt_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_animcursorelt_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_animcursorelt_next
- **
- ** @param xcb_render_animcursorelt_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_animcursorelt_next (xcb_render_animcursorelt_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_animcursorelt_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_animcursorelt_end
- **
- ** @param xcb_render_animcursorelt_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_animcursorelt_end (xcb_render_animcursorelt_iterator_t i /**< */);
-
-int
-xcb_render_create_anim_cursor_sizeof (const void *_buffer /**< */,
- uint32_t cursors_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_anim_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cid
- ** @param uint32_t cursors_len
- ** @param const xcb_render_animcursorelt_t *cursors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_anim_cursor_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t cid /**< */,
- uint32_t cursors_len /**< */,
- const xcb_render_animcursorelt_t *cursors /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_anim_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cid
- ** @param uint32_t cursors_len
- ** @param const xcb_render_animcursorelt_t *cursors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_anim_cursor (xcb_connection_t *c /**< */,
- xcb_cursor_t cid /**< */,
- uint32_t cursors_len /**< */,
- const xcb_render_animcursorelt_t *cursors /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_spanfix_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_spanfix_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_spanfix_next
- **
- ** @param xcb_render_spanfix_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_spanfix_next (xcb_render_spanfix_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_spanfix_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_spanfix_end
- **
- ** @param xcb_render_spanfix_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_spanfix_end (xcb_render_spanfix_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_render_trap_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_render_trap_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_render_trap_next
- **
- ** @param xcb_render_trap_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_trap_next (xcb_render_trap_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_render_trap_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_trap_end
- **
- ** @param xcb_render_trap_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_trap_end (xcb_render_trap_iterator_t i /**< */);
-
-int
-xcb_render_add_traps_sizeof (const void *_buffer /**< */,
- uint32_t traps_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_add_traps_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param int16_t x_off
- ** @param int16_t y_off
- ** @param uint32_t traps_len
- ** @param const xcb_render_trap_t *traps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_add_traps_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- int16_t x_off /**< */,
- int16_t y_off /**< */,
- uint32_t traps_len /**< */,
- const xcb_render_trap_t *traps /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_add_traps
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param int16_t x_off
- ** @param int16_t y_off
- ** @param uint32_t traps_len
- ** @param const xcb_render_trap_t *traps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_add_traps (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- int16_t x_off /**< */,
- int16_t y_off /**< */,
- uint32_t traps_len /**< */,
- const xcb_render_trap_t *traps /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_solid_fill_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_color_t color
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_solid_fill_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_color_t color /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_solid_fill
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_color_t color
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_solid_fill (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_color_t color /**< */);
-
-int
-xcb_render_create_linear_gradient_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_linear_gradient_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t p1
- ** @param xcb_render_pointfix_t p2
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_linear_gradient_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t p1 /**< */,
- xcb_render_pointfix_t p2 /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_linear_gradient
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t p1
- ** @param xcb_render_pointfix_t p2
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_linear_gradient (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t p1 /**< */,
- xcb_render_pointfix_t p2 /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */);
-
-int
-xcb_render_create_radial_gradient_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_radial_gradient_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t inner
- ** @param xcb_render_pointfix_t outer
- ** @param xcb_render_fixed_t inner_radius
- ** @param xcb_render_fixed_t outer_radius
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_radial_gradient_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t inner /**< */,
- xcb_render_pointfix_t outer /**< */,
- xcb_render_fixed_t inner_radius /**< */,
- xcb_render_fixed_t outer_radius /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_radial_gradient
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t inner
- ** @param xcb_render_pointfix_t outer
- ** @param xcb_render_fixed_t inner_radius
- ** @param xcb_render_fixed_t outer_radius
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_radial_gradient (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t inner /**< */,
- xcb_render_pointfix_t outer /**< */,
- xcb_render_fixed_t inner_radius /**< */,
- xcb_render_fixed_t outer_radius /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */);
-
-int
-xcb_render_create_conical_gradient_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_conical_gradient_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t center
- ** @param xcb_render_fixed_t angle
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_conical_gradient_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t center /**< */,
- xcb_render_fixed_t angle /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_conical_gradient
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t center
- ** @param xcb_render_fixed_t angle
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_conical_gradient (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t center /**< */,
- xcb_render_fixed_t angle /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**
- * @}
- */
diff --git a/src/3rdparty/xcb/include/xcb/shape.h b/src/3rdparty/xcb/include/xcb/shape.h
deleted file mode 100644
index 63919b42c7..0000000000
--- a/src/3rdparty/xcb/include/xcb/shape.h
+++ /dev/null
@@ -1,1103 +0,0 @@
-/*
- * This file generated automatically from shape.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_Shape_API XCB Shape API
- * @brief Shape XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __SHAPE_H
-#define __SHAPE_H
-
-#include "xcb.h"
-#include "xproto.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_SHAPE_MAJOR_VERSION 1
-#define XCB_SHAPE_MINOR_VERSION 1
-
-extern xcb_extension_t xcb_shape_id;
-
-typedef uint8_t xcb_shape_op_t;
-
-/**
- * @brief xcb_shape_op_iterator_t
- **/
-typedef struct xcb_shape_op_iterator_t {
- xcb_shape_op_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_shape_op_iterator_t;
-
-typedef uint8_t xcb_shape_kind_t;
-
-/**
- * @brief xcb_shape_kind_iterator_t
- **/
-typedef struct xcb_shape_kind_iterator_t {
- xcb_shape_kind_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_shape_kind_iterator_t;
-
-typedef enum xcb_shape_so_t {
- XCB_SHAPE_SO_SET,
- XCB_SHAPE_SO_UNION,
- XCB_SHAPE_SO_INTERSECT,
- XCB_SHAPE_SO_SUBTRACT,
- XCB_SHAPE_SO_INVERT
-} xcb_shape_so_t;
-
-typedef enum xcb_shape_sk_t {
- XCB_SHAPE_SK_BOUNDING,
- XCB_SHAPE_SK_CLIP,
- XCB_SHAPE_SK_INPUT
-} xcb_shape_sk_t;
-
-/** Opcode for xcb_shape_notify. */
-#define XCB_SHAPE_NOTIFY 0
-
-/**
- * @brief xcb_shape_notify_event_t
- **/
-typedef struct xcb_shape_notify_event_t {
- uint8_t response_type; /**< */
- xcb_shape_kind_t shape_kind; /**< */
- uint16_t sequence; /**< */
- xcb_window_t affected_window; /**< */
- int16_t extents_x; /**< */
- int16_t extents_y; /**< */
- uint16_t extents_width; /**< */
- uint16_t extents_height; /**< */
- xcb_timestamp_t server_time; /**< */
- uint8_t shaped; /**< */
- uint8_t pad0[11]; /**< */
-} xcb_shape_notify_event_t;
-
-/**
- * @brief xcb_shape_query_version_cookie_t
- **/
-typedef struct xcb_shape_query_version_cookie_t {
- unsigned int sequence; /**< */
-} xcb_shape_query_version_cookie_t;
-
-/** Opcode for xcb_shape_query_version. */
-#define XCB_SHAPE_QUERY_VERSION 0
-
-/**
- * @brief xcb_shape_query_version_request_t
- **/
-typedef struct xcb_shape_query_version_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_shape_query_version_request_t;
-
-/**
- * @brief xcb_shape_query_version_reply_t
- **/
-typedef struct xcb_shape_query_version_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t major_version; /**< */
- uint16_t minor_version; /**< */
-} xcb_shape_query_version_reply_t;
-
-/** Opcode for xcb_shape_rectangles. */
-#define XCB_SHAPE_RECTANGLES 1
-
-/**
- * @brief xcb_shape_rectangles_request_t
- **/
-typedef struct xcb_shape_rectangles_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_shape_op_t operation; /**< */
- xcb_shape_kind_t destination_kind; /**< */
- uint8_t ordering; /**< */
- uint8_t pad0; /**< */
- xcb_window_t destination_window; /**< */
- int16_t x_offset; /**< */
- int16_t y_offset; /**< */
-} xcb_shape_rectangles_request_t;
-
-/** Opcode for xcb_shape_mask. */
-#define XCB_SHAPE_MASK 2
-
-/**
- * @brief xcb_shape_mask_request_t
- **/
-typedef struct xcb_shape_mask_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_shape_op_t operation; /**< */
- xcb_shape_kind_t destination_kind; /**< */
- uint8_t pad0[2]; /**< */
- xcb_window_t destination_window; /**< */
- int16_t x_offset; /**< */
- int16_t y_offset; /**< */
- xcb_pixmap_t source_bitmap; /**< */
-} xcb_shape_mask_request_t;
-
-/** Opcode for xcb_shape_combine. */
-#define XCB_SHAPE_COMBINE 3
-
-/**
- * @brief xcb_shape_combine_request_t
- **/
-typedef struct xcb_shape_combine_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_shape_op_t operation; /**< */
- xcb_shape_kind_t destination_kind; /**< */
- xcb_shape_kind_t source_kind; /**< */
- uint8_t pad0; /**< */
- xcb_window_t destination_window; /**< */
- int16_t x_offset; /**< */
- int16_t y_offset; /**< */
- xcb_window_t source_window; /**< */
-} xcb_shape_combine_request_t;
-
-/** Opcode for xcb_shape_offset. */
-#define XCB_SHAPE_OFFSET 4
-
-/**
- * @brief xcb_shape_offset_request_t
- **/
-typedef struct xcb_shape_offset_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_shape_kind_t destination_kind; /**< */
- uint8_t pad0[3]; /**< */
- xcb_window_t destination_window; /**< */
- int16_t x_offset; /**< */
- int16_t y_offset; /**< */
-} xcb_shape_offset_request_t;
-
-/**
- * @brief xcb_shape_query_extents_cookie_t
- **/
-typedef struct xcb_shape_query_extents_cookie_t {
- unsigned int sequence; /**< */
-} xcb_shape_query_extents_cookie_t;
-
-/** Opcode for xcb_shape_query_extents. */
-#define XCB_SHAPE_QUERY_EXTENTS 5
-
-/**
- * @brief xcb_shape_query_extents_request_t
- **/
-typedef struct xcb_shape_query_extents_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t destination_window; /**< */
-} xcb_shape_query_extents_request_t;
-
-/**
- * @brief xcb_shape_query_extents_reply_t
- **/
-typedef struct xcb_shape_query_extents_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint8_t bounding_shaped; /**< */
- uint8_t clip_shaped; /**< */
- uint8_t pad1[2]; /**< */
- int16_t bounding_shape_extents_x; /**< */
- int16_t bounding_shape_extents_y; /**< */
- uint16_t bounding_shape_extents_width; /**< */
- uint16_t bounding_shape_extents_height; /**< */
- int16_t clip_shape_extents_x; /**< */
- int16_t clip_shape_extents_y; /**< */
- uint16_t clip_shape_extents_width; /**< */
- uint16_t clip_shape_extents_height; /**< */
-} xcb_shape_query_extents_reply_t;
-
-/** Opcode for xcb_shape_select_input. */
-#define XCB_SHAPE_SELECT_INPUT 6
-
-/**
- * @brief xcb_shape_select_input_request_t
- **/
-typedef struct xcb_shape_select_input_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t destination_window; /**< */
- uint8_t enable; /**< */
- uint8_t pad0[3]; /**< */
-} xcb_shape_select_input_request_t;
-
-/**
- * @brief xcb_shape_input_selected_cookie_t
- **/
-typedef struct xcb_shape_input_selected_cookie_t {
- unsigned int sequence; /**< */
-} xcb_shape_input_selected_cookie_t;
-
-/** Opcode for xcb_shape_input_selected. */
-#define XCB_SHAPE_INPUT_SELECTED 7
-
-/**
- * @brief xcb_shape_input_selected_request_t
- **/
-typedef struct xcb_shape_input_selected_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t destination_window; /**< */
-} xcb_shape_input_selected_request_t;
-
-/**
- * @brief xcb_shape_input_selected_reply_t
- **/
-typedef struct xcb_shape_input_selected_reply_t {
- uint8_t response_type; /**< */
- uint8_t enabled; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
-} xcb_shape_input_selected_reply_t;
-
-/**
- * @brief xcb_shape_get_rectangles_cookie_t
- **/
-typedef struct xcb_shape_get_rectangles_cookie_t {
- unsigned int sequence; /**< */
-} xcb_shape_get_rectangles_cookie_t;
-
-/** Opcode for xcb_shape_get_rectangles. */
-#define XCB_SHAPE_GET_RECTANGLES 8
-
-/**
- * @brief xcb_shape_get_rectangles_request_t
- **/
-typedef struct xcb_shape_get_rectangles_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- xcb_shape_kind_t source_kind; /**< */
- uint8_t pad0[3]; /**< */
-} xcb_shape_get_rectangles_request_t;
-
-/**
- * @brief xcb_shape_get_rectangles_reply_t
- **/
-typedef struct xcb_shape_get_rectangles_reply_t {
- uint8_t response_type; /**< */
- uint8_t ordering; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t rectangles_len; /**< */
- uint8_t pad0[20]; /**< */
-} xcb_shape_get_rectangles_reply_t;
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_shape_op_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_shape_op_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_shape_op_next
- **
- ** @param xcb_shape_op_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_shape_op_next (xcb_shape_op_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_shape_op_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_shape_op_end
- **
- ** @param xcb_shape_op_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_shape_op_end (xcb_shape_op_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_shape_kind_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_shape_kind_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_shape_kind_next
- **
- ** @param xcb_shape_kind_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_shape_kind_next (xcb_shape_kind_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_shape_kind_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_shape_kind_end
- **
- ** @param xcb_shape_kind_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_shape_kind_end (xcb_shape_kind_iterator_t i /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_query_version_cookie_t xcb_shape_query_version
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_shape_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_query_version_cookie_t
-xcb_shape_query_version (xcb_connection_t *c /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_query_version_cookie_t xcb_shape_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_shape_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_query_version_cookie_t
-xcb_shape_query_version_unchecked (xcb_connection_t *c /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_shape_query_version_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_query_version_reply_t * xcb_shape_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shape_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_shape_query_version_reply_t *
-xcb_shape_query_version_reply (xcb_connection_t *c /**< */,
- xcb_shape_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_shape_rectangles_sizeof (const void *_buffer /**< */,
- uint32_t rectangles_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_rectangles_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param uint8_t ordering
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_rectangles_checked (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- uint8_t ordering /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_rectangles
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param uint8_t ordering
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_rectangles (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- uint8_t ordering /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_mask_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_pixmap_t source_bitmap
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_mask_checked (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_pixmap_t source_bitmap /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_mask
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_pixmap_t source_bitmap
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_mask (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_pixmap_t source_bitmap /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_combine_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_shape_kind_t source_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_window_t source_window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_combine_checked (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_shape_kind_t source_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_window_t source_window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_combine
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_shape_kind_t source_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_window_t source_window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_combine (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_shape_kind_t source_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_window_t source_window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_offset_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_offset_checked (xcb_connection_t *c /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_offset
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_offset (xcb_connection_t *c /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @returns xcb_shape_query_extents_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_query_extents_cookie_t
-xcb_shape_query_extents (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @returns xcb_shape_query_extents_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_query_extents_cookie_t
-xcb_shape_query_extents_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_shape_query_extents_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_query_extents_reply_t * xcb_shape_query_extents_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_query_extents_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shape_query_extents_reply_t *
- **
- *****************************************************************************/
-
-xcb_shape_query_extents_reply_t *
-xcb_shape_query_extents_reply (xcb_connection_t *c /**< */,
- xcb_shape_query_extents_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_select_input_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @param uint8_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_select_input_checked (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */,
- uint8_t enable /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_select_input
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @param uint8_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_select_input (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */,
- uint8_t enable /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @returns xcb_shape_input_selected_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_input_selected_cookie_t
-xcb_shape_input_selected (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @returns xcb_shape_input_selected_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_input_selected_cookie_t
-xcb_shape_input_selected_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_shape_input_selected_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_input_selected_reply_t * xcb_shape_input_selected_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_input_selected_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shape_input_selected_reply_t *
- **
- *****************************************************************************/
-
-xcb_shape_input_selected_reply_t *
-xcb_shape_input_selected_reply (xcb_connection_t *c /**< */,
- xcb_shape_input_selected_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_shape_get_rectangles_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_shape_kind_t source_kind
- ** @returns xcb_shape_get_rectangles_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_get_rectangles_cookie_t
-xcb_shape_get_rectangles (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_shape_kind_t source_kind /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_shape_kind_t source_kind
- ** @returns xcb_shape_get_rectangles_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_get_rectangles_cookie_t
-xcb_shape_get_rectangles_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_shape_kind_t source_kind /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_rectangle_t * xcb_shape_get_rectangles_rectangles
- **
- ** @param const xcb_shape_get_rectangles_reply_t *R
- ** @returns xcb_rectangle_t *
- **
- *****************************************************************************/
-
-xcb_rectangle_t *
-xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_shape_get_rectangles_rectangles_length
- **
- ** @param const xcb_shape_get_rectangles_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_rectangle_iterator_t xcb_shape_get_rectangles_rectangles_iterator
- **
- ** @param const xcb_shape_get_rectangles_reply_t *R
- ** @returns xcb_rectangle_iterator_t
- **
- *****************************************************************************/
-
-xcb_rectangle_iterator_t
-xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_shape_get_rectangles_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_shape_get_rectangles_reply_t * xcb_shape_get_rectangles_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_get_rectangles_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shape_get_rectangles_reply_t *
- **
- *****************************************************************************/
-
-xcb_shape_get_rectangles_reply_t *
-xcb_shape_get_rectangles_reply (xcb_connection_t *c /**< */,
- xcb_shape_get_rectangles_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**
- * @}
- */
diff --git a/src/3rdparty/xcb/include/xcb/shm.h b/src/3rdparty/xcb/include/xcb/shm.h
deleted file mode 100644
index 315f37e9b9..0000000000
--- a/src/3rdparty/xcb/include/xcb/shm.h
+++ /dev/null
@@ -1,738 +0,0 @@
-/*
- * This file generated automatically from shm.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_Shm_API XCB Shm API
- * @brief Shm XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __SHM_H
-#define __SHM_H
-
-#include "xcb.h"
-#include "xproto.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_SHM_MAJOR_VERSION 1
-#define XCB_SHM_MINOR_VERSION 1
-
-extern xcb_extension_t xcb_shm_id;
-
-typedef uint32_t xcb_shm_seg_t;
-
-/**
- * @brief xcb_shm_seg_iterator_t
- **/
-typedef struct xcb_shm_seg_iterator_t {
- xcb_shm_seg_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_shm_seg_iterator_t;
-
-/** Opcode for xcb_shm_completion. */
-#define XCB_SHM_COMPLETION 0
-
-/**
- * @brief xcb_shm_completion_event_t
- **/
-typedef struct xcb_shm_completion_event_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- xcb_drawable_t drawable; /**< */
- uint16_t minor_event; /**< */
- uint8_t major_event; /**< */
- uint8_t pad1; /**< */
- xcb_shm_seg_t shmseg; /**< */
- uint32_t offset; /**< */
-} xcb_shm_completion_event_t;
-
-/** Opcode for xcb_shm_bad_seg. */
-#define XCB_SHM_BAD_SEG 0
-
-typedef xcb_value_error_t xcb_shm_bad_seg_error_t;
-
-/**
- * @brief xcb_shm_query_version_cookie_t
- **/
-typedef struct xcb_shm_query_version_cookie_t {
- unsigned int sequence; /**< */
-} xcb_shm_query_version_cookie_t;
-
-/** Opcode for xcb_shm_query_version. */
-#define XCB_SHM_QUERY_VERSION 0
-
-/**
- * @brief xcb_shm_query_version_request_t
- **/
-typedef struct xcb_shm_query_version_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_shm_query_version_request_t;
-
-/**
- * @brief xcb_shm_query_version_reply_t
- **/
-typedef struct xcb_shm_query_version_reply_t {
- uint8_t response_type; /**< */
- uint8_t shared_pixmaps; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t major_version; /**< */
- uint16_t minor_version; /**< */
- uint16_t uid; /**< */
- uint16_t gid; /**< */
- uint8_t pixmap_format; /**< */
- uint8_t pad0[15]; /**< */
-} xcb_shm_query_version_reply_t;
-
-/** Opcode for xcb_shm_attach. */
-#define XCB_SHM_ATTACH 1
-
-/**
- * @brief xcb_shm_attach_request_t
- **/
-typedef struct xcb_shm_attach_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_shm_seg_t shmseg; /**< */
- uint32_t shmid; /**< */
- uint8_t read_only; /**< */
- uint8_t pad0[3]; /**< */
-} xcb_shm_attach_request_t;
-
-/** Opcode for xcb_shm_detach. */
-#define XCB_SHM_DETACH 2
-
-/**
- * @brief xcb_shm_detach_request_t
- **/
-typedef struct xcb_shm_detach_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_shm_seg_t shmseg; /**< */
-} xcb_shm_detach_request_t;
-
-/** Opcode for xcb_shm_put_image. */
-#define XCB_SHM_PUT_IMAGE 3
-
-/**
- * @brief xcb_shm_put_image_request_t
- **/
-typedef struct xcb_shm_put_image_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_drawable_t drawable; /**< */
- xcb_gcontext_t gc; /**< */
- uint16_t total_width; /**< */
- uint16_t total_height; /**< */
- uint16_t src_x; /**< */
- uint16_t src_y; /**< */
- uint16_t src_width; /**< */
- uint16_t src_height; /**< */
- int16_t dst_x; /**< */
- int16_t dst_y; /**< */
- uint8_t depth; /**< */
- uint8_t format; /**< */
- uint8_t send_event; /**< */
- uint8_t pad0; /**< */
- xcb_shm_seg_t shmseg; /**< */
- uint32_t offset; /**< */
-} xcb_shm_put_image_request_t;
-
-/**
- * @brief xcb_shm_get_image_cookie_t
- **/
-typedef struct xcb_shm_get_image_cookie_t {
- unsigned int sequence; /**< */
-} xcb_shm_get_image_cookie_t;
-
-/** Opcode for xcb_shm_get_image. */
-#define XCB_SHM_GET_IMAGE 4
-
-/**
- * @brief xcb_shm_get_image_request_t
- **/
-typedef struct xcb_shm_get_image_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_drawable_t drawable; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint32_t plane_mask; /**< */
- uint8_t format; /**< */
- uint8_t pad0[3]; /**< */
- xcb_shm_seg_t shmseg; /**< */
- uint32_t offset; /**< */
-} xcb_shm_get_image_request_t;
-
-/**
- * @brief xcb_shm_get_image_reply_t
- **/
-typedef struct xcb_shm_get_image_reply_t {
- uint8_t response_type; /**< */
- uint8_t depth; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_visualid_t visual; /**< */
- uint32_t size; /**< */
-} xcb_shm_get_image_reply_t;
-
-/** Opcode for xcb_shm_create_pixmap. */
-#define XCB_SHM_CREATE_PIXMAP 5
-
-/**
- * @brief xcb_shm_create_pixmap_request_t
- **/
-typedef struct xcb_shm_create_pixmap_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_pixmap_t pid; /**< */
- xcb_drawable_t drawable; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint8_t depth; /**< */
- uint8_t pad0[3]; /**< */
- xcb_shm_seg_t shmseg; /**< */
- uint32_t offset; /**< */
-} xcb_shm_create_pixmap_request_t;
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_shm_seg_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_shm_seg_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_shm_seg_next
- **
- ** @param xcb_shm_seg_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_shm_seg_next (xcb_shm_seg_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_shm_seg_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_shm_seg_end
- **
- ** @param xcb_shm_seg_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_shm_seg_end (xcb_shm_seg_iterator_t i /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_shm_query_version_cookie_t xcb_shm_query_version
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_shm_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_shm_query_version_cookie_t
-xcb_shm_query_version (xcb_connection_t *c /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_shm_query_version_cookie_t xcb_shm_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_shm_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_shm_query_version_cookie_t
-xcb_shm_query_version_unchecked (xcb_connection_t *c /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_shm_query_version_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_shm_query_version_reply_t * xcb_shm_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shm_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_shm_query_version_reply_t *
-xcb_shm_query_version_reply (xcb_connection_t *c /**< */,
- xcb_shm_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_attach_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t shmid
- ** @param uint8_t read_only
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_attach_checked (xcb_connection_t *c /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t shmid /**< */,
- uint8_t read_only /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_attach
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t shmid
- ** @param uint8_t read_only
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_attach (xcb_connection_t *c /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t shmid /**< */,
- uint8_t read_only /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_detach_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_seg_t shmseg
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_detach_checked (xcb_connection_t *c /**< */,
- xcb_shm_seg_t shmseg /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_detach
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_seg_t shmseg
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_detach (xcb_connection_t *c /**< */,
- xcb_shm_seg_t shmseg /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_put_image_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param xcb_gcontext_t gc
- ** @param uint16_t total_width
- ** @param uint16_t total_height
- ** @param uint16_t src_x
- ** @param uint16_t src_y
- ** @param uint16_t src_width
- ** @param uint16_t src_height
- ** @param int16_t dst_x
- ** @param int16_t dst_y
- ** @param uint8_t depth
- ** @param uint8_t format
- ** @param uint8_t send_event
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_put_image_checked (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_gcontext_t gc /**< */,
- uint16_t total_width /**< */,
- uint16_t total_height /**< */,
- uint16_t src_x /**< */,
- uint16_t src_y /**< */,
- uint16_t src_width /**< */,
- uint16_t src_height /**< */,
- int16_t dst_x /**< */,
- int16_t dst_y /**< */,
- uint8_t depth /**< */,
- uint8_t format /**< */,
- uint8_t send_event /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_put_image
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param xcb_gcontext_t gc
- ** @param uint16_t total_width
- ** @param uint16_t total_height
- ** @param uint16_t src_x
- ** @param uint16_t src_y
- ** @param uint16_t src_width
- ** @param uint16_t src_height
- ** @param int16_t dst_x
- ** @param int16_t dst_y
- ** @param uint8_t depth
- ** @param uint8_t format
- ** @param uint8_t send_event
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_put_image (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_gcontext_t gc /**< */,
- uint16_t total_width /**< */,
- uint16_t total_height /**< */,
- uint16_t src_x /**< */,
- uint16_t src_y /**< */,
- uint16_t src_width /**< */,
- uint16_t src_height /**< */,
- int16_t dst_x /**< */,
- int16_t dst_y /**< */,
- uint8_t depth /**< */,
- uint8_t format /**< */,
- uint8_t send_event /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_shm_get_image_cookie_t xcb_shm_get_image
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param int16_t x
- ** @param int16_t y
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t plane_mask
- ** @param uint8_t format
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_shm_get_image_cookie_t
- **
- *****************************************************************************/
-
-xcb_shm_get_image_cookie_t
-xcb_shm_get_image (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t plane_mask /**< */,
- uint8_t format /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_shm_get_image_cookie_t xcb_shm_get_image_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param int16_t x
- ** @param int16_t y
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t plane_mask
- ** @param uint8_t format
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_shm_get_image_cookie_t
- **
- *****************************************************************************/
-
-xcb_shm_get_image_cookie_t
-xcb_shm_get_image_unchecked (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t plane_mask /**< */,
- uint8_t format /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_shm_get_image_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_shm_get_image_reply_t * xcb_shm_get_image_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_get_image_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shm_get_image_reply_t *
- **
- *****************************************************************************/
-
-xcb_shm_get_image_reply_t *
-xcb_shm_get_image_reply (xcb_connection_t *c /**< */,
- xcb_shm_get_image_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_create_pixmap_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_pixmap_t pid
- ** @param xcb_drawable_t drawable
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint8_t depth
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_create_pixmap_checked (xcb_connection_t *c /**< */,
- xcb_pixmap_t pid /**< */,
- xcb_drawable_t drawable /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint8_t depth /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_create_pixmap
- **
- ** @param xcb_connection_t *c
- ** @param xcb_pixmap_t pid
- ** @param xcb_drawable_t drawable
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint8_t depth
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_create_pixmap (xcb_connection_t *c /**< */,
- xcb_pixmap_t pid /**< */,
- xcb_drawable_t drawable /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint8_t depth /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**
- * @}
- */
diff --git a/src/3rdparty/xcb/include/xcb/sync.h b/src/3rdparty/xcb/include/xcb/sync.h
deleted file mode 100644
index 3d0069d7ef..0000000000
--- a/src/3rdparty/xcb/include/xcb/sync.h
+++ /dev/null
@@ -1,2216 +0,0 @@
-/*
- * This file generated automatically from sync.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_Sync_API XCB Sync API
- * @brief Sync XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __SYNC_H
-#define __SYNC_H
-
-#include "xcb.h"
-#include "xproto.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_SYNC_MAJOR_VERSION 3
-#define XCB_SYNC_MINOR_VERSION 1
-
-extern xcb_extension_t xcb_sync_id;
-
-typedef uint32_t xcb_sync_alarm_t;
-
-/**
- * @brief xcb_sync_alarm_iterator_t
- **/
-typedef struct xcb_sync_alarm_iterator_t {
- xcb_sync_alarm_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_sync_alarm_iterator_t;
-
-typedef enum xcb_sync_alarmstate_t {
- XCB_SYNC_ALARMSTATE_ACTIVE,
- XCB_SYNC_ALARMSTATE_INACTIVE,
- XCB_SYNC_ALARMSTATE_DESTROYED
-} xcb_sync_alarmstate_t;
-
-typedef uint32_t xcb_sync_counter_t;
-
-/**
- * @brief xcb_sync_counter_iterator_t
- **/
-typedef struct xcb_sync_counter_iterator_t {
- xcb_sync_counter_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_sync_counter_iterator_t;
-
-typedef uint32_t xcb_sync_fence_t;
-
-/**
- * @brief xcb_sync_fence_iterator_t
- **/
-typedef struct xcb_sync_fence_iterator_t {
- xcb_sync_fence_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_sync_fence_iterator_t;
-
-typedef enum xcb_sync_testtype_t {
- XCB_SYNC_TESTTYPE_POSITIVE_TRANSITION,
- XCB_SYNC_TESTTYPE_NEGATIVE_TRANSITION,
- XCB_SYNC_TESTTYPE_POSITIVE_COMPARISON,
- XCB_SYNC_TESTTYPE_NEGATIVE_COMPARISON
-} xcb_sync_testtype_t;
-
-typedef enum xcb_sync_valuetype_t {
- XCB_SYNC_VALUETYPE_ABSOLUTE,
- XCB_SYNC_VALUETYPE_RELATIVE
-} xcb_sync_valuetype_t;
-
-typedef enum xcb_sync_ca_t {
- XCB_SYNC_CA_COUNTER = 1,
- XCB_SYNC_CA_VALUE_TYPE = 2,
- XCB_SYNC_CA_VALUE = 4,
- XCB_SYNC_CA_TEST_TYPE = 8,
- XCB_SYNC_CA_DELTA = 16,
- XCB_SYNC_CA_EVENTS = 32
-} xcb_sync_ca_t;
-
-/**
- * @brief xcb_sync_int64_t
- **/
-typedef struct xcb_sync_int64_t {
- int32_t hi; /**< */
- uint32_t lo; /**< */
-} xcb_sync_int64_t;
-
-/**
- * @brief xcb_sync_int64_iterator_t
- **/
-typedef struct xcb_sync_int64_iterator_t {
- xcb_sync_int64_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_sync_int64_iterator_t;
-
-/**
- * @brief xcb_sync_systemcounter_t
- **/
-typedef struct xcb_sync_systemcounter_t {
- xcb_sync_counter_t counter; /**< */
- xcb_sync_int64_t resolution; /**< */
- uint16_t name_len; /**< */
-} xcb_sync_systemcounter_t;
-
-/**
- * @brief xcb_sync_systemcounter_iterator_t
- **/
-typedef struct xcb_sync_systemcounter_iterator_t {
- xcb_sync_systemcounter_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_sync_systemcounter_iterator_t;
-
-/**
- * @brief xcb_sync_trigger_t
- **/
-typedef struct xcb_sync_trigger_t {
- xcb_sync_counter_t counter; /**< */
- uint32_t wait_type; /**< */
- xcb_sync_int64_t wait_value; /**< */
- uint32_t test_type; /**< */
-} xcb_sync_trigger_t;
-
-/**
- * @brief xcb_sync_trigger_iterator_t
- **/
-typedef struct xcb_sync_trigger_iterator_t {
- xcb_sync_trigger_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_sync_trigger_iterator_t;
-
-/**
- * @brief xcb_sync_waitcondition_t
- **/
-typedef struct xcb_sync_waitcondition_t {
- xcb_sync_trigger_t trigger; /**< */
- xcb_sync_int64_t event_threshold; /**< */
-} xcb_sync_waitcondition_t;
-
-/**
- * @brief xcb_sync_waitcondition_iterator_t
- **/
-typedef struct xcb_sync_waitcondition_iterator_t {
- xcb_sync_waitcondition_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_sync_waitcondition_iterator_t;
-
-/** Opcode for xcb_sync_counter. */
-#define XCB_SYNC_COUNTER 0
-
-/**
- * @brief xcb_sync_counter_error_t
- **/
-typedef struct xcb_sync_counter_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
- uint32_t bad_counter; /**< */
- uint16_t minor_opcode; /**< */
- uint8_t major_opcode; /**< */
-} xcb_sync_counter_error_t;
-
-/** Opcode for xcb_sync_alarm. */
-#define XCB_SYNC_ALARM 1
-
-/**
- * @brief xcb_sync_alarm_error_t
- **/
-typedef struct xcb_sync_alarm_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
- uint32_t bad_alarm; /**< */
- uint16_t minor_opcode; /**< */
- uint8_t major_opcode; /**< */
-} xcb_sync_alarm_error_t;
-
-/**
- * @brief xcb_sync_initialize_cookie_t
- **/
-typedef struct xcb_sync_initialize_cookie_t {
- unsigned int sequence; /**< */
-} xcb_sync_initialize_cookie_t;
-
-/** Opcode for xcb_sync_initialize. */
-#define XCB_SYNC_INITIALIZE 0
-
-/**
- * @brief xcb_sync_initialize_request_t
- **/
-typedef struct xcb_sync_initialize_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t desired_major_version; /**< */
- uint8_t desired_minor_version; /**< */
-} xcb_sync_initialize_request_t;
-
-/**
- * @brief xcb_sync_initialize_reply_t
- **/
-typedef struct xcb_sync_initialize_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint8_t major_version; /**< */
- uint8_t minor_version; /**< */
- uint8_t pad1[22]; /**< */
-} xcb_sync_initialize_reply_t;
-
-/**
- * @brief xcb_sync_list_system_counters_cookie_t
- **/
-typedef struct xcb_sync_list_system_counters_cookie_t {
- unsigned int sequence; /**< */
-} xcb_sync_list_system_counters_cookie_t;
-
-/** Opcode for xcb_sync_list_system_counters. */
-#define XCB_SYNC_LIST_SYSTEM_COUNTERS 1
-
-/**
- * @brief xcb_sync_list_system_counters_request_t
- **/
-typedef struct xcb_sync_list_system_counters_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_sync_list_system_counters_request_t;
-
-/**
- * @brief xcb_sync_list_system_counters_reply_t
- **/
-typedef struct xcb_sync_list_system_counters_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t counters_len; /**< */
- uint8_t pad1[20]; /**< */
-} xcb_sync_list_system_counters_reply_t;
-
-/** Opcode for xcb_sync_create_counter. */
-#define XCB_SYNC_CREATE_COUNTER 2
-
-/**
- * @brief xcb_sync_create_counter_request_t
- **/
-typedef struct xcb_sync_create_counter_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_counter_t id; /**< */
- xcb_sync_int64_t initial_value; /**< */
-} xcb_sync_create_counter_request_t;
-
-/** Opcode for xcb_sync_destroy_counter. */
-#define XCB_SYNC_DESTROY_COUNTER 6
-
-/**
- * @brief xcb_sync_destroy_counter_request_t
- **/
-typedef struct xcb_sync_destroy_counter_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_counter_t counter; /**< */
-} xcb_sync_destroy_counter_request_t;
-
-/**
- * @brief xcb_sync_query_counter_cookie_t
- **/
-typedef struct xcb_sync_query_counter_cookie_t {
- unsigned int sequence; /**< */
-} xcb_sync_query_counter_cookie_t;
-
-/** Opcode for xcb_sync_query_counter. */
-#define XCB_SYNC_QUERY_COUNTER 5
-
-/**
- * @brief xcb_sync_query_counter_request_t
- **/
-typedef struct xcb_sync_query_counter_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_counter_t counter; /**< */
-} xcb_sync_query_counter_request_t;
-
-/**
- * @brief xcb_sync_query_counter_reply_t
- **/
-typedef struct xcb_sync_query_counter_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_sync_int64_t counter_value; /**< */
-} xcb_sync_query_counter_reply_t;
-
-/** Opcode for xcb_sync_await. */
-#define XCB_SYNC_AWAIT 7
-
-/**
- * @brief xcb_sync_await_request_t
- **/
-typedef struct xcb_sync_await_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_sync_await_request_t;
-
-/** Opcode for xcb_sync_change_counter. */
-#define XCB_SYNC_CHANGE_COUNTER 4
-
-/**
- * @brief xcb_sync_change_counter_request_t
- **/
-typedef struct xcb_sync_change_counter_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_counter_t counter; /**< */
- xcb_sync_int64_t amount; /**< */
-} xcb_sync_change_counter_request_t;
-
-/** Opcode for xcb_sync_set_counter. */
-#define XCB_SYNC_SET_COUNTER 3
-
-/**
- * @brief xcb_sync_set_counter_request_t
- **/
-typedef struct xcb_sync_set_counter_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_counter_t counter; /**< */
- xcb_sync_int64_t value; /**< */
-} xcb_sync_set_counter_request_t;
-
-/** Opcode for xcb_sync_create_alarm. */
-#define XCB_SYNC_CREATE_ALARM 8
-
-/**
- * @brief xcb_sync_create_alarm_request_t
- **/
-typedef struct xcb_sync_create_alarm_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_alarm_t id; /**< */
- uint32_t value_mask; /**< */
-} xcb_sync_create_alarm_request_t;
-
-/** Opcode for xcb_sync_change_alarm. */
-#define XCB_SYNC_CHANGE_ALARM 9
-
-/**
- * @brief xcb_sync_change_alarm_request_t
- **/
-typedef struct xcb_sync_change_alarm_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_alarm_t id; /**< */
- uint32_t value_mask; /**< */
-} xcb_sync_change_alarm_request_t;
-
-/** Opcode for xcb_sync_destroy_alarm. */
-#define XCB_SYNC_DESTROY_ALARM 11
-
-/**
- * @brief xcb_sync_destroy_alarm_request_t
- **/
-typedef struct xcb_sync_destroy_alarm_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_alarm_t alarm; /**< */
-} xcb_sync_destroy_alarm_request_t;
-
-/**
- * @brief xcb_sync_query_alarm_cookie_t
- **/
-typedef struct xcb_sync_query_alarm_cookie_t {
- unsigned int sequence; /**< */
-} xcb_sync_query_alarm_cookie_t;
-
-/** Opcode for xcb_sync_query_alarm. */
-#define XCB_SYNC_QUERY_ALARM 10
-
-/**
- * @brief xcb_sync_query_alarm_request_t
- **/
-typedef struct xcb_sync_query_alarm_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_alarm_t alarm; /**< */
-} xcb_sync_query_alarm_request_t;
-
-/**
- * @brief xcb_sync_query_alarm_reply_t
- **/
-typedef struct xcb_sync_query_alarm_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_sync_trigger_t trigger; /**< */
- xcb_sync_int64_t delta; /**< */
- uint8_t events; /**< */
- uint8_t state; /**< */
- uint8_t pad1[2]; /**< */
-} xcb_sync_query_alarm_reply_t;
-
-/** Opcode for xcb_sync_set_priority. */
-#define XCB_SYNC_SET_PRIORITY 12
-
-/**
- * @brief xcb_sync_set_priority_request_t
- **/
-typedef struct xcb_sync_set_priority_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint32_t id; /**< */
- int32_t priority; /**< */
-} xcb_sync_set_priority_request_t;
-
-/**
- * @brief xcb_sync_get_priority_cookie_t
- **/
-typedef struct xcb_sync_get_priority_cookie_t {
- unsigned int sequence; /**< */
-} xcb_sync_get_priority_cookie_t;
-
-/** Opcode for xcb_sync_get_priority. */
-#define XCB_SYNC_GET_PRIORITY 13
-
-/**
- * @brief xcb_sync_get_priority_request_t
- **/
-typedef struct xcb_sync_get_priority_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint32_t id; /**< */
-} xcb_sync_get_priority_request_t;
-
-/**
- * @brief xcb_sync_get_priority_reply_t
- **/
-typedef struct xcb_sync_get_priority_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- int32_t priority; /**< */
-} xcb_sync_get_priority_reply_t;
-
-/** Opcode for xcb_sync_create_fence. */
-#define XCB_SYNC_CREATE_FENCE 14
-
-/**
- * @brief xcb_sync_create_fence_request_t
- **/
-typedef struct xcb_sync_create_fence_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_drawable_t drawable; /**< */
- xcb_sync_fence_t fence; /**< */
- uint8_t initially_triggered; /**< */
-} xcb_sync_create_fence_request_t;
-
-/** Opcode for xcb_sync_trigger_fence. */
-#define XCB_SYNC_TRIGGER_FENCE 15
-
-/**
- * @brief xcb_sync_trigger_fence_request_t
- **/
-typedef struct xcb_sync_trigger_fence_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_fence_t fence; /**< */
-} xcb_sync_trigger_fence_request_t;
-
-/** Opcode for xcb_sync_reset_fence. */
-#define XCB_SYNC_RESET_FENCE 16
-
-/**
- * @brief xcb_sync_reset_fence_request_t
- **/
-typedef struct xcb_sync_reset_fence_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_fence_t fence; /**< */
-} xcb_sync_reset_fence_request_t;
-
-/** Opcode for xcb_sync_destroy_fence. */
-#define XCB_SYNC_DESTROY_FENCE 17
-
-/**
- * @brief xcb_sync_destroy_fence_request_t
- **/
-typedef struct xcb_sync_destroy_fence_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_fence_t fence; /**< */
-} xcb_sync_destroy_fence_request_t;
-
-/**
- * @brief xcb_sync_query_fence_cookie_t
- **/
-typedef struct xcb_sync_query_fence_cookie_t {
- unsigned int sequence; /**< */
-} xcb_sync_query_fence_cookie_t;
-
-/** Opcode for xcb_sync_query_fence. */
-#define XCB_SYNC_QUERY_FENCE 18
-
-/**
- * @brief xcb_sync_query_fence_request_t
- **/
-typedef struct xcb_sync_query_fence_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_sync_fence_t fence; /**< */
-} xcb_sync_query_fence_request_t;
-
-/**
- * @brief xcb_sync_query_fence_reply_t
- **/
-typedef struct xcb_sync_query_fence_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint8_t triggered; /**< */
- uint8_t pad1[23]; /**< */
-} xcb_sync_query_fence_reply_t;
-
-/** Opcode for xcb_sync_await_fence. */
-#define XCB_SYNC_AWAIT_FENCE 19
-
-/**
- * @brief xcb_sync_await_fence_request_t
- **/
-typedef struct xcb_sync_await_fence_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_sync_await_fence_request_t;
-
-/** Opcode for xcb_sync_counter_notify. */
-#define XCB_SYNC_COUNTER_NOTIFY 0
-
-/**
- * @brief xcb_sync_counter_notify_event_t
- **/
-typedef struct xcb_sync_counter_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t kind; /**< */
- uint16_t sequence; /**< */
- xcb_sync_counter_t counter; /**< */
- xcb_sync_int64_t wait_value; /**< */
- xcb_sync_int64_t counter_value; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint16_t count; /**< */
- uint8_t destroyed; /**< */
- uint8_t pad0; /**< */
-} xcb_sync_counter_notify_event_t;
-
-/** Opcode for xcb_sync_alarm_notify. */
-#define XCB_SYNC_ALARM_NOTIFY 1
-
-/**
- * @brief xcb_sync_alarm_notify_event_t
- **/
-typedef struct xcb_sync_alarm_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t kind; /**< */
- uint16_t sequence; /**< */
- xcb_sync_alarm_t alarm; /**< */
- xcb_sync_int64_t counter_value; /**< */
- xcb_sync_int64_t alarm_value; /**< */
- xcb_timestamp_t timestamp; /**< */
- uint8_t state; /**< */
- uint8_t pad0[3]; /**< */
-} xcb_sync_alarm_notify_event_t;
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_sync_alarm_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_sync_alarm_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_sync_alarm_next
- **
- ** @param xcb_sync_alarm_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_alarm_next (xcb_sync_alarm_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_sync_alarm_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_alarm_end
- **
- ** @param xcb_sync_alarm_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_alarm_end (xcb_sync_alarm_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_sync_counter_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_sync_counter_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_sync_counter_next
- **
- ** @param xcb_sync_counter_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_counter_next (xcb_sync_counter_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_sync_counter_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_counter_end
- **
- ** @param xcb_sync_counter_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_counter_end (xcb_sync_counter_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_sync_fence_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_sync_fence_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_sync_fence_next
- **
- ** @param xcb_sync_fence_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_fence_next (xcb_sync_fence_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_sync_fence_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_fence_end
- **
- ** @param xcb_sync_fence_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_fence_end (xcb_sync_fence_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_sync_int64_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_sync_int64_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_sync_int64_next
- **
- ** @param xcb_sync_int64_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_int64_next (xcb_sync_int64_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_sync_int64_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_int64_end
- **
- ** @param xcb_sync_int64_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_int64_end (xcb_sync_int64_iterator_t i /**< */);
-
-int
-xcb_sync_systemcounter_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** char * xcb_sync_systemcounter_name
- **
- ** @param const xcb_sync_systemcounter_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_sync_systemcounter_name (const xcb_sync_systemcounter_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_sync_systemcounter_name_length
- **
- ** @param const xcb_sync_systemcounter_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_sync_systemcounter_name_length (const xcb_sync_systemcounter_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_systemcounter_name_end
- **
- ** @param const xcb_sync_systemcounter_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_systemcounter_name_end (const xcb_sync_systemcounter_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_sync_systemcounter_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_sync_systemcounter_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_sync_systemcounter_next
- **
- ** @param xcb_sync_systemcounter_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_systemcounter_next (xcb_sync_systemcounter_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_sync_systemcounter_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_systemcounter_end
- **
- ** @param xcb_sync_systemcounter_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_systemcounter_end (xcb_sync_systemcounter_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_sync_trigger_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_sync_trigger_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_sync_trigger_next
- **
- ** @param xcb_sync_trigger_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_trigger_next (xcb_sync_trigger_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_sync_trigger_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_trigger_end
- **
- ** @param xcb_sync_trigger_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_trigger_end (xcb_sync_trigger_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_sync_waitcondition_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_sync_waitcondition_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_sync_waitcondition_next
- **
- ** @param xcb_sync_waitcondition_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_waitcondition_next (xcb_sync_waitcondition_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_sync_waitcondition_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_waitcondition_end
- **
- ** @param xcb_sync_waitcondition_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_waitcondition_end (xcb_sync_waitcondition_iterator_t i /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_initialize_cookie_t xcb_sync_initialize
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t desired_major_version
- ** @param uint8_t desired_minor_version
- ** @returns xcb_sync_initialize_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_initialize_cookie_t
-xcb_sync_initialize (xcb_connection_t *c /**< */,
- uint8_t desired_major_version /**< */,
- uint8_t desired_minor_version /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_initialize_cookie_t xcb_sync_initialize_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t desired_major_version
- ** @param uint8_t desired_minor_version
- ** @returns xcb_sync_initialize_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_initialize_cookie_t
-xcb_sync_initialize_unchecked (xcb_connection_t *c /**< */,
- uint8_t desired_major_version /**< */,
- uint8_t desired_minor_version /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_sync_initialize_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_initialize_reply_t * xcb_sync_initialize_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_initialize_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_initialize_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_initialize_reply_t *
-xcb_sync_initialize_reply (xcb_connection_t *c /**< */,
- xcb_sync_initialize_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_sync_list_system_counters_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_sync_list_system_counters_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_list_system_counters_cookie_t
-xcb_sync_list_system_counters (xcb_connection_t *c /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_sync_list_system_counters_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_list_system_counters_cookie_t
-xcb_sync_list_system_counters_unchecked (xcb_connection_t *c /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_sync_list_system_counters_counters_length
- **
- ** @param const xcb_sync_list_system_counters_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_sync_list_system_counters_counters_length (const xcb_sync_list_system_counters_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_sync_systemcounter_iterator_t xcb_sync_list_system_counters_counters_iterator
- **
- ** @param const xcb_sync_list_system_counters_reply_t *R
- ** @returns xcb_sync_systemcounter_iterator_t
- **
- *****************************************************************************/
-
-xcb_sync_systemcounter_iterator_t
-xcb_sync_list_system_counters_counters_iterator (const xcb_sync_list_system_counters_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_sync_list_system_counters_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_list_system_counters_reply_t * xcb_sync_list_system_counters_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_list_system_counters_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_list_system_counters_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_list_system_counters_reply_t *
-xcb_sync_list_system_counters_reply (xcb_connection_t *c /**< */,
- xcb_sync_list_system_counters_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_counter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t id
- ** @param xcb_sync_int64_t initial_value
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_counter_checked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t id /**< */,
- xcb_sync_int64_t initial_value /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t id
- ** @param xcb_sync_int64_t initial_value
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t id /**< */,
- xcb_sync_int64_t initial_value /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_counter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_counter_checked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @returns xcb_sync_query_counter_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_counter_cookie_t
-xcb_sync_query_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @returns xcb_sync_query_counter_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_counter_cookie_t
-xcb_sync_query_counter_unchecked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_sync_query_counter_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_query_counter_reply_t * xcb_sync_query_counter_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_query_counter_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_query_counter_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_query_counter_reply_t *
-xcb_sync_query_counter_reply (xcb_connection_t *c /**< */,
- xcb_sync_query_counter_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_sync_await_sizeof (const void *_buffer /**< */,
- uint32_t wait_list_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_await_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t wait_list_len
- ** @param const xcb_sync_waitcondition_t *wait_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_await_checked (xcb_connection_t *c /**< */,
- uint32_t wait_list_len /**< */,
- const xcb_sync_waitcondition_t *wait_list /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_await
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t wait_list_len
- ** @param const xcb_sync_waitcondition_t *wait_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_await (xcb_connection_t *c /**< */,
- uint32_t wait_list_len /**< */,
- const xcb_sync_waitcondition_t *wait_list /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_change_counter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @param xcb_sync_int64_t amount
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_change_counter_checked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */,
- xcb_sync_int64_t amount /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_change_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @param xcb_sync_int64_t amount
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_change_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */,
- xcb_sync_int64_t amount /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_set_counter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @param xcb_sync_int64_t value
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_set_counter_checked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */,
- xcb_sync_int64_t value /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_set_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @param xcb_sync_int64_t value
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_set_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */,
- xcb_sync_int64_t value /**< */);
-
-int
-xcb_sync_create_alarm_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_alarm_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t id
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_alarm_checked (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t id /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_alarm
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t id
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_alarm (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t id /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */);
-
-int
-xcb_sync_change_alarm_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_change_alarm_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t id
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_change_alarm_checked (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t id /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_change_alarm
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t id
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_change_alarm (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t id /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_alarm_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t alarm
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_alarm_checked (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t alarm /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_alarm
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t alarm
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_alarm (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t alarm /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t alarm
- ** @returns xcb_sync_query_alarm_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_alarm_cookie_t
-xcb_sync_query_alarm (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t alarm /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t alarm
- ** @returns xcb_sync_query_alarm_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_alarm_cookie_t
-xcb_sync_query_alarm_unchecked (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t alarm /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_sync_query_alarm_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_query_alarm_reply_t * xcb_sync_query_alarm_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_query_alarm_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_query_alarm_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_query_alarm_reply_t *
-xcb_sync_query_alarm_reply (xcb_connection_t *c /**< */,
- xcb_sync_query_alarm_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_set_priority_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t id
- ** @param int32_t priority
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_set_priority_checked (xcb_connection_t *c /**< */,
- uint32_t id /**< */,
- int32_t priority /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_set_priority
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t id
- ** @param int32_t priority
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_set_priority (xcb_connection_t *c /**< */,
- uint32_t id /**< */,
- int32_t priority /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t id
- ** @returns xcb_sync_get_priority_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_get_priority_cookie_t
-xcb_sync_get_priority (xcb_connection_t *c /**< */,
- uint32_t id /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t id
- ** @returns xcb_sync_get_priority_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_get_priority_cookie_t
-xcb_sync_get_priority_unchecked (xcb_connection_t *c /**< */,
- uint32_t id /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_sync_get_priority_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_get_priority_reply_t * xcb_sync_get_priority_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_get_priority_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_get_priority_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_get_priority_reply_t *
-xcb_sync_get_priority_reply (xcb_connection_t *c /**< */,
- xcb_sync_get_priority_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param xcb_sync_fence_t fence
- ** @param uint8_t initially_triggered
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_fence_checked (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_sync_fence_t fence /**< */,
- uint8_t initially_triggered /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param xcb_sync_fence_t fence
- ** @param uint8_t initially_triggered
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_fence (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_sync_fence_t fence /**< */,
- uint8_t initially_triggered /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_trigger_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_trigger_fence_checked (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_trigger_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_trigger_fence (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_reset_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_reset_fence_checked (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_reset_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_reset_fence (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_fence_checked (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_fence (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_query_fence_cookie_t xcb_sync_query_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_sync_query_fence_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_fence_cookie_t
-xcb_sync_query_fence (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_query_fence_cookie_t xcb_sync_query_fence_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_sync_query_fence_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_fence_cookie_t
-xcb_sync_query_fence_unchecked (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_sync_query_fence_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_sync_query_fence_reply_t * xcb_sync_query_fence_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_query_fence_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_query_fence_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_query_fence_reply_t *
-xcb_sync_query_fence_reply (xcb_connection_t *c /**< */,
- xcb_sync_query_fence_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_sync_await_fence_sizeof (const void *_buffer /**< */,
- uint32_t fence_list_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_await_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t fence_list_len
- ** @param const xcb_sync_fence_t *fence_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_await_fence_checked (xcb_connection_t *c /**< */,
- uint32_t fence_list_len /**< */,
- const xcb_sync_fence_t *fence_list /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_await_fence
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t fence_list_len
- ** @param const xcb_sync_fence_t *fence_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_await_fence (xcb_connection_t *c /**< */,
- uint32_t fence_list_len /**< */,
- const xcb_sync_fence_t *fence_list /**< */);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**
- * @}
- */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_atom.h b/src/3rdparty/xcb/include/xcb/xcb_atom.h
deleted file mode 100644
index d5c4d6baa7..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_atom.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef __XCB_ATOM_H__
-#define __XCB_ATOM_H__
-
-#include <xcb/xcb.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-char *xcb_atom_name_by_screen(const char *base, uint8_t screen);
-char *xcb_atom_name_by_resource(const char *base, uint32_t resource);
-char *xcb_atom_name_unique(const char *base, uint32_t id);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XCB_ATOM_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_aux.h b/src/3rdparty/xcb/include/xcb/xcb_aux.h
deleted file mode 100644
index d49d4383e9..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_aux.h
+++ /dev/null
@@ -1,214 +0,0 @@
-#ifndef __XCB_AUX_H__
-#define __XCB_AUX_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-uint8_t xcb_aux_get_depth (xcb_connection_t *c,
- xcb_screen_t *screen);
-
-uint8_t xcb_aux_get_depth_of_visual (xcb_screen_t *screen,
- xcb_visualid_t id);
-
-xcb_screen_t *xcb_aux_get_screen (xcb_connection_t *c,
- int screen);
-
-xcb_visualtype_t *xcb_aux_get_visualtype (xcb_connection_t *c,
- int screen,
- xcb_visualid_t vid);
-
-xcb_visualtype_t *
-xcb_aux_find_visual_by_id (xcb_screen_t *screen,
- xcb_visualid_t id);
-
-xcb_visualtype_t *
-xcb_aux_find_visual_by_attrs (xcb_screen_t *screen,
- int8_t class_,
- int8_t depth);
-
-void xcb_aux_sync (xcb_connection_t *c);
-
-/* internal helper macro for XCB_AUX_ADD_PARAM
-It gives the offset of the field 'param' in the structure pointed to by
-'paramsp' in multiples of an uint32_t's size. */
-#define XCB_AUX_INTERNAL_OFFSETOF(paramsp, param) \
- ((uint32_t const*)(&((paramsp)->param))-(uint32_t const*)(paramsp))
-
-/* add an optional parameter to an xcb_params_* structure
-parameters:
- maskp: pointer to bitmask whos bits mark used parameters
- paramsp: pointer to structure with parameters
- param: parameter to set
- value: value to set the parameter to
-*/
-#define XCB_AUX_ADD_PARAM(maskp, paramsp, param, value) \
- ((*(maskp)|=1<<XCB_AUX_INTERNAL_OFFSETOF((paramsp),param)), \
- ((paramsp)->param=(value)))
-
-typedef struct {
- uint32_t back_pixmap;
- uint32_t back_pixel;
- uint32_t border_pixmap;
- uint32_t border_pixel;
- uint32_t bit_gravity;
- uint32_t win_gravity;
- uint32_t backing_store;
- uint32_t backing_planes;
- uint32_t backing_pixel;
- uint32_t override_redirect;
- uint32_t save_under;
- uint32_t event_mask;
- uint32_t dont_propagate;
- uint32_t colormap;
- uint32_t cursor;
-} xcb_params_cw_t;
-
-xcb_void_cookie_t
-xcb_aux_create_window (xcb_connection_t *c,
- uint8_t depth,
- xcb_window_t wid,
- xcb_window_t parent,
- int16_t x,
- int16_t y,
- uint16_t width,
- uint16_t height,
- uint16_t border_width,
- uint16_t class_,
- xcb_visualid_t visual,
- uint32_t mask,
- const xcb_params_cw_t *params);
-
-xcb_void_cookie_t
-xcb_aux_create_window_checked (xcb_connection_t *c,
- uint8_t depth,
- xcb_window_t wid,
- xcb_window_t parent,
- int16_t x,
- int16_t y,
- uint16_t width,
- uint16_t height,
- uint16_t border_width,
- uint16_t class_,
- xcb_visualid_t visual,
- uint32_t mask,
- const xcb_params_cw_t *params);
-
-xcb_void_cookie_t
-xcb_aux_change_window_attributes (xcb_connection_t *c,
- xcb_window_t window,
- uint32_t mask,
- const xcb_params_cw_t *params);
-
-xcb_void_cookie_t
-xcb_aux_change_window_attributes_checked (xcb_connection_t *c,
- xcb_window_t window,
- uint32_t mask,
- const xcb_params_cw_t *params);
-
-typedef struct {
- int32_t x;
- int32_t y;
- uint32_t width;
- uint32_t height;
- uint32_t border_width;
- uint32_t sibling;
- uint32_t stack_mode;
-} xcb_params_configure_window_t;
-
-xcb_void_cookie_t
-xcb_aux_configure_window (xcb_connection_t *c,
- xcb_window_t window,
- uint16_t mask,
- const xcb_params_configure_window_t *params);
-
-typedef struct {
- uint32_t function;
- uint32_t plane_mask;
- uint32_t foreground;
- uint32_t background;
- uint32_t line_width;
- uint32_t line_style;
- uint32_t cap_style;
- uint32_t join_style;
- uint32_t fill_style;
- uint32_t fill_rule;
- uint32_t tile;
- uint32_t stipple;
- uint32_t tile_stipple_origin_x;
- uint32_t tile_stipple_origin_y;
- uint32_t font;
- uint32_t subwindow_mode;
- uint32_t graphics_exposures;
- uint32_t clip_originX;
- uint32_t clip_originY;
- uint32_t mask;
- uint32_t dash_offset;
- uint32_t dash_list;
- uint32_t arc_mode;
-} xcb_params_gc_t;
-
-xcb_void_cookie_t
-xcb_aux_create_gc (xcb_connection_t *c,
- xcb_gcontext_t cid,
- xcb_drawable_t drawable,
- uint32_t mask,
- const xcb_params_gc_t *params);
-
-xcb_void_cookie_t
-xcb_aux_create_gc_checked (xcb_connection_t *c,
- xcb_gcontext_t gid,
- xcb_drawable_t drawable,
- uint32_t mask,
- const xcb_params_gc_t *params);
-xcb_void_cookie_t
-xcb_aux_change_gc (xcb_connection_t *c,
- xcb_gcontext_t gc,
- uint32_t mask,
- const xcb_params_gc_t *params);
-
-xcb_void_cookie_t
-xcb_aux_change_gc_checked (xcb_connection_t *c,
- xcb_gcontext_t gc,
- uint32_t mask,
- const xcb_params_gc_t *params);
-typedef struct {
- uint32_t key_click_percent;
- uint32_t bell_percent;
- uint32_t bell_pitch;
- uint32_t bell_duration;
- uint32_t led;
- uint32_t led_mode;
- uint32_t key;
- uint32_t auto_repeat_mode;
-} xcb_params_keyboard_t;
-
-xcb_void_cookie_t
-xcb_aux_change_keyboard_control (xcb_connection_t *c,
- uint32_t mask,
- const xcb_params_keyboard_t *params);
-
-int
-xcb_aux_parse_color(char *color_name,
- uint16_t *red, uint16_t *green, uint16_t *blue);
-
-xcb_void_cookie_t
-xcb_aux_set_line_attributes_checked (xcb_connection_t *dpy,
- xcb_gcontext_t gc,
- uint16_t linewidth,
- int32_t linestyle,
- int32_t capstyle,
- int32_t joinstyle);
-
-xcb_void_cookie_t
-xcb_aux_clear_window(xcb_connection_t * dpy,
- xcb_window_t w);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* __XCB_AUX_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_bitops.h b/src/3rdparty/xcb/include/xcb/xcb_bitops.h
deleted file mode 100644
index a6872a1f30..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_bitops.h
+++ /dev/null
@@ -1,212 +0,0 @@
-#ifndef __XCB_BITOPS_H__
-#define __XCB_BITOPS_H__
-
-/* Copyright (C) 2007 Bart Massey
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or their
- * institutions shall not be used in advertising or otherwise to promote the
- * sale, use or other dealings in this Software without prior written
- * authorization from the authors.
- */
-
-#include <assert.h>
-#include <inttypes.h>
-#include <X11/Xfuncproto.h>
-
-/**
- * @defgroup xcb__bitops XCB Bit Operations
- *
- * Inline functions for common bit ops used in XCB and elsewhere.
- *
- * @{
- */
-
-
-/**
- * Create a low-order bitmask.
- * @param n Mask size.
- * @return Mask.
- *
- * Create a bitmask with the lower @p n bits set and the
- * rest of the word clear.
- * @ingroup xcb__bitops
- */
-_X_INLINE static uint32_t
-xcb_mask(uint32_t n)
-{
- return n == 32 ? ~0 : (1 << n) - 1;
-}
-
-
-/**
- * Population count.
- * @param n Integer representing a bitset.
- * @return Number of 1 bits in the bitset.
- *
- * This is a reasonably fast algorithm for counting the bits
- * in a 32-bit word. Currently a classic binary
- * divide-and-conquer popcount: popcount_2() from
- * http://en.wikipedia.org/wiki/Hamming_weight.
- * @ingroup xcb__bitops
- */
-
-
-/* 15 ops, 3 long immediates, 14 stages, 9 alu ops, 9 alu stages */
-_X_INLINE static uint32_t
-xcb_popcount(uint32_t x)
-{
- uint32_t m1 = 0x55555555;
- uint32_t m2 = 0x33333333;
- uint32_t m4 = 0x0f0f0f0f;
- x -= (x >> 1) & m1;
- x = (x & m2) + ((x >> 2) & m2);
- x = (x + (x >> 4)) & m4;
- x += x >> 8;
- return (x + (x >> 16)) & 0x3f;
-}
-
-
-/**
- * Round up to the next power-of-two unit size.
- * @param base Number to be rounded up.
- * @param pad Multiple to be rounded to; must be a power of two.
- * @return Rounded-up number.
- *
- * Rounds @p base up to a multiple of @p pad, where @p pad
- * is a power of two. The more general case is handled by
- * xcb_roundup().
- * @ingroup xcb__bitops
- */
-_X_INLINE static uint32_t
-xcb_roundup_2 (uint32_t base, uint32_t pad)
-{
- return (base + pad - 1) & -pad;
-}
-
-/**
- * Round down to the next power-of-two unit size.
- * @param base Number to be rounded down.
- * @param pad Multiple to be rounded to; must be a power of two.
- * @return Rounded-down number.
- *
- * Rounds @p base down to a multiple of @p pad, where @p pad
- * is a power of two. The more general case is handled by
- * xcb_rounddown().
- * @ingroup xcb__bitops
- */
-_X_INLINE static uint32_t
-xcb_rounddown_2 (uint32_t base, uint32_t pad)
-{
- return base & -pad;
-}
-
-/**
- * Round up to the next unit size.
- * @param base Number to be rounded up.
- * @param pad Multiple to be rounded to.
- * @return Rounded-up number.
- *
- * This is a general routine for rounding @p base up
- * to a multiple of @p pad. If you know that @p pad
- * is a power of two, you should probably call xcb_roundup_2()
- * instead.
- * @ingroup xcb__bitops
- */
-_X_INLINE static uint32_t
-xcb_roundup (uint32_t base, uint32_t pad)
-{
- uint32_t b = base + pad - 1;
- /* faster if pad is a power of two */
- if (((pad - 1) & pad) == 0)
- return b & -pad;
- return b - b % pad;
-}
-
-
-/**
- * Round down to the next unit size.
- * @param base Number to be rounded down.
- * @param pad Multiple to be rounded to.
- * @return Rounded-down number.
- *
- * This is a general routine for rounding @p base down
- * to a multiple of @p pad. If you know that @p pad
- * is a power of two, you should probably call xcb_rounddown_2()
- * instead.
- * @ingroup xcb__bitops
- */
-_X_INLINE static uint32_t
-xcb_rounddown (uint32_t base, uint32_t pad)
-{
- /* faster if pad is a power of two */
- if (((pad - 1) & pad) == 0)
- return base & -pad;
- return base - base % pad;
-}
-
-
-/**
- * Reverse bits of word.
- * @param x Target word.
- * @param n Number of low-order bits to reverse.
- * @return Word with low @p n bits reversed, all others 0.
- *
- * Reverses the bottom @p n bits of @p x.
- * @ingroup xcb__bitops
- */
-_X_INLINE static uint32_t
-xcb_bit_reverse(uint32_t x, uint8_t n) {
- uint32_t m1 = 0x00ff00ff;
- uint32_t m2 = 0x0f0f0f0f;
- uint32_t m3 = 0x33333333;
- uint32_t m4 = 0x55555555;
- x = ((x << 16) | (x >> 16));
- x = ((x & m1) << 8) | ((x >> 8) & m1);
- x = ((x & m2) << 4) | ((x >> 4) & m2);
- x = ((x & m3) << 2) | ((x >> 2) & m3);
- x = ((x & m4) << 1) | ((x >> 1) & m4);
- x >>= 32 - n;
- return x;
-}
-
-
-/**
- * Host byte order.
- * @return The byte order of the host.
- *
- * Tests the host's byte order and returns either
- * XCB_IMAGE_ORDER_MSB_FIRST or XCB_IMAGE_ORDER_LSB_FIRST
- * as appropriate.
- * @ingroup xcb__bitops
- */
-_X_INLINE static xcb_image_order_t
-xcb_host_byte_order(void) {
- uint32_t endian_test = 0x01020304;
-
- switch (*(char *)&endian_test) {
- case 0x01:
- return XCB_IMAGE_ORDER_MSB_FIRST;
- case 0x04:
- return XCB_IMAGE_ORDER_LSB_FIRST;
- }
- assert(0);
-}
-
-#endif /* __XCB_BITOPS_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_event.h b/src/3rdparty/xcb/include/xcb/xcb_event.h
deleted file mode 100644
index ee911fce51..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_event.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2008-2009 Julien Danjou <julien@danjou.info>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or
- * their institutions shall not be used in advertising or otherwise to
- * promote the sale, use or other dealings in this Software without
- * prior written authorization from the authors.
- */
-
-/**
- * @defgroup xcb__event_t XCB Event Functions
- *
- * These functions ease the handling of X events received.
- *
- * @{
- */
-
-#ifndef __XCB_EVENT_H__
-#define __XCB_EVENT_H__
-
-#include <xcb/xcb.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Bit mask to find event type regardless of event source.
- *
- * Each event in the X11 protocol contains an 8-bit type code.
- * The most-significant bit in this code is set if the event was
- * generated from a SendEvent request. This mask can be used to
- * determine the type of event regardless of how the event was
- * generated. See the X11R6 protocol specification for details.
- */
-#define XCB_EVENT_RESPONSE_TYPE_MASK (0x7f)
-#define XCB_EVENT_RESPONSE_TYPE(e) (e->response_type & XCB_EVENT_RESPONSE_TYPE_MASK)
-#define XCB_EVENT_SENT(e) (e->response_type & ~XCB_EVENT_RESPONSE_TYPE_MASK)
-
-/**
- * @brief Convert an event response type to a label.
- * @param type The event type.
- * @return A string with the event name, or NULL if unknown.
- */
-const char * xcb_event_get_label(uint8_t type);
-
-/**
- * @brief Convert an event error type to a label.
- * @param type The error type.
- * @return A string with the event name, or NULL if unknown or if the event is
- * not an error.
- */
-const char * xcb_event_get_error_label(uint8_t type);
-
-/**
- * @brief Convert an event request type to a label.
- * @param type The request type.
- * @return A string with the event name, or NULL if unknown or if the event is
- * not an error.
- */
-const char * xcb_event_get_request_label(uint8_t type);
-
-#ifdef __cplusplus
-}
-#endif
-
-/**
- * @}
- */
-
-#endif /* __XCB_EVENT_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_icccm.h b/src/3rdparty/xcb/include/xcb/xcb_icccm.h
deleted file mode 100644
index 449a5c88ca..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_icccm.h
+++ /dev/null
@@ -1,1049 +0,0 @@
-#ifndef __XCB_ICCCM_H__
-#define __XCB_ICCCM_H__
-
-/*
- * Copyright (C) 2008 Arnaud Fontaine <arnau@debian.org>
- * Copyright (C) 2007-2008 Vincent Torri <vtorri@univ-evry.fr>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or
- * their institutions shall not be used in advertising or otherwise to
- * promote the sale, use or other dealings in this Software without
- * prior written authorization from the authors.
- */
-
-/**
- * @defgroup xcb__icccm_t XCB ICCCM Functions
- *
- * These functions allow easy handling of the protocol described in the
- * Inter-Client Communication Conventions Manual.
- *
- * @{
- */
-
-#include <xcb/xcb.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief TextProperty reply structure.
- */
-typedef struct {
-/** Store reply to avoid memory allocation, should normally not be
- used directly */
-xcb_get_property_reply_t *_reply;
-/** Encoding used */
-xcb_atom_t encoding;
-/** Length of the name field above */
-uint32_t name_len;
-/** Property value */
-char *name;
-/** Format, may be 8, 16 or 32 */
-uint8_t format;
-} xcb_icccm_get_text_property_reply_t;
-
-/**
- * @brief Deliver a GetProperty request to the X server.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param property Property atom to get.
- * @return The request cookie.
- *
- * Allow to get a window property, in most case you might want to use
- * above functions to get an ICCCM property for a given window.
- */
-xcb_get_property_cookie_t xcb_icccm_get_text_property(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t property);
-
-/**
- * @see xcb_icccm_get_text_property()
- */
-xcb_get_property_cookie_t xcb_icccm_get_text_property_unchecked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t property);
-
-/**
- * @brief Fill given structure with the property value of a window.
- * @param c The connection to the X server.
- * @param cookie TextProperty request cookie.
- * @param prop TextProperty reply which is to be filled.
- * @param e Error if any.
- * @return Return 1 on success, 0 otherwise.
- *
- * If the function return 0 (failure), the content of prop is unmodified and
- * therefore the structure must not be wiped.
- *
- * The parameter e supplied to this function must be NULL if
- * xcb_icccm_get_text_property_unchecked() is used. Otherwise, it stores
- * the error if any. prop structure members should be freed by
- * xcb_icccm_get_text_property_reply_wipe().
- */
-uint8_t xcb_icccm_get_text_property_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_text_property_reply_t *prop,
- xcb_generic_error_t **e);
-
-/**
- * @brief Wipe prop structure members previously allocated by
- * xcb_icccm_get_text_property_reply().
- * @param prop prop structure whose members is going to be freed.
- */
-void xcb_icccm_get_text_property_reply_wipe(xcb_icccm_get_text_property_reply_t *prop);
-
-/* WM_NAME */
-
-/**
- * @brief Deliver a SetProperty request to set WM_NAME property value.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param encoding Encoding used for the data passed in the name parameter, the set property will also have this encoding as its type.
- * @param format Encoding format.
- * @param name_len Length of name value to set.
- * @param name Name value to set.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_name_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t encoding,
- uint8_t format,
- uint32_t name_len,
- const char *name);
-
-/**
- * @see xcb_icccm_set_wm_name_checked()
- */
-xcb_void_cookie_t xcb_icccm_set_wm_name(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t encoding, uint8_t format,
- uint32_t name_len, const char *name);
-
-/**
- * @brief Deliver a GetProperty request to the X server for WM_NAME.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_name(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @see xcb_icccm_get_wm_name()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_name_unchecked(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @brief Fill given structure with the WM_NAME property of a window.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param prop WM_NAME property value.
- * @param e Error if any.
- * @see xcb_icccm_get_text_property_reply()
- * @return Return 1 on success, 0 otherwise.
- */
-uint8_t xcb_icccm_get_wm_name_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_text_property_reply_t *prop,
- xcb_generic_error_t **e);
-
-/* WM_ICON_NAME */
-
-/**
- * @brief Deliver a SetProperty request to set WM_ICON_NAME property value.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param encoding Encoding used for the data passed in the name parameter, the set property will also have this encoding as its type.
- * @param format Encoding format.
- * @param name_len Length of name value to set.
- * @param name Name value to set.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_icon_name_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t encoding,
- uint8_t format,
- uint32_t name_len,
- const char *name);
-
-/**
- * @see xcb_icccm_set_wm_icon_name_checked()
- */
-xcb_void_cookie_t xcb_icccm_set_wm_icon_name(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t encoding,
- uint8_t format,
- uint32_t name_len,
- const char *name);
-
-/**
- * @brief Send request to get WM_ICON_NAME property of a window.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_icon_name(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @see xcb_icccm_get_wm_icon_name()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_icon_name_unchecked(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @brief Fill given structure with the WM_ICON_NAME property of a window.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param prop WM_ICON_NAME property value.
- * @param e Error if any.
- * @see xcb_icccm_get_text_property_reply()
- * @return Return 1 on success, 0 otherwise.
- */
-uint8_t xcb_icccm_get_wm_icon_name_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_text_property_reply_t *prop,
- xcb_generic_error_t **e);
-
-/* WM_COLORMAP_WINDOWS */
-
-/**
- * @brief Deliver a ChangeProperty request to set WM_COLORMAP_WINDOWS property value.
- * @param c The connection to the X server.
- * @param wm_colormap_windows The WM_COLORMAP_WINDOWS atom
- * @param window Window X identifier.
- * @param list_len Windows list len.
- * @param list Windows list.
- * @return The request cookie.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_colormap_windows_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_colormap_windows_atom,
- uint32_t list_len,
- const xcb_window_t *list);
-
-/**
- * @see xcb_icccm_set_wm_colormap_windows_checked()
- */
-xcb_void_cookie_t xcb_icccm_set_wm_colormap_windows(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_colormap_windows_atom,
- uint32_t list_len,
- const xcb_window_t *list);
-
-/**
- * @brief WM_COLORMAP_WINDOWS structure.
- */
-typedef struct {
-/** Length of the windows list */
-uint32_t windows_len;
-/** Windows list */
-xcb_window_t *windows;
-/** Store reply to avoid memory allocation, should normally not be
- used directly */
-xcb_get_property_reply_t *_reply;
-} xcb_icccm_get_wm_colormap_windows_reply_t;
-
-/**
- * @brief Send request to get WM_COLORMAP_WINDOWS property of a given window.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_colormap_windows(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_colormap_windows_atom);
-
-/**
- * @see xcb_icccm_get_wm_colormap_windows()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_colormap_windows_unchecked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_colormap_windows_atom);
-
-/**
- * @brief Fill the given structure with the WM_COLORMAP_WINDOWS property of a window.
- * @param reply The reply of the GetProperty request.
- * @param colormap_windows WM_COLORMAP property value.
- * @return Return 1 on success, 0 otherwise.
- *
- * protocols structure members should be freed by
- * xcb_icccm_get_wm_protocols_reply_wipe().
- */
-uint8_t xcb_icccm_get_wm_colormap_windows_from_reply(xcb_get_property_reply_t *reply,
- xcb_icccm_get_wm_colormap_windows_reply_t *colormap_windows);
-/**
- * @brief Fill the given structure with the WM_COLORMAP_WINDOWS property of a window.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param protocols WM_COLORMAP_WINDOWS property value.
- * @param e Error if any.
- * @return Return 1 on success, 0 otherwise.
- *
- * The parameter e supplied to this function must be NULL if
- * xcb_icccm_get_wm_colormap_windows_unchecked() is used. Otherwise, it
- * stores the error if any. protocols structure members should be
- * freed by xcb_icccm_get_wm_colormap_windows_reply_wipe().
- */
-uint8_t xcb_icccm_get_wm_colormap_windows_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_wm_colormap_windows_reply_t *windows,
- xcb_generic_error_t **e);
-
-/**
- * @brief Wipe protocols structure members previously allocated by
- * xcb_icccm_get_wm_colormap_windows_reply().
- * @param windows windows structure whose members is going to be freed.
- */
-void xcb_icccm_get_wm_colormap_windows_reply_wipe(xcb_icccm_get_wm_colormap_windows_reply_t *windows);
-
-/* WM_CLIENT_MACHINE */
-
-/**
- * @brief Deliver a SetProperty request to set WM_CLIENT_MACHINE property value.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param encoding Encoding used for the data passed in the name parameter, the set property will also have this encoding as its type.
- * @param format Encoding format.
- * @param name_len Length of name value to set.
- * @param name Name value to set.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_client_machine_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t encoding,
- uint8_t format,
- uint32_t name_len,
- const char *name);
-
-/**
- * @see xcb_icccm_set_wm_client_machine_checked()
- */
-xcb_void_cookie_t xcb_icccm_set_wm_client_machine(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t encoding,
- uint8_t format,
- uint32_t name_len,
- const char *name);
-
-/**
- * @brief Send request to get WM_CLIENT_MACHINE property of a window.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_client_machine(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @see xcb_icccm_get_wm_client_machine()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_client_machine_unchecked(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @brief Fill given structure with the WM_CLIENT_MACHINE property of a window.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param prop WM_CLIENT_MACHINE property value.
- * @param e Error if any.
- * @see xcb_icccm_get_text_property_reply()
- * @return Return 1 on success, 0 otherwise.
- */
-uint8_t xcb_icccm_get_wm_client_machine_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_text_property_reply_t *prop,
- xcb_generic_error_t **e);
-
-/* WM_CLASS */
-
-/**
- * @brief WM_CLASS hint structure
- */
-
-/**
- * @brief Deliver a SetProperty request to set WM_CLASS property value.
- *
- * WM_CLASS string is a concatenation of the instance and class name
- * strings respectively (including null character).
- *
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param class_len Length of WM_CLASS string.
- * @param class_name WM_CLASS string.
- * @return The request cookie.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_class_checked(xcb_connection_t *c,
- xcb_window_t window,
- uint32_t class_len,
- const char *class_name);
-
-/**
- * @see xcb_icccm_set_wm_class_checked()
- */
-xcb_void_cookie_t xcb_icccm_set_wm_class(xcb_connection_t *c,
- xcb_window_t window,
- uint32_t class_len,
- const char *class_name);
-
-typedef struct {
-/** Instance name */
-char *instance_name;
-/** Class of application */
-char *class_name;
-/** Store reply to avoid memory allocation, should normally not be
- used directly */
-xcb_get_property_reply_t *_reply;
-} xcb_icccm_get_wm_class_reply_t;
-
-/**
- * @brief Deliver a GetProperty request to the X server for WM_CLASS.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_class(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @see xcb_icccm_get_wm_class()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_class_unchecked(xcb_connection_t *c,
- xcb_window_t window);
-
-
-/**
- * @brief Fill give structure with the WM_CLASS property of a window.
- * @param prop The property structure to fill.
- * @param reply The property request reply.
- * @return Return 1 on success, 0 otherwise.
- */
-uint8_t
-xcb_icccm_get_wm_class_from_reply(xcb_icccm_get_wm_class_reply_t *prop,
- xcb_get_property_reply_t *reply);
-
-/**
- * @brief Fill given structure with the WM_CLASS property of a window.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param prop WM_CLASS property value.
- * @param e Error if any.
- * @return Return 1 on success, 0 otherwise.
- *
- * The parameter e supplied to this function must be NULL if
- * xcb_icccm_get_wm_class_unchecked() is used. Otherwise, it stores the
- * error if any. prop structure members should be freed by
- * xcb_icccm_get_wm_class_reply_wipe().
- */
-uint8_t xcb_icccm_get_wm_class_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_wm_class_reply_t *prop,
- xcb_generic_error_t **e);
-
-/**
- * @brief Wipe prop structure members previously allocated by
- * xcb_icccm_get_wm_class_reply().
- * @param prop prop structure whose members is going to be freed.
- */
-void xcb_icccm_get_wm_class_reply_wipe(xcb_icccm_get_wm_class_reply_t *prop);
-
-/* WM_TRANSIENT_FOR */
-
-/**
- * @brief Deliver a SetProperty request to set WM_TRANSIENT_FOR property value.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param transient_for_window The WM_TRANSIENT_FOR window X identifier.
- * @return The request cookie.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_transient_for_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_window_t transient_for_window);
-
-/**
- * @see xcb_icccm_set_wm_transient_for
- */
-xcb_void_cookie_t xcb_icccm_set_wm_transient_for(xcb_connection_t *c,
- xcb_window_t window,
- xcb_window_t transient_for_window);
-
-/**
- * @brief Send request to get WM_TRANSIENT_FOR property of a window.
- * @param c The connection to the X server
- * @param window Window X identifier.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_transient_for(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @see xcb_icccm_get_wm_transient_for_unchecked()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_transient_for_unchecked(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @brief Fill given window pointer with the WM_TRANSIENT_FOR property of a window.
- * @param prop WM_TRANSIENT_FOR property value.
- * @param reply The get property request reply.
- * @return Return 1 on success, 0 otherwise.
- */
-uint8_t
-xcb_icccm_get_wm_transient_for_from_reply(xcb_window_t *prop,
- xcb_get_property_reply_t *reply);
-/**
- * @brief Fill given structure with the WM_TRANSIENT_FOR property of a window.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param prop WM_TRANSIENT_FOR property value.
- * @param e Error if any.
- * @return Return 1 on success, 0 otherwise.
- *
- * The parameter e supplied to this function must be NULL if
- * xcb_icccm_get_wm_transient_for_unchecked() is used. Otherwise, it stores
- * the error if any.
- */
-uint8_t xcb_icccm_get_wm_transient_for_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_window_t *prop,
- xcb_generic_error_t **e);
-
-/* WM_SIZE_HINTS */
-
-typedef enum {
-XCB_ICCCM_SIZE_HINT_US_POSITION = 1 << 0,
- XCB_ICCCM_SIZE_HINT_US_SIZE = 1 << 1,
- XCB_ICCCM_SIZE_HINT_P_POSITION = 1 << 2,
- XCB_ICCCM_SIZE_HINT_P_SIZE = 1 << 3,
- XCB_ICCCM_SIZE_HINT_P_MIN_SIZE = 1 << 4,
- XCB_ICCCM_SIZE_HINT_P_MAX_SIZE = 1 << 5,
- XCB_ICCCM_SIZE_HINT_P_RESIZE_INC = 1 << 6,
- XCB_ICCCM_SIZE_HINT_P_ASPECT = 1 << 7,
- XCB_ICCCM_SIZE_HINT_BASE_SIZE = 1 << 8,
- XCB_ICCCM_SIZE_HINT_P_WIN_GRAVITY = 1 << 9
- } xcb_icccm_size_hints_flags_t;
-
-/**
- * @brief Size hints structure.
- */
-typedef struct {
-/** User specified flags */
-uint32_t flags;
-/** User-specified position */
-int32_t x, y;
-/** User-specified size */
-int32_t width, height;
-/** Program-specified minimum size */
-int32_t min_width, min_height;
-/** Program-specified maximum size */
-int32_t max_width, max_height;
-/** Program-specified resize increments */
-int32_t width_inc, height_inc;
-/** Program-specified minimum aspect ratios */
-int32_t min_aspect_num, min_aspect_den;
-/** Program-specified maximum aspect ratios */
-int32_t max_aspect_num, max_aspect_den;
-/** Program-specified base size */
-int32_t base_width, base_height;
-/** Program-specified window gravity */
-uint32_t win_gravity;
-} xcb_size_hints_t;
-
-/** Number of elements in this structure */
-#define XCB_ICCCM_NUM_WM_SIZE_HINTS_ELEMENTS 18
-
-/**
- * @brief Set size hints to a given position.
- * @param hints SIZE_HINTS structure.
- * @param user_specified Is the size user-specified?
- * @param x The X position.
- * @param y The Y position.
- */
-void xcb_icccm_size_hints_set_position(xcb_size_hints_t *hints, int user_specified,
- int32_t x, int32_t y);
-
-/**
- * @brief Set size hints to a given size.
- * @param hints SIZE_HINTS structure.
- * @param user_specified is the size user-specified?
- * @param width The width.
- * @param height The height.
- */
-void xcb_icccm_size_hints_set_size(xcb_size_hints_t *hints, int user_specified,
- int32_t width, int32_t height);
-
-/**
- * @brief Set size hints to a given minimum size.
- * @param hints SIZE_HINTS structure.
- * @param width The minimum width.
- * @param height The minimum height.
- */
-void xcb_icccm_size_hints_set_min_size(xcb_size_hints_t *hints, int32_t min_width,
- int32_t min_height);
-
-/**
- * @brief Set size hints to a given maximum size.
- * @param hints SIZE_HINTS structure.
- * @param width The maximum width.
- * @param height The maximum height.
- */
-void xcb_icccm_size_hints_set_max_size(xcb_size_hints_t *hints, int32_t max_width,
- int32_t max_height);
-
-/**
- * @brief Set size hints to a given resize increments.
- * @param hints SIZE_HINTS structure.
- * @param width The resize increments width.
- * @param height The resize increments height.
- */
-void xcb_icccm_size_hints_set_resize_inc(xcb_size_hints_t *hints, int32_t width_inc,
- int32_t height_inc);
-
-/**
- * @brief Set size hints to a given aspect ratios.
- * @param hints SIZE_HINTS structure.
- * @param min_aspect_num The minimum aspect ratios for the width.
- * @param min_aspect_den The minimum aspect ratios for the height.
- * @param max_aspect_num The maximum aspect ratios for the width.
- * @param max_aspect_den The maximum aspect ratios for the height.
- */
-void xcb_icccm_size_hints_set_aspect(xcb_size_hints_t *hints, int32_t min_aspect_num,
- int32_t min_aspect_den, int32_t max_aspect_num,
- int32_t max_aspect_den);
-
-/**
- * @brief Set size hints to a given base size.
- * @param hints SIZE_HINTS structure.
- * @param base_width Base width.
- * @param base_height Base height.
- */
-void xcb_icccm_size_hints_set_base_size(xcb_size_hints_t *hints, int32_t base_width,
- int32_t base_height);
-
-/**
- * @brief Set size hints to a given window gravity.
- * @param hints SIZE_HINTS structure.
- * @param win_gravity Window gravity value.
- */
-void xcb_icccm_size_hints_set_win_gravity(xcb_size_hints_t *hints,
- xcb_gravity_t win_gravity);
-
-/**
- * @brief Deliver a ChangeProperty request to set a value to a given property.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param property Property to set value for.
- * @param hints Hints value to set.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_size_hints_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t property,
- xcb_size_hints_t *hints);
-
-/**
- * @see xcb_icccm_set_wm_size_hints_checked()
- */
-xcb_void_cookie_t xcb_icccm_set_wm_size_hints(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t property,
- xcb_size_hints_t *hints);
-
-/**
- * @brief Send request to get size hints structure for the named property.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param property Specify the property name.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_size_hints(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t property);
-
-/**
- * @see xcb_icccm_get_wm_size_hints()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_size_hints_unchecked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t property);
-
-/**
- * @brief Fill given structure with the size hints of the named property.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param hints Size hints structure.
- * @param e Error if any.
- * @return Return 1 on success, 0 otherwise.
- *
- * The parameter e supplied to this function must be NULL if
- * xcb_icccm_get_wm_size_hints_unchecked() is used. Otherwise, it stores
- * the error if any. The returned pointer should be freed.
- */
-uint8_t xcb_icccm_get_wm_size_hints_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_size_hints_t *hints,
- xcb_generic_error_t **e);
-
-/* WM_NORMAL_HINTS */
-
-/**
- * @brief Deliver a ChangeProperty request to set WM_NORMAL_HINTS property value.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param hints Hints value to set.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_normal_hints_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_size_hints_t *hints);
-
-/**
- * @see xcb_icccm_set_wm_normal_hints_checked()
- */
-xcb_void_cookie_t xcb_icccm_set_wm_normal_hints(xcb_connection_t *c,
- xcb_window_t window,
- xcb_size_hints_t *hints);
-
-/**
- * @brief Send request to get WM_NORMAL_HINTS property of a window.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_normal_hints(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @see xcb_icccm_get_wm_normal_hints()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_normal_hints_unchecked(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @brief Fill given structure with the WM_NORMAL_HINTS property of a window.
- * @param hints WM_NORMAL_HINTS property value.
- * @param reply The get property request reply.
- * @return Return 1 on success, 0 otherwise.
- */
-uint8_t
-xcb_icccm_get_wm_size_hints_from_reply(xcb_size_hints_t *hints,
- xcb_get_property_reply_t *reply);
-
-/**
- * @brief Fill given structure with the WM_NORMAL_HINTS property of a window.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param hints WM_NORMAL_HINTS property value.
- * @param e Error if any.
- * @return Return 1 on success, 0 otherwise.
- *
- * The parameter e supplied to this function must be NULL if
- * xcb_icccm_get_wm_normal_hints_unchecked() is used. Otherwise, it stores
- * the error if any. The returned pointer should be freed.
- */
-uint8_t xcb_icccm_get_wm_normal_hints_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_size_hints_t *hints,
- xcb_generic_error_t **e);
-
-/* WM_HINTS */
-
-/**
- * @brief WM hints structure (may be extended in the future).
- */
-typedef struct {
-/** Marks which fields in this structure are defined */
-int32_t flags;
-/** Does this application rely on the window manager to get keyboard
- input? */
- uint32_t input;
- /** See below */
- int32_t initial_state;
- /** Pixmap to be used as icon */
- xcb_pixmap_t icon_pixmap;
- /** Window to be used as icon */
- xcb_window_t icon_window;
- /** Initial position of icon */
- int32_t icon_x, icon_y;
- /** Icon mask bitmap */
- xcb_pixmap_t icon_mask;
- /* Identifier of related window group */
- xcb_window_t window_group;
-} xcb_icccm_wm_hints_t;
-
-/** Number of elements in this structure */
-#define XCB_ICCCM_NUM_WM_HINTS_ELEMENTS 9
-
-/**
- * @brief WM_HINTS window states.
- */
-typedef enum {
- XCB_ICCCM_WM_STATE_WITHDRAWN = 0,
- XCB_ICCCM_WM_STATE_NORMAL = 1,
- XCB_ICCCM_WM_STATE_ICONIC = 3
-} xcb_icccm_wm_state_t;
-
-typedef enum {
- XCB_ICCCM_WM_HINT_INPUT = (1L << 0),
- XCB_ICCCM_WM_HINT_STATE = (1L << 1),
- XCB_ICCCM_WM_HINT_ICON_PIXMAP = (1L << 2),
- XCB_ICCCM_WM_HINT_ICON_WINDOW = (1L << 3),
- XCB_ICCCM_WM_HINT_ICON_POSITION = (1L << 4),
- XCB_ICCCM_WM_HINT_ICON_MASK = (1L << 5),
- XCB_ICCCM_WM_HINT_WINDOW_GROUP = (1L << 6),
- XCB_ICCCM_WM_HINT_X_URGENCY = (1L << 8)
-} xcb_icccm_wm_t;
-
-#define XCB_ICCCM_WM_ALL_HINTS (XCB_ICCCM_WM_HINT_INPUT | XCB_ICCCM_WM_HINT_STATE | \
- XCB_ICCCM_WM_HINT_ICON_PIXMAP | XCB_ICCCM_WM_HINT_ICON_WINDOW | \
- XCB_ICCCM_WM_HINT_ICON_POSITION | XCB_ICCCM_WM_HINT_ICON_MASK | \
- XCB_ICCCM_WM_HINT_WINDOW_GROUP)
-
-/**
- * @brief Get urgency hint.
- * @param hints WM_HINTS structure.
- * @return Urgency hint value.
- */
-uint32_t xcb_icccm_wm_hints_get_urgency(xcb_icccm_wm_hints_t *hints);
-
-/**
- * @brief Set input focus.
- * @param hints WM_HINTS structure.
- * @param input Input focus.
- */
-void xcb_icccm_wm_hints_set_input(xcb_icccm_wm_hints_t *hints, uint8_t input);
-
-/**
- * @brief Set hints state to 'iconic'.
- * @param hints WM_HINTS structure.
- */
-void xcb_icccm_wm_hints_set_iconic(xcb_icccm_wm_hints_t *hints);
-
-/**
- * @brief Set hints state to 'normal'.
- * @param hints WM_HINTS structure.
- */
-void xcb_icccm_wm_hints_set_normal(xcb_icccm_wm_hints_t *hints);
-
-/**
- * @brief Set hints state to 'withdrawn'.
- * @param hints WM_HINTS structure.
- */
-void xcb_icccm_wm_hints_set_withdrawn(xcb_icccm_wm_hints_t *hints);
-
-/**
- * @brief Set hints state to none.
- * @param hints WM_HINTS structure.
- */
-void xcb_icccm_wm_hints_set_none(xcb_icccm_wm_hints_t *hints);
-
-/**
- * @brief Set pixmap to be used as icon.
- * @param hints WM_HINTS structure.
- * @param icon_pixmap Pixmap.
- */
-void xcb_icccm_wm_hints_set_icon_pixmap(xcb_icccm_wm_hints_t *hints,
- xcb_pixmap_t icon_pixmap);
-
-/**
- * @brief Set icon mask bitmap.
- * @param hints WM_HINTS structure.
- * @param icon_mask Pixmap.
- */
-void xcb_icccm_wm_hints_set_icon_mask(xcb_icccm_wm_hints_t *hints, xcb_pixmap_t icon_mask);
-
-/**
- * @brief Set window identifier to be used as icon.
- * @param hints WM_HINTS structure.
- * @param icon_window Window X identifier.
- */
-void xcb_icccm_wm_hints_set_icon_window(xcb_icccm_wm_hints_t *hints,
- xcb_window_t icon_window);
-
-/**
- * @brief Set identifier of related window group.
- * @param hints WM_HINTS structure.
- * @param window_group Window X identifier.
- */
-void xcb_icccm_wm_hints_set_window_group(xcb_icccm_wm_hints_t *hints,
- xcb_window_t window_group);
-
-/**
- * @brief Set urgency hints flag.
- * @param hints WM_HINTS structure.
- */
-void xcb_icccm_wm_hints_set_urgency(xcb_icccm_wm_hints_t *hints);
-
-/**
- * @brief Deliver a SetProperty request to set WM_HINTS property value.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @param hints Hints value to set.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_hints_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_icccm_wm_hints_t *hints);
-
-/**
- * @see xcb_icccm_set_wm_hints_checked()
- */
-xcb_void_cookie_t xcb_icccm_set_wm_hints(xcb_connection_t *c,
- xcb_window_t window,
- xcb_icccm_wm_hints_t *hints);
-
-/**
- * @brief Send request to get WM_HINTS property of a window.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_hints(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @see xcb_icccm_get_wm_hints()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_hints_unchecked(xcb_connection_t *c,
- xcb_window_t window);
-
-/**
- * @brief Fill given structure with the WM_HINTS property of a window.
- * @param hints WM_HINTS property value.
- * @param reply The get property request reply.
- * @return Return 1 on success, 0 otherwise.
- */
-uint8_t
-xcb_icccm_get_wm_hints_from_reply(xcb_icccm_wm_hints_t *hints,
- xcb_get_property_reply_t *reply);
-
-/**
- * @brief Fill given structure with the WM_HINTS property of a window.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param hints WM_HINTS property value.
- * @param e Error if any.
- * @return Return 1 on success, 0 otherwise.
- *
- * The parameter e supplied to this function must be NULL if
- * xcb_icccm_get_wm_hints_unchecked() is used. Otherwise, it stores the
- * error if any. The returned pointer should be freed.
- */
-uint8_t xcb_icccm_get_wm_hints_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_wm_hints_t *hints,
- xcb_generic_error_t **e);
-
-/* WM_PROTOCOLS */
-
-/**
- * @brief Deliver a SetProperty request to set WM_PROTOCOLS property value.
- * @param c The connection to the X server.
- * @param wm_protocols The WM_PROTOCOLS atom.
- * @param window Window X identifier.
- * @param list_len Atom list len.
- * @param list Atom list.
- */
-xcb_void_cookie_t xcb_icccm_set_wm_protocols_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_protocols,
- uint32_t list_len,
- xcb_atom_t *list);
-
-/**
- * @see xcb_icccm_set_wm_protocols_checked()
- */
-xcb_void_cookie_t xcb_icccm_set_wm_protocols(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_protocols,
- uint32_t list_len,
- xcb_atom_t *list);
-
-/**
- * @brief WM_PROTOCOLS structure.
- */
-typedef struct {
- /** Length of the atoms list */
- uint32_t atoms_len;
- /** Atoms list */
- xcb_atom_t *atoms;
- /** Store reply to avoid memory allocation, should normally not be
- used directly */
- xcb_get_property_reply_t *_reply;
-} xcb_icccm_get_wm_protocols_reply_t;
-
-/**
- * @brief Send request to get WM_PROTOCOLS property of a given window.
- * @param c The connection to the X server.
- * @param window Window X identifier.
- * @return The request cookie.
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_protocols(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_protocol_atom);
-
-/**
- * @see xcb_icccm_get_wm_protocols()
- */
-xcb_get_property_cookie_t xcb_icccm_get_wm_protocols_unchecked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_protocol_atom);
-
-/**
- * @brief Fill the given structure with the WM_PROTOCOLS property of a window.
- * @param reply The reply of the GetProperty request.
- * @param protocols WM_PROTOCOLS property value.
- * @return Return 1 on success, 0 otherwise.
- *
- * protocols structure members should be freed by
- * xcb_icccm_get_wm_protocols_reply_wipe().
- */
-uint8_t xcb_icccm_get_wm_protocols_from_reply(xcb_get_property_reply_t *reply,
- xcb_icccm_get_wm_protocols_reply_t *protocols);
-/**
- * @brief Fill the given structure with the WM_PROTOCOLS property of a window.
- * @param c The connection to the X server.
- * @param cookie Request cookie.
- * @param protocols WM_PROTOCOLS property value.
- * @param e Error if any.
- * @return Return 1 on success, 0 otherwise.
- *
- * The parameter e supplied to this function must be NULL if
- * xcb_icccm_get_wm_protocols_unchecked() is used. Otherwise, it stores the
- * error if any. protocols structure members should be freed by
- * xcb_icccm_get_wm_protocols_reply_wipe().
- */
-uint8_t xcb_icccm_get_wm_protocols_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_wm_protocols_reply_t *protocols,
- xcb_generic_error_t **e);
-
-/**
- * @brief Wipe protocols structure members previously allocated by
- * xcb_icccm_get_wm_protocols_reply().
- * @param protocols protocols structure whose members is going to be freed.
- */
-void xcb_icccm_get_wm_protocols_reply_wipe(xcb_icccm_get_wm_protocols_reply_t *protocols);
-
-#ifdef __cplusplus
-}
-#endif
-
-/**
- * @}
- */
-
-#endif /* __XCB_ICCCM_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_image.h b/src/3rdparty/xcb/include/xcb/xcb_image.h
deleted file mode 100644
index f41187d394..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_image.h
+++ /dev/null
@@ -1,630 +0,0 @@
-#ifndef __XCB_IMAGE_H__
-#define __XCB_IMAGE_H__
-
-/* Copyright (C) 2007 Bart Massey
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or their
- * institutions shall not be used in advertising or otherwise to promote the
- * sale, use or other dealings in this Software without prior written
- * authorization from the authors.
- */
-
-#include <xcb/xcb.h>
-#include <xcb/shm.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/**
- * @defgroup xcb__image_t XCB Image Functions
- *
- * These are functions used to create and manipulate X images.
- *
- * The X image format we use is specific to this software,
- * which is probably a bug; it represents an intermediate
- * position between the wire format used by the X GetImage
- * and PutImage requests and standard formats like PBM. An
- * image consists of a header of type @ref xcb_image_t
- * describing the properties of the image, together with a
- * pointer to the image data itself.
- *
- * X wire images come in three formats. An xy-bitmap is a
- * bit-packed format that will be expanded to a two-color
- * pixmap using a GC when sent over the wire by PutImage.
- * An xy-pixmap is one or more bit-planes, each in the same
- * format as xy-bitmap. A z-pixmap is a more conventional
- * pixmap representation, with each pixel packed into a
- * word. Pixmaps are sent and received over the wire only
- * to/from drawables of their depth.
- *
- * Each X server defines, for each depth and format,
- * properties of images in that format that are sent and
- * received on the wire. We refer to this as a "native"
- * image for a given X server. It is not uncommon to want
- * to work with non-native images on the client side, or to
- * convert between the native images of different servers.
- *
- * This library provides several things. Facilities for
- * creating and destroying images are, of course, provided.
- * Wrappers for xcb_get_image() and xcb_put_image() are
- * provided; these utilize the image header to simplify the
- * interface. Routines for getting and putting image pixels
- * are provided: both a generic form that works with
- * arbitrary images, and fastpath forms for some common
- * cases. Conversion routines are provided for X images;
- * these routines have been fairly well optimized for the
- * common cases, and should run fast even on older hardware.
- * A routine analogous to Xlib's XCreate*FromBitmapData() is
- * provided for creating X images from xbm-format data; this
- * routine is in this library only because it is a trivial
- * use case for the library.
- *
- * @{
- */
-
-
-typedef struct xcb_image_t xcb_image_t;
-
-/**
- * @struct xcb_image_t
- * A structure that describes an xcb_image_t.
- */
-struct xcb_image_t
-{
- uint16_t width; /**< Width in pixels, excluding pads etc. */
- uint16_t height; /**< Height in pixels. */
- xcb_image_format_t format; /**< Format. */
- uint8_t scanline_pad; /**< Right pad in bits. Valid pads
- * are 8, 16, 32.
- */
- uint8_t depth; /**< Depth in bits. Valid depths
- * are 1, 4, 8, 16, 24 for z format,
- * 1 for xy-bitmap-format, anything
- * for xy-pixmap-format.
- */
- uint8_t bpp; /**< Storage per pixel in bits.
- * Must be >= depth. Valid bpp
- * are 1, 4, 8, 16, 24, 32 for z
- * format, 1 for xy-bitmap format,
- * anything for xy-pixmap-format.
- */
- uint8_t unit; /**< Scanline unit in bits for
- * xy formats and for bpp == 1,
- * in which case valid scanline
- * units are 8, 16, 32. Otherwise,
- * will be max(8, bpp). Must be >= bpp.
- */
- uint32_t plane_mask; /**< When format is
- * xy-pixmap and depth >
- * 1, this says which
- * planes are "valid" in
- * some vague sense.
- * Currently used only
- * by xcb_image_get/put_pixel(),
- * and set only by
- * xcb_image_get().
- */
- xcb_image_order_t byte_order; /**< Component byte order
- * for z-pixmap, byte
- * order of scanline unit
- * for xy-bitmap and
- * xy-pixmap. Nybble
- * order for z-pixmap
- * when bpp == 4.
- */
- xcb_image_order_t bit_order; /**< Bit order of
- * scanline unit for
- * xy-bitmap and
- * xy-pixmap.
- */
- uint32_t stride; /**< Bytes per image row.
- * Computable from other
- * data, but cached for
- * convenience/performance.
- */
- uint32_t size; /**< Size of image data in bytes.
- * Computable from other
- * data, but cached for
- * convenience/performance.
- */
- void * base; /**< Malloced block of storage that
- * will be freed by
- * @ref xcb_image_destroy() if non-null.
- */
- uint8_t * data; /**< The actual image. */
-};
-
-typedef struct xcb_shm_segment_info_t xcb_shm_segment_info_t;
-
-/**
- * @struct xcb_shm_segment_info_t
- * A structure that stores the informations needed by the MIT Shm
- * Extension.
- */
-struct xcb_shm_segment_info_t
-{
- xcb_shm_seg_t shmseg;
- uint32_t shmid;
- uint8_t *shmaddr;
-};
-
-
-/**
- * Update the cached data of an image.
- * @param image The image.
- *
- * An image's size and stride, among other things, are
- * cached in its structure. This function recomputes those
- * cached values for the given image.
- * @ingroup xcb__image_t
- */
-void
-xcb_image_annotate (xcb_image_t *image);
-
-/**
- * Create a new image.
- * @param width The width of the image, in pixels.
- * @param height The height of the image, in pixels.
- * @param format The format of the image.
- * @param xpad The scanline pad of the image.
- * @param depth The depth of the image.
- * @param bpp The depth of the image storage.
- * @param unit The unit of image representation, in bits.
- * @param byte_order The byte order of the image.
- * @param bit_order The bit order of the image.
- * @param base The base address of malloced image data.
- * @param bytes The size in bytes of the storage pointed to by base.
- * If base == 0 and bytes == ~0 and data == 0 on
- * entry, no storage will be auto-allocated.
- * @param data The image data. If data is null and bytes != ~0, then
- * an attempt will be made to fill in data; from
- * base if it is non-null (and bytes is large enough), else
- * by mallocing sufficient storage and filling in base.
- * @return The new image.
- *
- * This function allocates the memory needed for an @ref xcb_image_t structure
- * with the given properties. See the description of xcb_image_t for details.
- * This function initializes and returns a pointer to the
- * xcb_image_t structure. It may try to allocate or reserve data for the
- * structure, depending on how @p base, @p bytes and @p data are set.
- *
- * The image must be destroyed with xcb_image_destroy().
- * @ingroup xcb__image_t
- */
-xcb_image_t *
-xcb_image_create (uint16_t width,
- uint16_t height,
- xcb_image_format_t format,
- uint8_t xpad,
- uint8_t depth,
- uint8_t bpp,
- uint8_t unit,
- xcb_image_order_t byte_order,
- xcb_image_order_t bit_order,
- void * base,
- uint32_t bytes,
- uint8_t * data);
-
-
-/**
- * Create a new image in connection-native format.
- * @param c The connection.
- * @param width The width of the image, in pixels.
- * @param height The height of the image, in pixels.
- * @param format The format of the image.
- * @param depth The depth of the image.
- * @param base The base address of malloced image data.
- * @param bytes The size in bytes of the storage pointed to by base.
- * If base == 0 and bytes == ~0 and data == 0 on
- * entry, no storage will be auto-allocated.
- * @param data The image data. If data is null and bytes != ~0, then
- * an attempt will be made to fill in data; from
- * base if it is non-null (and bytes is large enough), else
- * by mallocing sufficient storage and filling in base.
- * @return The new image.
- *
- * This function calls @ref xcb_image_create() with the given
- * properties, and with the remaining properties chosen
- * according to the "native format" with the given
- * properties on the current connection.
- *
- * It is usual to use this rather
- * than calling xcb_image_create() directly.
- * @ingroup xcb__image_t
- */
-xcb_image_t *
-xcb_image_create_native (xcb_connection_t * c,
- uint16_t width,
- uint16_t height,
- xcb_image_format_t format,
- uint8_t depth,
- void * base,
- uint32_t bytes,
- uint8_t * data);
-
-
-/**
- * Destroy an image.
- * @param image The image to be destroyed.
- *
- * This function frees the memory associated with the @p image
- * parameter. If its base pointer is non-null, it frees
- * that also.
- * @ingroup xcb__image_t
- */
-void
-xcb_image_destroy (xcb_image_t *image);
-
-
-/**
- * Get an image from the X server.
- * @param conn The connection to the X server.
- * @param draw The drawable to get the image from.
- * @param x The x coordinate in pixels, relative to the origin of the
- * drawable and defining the upper-left corner of the rectangle.
- * @param y The y coordinate in pixels, relative to the origin of the
- * drawable and defining the upper-left corner of the rectangle.
- * @param width The width of the subimage in pixels.
- * @param height The height of the subimage in pixels.
- * @param plane_mask The plane mask. See the protocol document for details.
- * @param format The format of the image.
- * @return The subimage of @p draw defined by @p x, @p y, @p w, @p h.
- *
-
- * This function returns a new image taken from the
- * given drawable @p draw.
- * The image will be in connection native format. If the @p format
- * is xy-bitmap and the @p plane_mask masks bit planes out, those
- * bit planes will be made part of the returned image anyway,
- * by zero-filling them; this will require a fresh memory allocation
- * and some copying. Otherwise, the resulting image will use the
- * xcb_get_image_reply() record as its backing store.
- *
- * If a problem occurs, the function returns null.
- * @ingroup xcb__image_t
- */
-xcb_image_t *
-xcb_image_get (xcb_connection_t * conn,
- xcb_drawable_t draw,
- int16_t x,
- int16_t y,
- uint16_t width,
- uint16_t height,
- uint32_t plane_mask,
- xcb_image_format_t format);
-
-
-/**
- * Put an image onto the X server.
- * @param conn The connection to the X server.
- * @param draw The draw you get the image from.
- * @param gc The graphic context.
- * @param image The image you want to combine with the rectangle.
- * @param x The x coordinate, which is relative to the origin of the
- * drawable and defines the x coordinate of the upper-left corner of the
- * rectangle.
- * @param y The y coordinate, which is relative to the origin of the
- * drawable and defines the x coordinate of the upper-left corner of
- * the rectangle.
- * @param left_pad Notionally shift an xy-bitmap or xy-pixmap image
- * to the right some small amount, for some reason. XXX Not clear
- * this is currently supported correctly.
- * @return The cookie returned by xcb_put_image().
- *
- * This function combines an image with a rectangle of the
- * specified drawable @p draw. The image must be in native
- * format for the connection. The image is drawn at the
- * specified location in the drawable. For the xy-bitmap
- * format, the foreground pixel in @p gc defines the source
- * for the one bits in the image, and the background pixel
- * defines the source for the zero bits. For xy-pixmap and
- * z-pixmap formats, the depth of the image must match the
- * depth of the drawable; the gc is ignored.
- *
- * @ingroup xcb__image_t
- */
-xcb_void_cookie_t
-xcb_image_put (xcb_connection_t * conn,
- xcb_drawable_t draw,
- xcb_gcontext_t gc,
- xcb_image_t * image,
- int16_t x,
- int16_t y,
- uint8_t left_pad);
-
-
-/**
- * Check image for or convert image to native format.
- * @param c The connection to the X server.
- * @param image The image.
- * @param convert If 0, just check the image for native format.
- * Otherwise, actually convert it.
- * @return Null if the image is not in native format and can or will not
- * be converted. Otherwise, the native format image.
- *
- * Each X display has its own "native format" for images of a given
- * format and depth. This function either checks whether the given
- * @p image is in native format for the given connection @p c, or
- * actually tries to convert the image to native format, depending
- * on whether @p convert is true or false.
- *
- * When @p convert is true, and the image is not in native format
- * but can be converted, it will be, and a pointer to the new image
- * will be returned. The image passed in will be unharmed in this
- * case; it is the caller's responsibility to check that the returned
- * pointer is different and to dispose of the old image if desired.
- * @ingroup xcb__image_t
- */
-xcb_image_t *
-xcb_image_native (xcb_connection_t * c,
- xcb_image_t * image,
- int convert);
-
-
-/**
- * Put a pixel to an image.
- * @param image The image.
- * @param x The x coordinate of the pixel.
- * @param y The y coordinate of the pixel.
- * @param pixel The new pixel value.
- *
- * This function overwrites the pixel in the given @p image with the
- * specified @p pixel value (in client format). The image must contain the @p x
- * and @p y coordinates, as no clipping is done. This function honors
- * the plane-mask for xy-pixmap images.
- * @ingroup xcb__image_t
- */
-void
-xcb_image_put_pixel (xcb_image_t *image,
- uint32_t x,
- uint32_t y,
- uint32_t pixel);
-
-/**
- * Get a pixel from an image.
- * @param image The image.
- * @param x The x coordinate of the pixel.
- * @param y The y coordinate of the pixel.
- * @return The pixel value.
- *
- * This function retrieves a pixel from the given @p image.
- * The image must contain the @p x
- * and @p y coordinates, as no clipping is done. This function honors
- * the plane-mask for xy-pixmap images.
- * @ingroup xcb__image_t
- */
-uint32_t
-xcb_image_get_pixel (xcb_image_t *image,
- uint32_t x,
- uint32_t y);
-
-
-/**
- * Convert an image to a new format.
- * @param src Source image.
- * @param dst Destination image.
- * @return The @p dst image, or null on error.
- *
- * This function tries to convert the image data of the @p
- * src image to the format implied by the @p dst image,
- * overwriting the current destination image data.
- * The source and destination must have the same
- * width, height, and depth. When the source and destination
- * are already the same format, a simple copy is done. Otherwise,
- * when the destination has the same bits-per-pixel/scanline-unit
- * as the source, an optimized copy routine (thanks to Keith Packard)
- * is used for the conversion. Otherwise, the copy is done the
- * slow, slow way with @ref xcb_image_get_pixel() and
- * @ref xcb_image_put_pixel() calls.
- * @ingroup xcb__image_t
- */
-xcb_image_t *
-xcb_image_convert (xcb_image_t * src,
- xcb_image_t * dst);
-
-
-/**
- * Extract a subimage of an image.
- * @param image Source image.
- * @param x X coordinate of subimage.
- * @param y Y coordinate of subimage.
- * @param width Width of subimage.
- * @param height Height of subimage.
- * @param base Base of memory allocation.
- * @param bytes Size of base allocation.
- * @param data Memory allocation.
- * @return The subimage, or null on error.
- *
- * Given an image, this function extracts the subimage at the
- * given coordinates. The requested subimage must be entirely
- * contained in the source @p image. The resulting image will have the same
- * general image parameters as the source image. The @p base, @p bytes,
- * and @p data arguments are passed to @ref xcb_create_image() unaltered
- * to create the destination image---see its documentation for details.
- *
- * @ingroup xcb__image_t
- */
-xcb_image_t *
-xcb_image_subimage(xcb_image_t * image,
- uint32_t x,
- uint32_t y,
- uint32_t width,
- uint32_t height,
- void * base,
- uint32_t bytes,
- uint8_t * data);
-
-
-/*
- * Shm stuff
- */
-
-/**
- * Put the data of an xcb_image_t onto a drawable using the MIT Shm
- * Extension.
- * @param conn The connection to the X server.
- * @param draw The draw you get the image from.
- * @param gc The graphic context.
- * @param image The image you want to combine with the rectangle.
- * @param shminfo A @ref xcb_shm_segment_info_t structure.
- * @param src_x The offset in x from the left edge of the image
- * defined by the xcb_image_t structure.
- * @param src_y The offset in y from the left edge of the image
- * defined by the xcb_image_t structure.
- * @param dest_x The x coordinate, which is relative to the origin of the
- * drawable and defines the x coordinate of the upper-left corner of the
- * rectangle.
- * @param dest_y The y coordinate, which is relative to the origin of the
- * drawable and defines the x coordinate of the upper-left corner of
- * the rectangle.
- * @param src_width The width of the subimage, in pixels.
- * @param src_height The height of the subimage, in pixels.
- * @param send_event Indicates whether or not a completion event
- * should occur when the image write is complete.
- * @return 1 is no problems occurs.
- *
- * This function combines an image in memory with a shape of the
- * specified drawable. The section of the image defined by the @p x, @p y,
- * @p width, and @p height arguments is drawn on the specified part of
- * the drawable. If XYBitmap format is used, the depth must be
- * one, or a``BadMatch'' error results. The foreground pixel in the
- * Graphic Context @p gc defines the source for the one bits in the
- * image, and the background pixel defines the source for the zero
- * bits. For XYPixmap and ZPixmap, the depth must match the depth of
- * the drawable, or a ``BadMatch'' error results.
- *
- * If a problem occurs, the function returns @c 0. Otherwise, it
- * returns @c 1.
- * @ingroup xcb__image_t
- */
-xcb_image_t *
-xcb_image_shm_put (xcb_connection_t * conn,
- xcb_drawable_t draw,
- xcb_gcontext_t gc,
- xcb_image_t * image,
- xcb_shm_segment_info_t shminfo,
- int16_t src_x,
- int16_t src_y,
- int16_t dest_x,
- int16_t dest_y,
- uint16_t src_width,
- uint16_t src_height,
- uint8_t send_event);
-
-
-/**
- * Read image data into a shared memory xcb_image_t.
- * @param conn The connection to the X server.
- * @param draw The draw you get the image from.
- * @param image The image you want to combine with the rectangle.
- * @param shminfo A @ref xcb_shm_segment_info_t structure.
- * @param x The x coordinate, which are relative to the origin of the
- * drawable and define the upper-left corner of the rectangle.
- * @param y The y coordinate, which are relative to the origin of the
- * drawable and define the upper-left corner of the rectangle.
- * @param plane_mask The plane mask.
- * @return The subimage of @p draw defined by @p x, @p y, @p w, @p h.
- *
- * This function reads image data into a shared memory xcb_image_t where
- * @p conn is the connection to the X server, @p draw is the source
- * drawable, @p image is the destination xcb_image_t, @p x and @p y are offsets
- * within the drawable, and @p plane_mask defines which planes are to be
- * read.
- *
- * If a problem occurs, the function returns @c 0. It returns 1
- * otherwise.
- * @ingroup xcb__image_t
- */
-int xcb_image_shm_get (xcb_connection_t * conn,
- xcb_drawable_t draw,
- xcb_image_t * image,
- xcb_shm_segment_info_t shminfo,
- int16_t x,
- int16_t y,
- uint32_t plane_mask);
-
-
-/**
- * Create an image from user-supplied bitmap data.
- * @param data Image data in packed bitmap format.
- * @param width Width in bits of image data.
- * @param height Height in bits of image data.
- * @return The image constructed from the image data, or 0 on error.
- *
- * This function creates an image from the user-supplied
- * bitmap @p data. The bitmap data is assumed to be in
- * xbm format (i.e., 8-bit scanline unit, LSB-first, 8-bit pad).
- * @ingroup xcb__image_t
- */
-xcb_image_t *
-xcb_image_create_from_bitmap_data (uint8_t * data,
- uint32_t width,
- uint32_t height);
-
-/**
- * Create a pixmap from user-supplied bitmap data.
- * @param display The connection to the X server.
- * @param d The parent drawable for the pixmap.
- * @param data Image data in packed bitmap format.
- * @param width Width in bits of image data.
- * @param height Height in bits of image data.
- * @param depth Depth of the desired pixmap.
- * @param fg Pixel for one-bits of pixmaps with depth larger than one.
- * @param bg Pixel for zero-bits of pixmaps with depth larger than one.
- * @param gcp If this pointer is non-null, the GC created to
- * fill in the pixmap is stored here; it will have its foreground
- * and background set to the supplied value. Otherwise, the GC
- * will be freed.
- * @return The pixmap constructed from the image data, or 0 on error.
- *
- * This function creates a pixmap from the user-supplied
- * bitmap @p data. The bitmap data is assumed to be in
- * xbm format (i.e., 8-bit scanline unit, LSB-first, 8-bit pad).
- * If @p depth is greater than 1, the
- * bitmap will be expanded to a pixmap using the given
- * foreground and background pixels @p fg and @p bg.
- * @ingroup xcb__image_t
- */
-xcb_pixmap_t
-xcb_create_pixmap_from_bitmap_data (xcb_connection_t * display,
- xcb_drawable_t d,
- uint8_t * data,
- uint32_t width,
- uint32_t height,
- uint32_t depth,
- uint32_t fg,
- uint32_t bg,
- xcb_gcontext_t * gcp);
-
-
-/**
- * @}
- */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* __XCB_IMAGE_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_keysyms.h b/src/3rdparty/xcb/include/xcb/xcb_keysyms.h
deleted file mode 100644
index 9d34a50ad1..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_keysyms.h
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef __XCB_KEYSYMS_H__
-#define __XCB_KEYSYMS_H__
-
-#include <xcb/xcb.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-typedef struct _XCBKeySymbols xcb_key_symbols_t;
-
-xcb_key_symbols_t *xcb_key_symbols_alloc (xcb_connection_t *c);
-
-void xcb_key_symbols_free (xcb_key_symbols_t *syms);
-
-xcb_keysym_t xcb_key_symbols_get_keysym (xcb_key_symbols_t *syms,
- xcb_keycode_t keycode,
- int col);
-
-/**
- * @brief Get the keycodes attached to a keysyms.
- * There can be several value, so what is returned is an array of keycode
- * terminated by XCB_NO_SYMBOL. You are responsible to free it.
- * Be aware that this function can be slow. It will convert all
- * combinations of all available keycodes to keysyms to find the ones that
- * match.
- * @param syms Key symbols.
- * @param keysym The keysym to look for.
- * @return A XCB_NO_SYMBOL terminated array of keycode, or NULL if nothing is found.
- */
-xcb_keycode_t * xcb_key_symbols_get_keycode(xcb_key_symbols_t *syms,
- xcb_keysym_t keysym);
-
-xcb_keysym_t xcb_key_press_lookup_keysym (xcb_key_symbols_t *syms,
- xcb_key_press_event_t *event,
- int col);
-
-xcb_keysym_t xcb_key_release_lookup_keysym (xcb_key_symbols_t *syms,
- xcb_key_release_event_t *event,
- int col);
-
-int xcb_refresh_keyboard_mapping (xcb_key_symbols_t *syms,
- xcb_mapping_notify_event_t *event);
-
-/* TODO: need XLookupString equivalent */
-
-/* Tests for classes of symbols */
-
-int xcb_is_keypad_key (xcb_keysym_t keysym);
-
-int xcb_is_private_keypad_key (xcb_keysym_t keysym);
-
-int xcb_is_cursor_key (xcb_keysym_t keysym);
-
-int xcb_is_pf_key (xcb_keysym_t keysym);
-
-int xcb_is_function_key (xcb_keysym_t keysym);
-
-int xcb_is_misc_function_key (xcb_keysym_t keysym);
-
-int xcb_is_modifier_key (xcb_keysym_t keysym);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* __XCB_KEYSYMS_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_pixel.h b/src/3rdparty/xcb/include/xcb/xcb_pixel.h
deleted file mode 100644
index fcb22b4826..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_pixel.h
+++ /dev/null
@@ -1,171 +0,0 @@
-#ifndef __XCB_PIXEL_H__
-#define __XCB_PIXEL_H__
-
-/* Copyright (C) 2007 Bart Massey
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or their
- * institutions shall not be used in advertising or otherwise to promote the
- * sale, use or other dealings in this Software without prior written
- * authorization from the authors.
- */
-
-#include <inttypes.h>
-#include <X11/Xfuncproto.h>
-#ifndef BUILD
-#include <xcb/xcb_bitops.h>
-#include <xcb/xcb_image.h>
-#endif
-
-/**
- * XCB Image fast pixel ops.
- *
- * Fast inline versions of xcb_image_get_pixel() and
- * xcb_image_put_pixel() for various common cases.
- * The naming convention is xcb_image_put_pixel_FUB()
- * where F is the format and is either XY for bitmaps
- * or Z for pixmaps, U is the bitmap unit size or pixmap
- * bits-per-pixel, and B is the endianness (if needed)
- * and is either M for most-significant-first or L for
- * least-significant-first. Note that no checking
- * is done on the arguments to these routines---caller beware.
- * Also note that the pixel type is chosen to be appropriate
- * to the unit; bitmaps use int and pixmaps use the appropriate
- * size of unsigned.
- * @ingroup xcb__image_t
- */
-
-_X_INLINE static void
-xcb_image_put_pixel_XY32M (xcb_image_t *image,
- uint32_t x,
- uint32_t y,
- int pixel)
-{
- uint32_t unit = (x >> 3) & ~xcb_mask(2);
- uint32_t byte = xcb_mask(2) - ((x >> 3) & xcb_mask(2));
- uint32_t bit = xcb_mask(3) - (x & xcb_mask(3));
- uint8_t m = 1 << bit;
- uint8_t p = pixel << bit;
- uint8_t * bp = image->data + (y * image->stride) + (unit | byte);
- *bp = (*bp & ~m) | p;
-}
-
-_X_INLINE static void
-xcb_image_put_pixel_XY32L (xcb_image_t *image,
- uint32_t x,
- uint32_t y,
- int pixel)
-{
- uint32_t bit = x & xcb_mask(3);
- uint8_t m = 1 << bit;
- uint8_t p = pixel << bit;
- uint8_t * bp = image->data + (y * image->stride) + (x >> 3);
- *bp = (*bp & ~m) | p;
-}
-
-_X_INLINE static int
-xcb_image_get_pixel_XY32M (xcb_image_t *image,
- uint32_t x,
- uint32_t y)
-{
- uint32_t unit = (x >> 3) & ~xcb_mask(2);
- uint32_t byte = xcb_mask(2) - ((x >> 3) & xcb_mask(2));
- uint32_t bit = xcb_mask(3) - (x & xcb_mask(3));
- uint8_t * bp = image->data + (y * image->stride) + (unit | byte);
- return (*bp >> bit) & 1;
-}
-
-_X_INLINE static int
-xcb_image_get_pixel_XY32L (xcb_image_t *image,
- uint32_t x,
- uint32_t y)
-{
- uint32_t bit = x & xcb_mask(3);
- uint8_t * bp = image->data + (y * image->stride) + (x >> 3);
- return (*bp >> bit) & 1;
-}
-
-_X_INLINE static void
-xcb_image_put_pixel_Z8 (xcb_image_t *image,
- uint32_t x,
- uint32_t y,
- uint8_t pixel)
-{
- image->data[x + y * image->stride] = pixel;
-}
-
-_X_INLINE static uint8_t
-xcb_image_get_pixel_Z8 (xcb_image_t *image,
- uint32_t x,
- uint32_t y)
-{
- return image->data[x + y * image->stride];
-}
-
-_X_INLINE static void
-xcb_image_put_pixel_Z32M (xcb_image_t *image,
- uint32_t x,
- uint32_t y,
- uint32_t pixel)
-{
- uint8_t * row = image->data + (y * image->stride);
- row[x << 2] = pixel >> 24;
- row[(x << 2) + 1] = pixel >> 16;
- row[(x << 2) + 2] = pixel >> 8;
- row[(x << 2) + 3] = pixel;
-}
-
-_X_INLINE static void
-xcb_image_put_pixel_Z32L (xcb_image_t *image,
- uint32_t x,
- uint32_t y,
- uint32_t pixel)
-{
- uint8_t * row = image->data + (y * image->stride);
- row[x << 2] = pixel;
- row[(x << 2) + 1] = pixel >> 8;
- row[(x << 2) + 2] = pixel >> 16;
- row[(x << 2) + 3] = pixel >> 24;
-}
-
-_X_INLINE static uint32_t
-xcb_image_get_pixel_Z32M (xcb_image_t *image,
- uint32_t x,
- uint32_t y)
-{
- uint8_t * row = image->data + (y * image->stride);
- uint32_t pixel = row[x << 2] << 24;
- pixel |= row[(x << 2) + 1] << 16;
- pixel |= row[(x << 2) + 2] << 8;
- return pixel | row[(x << 2) + 3];
-}
-
-_X_INLINE static uint32_t
-xcb_image_get_pixel_Z32L (xcb_image_t *image,
- uint32_t x,
- uint32_t y)
-{
- uint8_t * row = image->data + (y * image->stride);
- uint32_t pixel = row[x << 2];
- pixel |= row[(x << 2) + 1] << 8;
- pixel |= row[(x << 2) + 2] << 16;
- return pixel | row[(x << 2) + 3] << 24;
-}
-
-#endif /* __XCB_PIXEL_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_renderutil.h b/src/3rdparty/xcb/include/xcb/xcb_renderutil.h
deleted file mode 100644
index 77c5b7f054..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_renderutil.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/* Copyright © 2006 Jamey Sharp.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or their
- * institutions shall not be used in advertising or otherwise to promote the
- * sale, use or other dealings in this Software without prior written
- * authorization from the authors.
- */
-
-#ifndef XCB_RENDERUTIL
-#define XCB_RENDERUTIL
-#include <xcb/render.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum xcb_pict_format_t {
- XCB_PICT_FORMAT_ID = (1 << 0),
- XCB_PICT_FORMAT_TYPE = (1 << 1),
- XCB_PICT_FORMAT_DEPTH = (1 << 2),
- XCB_PICT_FORMAT_RED = (1 << 3),
- XCB_PICT_FORMAT_RED_MASK = (1 << 4),
- XCB_PICT_FORMAT_GREEN = (1 << 5),
- XCB_PICT_FORMAT_GREEN_MASK = (1 << 6),
- XCB_PICT_FORMAT_BLUE = (1 << 7),
- XCB_PICT_FORMAT_BLUE_MASK = (1 << 8),
- XCB_PICT_FORMAT_ALPHA = (1 << 9),
- XCB_PICT_FORMAT_ALPHA_MASK = (1 << 10),
- XCB_PICT_FORMAT_COLORMAP = (1 << 11)
-} xcb_pict_format_t;
-
-typedef enum xcb_pict_standard_t {
- XCB_PICT_STANDARD_ARGB_32,
- XCB_PICT_STANDARD_RGB_24,
- XCB_PICT_STANDARD_A_8,
- XCB_PICT_STANDARD_A_4,
- XCB_PICT_STANDARD_A_1
-} xcb_pict_standard_t;
-
-
-xcb_render_pictvisual_t *
-xcb_render_util_find_visual_format (const xcb_render_query_pict_formats_reply_t *formats,
- const xcb_visualid_t visual);
-
-xcb_render_pictforminfo_t *
-xcb_render_util_find_format (const xcb_render_query_pict_formats_reply_t *formats,
- unsigned long mask,
- const xcb_render_pictforminfo_t *ptemplate,
- int count);
-
-xcb_render_pictforminfo_t *
-xcb_render_util_find_standard_format (const xcb_render_query_pict_formats_reply_t *formats,
- xcb_pict_standard_t format);
-
-const xcb_render_query_version_reply_t *
-xcb_render_util_query_version (xcb_connection_t *c);
-
-const xcb_render_query_pict_formats_reply_t *
-xcb_render_util_query_formats (xcb_connection_t *c);
-
-int
-xcb_render_util_disconnect (xcb_connection_t *c);
-
-/* wrappers for xcb_render_composite_glyphs_8/16/32 */
-
-typedef struct xcb_render_util_composite_text_stream_t xcb_render_util_composite_text_stream_t;
-
-xcb_render_util_composite_text_stream_t *
-xcb_render_util_composite_text_stream (
- xcb_render_glyphset_t initial_glyphset,
- uint32_t total_glyphs,
- uint32_t total_glyphset_changes );
-
-void
-xcb_render_util_glyphs_8 (
- xcb_render_util_composite_text_stream_t *stream,
- int16_t dx,
- int16_t dy,
- uint32_t count,
- const uint8_t *glyphs );
-
-void
-xcb_render_util_glyphs_16 (
- xcb_render_util_composite_text_stream_t *stream,
- int16_t dx,
- int16_t dy,
- uint32_t count,
- const uint16_t *glyphs );
-
-void
-xcb_render_util_glyphs_32 (
- xcb_render_util_composite_text_stream_t *stream,
- int16_t dx,
- int16_t dy,
- uint32_t count,
- const uint32_t *glyphs );
-
-void
-xcb_render_util_change_glyphset (
- xcb_render_util_composite_text_stream_t *stream,
- xcb_render_glyphset_t glyphset );
-
-xcb_void_cookie_t
-xcb_render_util_composite_text (
- xcb_connection_t *xc,
- uint8_t op,
- xcb_render_picture_t src,
- xcb_render_picture_t dst,
- xcb_render_pictformat_t mask_format,
- int16_t src_x,
- int16_t src_y,
- xcb_render_util_composite_text_stream_t *stream );
-
-xcb_void_cookie_t
-xcb_render_util_composite_text_checked (
- xcb_connection_t *xc,
- uint8_t op,
- xcb_render_picture_t src,
- xcb_render_picture_t dst,
- xcb_render_pictformat_t mask_format,
- int16_t src_x,
- int16_t src_y,
- xcb_render_util_composite_text_stream_t *stream );
-
-void
-xcb_render_util_composite_text_free (
- xcb_render_util_composite_text_stream_t *stream );
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* XCB_RENDERUTIL */
diff --git a/src/3rdparty/xcb/include/xcb/xcb_util.h b/src/3rdparty/xcb/include/xcb/xcb_util.h
deleted file mode 100644
index 0f06f1b06e..0000000000
--- a/src/3rdparty/xcb/include/xcb/xcb_util.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __XCB_UTIL_H__
-#define __XCB_UTIL_H__
-
-#include <xcb/xcb_atom.h>
-#include <xcb/xcb_aux.h>
-#include <xcb/xcb_event.h>
-
-#endif /* __XCB_UTIL_H__ */
diff --git a/src/3rdparty/xcb/include/xcb/xfixes.h b/src/3rdparty/xcb/include/xcb/xfixes.h
deleted file mode 100644
index b67aa85135..0000000000
--- a/src/3rdparty/xcb/include/xcb/xfixes.h
+++ /dev/null
@@ -1,2816 +0,0 @@
-/*
- * This file generated automatically from xfixes.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_XFixes_API XCB XFixes API
- * @brief XFixes XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __XFIXES_H
-#define __XFIXES_H
-
-#include "xcb.h"
-#include "xproto.h"
-#include "render.h"
-#include "shape.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_XFIXES_MAJOR_VERSION 4
-#define XCB_XFIXES_MINOR_VERSION 0
-
-extern xcb_extension_t xcb_xfixes_id;
-
-/**
- * @brief xcb_xfixes_query_version_cookie_t
- **/
-typedef struct xcb_xfixes_query_version_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xfixes_query_version_cookie_t;
-
-/** Opcode for xcb_xfixes_query_version. */
-#define XCB_XFIXES_QUERY_VERSION 0
-
-/**
- * @brief xcb_xfixes_query_version_request_t
- **/
-typedef struct xcb_xfixes_query_version_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint32_t client_major_version; /**< */
- uint32_t client_minor_version; /**< */
-} xcb_xfixes_query_version_request_t;
-
-/**
- * @brief xcb_xfixes_query_version_reply_t
- **/
-typedef struct xcb_xfixes_query_version_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t major_version; /**< */
- uint32_t minor_version; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_xfixes_query_version_reply_t;
-
-typedef enum xcb_xfixes_save_set_mode_t {
- XCB_XFIXES_SAVE_SET_MODE_INSERT,
- XCB_XFIXES_SAVE_SET_MODE_DELETE
-} xcb_xfixes_save_set_mode_t;
-
-typedef enum xcb_xfixes_save_set_target_t {
- XCB_XFIXES_SAVE_SET_TARGET_NEAREST,
- XCB_XFIXES_SAVE_SET_TARGET_ROOT
-} xcb_xfixes_save_set_target_t;
-
-typedef enum xcb_xfixes_save_set_mapping_t {
- XCB_XFIXES_SAVE_SET_MAPPING_MAP,
- XCB_XFIXES_SAVE_SET_MAPPING_UNMAP
-} xcb_xfixes_save_set_mapping_t;
-
-/** Opcode for xcb_xfixes_change_save_set. */
-#define XCB_XFIXES_CHANGE_SAVE_SET 1
-
-/**
- * @brief xcb_xfixes_change_save_set_request_t
- **/
-typedef struct xcb_xfixes_change_save_set_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t mode; /**< */
- uint8_t target; /**< */
- uint8_t map; /**< */
- uint8_t pad0; /**< */
- xcb_window_t window; /**< */
-} xcb_xfixes_change_save_set_request_t;
-
-typedef enum xcb_xfixes_selection_event_t {
- XCB_XFIXES_SELECTION_EVENT_SET_SELECTION_OWNER,
- XCB_XFIXES_SELECTION_EVENT_SELECTION_WINDOW_DESTROY,
- XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE
-} xcb_xfixes_selection_event_t;
-
-typedef enum xcb_xfixes_selection_event_mask_t {
- XCB_XFIXES_SELECTION_EVENT_MASK_SET_SELECTION_OWNER = 1,
- XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_WINDOW_DESTROY = 2,
- XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_CLIENT_CLOSE = 4
-} xcb_xfixes_selection_event_mask_t;
-
-/** Opcode for xcb_xfixes_selection_notify. */
-#define XCB_XFIXES_SELECTION_NOTIFY 0
-
-/**
- * @brief xcb_xfixes_selection_notify_event_t
- **/
-typedef struct xcb_xfixes_selection_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t subtype; /**< */
- uint16_t sequence; /**< */
- xcb_window_t window; /**< */
- xcb_window_t owner; /**< */
- xcb_atom_t selection; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_timestamp_t selection_timestamp; /**< */
- uint8_t pad0[8]; /**< */
-} xcb_xfixes_selection_notify_event_t;
-
-/** Opcode for xcb_xfixes_select_selection_input. */
-#define XCB_XFIXES_SELECT_SELECTION_INPUT 2
-
-/**
- * @brief xcb_xfixes_select_selection_input_request_t
- **/
-typedef struct xcb_xfixes_select_selection_input_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- xcb_atom_t selection; /**< */
- uint32_t event_mask; /**< */
-} xcb_xfixes_select_selection_input_request_t;
-
-typedef enum xcb_xfixes_cursor_notify_t {
- XCB_XFIXES_CURSOR_NOTIFY_DISPLAY_CURSOR
-} xcb_xfixes_cursor_notify_t;
-
-typedef enum xcb_xfixes_cursor_notify_mask_t {
- XCB_XFIXES_CURSOR_NOTIFY_MASK_DISPLAY_CURSOR = 1
-} xcb_xfixes_cursor_notify_mask_t;
-
-/** Opcode for xcb_xfixes_cursor_notify. */
-#define XCB_XFIXES_CURSOR_NOTIFY 1
-
-/**
- * @brief xcb_xfixes_cursor_notify_event_t
- **/
-typedef struct xcb_xfixes_cursor_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t subtype; /**< */
- uint16_t sequence; /**< */
- xcb_window_t window; /**< */
- uint32_t cursor_serial; /**< */
- xcb_timestamp_t timestamp; /**< */
- xcb_atom_t name; /**< */
- uint8_t pad0[12]; /**< */
-} xcb_xfixes_cursor_notify_event_t;
-
-/** Opcode for xcb_xfixes_select_cursor_input. */
-#define XCB_XFIXES_SELECT_CURSOR_INPUT 3
-
-/**
- * @brief xcb_xfixes_select_cursor_input_request_t
- **/
-typedef struct xcb_xfixes_select_cursor_input_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- uint32_t event_mask; /**< */
-} xcb_xfixes_select_cursor_input_request_t;
-
-/**
- * @brief xcb_xfixes_get_cursor_image_cookie_t
- **/
-typedef struct xcb_xfixes_get_cursor_image_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xfixes_get_cursor_image_cookie_t;
-
-/** Opcode for xcb_xfixes_get_cursor_image. */
-#define XCB_XFIXES_GET_CURSOR_IMAGE 4
-
-/**
- * @brief xcb_xfixes_get_cursor_image_request_t
- **/
-typedef struct xcb_xfixes_get_cursor_image_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_xfixes_get_cursor_image_request_t;
-
-/**
- * @brief xcb_xfixes_get_cursor_image_reply_t
- **/
-typedef struct xcb_xfixes_get_cursor_image_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t xhot; /**< */
- uint16_t yhot; /**< */
- uint32_t cursor_serial; /**< */
- uint8_t pad1[8]; /**< */
-} xcb_xfixes_get_cursor_image_reply_t;
-
-typedef uint32_t xcb_xfixes_region_t;
-
-/**
- * @brief xcb_xfixes_region_iterator_t
- **/
-typedef struct xcb_xfixes_region_iterator_t {
- xcb_xfixes_region_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xfixes_region_iterator_t;
-
-/** Opcode for xcb_xfixes_bad_region. */
-#define XCB_XFIXES_BAD_REGION 0
-
-/**
- * @brief xcb_xfixes_bad_region_error_t
- **/
-typedef struct xcb_xfixes_bad_region_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
-} xcb_xfixes_bad_region_error_t;
-
-typedef enum xcb_xfixes_region_enum_t {
- XCB_XFIXES_REGION_NONE
-} xcb_xfixes_region_enum_t;
-
-/** Opcode for xcb_xfixes_create_region. */
-#define XCB_XFIXES_CREATE_REGION 5
-
-/**
- * @brief xcb_xfixes_create_region_request_t
- **/
-typedef struct xcb_xfixes_create_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t region; /**< */
-} xcb_xfixes_create_region_request_t;
-
-/** Opcode for xcb_xfixes_create_region_from_bitmap. */
-#define XCB_XFIXES_CREATE_REGION_FROM_BITMAP 6
-
-/**
- * @brief xcb_xfixes_create_region_from_bitmap_request_t
- **/
-typedef struct xcb_xfixes_create_region_from_bitmap_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t region; /**< */
- xcb_pixmap_t bitmap; /**< */
-} xcb_xfixes_create_region_from_bitmap_request_t;
-
-/** Opcode for xcb_xfixes_create_region_from_window. */
-#define XCB_XFIXES_CREATE_REGION_FROM_WINDOW 7
-
-/**
- * @brief xcb_xfixes_create_region_from_window_request_t
- **/
-typedef struct xcb_xfixes_create_region_from_window_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t region; /**< */
- xcb_window_t window; /**< */
- xcb_shape_kind_t kind; /**< */
- uint8_t pad0[3]; /**< */
-} xcb_xfixes_create_region_from_window_request_t;
-
-/** Opcode for xcb_xfixes_create_region_from_gc. */
-#define XCB_XFIXES_CREATE_REGION_FROM_GC 8
-
-/**
- * @brief xcb_xfixes_create_region_from_gc_request_t
- **/
-typedef struct xcb_xfixes_create_region_from_gc_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t region; /**< */
- xcb_gcontext_t gc; /**< */
-} xcb_xfixes_create_region_from_gc_request_t;
-
-/** Opcode for xcb_xfixes_create_region_from_picture. */
-#define XCB_XFIXES_CREATE_REGION_FROM_PICTURE 9
-
-/**
- * @brief xcb_xfixes_create_region_from_picture_request_t
- **/
-typedef struct xcb_xfixes_create_region_from_picture_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t region; /**< */
- xcb_render_picture_t picture; /**< */
-} xcb_xfixes_create_region_from_picture_request_t;
-
-/** Opcode for xcb_xfixes_destroy_region. */
-#define XCB_XFIXES_DESTROY_REGION 10
-
-/**
- * @brief xcb_xfixes_destroy_region_request_t
- **/
-typedef struct xcb_xfixes_destroy_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t region; /**< */
-} xcb_xfixes_destroy_region_request_t;
-
-/** Opcode for xcb_xfixes_set_region. */
-#define XCB_XFIXES_SET_REGION 11
-
-/**
- * @brief xcb_xfixes_set_region_request_t
- **/
-typedef struct xcb_xfixes_set_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t region; /**< */
-} xcb_xfixes_set_region_request_t;
-
-/** Opcode for xcb_xfixes_copy_region. */
-#define XCB_XFIXES_COPY_REGION 12
-
-/**
- * @brief xcb_xfixes_copy_region_request_t
- **/
-typedef struct xcb_xfixes_copy_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t source; /**< */
- xcb_xfixes_region_t destination; /**< */
-} xcb_xfixes_copy_region_request_t;
-
-/** Opcode for xcb_xfixes_union_region. */
-#define XCB_XFIXES_UNION_REGION 13
-
-/**
- * @brief xcb_xfixes_union_region_request_t
- **/
-typedef struct xcb_xfixes_union_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t source1; /**< */
- xcb_xfixes_region_t source2; /**< */
- xcb_xfixes_region_t destination; /**< */
-} xcb_xfixes_union_region_request_t;
-
-/** Opcode for xcb_xfixes_intersect_region. */
-#define XCB_XFIXES_INTERSECT_REGION 14
-
-/**
- * @brief xcb_xfixes_intersect_region_request_t
- **/
-typedef struct xcb_xfixes_intersect_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t source1; /**< */
- xcb_xfixes_region_t source2; /**< */
- xcb_xfixes_region_t destination; /**< */
-} xcb_xfixes_intersect_region_request_t;
-
-/** Opcode for xcb_xfixes_subtract_region. */
-#define XCB_XFIXES_SUBTRACT_REGION 15
-
-/**
- * @brief xcb_xfixes_subtract_region_request_t
- **/
-typedef struct xcb_xfixes_subtract_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t source1; /**< */
- xcb_xfixes_region_t source2; /**< */
- xcb_xfixes_region_t destination; /**< */
-} xcb_xfixes_subtract_region_request_t;
-
-/** Opcode for xcb_xfixes_invert_region. */
-#define XCB_XFIXES_INVERT_REGION 16
-
-/**
- * @brief xcb_xfixes_invert_region_request_t
- **/
-typedef struct xcb_xfixes_invert_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t source; /**< */
- xcb_rectangle_t bounds; /**< */
- xcb_xfixes_region_t destination; /**< */
-} xcb_xfixes_invert_region_request_t;
-
-/** Opcode for xcb_xfixes_translate_region. */
-#define XCB_XFIXES_TRANSLATE_REGION 17
-
-/**
- * @brief xcb_xfixes_translate_region_request_t
- **/
-typedef struct xcb_xfixes_translate_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t region; /**< */
- int16_t dx; /**< */
- int16_t dy; /**< */
-} xcb_xfixes_translate_region_request_t;
-
-/** Opcode for xcb_xfixes_region_extents. */
-#define XCB_XFIXES_REGION_EXTENTS 18
-
-/**
- * @brief xcb_xfixes_region_extents_request_t
- **/
-typedef struct xcb_xfixes_region_extents_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t source; /**< */
- xcb_xfixes_region_t destination; /**< */
-} xcb_xfixes_region_extents_request_t;
-
-/**
- * @brief xcb_xfixes_fetch_region_cookie_t
- **/
-typedef struct xcb_xfixes_fetch_region_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xfixes_fetch_region_cookie_t;
-
-/** Opcode for xcb_xfixes_fetch_region. */
-#define XCB_XFIXES_FETCH_REGION 19
-
-/**
- * @brief xcb_xfixes_fetch_region_request_t
- **/
-typedef struct xcb_xfixes_fetch_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t region; /**< */
-} xcb_xfixes_fetch_region_request_t;
-
-/**
- * @brief xcb_xfixes_fetch_region_reply_t
- **/
-typedef struct xcb_xfixes_fetch_region_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_rectangle_t extents; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_xfixes_fetch_region_reply_t;
-
-/** Opcode for xcb_xfixes_set_gc_clip_region. */
-#define XCB_XFIXES_SET_GC_CLIP_REGION 20
-
-/**
- * @brief xcb_xfixes_set_gc_clip_region_request_t
- **/
-typedef struct xcb_xfixes_set_gc_clip_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_gcontext_t gc; /**< */
- xcb_xfixes_region_t region; /**< */
- int16_t x_origin; /**< */
- int16_t y_origin; /**< */
-} xcb_xfixes_set_gc_clip_region_request_t;
-
-/** Opcode for xcb_xfixes_set_window_shape_region. */
-#define XCB_XFIXES_SET_WINDOW_SHAPE_REGION 21
-
-/**
- * @brief xcb_xfixes_set_window_shape_region_request_t
- **/
-typedef struct xcb_xfixes_set_window_shape_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t dest; /**< */
- xcb_shape_kind_t dest_kind; /**< */
- uint8_t pad0[3]; /**< */
- int16_t x_offset; /**< */
- int16_t y_offset; /**< */
- xcb_xfixes_region_t region; /**< */
-} xcb_xfixes_set_window_shape_region_request_t;
-
-/** Opcode for xcb_xfixes_set_picture_clip_region. */
-#define XCB_XFIXES_SET_PICTURE_CLIP_REGION 22
-
-/**
- * @brief xcb_xfixes_set_picture_clip_region_request_t
- **/
-typedef struct xcb_xfixes_set_picture_clip_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_render_picture_t picture; /**< */
- xcb_xfixes_region_t region; /**< */
- int16_t x_origin; /**< */
- int16_t y_origin; /**< */
-} xcb_xfixes_set_picture_clip_region_request_t;
-
-/** Opcode for xcb_xfixes_set_cursor_name. */
-#define XCB_XFIXES_SET_CURSOR_NAME 23
-
-/**
- * @brief xcb_xfixes_set_cursor_name_request_t
- **/
-typedef struct xcb_xfixes_set_cursor_name_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_cursor_t cursor; /**< */
- uint16_t nbytes; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xfixes_set_cursor_name_request_t;
-
-/**
- * @brief xcb_xfixes_get_cursor_name_cookie_t
- **/
-typedef struct xcb_xfixes_get_cursor_name_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xfixes_get_cursor_name_cookie_t;
-
-/** Opcode for xcb_xfixes_get_cursor_name. */
-#define XCB_XFIXES_GET_CURSOR_NAME 24
-
-/**
- * @brief xcb_xfixes_get_cursor_name_request_t
- **/
-typedef struct xcb_xfixes_get_cursor_name_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_cursor_t cursor; /**< */
-} xcb_xfixes_get_cursor_name_request_t;
-
-/**
- * @brief xcb_xfixes_get_cursor_name_reply_t
- **/
-typedef struct xcb_xfixes_get_cursor_name_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_atom_t atom; /**< */
- uint16_t nbytes; /**< */
- uint8_t pad1[18]; /**< */
-} xcb_xfixes_get_cursor_name_reply_t;
-
-/**
- * @brief xcb_xfixes_get_cursor_image_and_name_cookie_t
- **/
-typedef struct xcb_xfixes_get_cursor_image_and_name_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xfixes_get_cursor_image_and_name_cookie_t;
-
-/** Opcode for xcb_xfixes_get_cursor_image_and_name. */
-#define XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME 25
-
-/**
- * @brief xcb_xfixes_get_cursor_image_and_name_request_t
- **/
-typedef struct xcb_xfixes_get_cursor_image_and_name_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_xfixes_get_cursor_image_and_name_request_t;
-
-/**
- * @brief xcb_xfixes_get_cursor_image_and_name_reply_t
- **/
-typedef struct xcb_xfixes_get_cursor_image_and_name_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- int16_t x; /**< */
- int16_t y; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
- uint16_t xhot; /**< */
- uint16_t yhot; /**< */
- uint32_t cursor_serial; /**< */
- xcb_atom_t cursor_atom; /**< */
- uint16_t nbytes; /**< */
- uint8_t pad1[2]; /**< */
-} xcb_xfixes_get_cursor_image_and_name_reply_t;
-
-/** Opcode for xcb_xfixes_change_cursor. */
-#define XCB_XFIXES_CHANGE_CURSOR 26
-
-/**
- * @brief xcb_xfixes_change_cursor_request_t
- **/
-typedef struct xcb_xfixes_change_cursor_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_cursor_t source; /**< */
- xcb_cursor_t destination; /**< */
-} xcb_xfixes_change_cursor_request_t;
-
-/** Opcode for xcb_xfixes_change_cursor_by_name. */
-#define XCB_XFIXES_CHANGE_CURSOR_BY_NAME 27
-
-/**
- * @brief xcb_xfixes_change_cursor_by_name_request_t
- **/
-typedef struct xcb_xfixes_change_cursor_by_name_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_cursor_t src; /**< */
- uint16_t nbytes; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xfixes_change_cursor_by_name_request_t;
-
-/** Opcode for xcb_xfixes_expand_region. */
-#define XCB_XFIXES_EXPAND_REGION 28
-
-/**
- * @brief xcb_xfixes_expand_region_request_t
- **/
-typedef struct xcb_xfixes_expand_region_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xfixes_region_t source; /**< */
- xcb_xfixes_region_t destination; /**< */
- uint16_t left; /**< */
- uint16_t right; /**< */
- uint16_t top; /**< */
- uint16_t bottom; /**< */
-} xcb_xfixes_expand_region_request_t;
-
-/** Opcode for xcb_xfixes_hide_cursor. */
-#define XCB_XFIXES_HIDE_CURSOR 29
-
-/**
- * @brief xcb_xfixes_hide_cursor_request_t
- **/
-typedef struct xcb_xfixes_hide_cursor_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_xfixes_hide_cursor_request_t;
-
-/** Opcode for xcb_xfixes_show_cursor. */
-#define XCB_XFIXES_SHOW_CURSOR 30
-
-/**
- * @brief xcb_xfixes_show_cursor_request_t
- **/
-typedef struct xcb_xfixes_show_cursor_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_xfixes_show_cursor_request_t;
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t client_major_version
- ** @param uint32_t client_minor_version
- ** @returns xcb_xfixes_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_query_version_cookie_t
-xcb_xfixes_query_version (xcb_connection_t *c /**< */,
- uint32_t client_major_version /**< */,
- uint32_t client_minor_version /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t client_major_version
- ** @param uint32_t client_minor_version
- ** @returns xcb_xfixes_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_query_version_cookie_t
-xcb_xfixes_query_version_unchecked (xcb_connection_t *c /**< */,
- uint32_t client_major_version /**< */,
- uint32_t client_minor_version /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xfixes_query_version_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_query_version_reply_t * xcb_xfixes_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_query_version_reply_t *
-xcb_xfixes_query_version_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_save_set_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t mode
- ** @param uint8_t target
- ** @param uint8_t map
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_save_set_checked (xcb_connection_t *c /**< */,
- uint8_t mode /**< */,
- uint8_t target /**< */,
- uint8_t map /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_save_set
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t mode
- ** @param uint8_t target
- ** @param uint8_t map
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_save_set (xcb_connection_t *c /**< */,
- uint8_t mode /**< */,
- uint8_t target /**< */,
- uint8_t map /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_select_selection_input_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_atom_t selection
- ** @param uint32_t event_mask
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_select_selection_input_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_atom_t selection /**< */,
- uint32_t event_mask /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_select_selection_input
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_atom_t selection
- ** @param uint32_t event_mask
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_select_selection_input (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_atom_t selection /**< */,
- uint32_t event_mask /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_select_cursor_input_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint32_t event_mask
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint32_t event_mask /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_select_cursor_input
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint32_t event_mask
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_select_cursor_input (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint32_t event_mask /**< */);
-
-int
-xcb_xfixes_get_cursor_image_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xfixes_get_cursor_image_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_cookie_t
-xcb_xfixes_get_cursor_image (xcb_connection_t *c /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xfixes_get_cursor_image_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_cookie_t
-xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c /**< */);
-
-
-/*****************************************************************************
- **
- ** uint32_t * xcb_xfixes_get_cursor_image_cursor_image
- **
- ** @param const xcb_xfixes_get_cursor_image_reply_t *R
- ** @returns uint32_t *
- **
- *****************************************************************************/
-
-uint32_t *
-xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_get_cursor_image_cursor_image_length
- **
- ** @param const xcb_xfixes_get_cursor_image_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_cursor_image_end
- **
- ** @param const xcb_xfixes_get_cursor_image_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xfixes_get_cursor_image_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_reply_t * xcb_xfixes_get_cursor_image_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_get_cursor_image_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_get_cursor_image_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_reply_t *
-xcb_xfixes_get_cursor_image_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_get_cursor_image_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xfixes_region_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xfixes_region_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xfixes_region_next
- **
- ** @param xcb_xfixes_region_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xfixes_region_next (xcb_xfixes_region_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xfixes_region_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_region_end
- **
- ** @param xcb_xfixes_region_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_region_end (xcb_xfixes_region_iterator_t i /**< */);
-
-int
-xcb_xfixes_create_region_sizeof (const void *_buffer /**< */,
- uint32_t rectangles_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_pixmap_t bitmap
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_bitmap_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_pixmap_t bitmap /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_pixmap_t bitmap
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_bitmap (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_pixmap_t bitmap /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_window_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_window_t window
- ** @param xcb_shape_kind_t kind
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_window_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_window_t window /**< */,
- xcb_shape_kind_t kind /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_window
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_window_t window
- ** @param xcb_shape_kind_t kind
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_window (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_window_t window /**< */,
- xcb_shape_kind_t kind /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_gcontext_t gc
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_gc_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_gcontext_t gc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_gcontext_t gc
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_gc (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_gcontext_t gc /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_render_picture_t picture
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_picture_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_render_picture_t picture /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_render_picture_t picture
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_picture (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_render_picture_t picture /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_destroy_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_destroy_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_destroy_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_destroy_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */);
-
-int
-xcb_xfixes_set_region_sizeof (const void *_buffer /**< */,
- uint32_t rectangles_len /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_copy_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_copy_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_copy_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_copy_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_union_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_union_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_union_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_union_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_intersect_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_intersect_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_intersect_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_intersect_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_subtract_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_subtract_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_subtract_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_subtract_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_invert_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_rectangle_t bounds
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_invert_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_rectangle_t bounds /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_invert_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_rectangle_t bounds
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_invert_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_rectangle_t bounds /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_translate_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param int16_t dx
- ** @param int16_t dy
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_translate_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t dx /**< */,
- int16_t dy /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_translate_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param int16_t dx
- ** @param int16_t dy
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_translate_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t dx /**< */,
- int16_t dy /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_region_extents_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_region_extents_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_region_extents
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_region_extents (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */);
-
-int
-xcb_xfixes_fetch_region_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_xfixes_fetch_region_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_fetch_region_cookie_t
-xcb_xfixes_fetch_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_xfixes_fetch_region_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_fetch_region_cookie_t
-xcb_xfixes_fetch_region_unchecked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_rectangle_t * xcb_xfixes_fetch_region_rectangles
- **
- ** @param const xcb_xfixes_fetch_region_reply_t *R
- ** @returns xcb_rectangle_t *
- **
- *****************************************************************************/
-
-xcb_rectangle_t *
-xcb_xfixes_fetch_region_rectangles (const xcb_xfixes_fetch_region_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_fetch_region_rectangles_length
- **
- ** @param const xcb_xfixes_fetch_region_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_fetch_region_rectangles_length (const xcb_xfixes_fetch_region_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_rectangle_iterator_t xcb_xfixes_fetch_region_rectangles_iterator
- **
- ** @param const xcb_xfixes_fetch_region_reply_t *R
- ** @returns xcb_rectangle_iterator_t
- **
- *****************************************************************************/
-
-xcb_rectangle_iterator_t
-xcb_xfixes_fetch_region_rectangles_iterator (const xcb_xfixes_fetch_region_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xfixes_fetch_region_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_fetch_region_reply_t * xcb_xfixes_fetch_region_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_fetch_region_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_fetch_region_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_fetch_region_reply_t *
-xcb_xfixes_fetch_region_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_fetch_region_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_gcontext_t gc
- ** @param xcb_xfixes_region_t region
- ** @param int16_t x_origin
- ** @param int16_t y_origin
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_gc_clip_region_checked (xcb_connection_t *c /**< */,
- xcb_gcontext_t gc /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t x_origin /**< */,
- int16_t y_origin /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_gcontext_t gc
- ** @param xcb_xfixes_region_t region
- ** @param int16_t x_origin
- ** @param int16_t y_origin
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_gc_clip_region (xcb_connection_t *c /**< */,
- xcb_gcontext_t gc /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t x_origin /**< */,
- int16_t y_origin /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_window_shape_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t dest
- ** @param xcb_shape_kind_t dest_kind
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_window_shape_region_checked (xcb_connection_t *c /**< */,
- xcb_window_t dest /**< */,
- xcb_shape_kind_t dest_kind /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_xfixes_region_t region /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_window_shape_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t dest
- ** @param xcb_shape_kind_t dest_kind
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_window_shape_region (xcb_connection_t *c /**< */,
- xcb_window_t dest /**< */,
- xcb_shape_kind_t dest_kind /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_xfixes_region_t region /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_picture_clip_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_xfixes_region_t region
- ** @param int16_t x_origin
- ** @param int16_t y_origin
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_picture_clip_region_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t x_origin /**< */,
- int16_t y_origin /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_picture_clip_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_xfixes_region_t region
- ** @param int16_t x_origin
- ** @param int16_t y_origin
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_picture_clip_region (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t x_origin /**< */,
- int16_t y_origin /**< */);
-
-int
-xcb_xfixes_set_cursor_name_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_cursor_name_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cursor
- ** @param uint16_t nbytes
- ** @param const char *name
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_cursor_name_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t cursor /**< */,
- uint16_t nbytes /**< */,
- const char *name /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_cursor_name
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cursor
- ** @param uint16_t nbytes
- ** @param const char *name
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_cursor_name (xcb_connection_t *c /**< */,
- xcb_cursor_t cursor /**< */,
- uint16_t nbytes /**< */,
- const char *name /**< */);
-
-int
-xcb_xfixes_get_cursor_name_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_name_cookie_t xcb_xfixes_get_cursor_name
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cursor
- ** @returns xcb_xfixes_get_cursor_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_name_cookie_t
-xcb_xfixes_get_cursor_name (xcb_connection_t *c /**< */,
- xcb_cursor_t cursor /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_name_cookie_t xcb_xfixes_get_cursor_name_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cursor
- ** @returns xcb_xfixes_get_cursor_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_name_cookie_t
-xcb_xfixes_get_cursor_name_unchecked (xcb_connection_t *c /**< */,
- xcb_cursor_t cursor /**< */);
-
-
-/*****************************************************************************
- **
- ** char * xcb_xfixes_get_cursor_name_name
- **
- ** @param const xcb_xfixes_get_cursor_name_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_xfixes_get_cursor_name_name (const xcb_xfixes_get_cursor_name_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_get_cursor_name_name_length
- **
- ** @param const xcb_xfixes_get_cursor_name_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_get_cursor_name_name_length (const xcb_xfixes_get_cursor_name_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_get_cursor_name_name_end
- **
- ** @param const xcb_xfixes_get_cursor_name_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_get_cursor_name_name_end (const xcb_xfixes_get_cursor_name_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xfixes_get_cursor_name_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_name_reply_t * xcb_xfixes_get_cursor_name_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_get_cursor_name_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_get_cursor_name_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_name_reply_t *
-xcb_xfixes_get_cursor_name_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_get_cursor_name_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_xfixes_get_cursor_image_and_name_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_xfixes_get_cursor_image_and_name
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xfixes_get_cursor_image_and_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_and_name_cookie_t
-xcb_xfixes_get_cursor_image_and_name (xcb_connection_t *c /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_xfixes_get_cursor_image_and_name_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xfixes_get_cursor_image_and_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_and_name_cookie_t
-xcb_xfixes_get_cursor_image_and_name_unchecked (xcb_connection_t *c /**< */);
-
-
-/*****************************************************************************
- **
- ** char * xcb_xfixes_get_cursor_image_and_name_name
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_xfixes_get_cursor_image_and_name_name (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_get_cursor_image_and_name_name_length
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_get_cursor_image_and_name_name_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_and_name_name_end
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_get_cursor_image_and_name_name_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** uint32_t * xcb_xfixes_get_cursor_image_and_name_cursor_image
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns uint32_t *
- **
- *****************************************************************************/
-
-uint32_t *
-xcb_xfixes_get_cursor_image_and_name_cursor_image (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_get_cursor_image_and_name_cursor_image_length
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_get_cursor_image_and_name_cursor_image_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_and_name_cursor_image_end
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_get_cursor_image_and_name_cursor_image_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xfixes_get_cursor_image_and_name_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_and_name_reply_t * xcb_xfixes_get_cursor_image_and_name_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_get_cursor_image_and_name_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_get_cursor_image_and_name_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_and_name_reply_t *
-xcb_xfixes_get_cursor_image_and_name_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_get_cursor_image_and_name_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t source
- ** @param xcb_cursor_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_cursor_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t source /**< */,
- xcb_cursor_t destination /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t source
- ** @param xcb_cursor_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_cursor (xcb_connection_t *c /**< */,
- xcb_cursor_t source /**< */,
- xcb_cursor_t destination /**< */);
-
-int
-xcb_xfixes_change_cursor_by_name_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_cursor_by_name_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t src
- ** @param uint16_t nbytes
- ** @param const char *name
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_cursor_by_name_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t src /**< */,
- uint16_t nbytes /**< */,
- const char *name /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_cursor_by_name
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t src
- ** @param uint16_t nbytes
- ** @param const char *name
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_cursor_by_name (xcb_connection_t *c /**< */,
- xcb_cursor_t src /**< */,
- uint16_t nbytes /**< */,
- const char *name /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_expand_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @param uint16_t left
- ** @param uint16_t right
- ** @param uint16_t top
- ** @param uint16_t bottom
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_expand_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */,
- uint16_t left /**< */,
- uint16_t right /**< */,
- uint16_t top /**< */,
- uint16_t bottom /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_expand_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @param uint16_t left
- ** @param uint16_t right
- ** @param uint16_t top
- ** @param uint16_t bottom
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_expand_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */,
- uint16_t left /**< */,
- uint16_t right /**< */,
- uint16_t top /**< */,
- uint16_t bottom /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_hide_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_hide_cursor_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_hide_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_hide_cursor (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_show_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_show_cursor_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_show_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_show_cursor (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**
- * @}
- */
diff --git a/src/3rdparty/xcb/include/xcb/xinerama.h b/src/3rdparty/xcb/include/xcb/xinerama.h
deleted file mode 100644
index f18a96c791..0000000000
--- a/src/3rdparty/xcb/include/xcb/xinerama.h
+++ /dev/null
@@ -1,811 +0,0 @@
-/*
- * This file generated automatically from xinerama.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_Xinerama_API XCB Xinerama API
- * @brief Xinerama XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __XINERAMA_H
-#define __XINERAMA_H
-
-#include "xcb.h"
-#include "xproto.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_XINERAMA_MAJOR_VERSION 1
-#define XCB_XINERAMA_MINOR_VERSION 1
-
-extern xcb_extension_t xcb_xinerama_id;
-
-/**
- * @brief xcb_xinerama_screen_info_t
- **/
-typedef struct xcb_xinerama_screen_info_t {
- int16_t x_org; /**< */
- int16_t y_org; /**< */
- uint16_t width; /**< */
- uint16_t height; /**< */
-} xcb_xinerama_screen_info_t;
-
-/**
- * @brief xcb_xinerama_screen_info_iterator_t
- **/
-typedef struct xcb_xinerama_screen_info_iterator_t {
- xcb_xinerama_screen_info_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xinerama_screen_info_iterator_t;
-
-/**
- * @brief xcb_xinerama_query_version_cookie_t
- **/
-typedef struct xcb_xinerama_query_version_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xinerama_query_version_cookie_t;
-
-/** Opcode for xcb_xinerama_query_version. */
-#define XCB_XINERAMA_QUERY_VERSION 0
-
-/**
- * @brief xcb_xinerama_query_version_request_t
- **/
-typedef struct xcb_xinerama_query_version_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint8_t major; /**< */
- uint8_t minor; /**< */
-} xcb_xinerama_query_version_request_t;
-
-/**
- * @brief xcb_xinerama_query_version_reply_t
- **/
-typedef struct xcb_xinerama_query_version_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t major; /**< */
- uint16_t minor; /**< */
-} xcb_xinerama_query_version_reply_t;
-
-/**
- * @brief xcb_xinerama_get_state_cookie_t
- **/
-typedef struct xcb_xinerama_get_state_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xinerama_get_state_cookie_t;
-
-/** Opcode for xcb_xinerama_get_state. */
-#define XCB_XINERAMA_GET_STATE 1
-
-/**
- * @brief xcb_xinerama_get_state_request_t
- **/
-typedef struct xcb_xinerama_get_state_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_xinerama_get_state_request_t;
-
-/**
- * @brief xcb_xinerama_get_state_reply_t
- **/
-typedef struct xcb_xinerama_get_state_reply_t {
- uint8_t response_type; /**< */
- uint8_t state; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_xinerama_get_state_reply_t;
-
-/**
- * @brief xcb_xinerama_get_screen_count_cookie_t
- **/
-typedef struct xcb_xinerama_get_screen_count_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xinerama_get_screen_count_cookie_t;
-
-/** Opcode for xcb_xinerama_get_screen_count. */
-#define XCB_XINERAMA_GET_SCREEN_COUNT 2
-
-/**
- * @brief xcb_xinerama_get_screen_count_request_t
- **/
-typedef struct xcb_xinerama_get_screen_count_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_xinerama_get_screen_count_request_t;
-
-/**
- * @brief xcb_xinerama_get_screen_count_reply_t
- **/
-typedef struct xcb_xinerama_get_screen_count_reply_t {
- uint8_t response_type; /**< */
- uint8_t screen_count; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_window_t window; /**< */
-} xcb_xinerama_get_screen_count_reply_t;
-
-/**
- * @brief xcb_xinerama_get_screen_size_cookie_t
- **/
-typedef struct xcb_xinerama_get_screen_size_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xinerama_get_screen_size_cookie_t;
-
-/** Opcode for xcb_xinerama_get_screen_size. */
-#define XCB_XINERAMA_GET_SCREEN_SIZE 3
-
-/**
- * @brief xcb_xinerama_get_screen_size_request_t
- **/
-typedef struct xcb_xinerama_get_screen_size_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_window_t window; /**< */
- uint32_t screen; /**< */
-} xcb_xinerama_get_screen_size_request_t;
-
-/**
- * @brief xcb_xinerama_get_screen_size_reply_t
- **/
-typedef struct xcb_xinerama_get_screen_size_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t width; /**< */
- uint32_t height; /**< */
- xcb_window_t window; /**< */
- uint32_t screen; /**< */
-} xcb_xinerama_get_screen_size_reply_t;
-
-/**
- * @brief xcb_xinerama_is_active_cookie_t
- **/
-typedef struct xcb_xinerama_is_active_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xinerama_is_active_cookie_t;
-
-/** Opcode for xcb_xinerama_is_active. */
-#define XCB_XINERAMA_IS_ACTIVE 4
-
-/**
- * @brief xcb_xinerama_is_active_request_t
- **/
-typedef struct xcb_xinerama_is_active_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_xinerama_is_active_request_t;
-
-/**
- * @brief xcb_xinerama_is_active_reply_t
- **/
-typedef struct xcb_xinerama_is_active_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t state; /**< */
-} xcb_xinerama_is_active_reply_t;
-
-/**
- * @brief xcb_xinerama_query_screens_cookie_t
- **/
-typedef struct xcb_xinerama_query_screens_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xinerama_query_screens_cookie_t;
-
-/** Opcode for xcb_xinerama_query_screens. */
-#define XCB_XINERAMA_QUERY_SCREENS 5
-
-/**
- * @brief xcb_xinerama_query_screens_request_t
- **/
-typedef struct xcb_xinerama_query_screens_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
-} xcb_xinerama_query_screens_request_t;
-
-/**
- * @brief xcb_xinerama_query_screens_reply_t
- **/
-typedef struct xcb_xinerama_query_screens_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t number; /**< */
- uint8_t pad1[20]; /**< */
-} xcb_xinerama_query_screens_reply_t;
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xinerama_screen_info_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xinerama_screen_info_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xinerama_screen_info_next
- **
- ** @param xcb_xinerama_screen_info_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xinerama_screen_info_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xinerama_screen_info_end
- **
- ** @param xcb_xinerama_screen_info_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t major
- ** @param uint8_t minor
- ** @returns xcb_xinerama_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_query_version_cookie_t
-xcb_xinerama_query_version (xcb_connection_t *c /**< */,
- uint8_t major /**< */,
- uint8_t minor /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t major
- ** @param uint8_t minor
- ** @returns xcb_xinerama_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_query_version_cookie_t
-xcb_xinerama_query_version_unchecked (xcb_connection_t *c /**< */,
- uint8_t major /**< */,
- uint8_t minor /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xinerama_query_version_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_version_reply_t * xcb_xinerama_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_query_version_reply_t *
-xcb_xinerama_query_version_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_xinerama_get_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_state_cookie_t
-xcb_xinerama_get_state (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_xinerama_get_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_state_cookie_t
-xcb_xinerama_get_state_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xinerama_get_state_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_state_reply_t * xcb_xinerama_get_state_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_get_state_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_get_state_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_get_state_reply_t *
-xcb_xinerama_get_state_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_get_state_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_xinerama_get_screen_count_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_count_cookie_t
-xcb_xinerama_get_screen_count (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_xinerama_get_screen_count_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_count_cookie_t
-xcb_xinerama_get_screen_count_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xinerama_get_screen_count_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_count_reply_t * xcb_xinerama_get_screen_count_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_get_screen_count_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_get_screen_count_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_count_reply_t *
-xcb_xinerama_get_screen_count_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_get_screen_count_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint32_t screen
- ** @returns xcb_xinerama_get_screen_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_size_cookie_t
-xcb_xinerama_get_screen_size (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint32_t screen /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint32_t screen
- ** @returns xcb_xinerama_get_screen_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_size_cookie_t
-xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint32_t screen /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xinerama_get_screen_size_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_size_reply_t * xcb_xinerama_get_screen_size_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_get_screen_size_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_get_screen_size_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_size_reply_t *
-xcb_xinerama_get_screen_size_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_get_screen_size_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xinerama_is_active_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_is_active_cookie_t
-xcb_xinerama_is_active (xcb_connection_t *c /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xinerama_is_active_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_is_active_cookie_t
-xcb_xinerama_is_active_unchecked (xcb_connection_t *c /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xinerama_is_active_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_is_active_reply_t * xcb_xinerama_is_active_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_is_active_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_is_active_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_is_active_reply_t *
-xcb_xinerama_is_active_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_is_active_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_xinerama_query_screens_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xinerama_query_screens_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_query_screens_cookie_t
-xcb_xinerama_query_screens (xcb_connection_t *c /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xinerama_query_screens_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_query_screens_cookie_t
-xcb_xinerama_query_screens_unchecked (xcb_connection_t *c /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_screen_info_t * xcb_xinerama_query_screens_screen_info
- **
- ** @param const xcb_xinerama_query_screens_reply_t *R
- ** @returns xcb_xinerama_screen_info_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_screen_info_t *
-xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xinerama_query_screens_screen_info_length
- **
- ** @param const xcb_xinerama_query_screens_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_screen_info_iterator_t xcb_xinerama_query_screens_screen_info_iterator
- **
- ** @param const xcb_xinerama_query_screens_reply_t *R
- ** @returns xcb_xinerama_screen_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_xinerama_screen_info_iterator_t
-xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xinerama_query_screens_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_screens_reply_t * xcb_xinerama_query_screens_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_query_screens_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_query_screens_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_query_screens_reply_t *
-xcb_xinerama_query_screens_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_query_screens_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**
- * @}
- */
diff --git a/src/3rdparty/xcb/include/xcb/xinput.h b/src/3rdparty/xcb/include/xcb/xinput.h
index 9420047c71..729c0b5169 100644
--- a/src/3rdparty/xcb/include/xcb/xinput.h
+++ b/src/3rdparty/xcb/include/xcb/xinput.h
@@ -12,8 +12,8 @@
#ifndef __XINPUT_H
#define __XINPUT_H
-#include "xcb.h"
-#include "xfixes.h"
+#include <xcb/xcb.h>
+#include <xcb/xfixes.h>
#ifdef __cplusplus
extern "C" {
diff --git a/src/3rdparty/xcb/include/xcb/xkb.h b/src/3rdparty/xcb/include/xcb/xkb.h
deleted file mode 100644
index 66b4712194..0000000000
--- a/src/3rdparty/xcb/include/xcb/xkb.h
+++ /dev/null
@@ -1,12085 +0,0 @@
-/*
- * This file generated automatically from xkb.xml by c_client.py.
- * Edit at your peril.
- */
-
-/**
- * @defgroup XCB_xkb_API XCB xkb API
- * @brief xkb XCB Protocol Implementation.
- * @{
- **/
-
-#ifndef __XKB_H
-#define __XKB_H
-
-#include "xcb.h"
-#include "xproto.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XCB_XKB_MAJOR_VERSION 1
-#define XCB_XKB_MINOR_VERSION 0
-
-extern xcb_extension_t xcb_xkb_id;
-
-typedef enum xcb_xkb_const_t {
- XCB_XKB_CONST_MAX_LEGAL_KEY_CODE = 255,
- XCB_XKB_CONST_PER_KEY_BIT_ARRAY_SIZE = 32,
- XCB_XKB_CONST_KEY_NAME_LENGTH = 4
-} xcb_xkb_const_t;
-
-typedef enum xcb_xkb_event_type_t {
- XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY = 1,
- XCB_XKB_EVENT_TYPE_MAP_NOTIFY = 2,
- XCB_XKB_EVENT_TYPE_STATE_NOTIFY = 4,
- XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY = 8,
- XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY = 16,
- XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY = 32,
- XCB_XKB_EVENT_TYPE_NAMES_NOTIFY = 64,
- XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY = 128,
- XCB_XKB_EVENT_TYPE_BELL_NOTIFY = 256,
- XCB_XKB_EVENT_TYPE_ACTION_MESSAGE = 512,
- XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY = 1024,
- XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY = 2048
-} xcb_xkb_event_type_t;
-
-typedef enum xcb_xkb_nkn_detail_t {
- XCB_XKB_NKN_DETAIL_KEYCODES = 1,
- XCB_XKB_NKN_DETAIL_GEOMETRY = 2,
- XCB_XKB_NKN_DETAIL_DEVICE_ID = 4
-} xcb_xkb_nkn_detail_t;
-
-typedef enum xcb_xkb_axn_detail_t {
- XCB_XKB_AXN_DETAIL_SK_PRESS = 1,
- XCB_XKB_AXN_DETAIL_SK_ACCEPT = 2,
- XCB_XKB_AXN_DETAIL_SK_REJECT = 4,
- XCB_XKB_AXN_DETAIL_SK_RELEASE = 8,
- XCB_XKB_AXN_DETAIL_BK_ACCEPT = 16,
- XCB_XKB_AXN_DETAIL_BK_REJECT = 32,
- XCB_XKB_AXN_DETAIL_AXK_WARNING = 64
-} xcb_xkb_axn_detail_t;
-
-typedef enum xcb_xkb_map_part_t {
- XCB_XKB_MAP_PART_KEY_TYPES = 1,
- XCB_XKB_MAP_PART_KEY_SYMS = 2,
- XCB_XKB_MAP_PART_MODIFIER_MAP = 4,
- XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS = 8,
- XCB_XKB_MAP_PART_KEY_ACTIONS = 16,
- XCB_XKB_MAP_PART_KEY_BEHAVIORS = 32,
- XCB_XKB_MAP_PART_VIRTUAL_MODS = 64,
- XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP = 128
-} xcb_xkb_map_part_t;
-
-typedef enum xcb_xkb_set_map_flags_t {
- XCB_XKB_SET_MAP_FLAGS_RESIZE_TYPES = 1,
- XCB_XKB_SET_MAP_FLAGS_RECOMPUTE_ACTIONS = 2
-} xcb_xkb_set_map_flags_t;
-
-typedef enum xcb_xkb_state_part_t {
- XCB_XKB_STATE_PART_MODIFIER_STATE = 1,
- XCB_XKB_STATE_PART_MODIFIER_BASE = 2,
- XCB_XKB_STATE_PART_MODIFIER_LATCH = 4,
- XCB_XKB_STATE_PART_MODIFIER_LOCK = 8,
- XCB_XKB_STATE_PART_GROUP_STATE = 16,
- XCB_XKB_STATE_PART_GROUP_BASE = 32,
- XCB_XKB_STATE_PART_GROUP_LATCH = 64,
- XCB_XKB_STATE_PART_GROUP_LOCK = 128,
- XCB_XKB_STATE_PART_COMPAT_STATE = 256,
- XCB_XKB_STATE_PART_GRAB_MODS = 512,
- XCB_XKB_STATE_PART_COMPAT_GRAB_MODS = 1024,
- XCB_XKB_STATE_PART_LOOKUP_MODS = 2048,
- XCB_XKB_STATE_PART_COMPAT_LOOKUP_MODS = 4096,
- XCB_XKB_STATE_PART_POINTER_BUTTONS = 8192
-} xcb_xkb_state_part_t;
-
-typedef enum xcb_xkb_bool_ctrl_t {
- XCB_XKB_BOOL_CTRL_REPEAT_KEYS = 1,
- XCB_XKB_BOOL_CTRL_SLOW_KEYS = 2,
- XCB_XKB_BOOL_CTRL_BOUNCE_KEYS = 4,
- XCB_XKB_BOOL_CTRL_STICKY_KEYS = 8,
- XCB_XKB_BOOL_CTRL_MOUSE_KEYS = 16,
- XCB_XKB_BOOL_CTRL_MOUSE_KEYS_ACCEL = 32,
- XCB_XKB_BOOL_CTRL_ACCESS_X_KEYS = 64,
- XCB_XKB_BOOL_CTRL_ACCESS_X_TIMEOUT_MASK = 128,
- XCB_XKB_BOOL_CTRL_ACCESS_X_FEEDBACK_MASK = 256,
- XCB_XKB_BOOL_CTRL_AUDIBLE_BELL_MASK = 512,
- XCB_XKB_BOOL_CTRL_OVERLAY_1_MASK = 1024,
- XCB_XKB_BOOL_CTRL_OVERLAY_2_MASK = 2048,
- XCB_XKB_BOOL_CTRL_IGNORE_GROUP_LOCK_MASK = 4096
-} xcb_xkb_bool_ctrl_t;
-
-typedef enum xcb_xkb_control_t {
- XCB_XKB_CONTROL_GROUPS_WRAP = 134217728,
- XCB_XKB_CONTROL_INTERNAL_MODS = 268435456,
- XCB_XKB_CONTROL_IGNORE_LOCK_MODS = 536870912,
- XCB_XKB_CONTROL_PER_KEY_REPEAT = 1073741824u,
- XCB_XKB_CONTROL_CONTROLS_ENABLED = 2147483648u
-} xcb_xkb_control_t;
-
-typedef enum xcb_xkb_ax_option_t {
- XCB_XKB_AX_OPTION_SK_PRESS_FB = 1,
- XCB_XKB_AX_OPTION_SK_ACCEPT_FB = 2,
- XCB_XKB_AX_OPTION_FEATURE_FB = 4,
- XCB_XKB_AX_OPTION_SLOW_WARN_FB = 8,
- XCB_XKB_AX_OPTION_INDICATOR_FB = 16,
- XCB_XKB_AX_OPTION_STICKY_KEYS_FB = 32,
- XCB_XKB_AX_OPTION_TWO_KEYS = 64,
- XCB_XKB_AX_OPTION_LATCH_TO_LOCK = 128,
- XCB_XKB_AX_OPTION_SK_RELEASE_FB = 256,
- XCB_XKB_AX_OPTION_SK_REJECT_FB = 512,
- XCB_XKB_AX_OPTION_BK_REJECT_FB = 1024,
- XCB_XKB_AX_OPTION_DUMB_BELL = 2048
-} xcb_xkb_ax_option_t;
-
-typedef uint16_t xcb_xkb_device_spec_t;
-
-/**
- * @brief xcb_xkb_device_spec_iterator_t
- **/
-typedef struct xcb_xkb_device_spec_iterator_t {
- xcb_xkb_device_spec_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_device_spec_iterator_t;
-
-typedef enum xcb_xkb_led_class_result_t {
- XCB_XKB_LED_CLASS_RESULT_KBD_FEEDBACK_CLASS = 0,
- XCB_XKB_LED_CLASS_RESULT_LED_FEEDBACK_CLASS = 4
-} xcb_xkb_led_class_result_t;
-
-typedef enum xcb_xkb_led_class_t {
- XCB_XKB_LED_CLASS_KBD_FEEDBACK_CLASS = 0,
- XCB_XKB_LED_CLASS_LED_FEEDBACK_CLASS = 4,
- XCB_XKB_LED_CLASS_DFLT_XI_CLASS = 768,
- XCB_XKB_LED_CLASS_ALL_XI_CLASSES = 1280
-} xcb_xkb_led_class_t;
-
-typedef uint16_t xcb_xkb_led_class_spec_t;
-
-/**
- * @brief xcb_xkb_led_class_spec_iterator_t
- **/
-typedef struct xcb_xkb_led_class_spec_iterator_t {
- xcb_xkb_led_class_spec_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_led_class_spec_iterator_t;
-
-typedef enum xcb_xkb_bell_class_result_t {
- XCB_XKB_BELL_CLASS_RESULT_KBD_FEEDBACK_CLASS = 0,
- XCB_XKB_BELL_CLASS_RESULT_BELL_FEEDBACK_CLASS = 5
-} xcb_xkb_bell_class_result_t;
-
-typedef enum xcb_xkb_bell_class_t {
- XCB_XKB_BELL_CLASS_KBD_FEEDBACK_CLASS = 0,
- XCB_XKB_BELL_CLASS_BELL_FEEDBACK_CLASS = 5,
- XCB_XKB_BELL_CLASS_DFLT_XI_CLASS = 768
-} xcb_xkb_bell_class_t;
-
-typedef uint16_t xcb_xkb_bell_class_spec_t;
-
-/**
- * @brief xcb_xkb_bell_class_spec_iterator_t
- **/
-typedef struct xcb_xkb_bell_class_spec_iterator_t {
- xcb_xkb_bell_class_spec_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_bell_class_spec_iterator_t;
-
-typedef enum xcb_xkb_id_t {
- XCB_XKB_ID_USE_CORE_KBD = 256,
- XCB_XKB_ID_USE_CORE_PTR = 512,
- XCB_XKB_ID_DFLT_XI_CLASS = 768,
- XCB_XKB_ID_DFLT_XI_ID = 1024,
- XCB_XKB_ID_ALL_XI_CLASS = 1280,
- XCB_XKB_ID_ALL_XI_ID = 1536,
- XCB_XKB_ID_XI_NONE = 65280
-} xcb_xkb_id_t;
-
-typedef uint16_t xcb_xkb_id_spec_t;
-
-/**
- * @brief xcb_xkb_id_spec_iterator_t
- **/
-typedef struct xcb_xkb_id_spec_iterator_t {
- xcb_xkb_id_spec_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_id_spec_iterator_t;
-
-typedef enum xcb_xkb_group_t {
- XCB_XKB_GROUP_1 = 0,
- XCB_XKB_GROUP_2 = 1,
- XCB_XKB_GROUP_3 = 2,
- XCB_XKB_GROUP_4 = 3
-} xcb_xkb_group_t;
-
-typedef enum xcb_xkb_groups_t {
- XCB_XKB_GROUPS_ANY = 254,
- XCB_XKB_GROUPS_ALL = 255
-} xcb_xkb_groups_t;
-
-typedef enum xcb_xkb_set_of_group_t {
- XCB_XKB_SET_OF_GROUP_GROUP_1 = 1,
- XCB_XKB_SET_OF_GROUP_GROUP_2 = 2,
- XCB_XKB_SET_OF_GROUP_GROUP_3 = 4,
- XCB_XKB_SET_OF_GROUP_GROUP_4 = 8
-} xcb_xkb_set_of_group_t;
-
-typedef enum xcb_xkb_set_of_groups_t {
- XCB_XKB_SET_OF_GROUPS_ANY = 128
-} xcb_xkb_set_of_groups_t;
-
-typedef enum xcb_xkb_groups_wrap_t {
- XCB_XKB_GROUPS_WRAP_WRAP_INTO_RANGE = 0,
- XCB_XKB_GROUPS_WRAP_CLAMP_INTO_RANGE = 64,
- XCB_XKB_GROUPS_WRAP_REDIRECT_INTO_RANGE = 128
-} xcb_xkb_groups_wrap_t;
-
-typedef enum xcb_xkb_v_mods_high_t {
- XCB_XKB_V_MODS_HIGH_15 = 128,
- XCB_XKB_V_MODS_HIGH_14 = 64,
- XCB_XKB_V_MODS_HIGH_13 = 32,
- XCB_XKB_V_MODS_HIGH_12 = 16,
- XCB_XKB_V_MODS_HIGH_11 = 8,
- XCB_XKB_V_MODS_HIGH_10 = 4,
- XCB_XKB_V_MODS_HIGH_9 = 2,
- XCB_XKB_V_MODS_HIGH_8 = 1
-} xcb_xkb_v_mods_high_t;
-
-typedef enum xcb_xkb_v_mods_low_t {
- XCB_XKB_V_MODS_LOW_7 = 128,
- XCB_XKB_V_MODS_LOW_6 = 64,
- XCB_XKB_V_MODS_LOW_5 = 32,
- XCB_XKB_V_MODS_LOW_4 = 16,
- XCB_XKB_V_MODS_LOW_3 = 8,
- XCB_XKB_V_MODS_LOW_2 = 4,
- XCB_XKB_V_MODS_LOW_1 = 2,
- XCB_XKB_V_MODS_LOW_0 = 1
-} xcb_xkb_v_mods_low_t;
-
-typedef enum xcb_xkb_v_mod_t {
- XCB_XKB_V_MOD_15 = 32768,
- XCB_XKB_V_MOD_14 = 16384,
- XCB_XKB_V_MOD_13 = 8192,
- XCB_XKB_V_MOD_12 = 4096,
- XCB_XKB_V_MOD_11 = 2048,
- XCB_XKB_V_MOD_10 = 1024,
- XCB_XKB_V_MOD_9 = 512,
- XCB_XKB_V_MOD_8 = 256,
- XCB_XKB_V_MOD_7 = 128,
- XCB_XKB_V_MOD_6 = 64,
- XCB_XKB_V_MOD_5 = 32,
- XCB_XKB_V_MOD_4 = 16,
- XCB_XKB_V_MOD_3 = 8,
- XCB_XKB_V_MOD_2 = 4,
- XCB_XKB_V_MOD_1 = 2,
- XCB_XKB_V_MOD_0 = 1
-} xcb_xkb_v_mod_t;
-
-typedef enum xcb_xkb_explicit_t {
- XCB_XKB_EXPLICIT_V_MOD_MAP = 128,
- XCB_XKB_EXPLICIT_BEHAVIOR = 64,
- XCB_XKB_EXPLICIT_AUTO_REPEAT = 32,
- XCB_XKB_EXPLICIT_INTERPRET = 16,
- XCB_XKB_EXPLICIT_KEY_TYPE_4 = 8,
- XCB_XKB_EXPLICIT_KEY_TYPE_3 = 4,
- XCB_XKB_EXPLICIT_KEY_TYPE_2 = 2,
- XCB_XKB_EXPLICIT_KEY_TYPE_1 = 1
-} xcb_xkb_explicit_t;
-
-typedef enum xcb_xkb_sym_interpret_match_t {
- XCB_XKB_SYM_INTERPRET_MATCH_NONE_OF = 0,
- XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF_OR_NONE = 1,
- XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF = 2,
- XCB_XKB_SYM_INTERPRET_MATCH_ALL_OF = 3,
- XCB_XKB_SYM_INTERPRET_MATCH_EXACTLY = 4
-} xcb_xkb_sym_interpret_match_t;
-
-typedef enum xcb_xkb_sym_interp_match_t {
- XCB_XKB_SYM_INTERP_MATCH_LEVEL_ONE_ONLY = 128,
- XCB_XKB_SYM_INTERP_MATCH_OP_MASK = 127
-} xcb_xkb_sym_interp_match_t;
-
-typedef enum xcb_xkb_im_flag_t {
- XCB_XKB_IM_FLAG_NO_EXPLICIT = 128,
- XCB_XKB_IM_FLAG_NO_AUTOMATIC = 64,
- XCB_XKB_IM_FLAG_LED_DRIVES_KB = 32
-} xcb_xkb_im_flag_t;
-
-typedef enum xcb_xkb_im_mods_which_t {
- XCB_XKB_IM_MODS_WHICH_USE_COMPAT = 16,
- XCB_XKB_IM_MODS_WHICH_USE_EFFECTIVE = 8,
- XCB_XKB_IM_MODS_WHICH_USE_LOCKED = 4,
- XCB_XKB_IM_MODS_WHICH_USE_LATCHED = 2,
- XCB_XKB_IM_MODS_WHICH_USE_BASE = 1
-} xcb_xkb_im_mods_which_t;
-
-typedef enum xcb_xkb_im_groups_which_t {
- XCB_XKB_IM_GROUPS_WHICH_USE_COMPAT = 16,
- XCB_XKB_IM_GROUPS_WHICH_USE_EFFECTIVE = 8,
- XCB_XKB_IM_GROUPS_WHICH_USE_LOCKED = 4,
- XCB_XKB_IM_GROUPS_WHICH_USE_LATCHED = 2,
- XCB_XKB_IM_GROUPS_WHICH_USE_BASE = 1
-} xcb_xkb_im_groups_which_t;
-
-/**
- * @brief xcb_xkb_indicator_map_t
- **/
-typedef struct xcb_xkb_indicator_map_t {
- uint8_t flags; /**< */
- uint8_t whichGroups; /**< */
- uint8_t groups; /**< */
- uint8_t whichMods; /**< */
- uint8_t mods; /**< */
- uint8_t realMods; /**< */
- uint16_t vmods; /**< */
- uint32_t ctrls; /**< */
-} xcb_xkb_indicator_map_t;
-
-/**
- * @brief xcb_xkb_indicator_map_iterator_t
- **/
-typedef struct xcb_xkb_indicator_map_iterator_t {
- xcb_xkb_indicator_map_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_indicator_map_iterator_t;
-
-typedef enum xcb_xkb_cm_detail_t {
- XCB_XKB_CM_DETAIL_SYM_INTERP = 1,
- XCB_XKB_CM_DETAIL_GROUP_COMPAT = 2
-} xcb_xkb_cm_detail_t;
-
-typedef enum xcb_xkb_name_detail_t {
- XCB_XKB_NAME_DETAIL_KEYCODES = 1,
- XCB_XKB_NAME_DETAIL_GEOMETRY = 2,
- XCB_XKB_NAME_DETAIL_SYMBOLS = 4,
- XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS = 8,
- XCB_XKB_NAME_DETAIL_TYPES = 16,
- XCB_XKB_NAME_DETAIL_COMPAT = 32,
- XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES = 64,
- XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES = 128,
- XCB_XKB_NAME_DETAIL_INDICATOR_NAMES = 256,
- XCB_XKB_NAME_DETAIL_KEY_NAMES = 512,
- XCB_XKB_NAME_DETAIL_KEY_ALIASES = 1024,
- XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES = 2048,
- XCB_XKB_NAME_DETAIL_GROUP_NAMES = 4096,
- XCB_XKB_NAME_DETAIL_RG_NAMES = 8192
-} xcb_xkb_name_detail_t;
-
-typedef enum xcb_xkb_gbn_detail_t {
- XCB_XKB_GBN_DETAIL_TYPES = 1,
- XCB_XKB_GBN_DETAIL_COMPAT_MAP = 2,
- XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS = 4,
- XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS = 8,
- XCB_XKB_GBN_DETAIL_INDICATOR_MAPS = 16,
- XCB_XKB_GBN_DETAIL_KEY_NAMES = 32,
- XCB_XKB_GBN_DETAIL_GEOMETRY = 64,
- XCB_XKB_GBN_DETAIL_OTHER_NAMES = 128
-} xcb_xkb_gbn_detail_t;
-
-typedef enum xcb_xkb_xi_feature_t {
- XCB_XKB_XI_FEATURE_KEYBOARDS = 1,
- XCB_XKB_XI_FEATURE_BUTTON_ACTIONS = 2,
- XCB_XKB_XI_FEATURE_INDICATOR_NAMES = 4,
- XCB_XKB_XI_FEATURE_INDICATOR_MAPS = 8,
- XCB_XKB_XI_FEATURE_INDICATOR_STATE = 16
-} xcb_xkb_xi_feature_t;
-
-typedef enum xcb_xkb_per_client_flag_t {
- XCB_XKB_PER_CLIENT_FLAG_DETECTABLE_AUTO_REPEAT = 1,
- XCB_XKB_PER_CLIENT_FLAG_GRABS_USE_XKB_STATE = 2,
- XCB_XKB_PER_CLIENT_FLAG_AUTO_RESET_CONTROLS = 4,
- XCB_XKB_PER_CLIENT_FLAG_LOOKUP_STATE_WHEN_GRABBED = 8,
- XCB_XKB_PER_CLIENT_FLAG_SEND_EVENT_USES_XKB_STATE = 16
-} xcb_xkb_per_client_flag_t;
-
-/**
- * @brief xcb_xkb_mod_def_t
- **/
-typedef struct xcb_xkb_mod_def_t {
- uint8_t mask; /**< */
- uint8_t realMods; /**< */
- uint16_t vmods; /**< */
-} xcb_xkb_mod_def_t;
-
-/**
- * @brief xcb_xkb_mod_def_iterator_t
- **/
-typedef struct xcb_xkb_mod_def_iterator_t {
- xcb_xkb_mod_def_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_mod_def_iterator_t;
-
-/**
- * @brief xcb_xkb_key_name_t
- **/
-typedef struct xcb_xkb_key_name_t {
- char name[4]; /**< */
-} xcb_xkb_key_name_t;
-
-/**
- * @brief xcb_xkb_key_name_iterator_t
- **/
-typedef struct xcb_xkb_key_name_iterator_t {
- xcb_xkb_key_name_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_key_name_iterator_t;
-
-/**
- * @brief xcb_xkb_key_alias_t
- **/
-typedef struct xcb_xkb_key_alias_t {
- char real[4]; /**< */
- char alias[4]; /**< */
-} xcb_xkb_key_alias_t;
-
-/**
- * @brief xcb_xkb_key_alias_iterator_t
- **/
-typedef struct xcb_xkb_key_alias_iterator_t {
- xcb_xkb_key_alias_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_key_alias_iterator_t;
-
-/**
- * @brief xcb_xkb_counted_string_16_t
- **/
-typedef struct xcb_xkb_counted_string_16_t {
- uint16_t length; /**< */
-} xcb_xkb_counted_string_16_t;
-
-/**
- * @brief xcb_xkb_counted_string_16_iterator_t
- **/
-typedef struct xcb_xkb_counted_string_16_iterator_t {
- xcb_xkb_counted_string_16_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_counted_string_16_iterator_t;
-
-/**
- * @brief xcb_xkb_kt_map_entry_t
- **/
-typedef struct xcb_xkb_kt_map_entry_t {
- uint8_t active; /**< */
- uint8_t mods_mask; /**< */
- uint8_t level; /**< */
- uint8_t mods_mods; /**< */
- uint16_t mods_vmods; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_kt_map_entry_t;
-
-/**
- * @brief xcb_xkb_kt_map_entry_iterator_t
- **/
-typedef struct xcb_xkb_kt_map_entry_iterator_t {
- xcb_xkb_kt_map_entry_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_kt_map_entry_iterator_t;
-
-/**
- * @brief xcb_xkb_key_type_t
- **/
-typedef struct xcb_xkb_key_type_t {
- uint8_t mods_mask; /**< */
- uint8_t mods_mods; /**< */
- uint16_t mods_vmods; /**< */
- uint8_t numLevels; /**< */
- uint8_t nMapEntries; /**< */
- uint8_t hasPreserve; /**< */
- uint8_t pad0; /**< */
-} xcb_xkb_key_type_t;
-
-/**
- * @brief xcb_xkb_key_type_iterator_t
- **/
-typedef struct xcb_xkb_key_type_iterator_t {
- xcb_xkb_key_type_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_key_type_iterator_t;
-
-/**
- * @brief xcb_xkb_key_sym_map_t
- **/
-typedef struct xcb_xkb_key_sym_map_t {
- uint8_t kt_index[4]; /**< */
- uint8_t groupInfo; /**< */
- uint8_t width; /**< */
- uint16_t nSyms; /**< */
-} xcb_xkb_key_sym_map_t;
-
-/**
- * @brief xcb_xkb_key_sym_map_iterator_t
- **/
-typedef struct xcb_xkb_key_sym_map_iterator_t {
- xcb_xkb_key_sym_map_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_key_sym_map_iterator_t;
-
-/**
- * @brief xcb_xkb_common_behavior_t
- **/
-typedef struct xcb_xkb_common_behavior_t {
- uint8_t type; /**< */
- uint8_t data; /**< */
-} xcb_xkb_common_behavior_t;
-
-/**
- * @brief xcb_xkb_common_behavior_iterator_t
- **/
-typedef struct xcb_xkb_common_behavior_iterator_t {
- xcb_xkb_common_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_common_behavior_iterator_t;
-
-/**
- * @brief xcb_xkb_default_behavior_t
- **/
-typedef struct xcb_xkb_default_behavior_t {
- uint8_t type; /**< */
- uint8_t pad0; /**< */
-} xcb_xkb_default_behavior_t;
-
-/**
- * @brief xcb_xkb_default_behavior_iterator_t
- **/
-typedef struct xcb_xkb_default_behavior_iterator_t {
- xcb_xkb_default_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_default_behavior_iterator_t;
-
-/**
- * @brief xcb_xkb_lock_behavior_t
- **/
-typedef struct xcb_xkb_lock_behavior_t {
- uint8_t type; /**< */
- uint8_t pad0; /**< */
-} xcb_xkb_lock_behavior_t;
-
-/**
- * @brief xcb_xkb_lock_behavior_iterator_t
- **/
-typedef struct xcb_xkb_lock_behavior_iterator_t {
- xcb_xkb_lock_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_lock_behavior_iterator_t;
-
-/**
- * @brief xcb_xkb_radio_group_behavior_t
- **/
-typedef struct xcb_xkb_radio_group_behavior_t {
- uint8_t type; /**< */
- uint8_t group; /**< */
-} xcb_xkb_radio_group_behavior_t;
-
-/**
- * @brief xcb_xkb_radio_group_behavior_iterator_t
- **/
-typedef struct xcb_xkb_radio_group_behavior_iterator_t {
- xcb_xkb_radio_group_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_radio_group_behavior_iterator_t;
-
-/**
- * @brief xcb_xkb_overlay_behavior_t
- **/
-typedef struct xcb_xkb_overlay_behavior_t {
- uint8_t type; /**< */
- xcb_keycode_t key; /**< */
-} xcb_xkb_overlay_behavior_t;
-
-/**
- * @brief xcb_xkb_overlay_behavior_iterator_t
- **/
-typedef struct xcb_xkb_overlay_behavior_iterator_t {
- xcb_xkb_overlay_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_overlay_behavior_iterator_t;
-
-/**
- * @brief xcb_xkb_permament_lock_behavior_t
- **/
-typedef struct xcb_xkb_permament_lock_behavior_t {
- uint8_t type; /**< */
- uint8_t pad0; /**< */
-} xcb_xkb_permament_lock_behavior_t;
-
-/**
- * @brief xcb_xkb_permament_lock_behavior_iterator_t
- **/
-typedef struct xcb_xkb_permament_lock_behavior_iterator_t {
- xcb_xkb_permament_lock_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_permament_lock_behavior_iterator_t;
-
-/**
- * @brief xcb_xkb_permament_radio_group_behavior_t
- **/
-typedef struct xcb_xkb_permament_radio_group_behavior_t {
- uint8_t type; /**< */
- uint8_t group; /**< */
-} xcb_xkb_permament_radio_group_behavior_t;
-
-/**
- * @brief xcb_xkb_permament_radio_group_behavior_iterator_t
- **/
-typedef struct xcb_xkb_permament_radio_group_behavior_iterator_t {
- xcb_xkb_permament_radio_group_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_permament_radio_group_behavior_iterator_t;
-
-/**
- * @brief xcb_xkb_permament_overlay_behavior_t
- **/
-typedef struct xcb_xkb_permament_overlay_behavior_t {
- uint8_t type; /**< */
- xcb_keycode_t key; /**< */
-} xcb_xkb_permament_overlay_behavior_t;
-
-/**
- * @brief xcb_xkb_permament_overlay_behavior_iterator_t
- **/
-typedef struct xcb_xkb_permament_overlay_behavior_iterator_t {
- xcb_xkb_permament_overlay_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_permament_overlay_behavior_iterator_t;
-
-/**
- * @brief xcb_xkb_behavior_t
- **/
-typedef union xcb_xkb_behavior_t {
- xcb_xkb_common_behavior_t common; /**< */
- xcb_xkb_default_behavior_t _default; /**< */
- xcb_xkb_lock_behavior_t lock; /**< */
- xcb_xkb_radio_group_behavior_t radioGroup; /**< */
- xcb_xkb_overlay_behavior_t overlay1; /**< */
- xcb_xkb_overlay_behavior_t overlay2; /**< */
- xcb_xkb_permament_lock_behavior_t permamentLock; /**< */
- xcb_xkb_permament_radio_group_behavior_t permamentRadioGroup; /**< */
- xcb_xkb_permament_overlay_behavior_t permamentOverlay1; /**< */
- xcb_xkb_permament_overlay_behavior_t permamentOverlay2; /**< */
- uint8_t type; /**< */
-} xcb_xkb_behavior_t;
-
-/**
- * @brief xcb_xkb_behavior_iterator_t
- **/
-typedef struct xcb_xkb_behavior_iterator_t {
- xcb_xkb_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_behavior_iterator_t;
-
-typedef enum xcb_xkb_behavior_type_t {
- XCB_XKB_BEHAVIOR_TYPE_DEFAULT = 0,
- XCB_XKB_BEHAVIOR_TYPE_LOCK = 1,
- XCB_XKB_BEHAVIOR_TYPE_RADIO_GROUP = 2,
- XCB_XKB_BEHAVIOR_TYPE_OVERLAY_1 = 3,
- XCB_XKB_BEHAVIOR_TYPE_OVERLAY_2 = 4,
- XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_LOCK = 129,
- XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_RADIO_GROUP = 130,
- XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_1 = 131,
- XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_2 = 132
-} xcb_xkb_behavior_type_t;
-
-/**
- * @brief xcb_xkb_set_behavior_t
- **/
-typedef struct xcb_xkb_set_behavior_t {
- xcb_keycode_t keycode; /**< */
- xcb_xkb_behavior_t behavior; /**< */
- uint8_t pad0; /**< */
-} xcb_xkb_set_behavior_t;
-
-/**
- * @brief xcb_xkb_set_behavior_iterator_t
- **/
-typedef struct xcb_xkb_set_behavior_iterator_t {
- xcb_xkb_set_behavior_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_set_behavior_iterator_t;
-
-/**
- * @brief xcb_xkb_set_explicit_t
- **/
-typedef struct xcb_xkb_set_explicit_t {
- xcb_keycode_t keycode; /**< */
- uint8_t explicit; /**< */
-} xcb_xkb_set_explicit_t;
-
-/**
- * @brief xcb_xkb_set_explicit_iterator_t
- **/
-typedef struct xcb_xkb_set_explicit_iterator_t {
- xcb_xkb_set_explicit_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_set_explicit_iterator_t;
-
-/**
- * @brief xcb_xkb_key_mod_map_t
- **/
-typedef struct xcb_xkb_key_mod_map_t {
- xcb_keycode_t keycode; /**< */
- uint8_t mods; /**< */
-} xcb_xkb_key_mod_map_t;
-
-/**
- * @brief xcb_xkb_key_mod_map_iterator_t
- **/
-typedef struct xcb_xkb_key_mod_map_iterator_t {
- xcb_xkb_key_mod_map_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_key_mod_map_iterator_t;
-
-/**
- * @brief xcb_xkb_key_v_mod_map_t
- **/
-typedef struct xcb_xkb_key_v_mod_map_t {
- xcb_keycode_t keycode; /**< */
- uint8_t pad0; /**< */
- uint16_t vmods; /**< */
-} xcb_xkb_key_v_mod_map_t;
-
-/**
- * @brief xcb_xkb_key_v_mod_map_iterator_t
- **/
-typedef struct xcb_xkb_key_v_mod_map_iterator_t {
- xcb_xkb_key_v_mod_map_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_key_v_mod_map_iterator_t;
-
-/**
- * @brief xcb_xkb_kt_set_map_entry_t
- **/
-typedef struct xcb_xkb_kt_set_map_entry_t {
- uint8_t level; /**< */
- uint8_t realMods; /**< */
- uint16_t virtualMods; /**< */
-} xcb_xkb_kt_set_map_entry_t;
-
-/**
- * @brief xcb_xkb_kt_set_map_entry_iterator_t
- **/
-typedef struct xcb_xkb_kt_set_map_entry_iterator_t {
- xcb_xkb_kt_set_map_entry_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_kt_set_map_entry_iterator_t;
-
-/**
- * @brief xcb_xkb_set_key_type_t
- **/
-typedef struct xcb_xkb_set_key_type_t {
- uint8_t mask; /**< */
- uint8_t realMods; /**< */
- uint16_t virtualMods; /**< */
- uint8_t numLevels; /**< */
- uint8_t nMapEntries; /**< */
- uint8_t preserve; /**< */
- uint8_t pad0; /**< */
-} xcb_xkb_set_key_type_t;
-
-/**
- * @brief xcb_xkb_set_key_type_iterator_t
- **/
-typedef struct xcb_xkb_set_key_type_iterator_t {
- xcb_xkb_set_key_type_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_set_key_type_iterator_t;
-
-typedef char xcb_xkb_string8_t;
-
-/**
- * @brief xcb_xkb_string8_iterator_t
- **/
-typedef struct xcb_xkb_string8_iterator_t {
- xcb_xkb_string8_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_string8_iterator_t;
-
-/**
- * @brief xcb_xkb_outline_t
- **/
-typedef struct xcb_xkb_outline_t {
- uint8_t nPoints; /**< */
- uint8_t cornerRadius; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_outline_t;
-
-/**
- * @brief xcb_xkb_outline_iterator_t
- **/
-typedef struct xcb_xkb_outline_iterator_t {
- xcb_xkb_outline_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_outline_iterator_t;
-
-/**
- * @brief xcb_xkb_shape_t
- **/
-typedef struct xcb_xkb_shape_t {
- xcb_atom_t name; /**< */
- uint8_t nOutlines; /**< */
- uint8_t primaryNdx; /**< */
- uint8_t approxNdx; /**< */
- uint8_t pad0; /**< */
-} xcb_xkb_shape_t;
-
-/**
- * @brief xcb_xkb_shape_iterator_t
- **/
-typedef struct xcb_xkb_shape_iterator_t {
- xcb_xkb_shape_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_shape_iterator_t;
-
-/**
- * @brief xcb_xkb_key_t
- **/
-typedef struct xcb_xkb_key_t {
- xcb_xkb_string8_t name[4]; /**< */
- int16_t gap; /**< */
- uint8_t shapeNdx; /**< */
- uint8_t colorNdx; /**< */
-} xcb_xkb_key_t;
-
-/**
- * @brief xcb_xkb_key_iterator_t
- **/
-typedef struct xcb_xkb_key_iterator_t {
- xcb_xkb_key_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_key_iterator_t;
-
-/**
- * @brief xcb_xkb_overlay_key_t
- **/
-typedef struct xcb_xkb_overlay_key_t {
- xcb_xkb_string8_t over[4]; /**< */
- xcb_xkb_string8_t under[4]; /**< */
-} xcb_xkb_overlay_key_t;
-
-/**
- * @brief xcb_xkb_overlay_key_iterator_t
- **/
-typedef struct xcb_xkb_overlay_key_iterator_t {
- xcb_xkb_overlay_key_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_overlay_key_iterator_t;
-
-/**
- * @brief xcb_xkb_overlay_row_t
- **/
-typedef struct xcb_xkb_overlay_row_t {
- uint8_t rowUnder; /**< */
- uint8_t nKeys; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_overlay_row_t;
-
-/**
- * @brief xcb_xkb_overlay_row_iterator_t
- **/
-typedef struct xcb_xkb_overlay_row_iterator_t {
- xcb_xkb_overlay_row_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_overlay_row_iterator_t;
-
-/**
- * @brief xcb_xkb_overlay_t
- **/
-typedef struct xcb_xkb_overlay_t {
- xcb_atom_t name; /**< */
- uint8_t nRows; /**< */
- uint8_t pad0[3]; /**< */
-} xcb_xkb_overlay_t;
-
-/**
- * @brief xcb_xkb_overlay_iterator_t
- **/
-typedef struct xcb_xkb_overlay_iterator_t {
- xcb_xkb_overlay_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_overlay_iterator_t;
-
-/**
- * @brief xcb_xkb_row_t
- **/
-typedef struct xcb_xkb_row_t {
- int16_t top; /**< */
- int16_t left; /**< */
- uint8_t nKeys; /**< */
- uint8_t vertical; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_row_t;
-
-/**
- * @brief xcb_xkb_row_iterator_t
- **/
-typedef struct xcb_xkb_row_iterator_t {
- xcb_xkb_row_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_row_iterator_t;
-
-typedef enum xcb_xkb_doodad_type_t {
- XCB_XKB_DOODAD_TYPE_OUTLINE = 1,
- XCB_XKB_DOODAD_TYPE_SOLID = 2,
- XCB_XKB_DOODAD_TYPE_TEXT = 3,
- XCB_XKB_DOODAD_TYPE_INDICATOR = 4,
- XCB_XKB_DOODAD_TYPE_LOGO = 5
-} xcb_xkb_doodad_type_t;
-
-/**
- * @brief xcb_xkb_listing_t
- **/
-typedef struct xcb_xkb_listing_t {
- uint16_t flags; /**< */
- uint16_t length; /**< */
-} xcb_xkb_listing_t;
-
-/**
- * @brief xcb_xkb_listing_iterator_t
- **/
-typedef struct xcb_xkb_listing_iterator_t {
- xcb_xkb_listing_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_listing_iterator_t;
-
-/**
- * @brief xcb_xkb_device_led_info_t
- **/
-typedef struct xcb_xkb_device_led_info_t {
- xcb_xkb_led_class_spec_t ledClass; /**< */
- xcb_xkb_id_spec_t ledID; /**< */
- uint32_t namesPresent; /**< */
- uint32_t mapsPresent; /**< */
- uint32_t physIndicators; /**< */
- uint32_t state; /**< */
-} xcb_xkb_device_led_info_t;
-
-/**
- * @brief xcb_xkb_device_led_info_iterator_t
- **/
-typedef struct xcb_xkb_device_led_info_iterator_t {
- xcb_xkb_device_led_info_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_device_led_info_iterator_t;
-
-typedef enum xcb_xkb_error_t {
- XCB_XKB_ERROR_BAD_DEVICE = 255,
- XCB_XKB_ERROR_BAD_CLASS = 254,
- XCB_XKB_ERROR_BAD_ID = 253
-} xcb_xkb_error_t;
-
-/** Opcode for xcb_xkb_keyboard. */
-#define XCB_XKB_KEYBOARD 0
-
-/**
- * @brief xcb_xkb_keyboard_error_t
- **/
-typedef struct xcb_xkb_keyboard_error_t {
- uint8_t response_type; /**< */
- uint8_t error_code; /**< */
- uint16_t sequence; /**< */
- uint32_t value; /**< */
- uint16_t minorOpcode; /**< */
- uint8_t majorOpcode; /**< */
- uint8_t pad0[21]; /**< */
-} xcb_xkb_keyboard_error_t;
-
-typedef enum xcb_xkb_sa_t {
- XCB_XKB_SA_CLEAR_LOCKS = 1,
- XCB_XKB_SA_LATCH_TO_LOCK = 2,
- XCB_XKB_SA_USE_MOD_MAP_MODS = 4,
- XCB_XKB_SA_GROUP_ABSOLUTE = 4
-} xcb_xkb_sa_t;
-
-typedef enum xcb_xkb_sa_type_t {
- XCB_XKB_SA_TYPE_NO_ACTION = 0,
- XCB_XKB_SA_TYPE_SET_MODS = 1,
- XCB_XKB_SA_TYPE_LATCH_MODS = 2,
- XCB_XKB_SA_TYPE_LOCK_MODS = 3,
- XCB_XKB_SA_TYPE_SET_GROUP = 4,
- XCB_XKB_SA_TYPE_LATCH_GROUP = 5,
- XCB_XKB_SA_TYPE_LOCK_GROUP = 6,
- XCB_XKB_SA_TYPE_MOVE_PTR = 7,
- XCB_XKB_SA_TYPE_PTR_BTN = 8,
- XCB_XKB_SA_TYPE_LOCK_PTR_BTN = 9,
- XCB_XKB_SA_TYPE_SET_PTR_DFLT = 10,
- XCB_XKB_SA_TYPE_ISO_LOCK = 11,
- XCB_XKB_SA_TYPE_TERMINATE = 12,
- XCB_XKB_SA_TYPE_SWITCH_SCREEN = 13,
- XCB_XKB_SA_TYPE_SET_CONTROLS = 14,
- XCB_XKB_SA_TYPE_LOCK_CONTROLS = 15,
- XCB_XKB_SA_TYPE_ACTION_MESSAGE = 16,
- XCB_XKB_SA_TYPE_REDIRECT_KEY = 17,
- XCB_XKB_SA_TYPE_DEVICE_BTN = 18,
- XCB_XKB_SA_TYPE_LOCK_DEVICE_BTN = 19,
- XCB_XKB_SA_TYPE_DEVICE_VALUATOR = 20
-} xcb_xkb_sa_type_t;
-
-/**
- * @brief xcb_xkb_sa_no_action_t
- **/
-typedef struct xcb_xkb_sa_no_action_t {
- uint8_t type; /**< */
- uint8_t pad0[7]; /**< */
-} xcb_xkb_sa_no_action_t;
-
-/**
- * @brief xcb_xkb_sa_no_action_iterator_t
- **/
-typedef struct xcb_xkb_sa_no_action_iterator_t {
- xcb_xkb_sa_no_action_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_no_action_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_set_mods_t
- **/
-typedef struct xcb_xkb_sa_set_mods_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t mask; /**< */
- uint8_t realMods; /**< */
- uint8_t vmodsHigh; /**< */
- uint8_t vmodsLow; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_sa_set_mods_t;
-
-/**
- * @brief xcb_xkb_sa_set_mods_iterator_t
- **/
-typedef struct xcb_xkb_sa_set_mods_iterator_t {
- xcb_xkb_sa_set_mods_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_set_mods_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_latch_mods_t
- **/
-typedef struct xcb_xkb_sa_latch_mods_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t mask; /**< */
- uint8_t realMods; /**< */
- uint8_t vmodsHigh; /**< */
- uint8_t vmodsLow; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_sa_latch_mods_t;
-
-/**
- * @brief xcb_xkb_sa_latch_mods_iterator_t
- **/
-typedef struct xcb_xkb_sa_latch_mods_iterator_t {
- xcb_xkb_sa_latch_mods_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_latch_mods_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_lock_mods_t
- **/
-typedef struct xcb_xkb_sa_lock_mods_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t mask; /**< */
- uint8_t realMods; /**< */
- uint8_t vmodsHigh; /**< */
- uint8_t vmodsLow; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_sa_lock_mods_t;
-
-/**
- * @brief xcb_xkb_sa_lock_mods_iterator_t
- **/
-typedef struct xcb_xkb_sa_lock_mods_iterator_t {
- xcb_xkb_sa_lock_mods_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_lock_mods_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_set_group_t
- **/
-typedef struct xcb_xkb_sa_set_group_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- int8_t group; /**< */
- uint8_t pad0[5]; /**< */
-} xcb_xkb_sa_set_group_t;
-
-/**
- * @brief xcb_xkb_sa_set_group_iterator_t
- **/
-typedef struct xcb_xkb_sa_set_group_iterator_t {
- xcb_xkb_sa_set_group_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_set_group_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_latch_group_t
- **/
-typedef struct xcb_xkb_sa_latch_group_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- int8_t group; /**< */
- uint8_t pad0[5]; /**< */
-} xcb_xkb_sa_latch_group_t;
-
-/**
- * @brief xcb_xkb_sa_latch_group_iterator_t
- **/
-typedef struct xcb_xkb_sa_latch_group_iterator_t {
- xcb_xkb_sa_latch_group_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_latch_group_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_lock_group_t
- **/
-typedef struct xcb_xkb_sa_lock_group_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- int8_t group; /**< */
- uint8_t pad0[5]; /**< */
-} xcb_xkb_sa_lock_group_t;
-
-/**
- * @brief xcb_xkb_sa_lock_group_iterator_t
- **/
-typedef struct xcb_xkb_sa_lock_group_iterator_t {
- xcb_xkb_sa_lock_group_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_lock_group_iterator_t;
-
-typedef enum xcb_xkb_sa_move_ptr_flag_t {
- XCB_XKB_SA_MOVE_PTR_FLAG_NO_ACCELERATION = 1,
- XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_X = 2,
- XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_Y = 4
-} xcb_xkb_sa_move_ptr_flag_t;
-
-/**
- * @brief xcb_xkb_sa_move_ptr_t
- **/
-typedef struct xcb_xkb_sa_move_ptr_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- int8_t xHigh; /**< */
- uint8_t xLow; /**< */
- int8_t yHigh; /**< */
- uint8_t yLow; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_sa_move_ptr_t;
-
-/**
- * @brief xcb_xkb_sa_move_ptr_iterator_t
- **/
-typedef struct xcb_xkb_sa_move_ptr_iterator_t {
- xcb_xkb_sa_move_ptr_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_move_ptr_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_ptr_btn_t
- **/
-typedef struct xcb_xkb_sa_ptr_btn_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t count; /**< */
- uint8_t button; /**< */
- uint8_t pad0[4]; /**< */
-} xcb_xkb_sa_ptr_btn_t;
-
-/**
- * @brief xcb_xkb_sa_ptr_btn_iterator_t
- **/
-typedef struct xcb_xkb_sa_ptr_btn_iterator_t {
- xcb_xkb_sa_ptr_btn_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_ptr_btn_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_lock_ptr_btn_t
- **/
-typedef struct xcb_xkb_sa_lock_ptr_btn_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t pad0; /**< */
- uint8_t button; /**< */
- uint8_t pad1[4]; /**< */
-} xcb_xkb_sa_lock_ptr_btn_t;
-
-/**
- * @brief xcb_xkb_sa_lock_ptr_btn_iterator_t
- **/
-typedef struct xcb_xkb_sa_lock_ptr_btn_iterator_t {
- xcb_xkb_sa_lock_ptr_btn_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_lock_ptr_btn_iterator_t;
-
-typedef enum xcb_xkb_sa_set_ptr_dflt_flag_t {
- XCB_XKB_SA_SET_PTR_DFLT_FLAG_DFLT_BTN_ABSOLUTE = 4,
- XCB_XKB_SA_SET_PTR_DFLT_FLAG_AFFECT_DFLT_BUTTON = 1
-} xcb_xkb_sa_set_ptr_dflt_flag_t;
-
-/**
- * @brief xcb_xkb_sa_set_ptr_dflt_t
- **/
-typedef struct xcb_xkb_sa_set_ptr_dflt_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t affect; /**< */
- int8_t value; /**< */
- uint8_t pad0[4]; /**< */
-} xcb_xkb_sa_set_ptr_dflt_t;
-
-/**
- * @brief xcb_xkb_sa_set_ptr_dflt_iterator_t
- **/
-typedef struct xcb_xkb_sa_set_ptr_dflt_iterator_t {
- xcb_xkb_sa_set_ptr_dflt_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_set_ptr_dflt_iterator_t;
-
-typedef enum xcb_xkb_sa_iso_lock_flag_t {
- XCB_XKB_SA_ISO_LOCK_FLAG_NO_LOCK = 1,
- XCB_XKB_SA_ISO_LOCK_FLAG_NO_UNLOCK = 2,
- XCB_XKB_SA_ISO_LOCK_FLAG_USE_MOD_MAP_MODS = 4,
- XCB_XKB_SA_ISO_LOCK_FLAG_GROUP_ABSOLUTE = 4,
- XCB_XKB_SA_ISO_LOCK_FLAG_ISO_DFLT_IS_GROUP = 8
-} xcb_xkb_sa_iso_lock_flag_t;
-
-typedef enum xcb_xkb_sa_iso_lock_no_affect_t {
- XCB_XKB_SA_ISO_LOCK_NO_AFFECT_CTRLS = 8,
- XCB_XKB_SA_ISO_LOCK_NO_AFFECT_PTR = 16,
- XCB_XKB_SA_ISO_LOCK_NO_AFFECT_GROUP = 32,
- XCB_XKB_SA_ISO_LOCK_NO_AFFECT_MODS = 64
-} xcb_xkb_sa_iso_lock_no_affect_t;
-
-/**
- * @brief xcb_xkb_sa_iso_lock_t
- **/
-typedef struct xcb_xkb_sa_iso_lock_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t mask; /**< */
- uint8_t realMods; /**< */
- int8_t group; /**< */
- uint8_t affect; /**< */
- uint8_t vmodsHigh; /**< */
- uint8_t vmodsLow; /**< */
-} xcb_xkb_sa_iso_lock_t;
-
-/**
- * @brief xcb_xkb_sa_iso_lock_iterator_t
- **/
-typedef struct xcb_xkb_sa_iso_lock_iterator_t {
- xcb_xkb_sa_iso_lock_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_iso_lock_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_terminate_t
- **/
-typedef struct xcb_xkb_sa_terminate_t {
- uint8_t type; /**< */
- uint8_t pad0[7]; /**< */
-} xcb_xkb_sa_terminate_t;
-
-/**
- * @brief xcb_xkb_sa_terminate_iterator_t
- **/
-typedef struct xcb_xkb_sa_terminate_iterator_t {
- xcb_xkb_sa_terminate_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_terminate_iterator_t;
-
-typedef enum xcb_xkb_switch_screen_flag_t {
- XCB_XKB_SWITCH_SCREEN_FLAG_APPLICATION = 1,
- XCB_XKB_SWITCH_SCREEN_FLAG_ABSOLUTE = 4
-} xcb_xkb_switch_screen_flag_t;
-
-/**
- * @brief xcb_xkb_sa_switch_screen_t
- **/
-typedef struct xcb_xkb_sa_switch_screen_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- int8_t newScreen; /**< */
- uint8_t pad0[5]; /**< */
-} xcb_xkb_sa_switch_screen_t;
-
-/**
- * @brief xcb_xkb_sa_switch_screen_iterator_t
- **/
-typedef struct xcb_xkb_sa_switch_screen_iterator_t {
- xcb_xkb_sa_switch_screen_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_switch_screen_iterator_t;
-
-typedef enum xcb_xkb_bool_ctrls_high_t {
- XCB_XKB_BOOL_CTRLS_HIGH_ACCESS_X_FEEDBACK = 1,
- XCB_XKB_BOOL_CTRLS_HIGH_AUDIBLE_BELL = 2,
- XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_1 = 4,
- XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_2 = 8,
- XCB_XKB_BOOL_CTRLS_HIGH_IGNORE_GROUP_LOCK = 16
-} xcb_xkb_bool_ctrls_high_t;
-
-typedef enum xcb_xkb_bool_ctrls_low_t {
- XCB_XKB_BOOL_CTRLS_LOW_REPEAT_KEYS = 1,
- XCB_XKB_BOOL_CTRLS_LOW_SLOW_KEYS = 2,
- XCB_XKB_BOOL_CTRLS_LOW_BOUNCE_KEYS = 4,
- XCB_XKB_BOOL_CTRLS_LOW_STICKY_KEYS = 8,
- XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS = 16,
- XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS_ACCEL = 32,
- XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_KEYS = 64,
- XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_TIMEOUT = 128
-} xcb_xkb_bool_ctrls_low_t;
-
-/**
- * @brief xcb_xkb_sa_set_controls_t
- **/
-typedef struct xcb_xkb_sa_set_controls_t {
- uint8_t type; /**< */
- uint8_t pad0[3]; /**< */
- uint8_t boolCtrlsHigh; /**< */
- uint8_t boolCtrlsLow; /**< */
- uint8_t pad1[2]; /**< */
-} xcb_xkb_sa_set_controls_t;
-
-/**
- * @brief xcb_xkb_sa_set_controls_iterator_t
- **/
-typedef struct xcb_xkb_sa_set_controls_iterator_t {
- xcb_xkb_sa_set_controls_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_set_controls_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_lock_controls_t
- **/
-typedef struct xcb_xkb_sa_lock_controls_t {
- uint8_t type; /**< */
- uint8_t pad0[3]; /**< */
- uint8_t boolCtrlsHigh; /**< */
- uint8_t boolCtrlsLow; /**< */
- uint8_t pad1[2]; /**< */
-} xcb_xkb_sa_lock_controls_t;
-
-/**
- * @brief xcb_xkb_sa_lock_controls_iterator_t
- **/
-typedef struct xcb_xkb_sa_lock_controls_iterator_t {
- xcb_xkb_sa_lock_controls_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_lock_controls_iterator_t;
-
-typedef enum xcb_xkb_action_message_flag_t {
- XCB_XKB_ACTION_MESSAGE_FLAG_ON_PRESS = 1,
- XCB_XKB_ACTION_MESSAGE_FLAG_ON_RELEASE = 2,
- XCB_XKB_ACTION_MESSAGE_FLAG_GEN_KEY_EVENT = 4
-} xcb_xkb_action_message_flag_t;
-
-/**
- * @brief xcb_xkb_sa_action_message_t
- **/
-typedef struct xcb_xkb_sa_action_message_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t message[6]; /**< */
-} xcb_xkb_sa_action_message_t;
-
-/**
- * @brief xcb_xkb_sa_action_message_iterator_t
- **/
-typedef struct xcb_xkb_sa_action_message_iterator_t {
- xcb_xkb_sa_action_message_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_action_message_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_redirect_key_t
- **/
-typedef struct xcb_xkb_sa_redirect_key_t {
- uint8_t type; /**< */
- xcb_keycode_t newkey; /**< */
- uint8_t mask; /**< */
- uint8_t realModifiers; /**< */
- uint8_t vmodsMaskHigh; /**< */
- uint8_t vmodsMaskLow; /**< */
- uint8_t vmodsHigh; /**< */
- uint8_t vmodsLow; /**< */
-} xcb_xkb_sa_redirect_key_t;
-
-/**
- * @brief xcb_xkb_sa_redirect_key_iterator_t
- **/
-typedef struct xcb_xkb_sa_redirect_key_iterator_t {
- xcb_xkb_sa_redirect_key_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_redirect_key_iterator_t;
-
-/**
- * @brief xcb_xkb_sa_device_btn_t
- **/
-typedef struct xcb_xkb_sa_device_btn_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t count; /**< */
- uint8_t button; /**< */
- uint8_t device; /**< */
- uint8_t pad0[3]; /**< */
-} xcb_xkb_sa_device_btn_t;
-
-/**
- * @brief xcb_xkb_sa_device_btn_iterator_t
- **/
-typedef struct xcb_xkb_sa_device_btn_iterator_t {
- xcb_xkb_sa_device_btn_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_device_btn_iterator_t;
-
-typedef enum xcb_xkb_lock_device_flags_t {
- XCB_XKB_LOCK_DEVICE_FLAGS_NO_LOCK = 1,
- XCB_XKB_LOCK_DEVICE_FLAGS_NO_UNLOCK = 2
-} xcb_xkb_lock_device_flags_t;
-
-/**
- * @brief xcb_xkb_sa_lock_device_btn_t
- **/
-typedef struct xcb_xkb_sa_lock_device_btn_t {
- uint8_t type; /**< */
- uint8_t flags; /**< */
- uint8_t pad0; /**< */
- uint8_t button; /**< */
- uint8_t device; /**< */
- uint8_t pad1[3]; /**< */
-} xcb_xkb_sa_lock_device_btn_t;
-
-/**
- * @brief xcb_xkb_sa_lock_device_btn_iterator_t
- **/
-typedef struct xcb_xkb_sa_lock_device_btn_iterator_t {
- xcb_xkb_sa_lock_device_btn_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_lock_device_btn_iterator_t;
-
-typedef enum xcb_xkb_sa_val_what_t {
- XCB_XKB_SA_VAL_WHAT_IGNORE_VAL = 0,
- XCB_XKB_SA_VAL_WHAT_SET_VAL_MIN = 1,
- XCB_XKB_SA_VAL_WHAT_SET_VAL_CENTER = 2,
- XCB_XKB_SA_VAL_WHAT_SET_VAL_MAX = 3,
- XCB_XKB_SA_VAL_WHAT_SET_VAL_RELATIVE = 4,
- XCB_XKB_SA_VAL_WHAT_SET_VAL_ABSOLUTE = 5
-} xcb_xkb_sa_val_what_t;
-
-/**
- * @brief xcb_xkb_sa_device_valuator_t
- **/
-typedef struct xcb_xkb_sa_device_valuator_t {
- uint8_t type; /**< */
- uint8_t device; /**< */
- uint8_t val1what; /**< */
- uint8_t val1index; /**< */
- uint8_t val1value; /**< */
- uint8_t val2what; /**< */
- uint8_t val2index; /**< */
- uint8_t val2value; /**< */
-} xcb_xkb_sa_device_valuator_t;
-
-/**
- * @brief xcb_xkb_sa_device_valuator_iterator_t
- **/
-typedef struct xcb_xkb_sa_device_valuator_iterator_t {
- xcb_xkb_sa_device_valuator_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sa_device_valuator_iterator_t;
-
-/**
- * @brief xcb_xkb_si_action_t
- **/
-typedef struct xcb_xkb_si_action_t {
- uint8_t type; /**< */
- uint8_t data[7]; /**< */
-} xcb_xkb_si_action_t;
-
-/**
- * @brief xcb_xkb_si_action_iterator_t
- **/
-typedef struct xcb_xkb_si_action_iterator_t {
- xcb_xkb_si_action_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_si_action_iterator_t;
-
-/**
- * @brief xcb_xkb_sym_interpret_t
- **/
-typedef struct xcb_xkb_sym_interpret_t {
- xcb_keysym_t sym; /**< */
- uint8_t mods; /**< */
- uint8_t match; /**< */
- uint8_t virtualMod; /**< */
- uint8_t flags; /**< */
- xcb_xkb_si_action_t action; /**< */
-} xcb_xkb_sym_interpret_t;
-
-/**
- * @brief xcb_xkb_sym_interpret_iterator_t
- **/
-typedef struct xcb_xkb_sym_interpret_iterator_t {
- xcb_xkb_sym_interpret_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_sym_interpret_iterator_t;
-
-/**
- * @brief xcb_xkb_action_t
- **/
-typedef union xcb_xkb_action_t {
- xcb_xkb_sa_no_action_t noaction; /**< */
- xcb_xkb_sa_set_mods_t setmods; /**< */
- xcb_xkb_sa_latch_mods_t latchmods; /**< */
- xcb_xkb_sa_lock_mods_t lockmods; /**< */
- xcb_xkb_sa_set_group_t setgroup; /**< */
- xcb_xkb_sa_latch_group_t latchgroup; /**< */
- xcb_xkb_sa_lock_group_t lockgroup; /**< */
- xcb_xkb_sa_move_ptr_t moveptr; /**< */
- xcb_xkb_sa_ptr_btn_t ptrbtn; /**< */
- xcb_xkb_sa_lock_ptr_btn_t lockptrbtn; /**< */
- xcb_xkb_sa_set_ptr_dflt_t setptrdflt; /**< */
- xcb_xkb_sa_iso_lock_t isolock; /**< */
- xcb_xkb_sa_terminate_t terminate; /**< */
- xcb_xkb_sa_switch_screen_t switchscreen; /**< */
- xcb_xkb_sa_set_controls_t setcontrols; /**< */
- xcb_xkb_sa_lock_controls_t lockcontrols; /**< */
- xcb_xkb_sa_action_message_t message; /**< */
- xcb_xkb_sa_redirect_key_t redirect; /**< */
- xcb_xkb_sa_device_btn_t devbtn; /**< */
- xcb_xkb_sa_lock_device_btn_t lockdevbtn; /**< */
- xcb_xkb_sa_device_valuator_t devval; /**< */
- uint8_t type; /**< */
-} xcb_xkb_action_t;
-
-/**
- * @brief xcb_xkb_action_iterator_t
- **/
-typedef struct xcb_xkb_action_iterator_t {
- xcb_xkb_action_t *data; /**< */
- int rem; /**< */
- int index; /**< */
-} xcb_xkb_action_iterator_t;
-
-/**
- * @brief xcb_xkb_use_extension_cookie_t
- **/
-typedef struct xcb_xkb_use_extension_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_use_extension_cookie_t;
-
-/** Opcode for xcb_xkb_use_extension. */
-#define XCB_XKB_USE_EXTENSION 0
-
-/**
- * @brief xcb_xkb_use_extension_request_t
- **/
-typedef struct xcb_xkb_use_extension_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint16_t wantedMajor; /**< */
- uint16_t wantedMinor; /**< */
-} xcb_xkb_use_extension_request_t;
-
-/**
- * @brief xcb_xkb_use_extension_reply_t
- **/
-typedef struct xcb_xkb_use_extension_reply_t {
- uint8_t response_type; /**< */
- uint8_t supported; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t serverMajor; /**< */
- uint16_t serverMinor; /**< */
- uint8_t pad0[20]; /**< */
-} xcb_xkb_use_extension_reply_t;
-
-/**
- * @brief xcb_xkb_select_events_details_t
- **/
-typedef struct xcb_xkb_select_events_details_t {
- uint16_t affectNewKeyboard; /**< */
- uint16_t newKeyboardDetails; /**< */
- uint16_t affectState; /**< */
- uint16_t stateDetails; /**< */
- uint32_t affectCtrls; /**< */
- uint32_t ctrlDetails; /**< */
- uint32_t affectIndicatorState; /**< */
- uint32_t indicatorStateDetails; /**< */
- uint32_t affectIndicatorMap; /**< */
- uint32_t indicatorMapDetails; /**< */
- uint16_t affectNames; /**< */
- uint16_t namesDetails; /**< */
- uint8_t affectCompat; /**< */
- uint8_t compatDetails; /**< */
- uint8_t affectBell; /**< */
- uint8_t bellDetails; /**< */
- uint8_t affectMsgDetails; /**< */
- uint8_t msgDetails; /**< */
- uint16_t affectAccessX; /**< */
- uint16_t accessXDetails; /**< */
- uint16_t affectExtDev; /**< */
- uint16_t extdevDetails; /**< */
-} xcb_xkb_select_events_details_t;
-
-/** Opcode for xcb_xkb_select_events. */
-#define XCB_XKB_SELECT_EVENTS 1
-
-/**
- * @brief xcb_xkb_select_events_request_t
- **/
-typedef struct xcb_xkb_select_events_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint16_t affectWhich; /**< */
- uint16_t clear; /**< */
- uint16_t selectAll; /**< */
- uint16_t affectMap; /**< */
- uint16_t map; /**< */
-} xcb_xkb_select_events_request_t;
-
-/** Opcode for xcb_xkb_bell. */
-#define XCB_XKB_BELL 3
-
-/**
- * @brief xcb_xkb_bell_request_t
- **/
-typedef struct xcb_xkb_bell_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- xcb_xkb_bell_class_spec_t bellClass; /**< */
- xcb_xkb_id_spec_t bellID; /**< */
- int8_t percent; /**< */
- uint8_t forceSound; /**< */
- uint8_t eventOnly; /**< */
- uint8_t pad0; /**< */
- int16_t pitch; /**< */
- int16_t duration; /**< */
- uint8_t pad1[2]; /**< */
- xcb_atom_t name; /**< */
- xcb_window_t window; /**< */
-} xcb_xkb_bell_request_t;
-
-/**
- * @brief xcb_xkb_get_state_cookie_t
- **/
-typedef struct xcb_xkb_get_state_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_state_cookie_t;
-
-/** Opcode for xcb_xkb_get_state. */
-#define XCB_XKB_GET_STATE 4
-
-/**
- * @brief xcb_xkb_get_state_request_t
- **/
-typedef struct xcb_xkb_get_state_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_get_state_request_t;
-
-/**
- * @brief xcb_xkb_get_state_reply_t
- **/
-typedef struct xcb_xkb_get_state_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint8_t mods; /**< */
- uint8_t baseMods; /**< */
- uint8_t latchedMods; /**< */
- uint8_t lockedMods; /**< */
- uint8_t group; /**< */
- uint8_t lockedGroup; /**< */
- int16_t baseGroup; /**< */
- int16_t latchedGroup; /**< */
- uint8_t compatState; /**< */
- uint8_t grabMods; /**< */
- uint8_t compatGrabMods; /**< */
- uint8_t lookupMods; /**< */
- uint8_t compatLookupMods; /**< */
- uint8_t pad0; /**< */
- uint16_t ptrBtnState; /**< */
- uint8_t pad1[6]; /**< */
-} xcb_xkb_get_state_reply_t;
-
-/** Opcode for xcb_xkb_latch_lock_state. */
-#define XCB_XKB_LATCH_LOCK_STATE 5
-
-/**
- * @brief xcb_xkb_latch_lock_state_request_t
- **/
-typedef struct xcb_xkb_latch_lock_state_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t affectModLocks; /**< */
- uint8_t modLocks; /**< */
- uint8_t lockGroup; /**< */
- uint8_t groupLock; /**< */
- uint8_t affectModLatches; /**< */
- uint8_t pad0; /**< */
- uint8_t latchGroup; /**< */
- uint16_t groupLatch; /**< */
-} xcb_xkb_latch_lock_state_request_t;
-
-/**
- * @brief xcb_xkb_get_controls_cookie_t
- **/
-typedef struct xcb_xkb_get_controls_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_controls_cookie_t;
-
-/** Opcode for xcb_xkb_get_controls. */
-#define XCB_XKB_GET_CONTROLS 6
-
-/**
- * @brief xcb_xkb_get_controls_request_t
- **/
-typedef struct xcb_xkb_get_controls_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_get_controls_request_t;
-
-/**
- * @brief xcb_xkb_get_controls_reply_t
- **/
-typedef struct xcb_xkb_get_controls_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint8_t mouseKeysDfltBtn; /**< */
- uint8_t numGroups; /**< */
- uint8_t groupsWrap; /**< */
- uint8_t internalModsMask; /**< */
- uint8_t ignoreLockModsMask; /**< */
- uint8_t internalModsRealMods; /**< */
- uint8_t ignoreLockModsRealMods; /**< */
- uint8_t pad0; /**< */
- uint16_t internalModsVmods; /**< */
- uint16_t ignoreLockModsVmods; /**< */
- uint16_t repeatDelay; /**< */
- uint16_t repeatInterval; /**< */
- uint16_t slowKeysDelay; /**< */
- uint16_t debounceDelay; /**< */
- uint16_t mouseKeysDelay; /**< */
- uint16_t mouseKeysInterval; /**< */
- uint16_t mouseKeysTimeToMax; /**< */
- uint16_t mouseKeysMaxSpeed; /**< */
- int16_t mouseKeysCurve; /**< */
- uint16_t accessXOption; /**< */
- uint16_t accessXTimeout; /**< */
- uint16_t accessXTimeoutOptionsMask; /**< */
- uint16_t accessXTimeoutOptionsValues; /**< */
- uint8_t pad1[2]; /**< */
- uint32_t accessXTimeoutMask; /**< */
- uint32_t accessXTimeoutValues; /**< */
- uint32_t enabledControls; /**< */
- uint8_t perKeyRepeat[32]; /**< */
-} xcb_xkb_get_controls_reply_t;
-
-/** Opcode for xcb_xkb_set_controls. */
-#define XCB_XKB_SET_CONTROLS 7
-
-/**
- * @brief xcb_xkb_set_controls_request_t
- **/
-typedef struct xcb_xkb_set_controls_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t affectInternalRealMods; /**< */
- uint8_t internalRealMods; /**< */
- uint8_t affectIgnoreLockRealMods; /**< */
- uint8_t ignoreLockRealMods; /**< */
- uint16_t affectInternalVirtualMods; /**< */
- uint16_t internalVirtualMods; /**< */
- uint16_t affectIgnoreLockVirtualMods; /**< */
- uint16_t ignoreLockVirtualMods; /**< */
- uint8_t mouseKeysDfltBtn; /**< */
- uint8_t groupsWrap; /**< */
- uint16_t accessXOptions; /**< */
- uint8_t pad0[2]; /**< */
- uint32_t affectEnabledControls; /**< */
- uint32_t enabledControls; /**< */
- uint32_t changeControls; /**< */
- uint16_t repeatDelay; /**< */
- uint16_t repeatInterval; /**< */
- uint16_t slowKeysDelay; /**< */
- uint16_t debounceDelay; /**< */
- uint16_t mouseKeysDelay; /**< */
- uint16_t mouseKeysInterval; /**< */
- uint16_t mouseKeysTimeToMax; /**< */
- uint16_t mouseKeysMaxSpeed; /**< */
- int16_t mouseKeysCurve; /**< */
- uint16_t accessXTimeout; /**< */
- uint32_t accessXTimeoutMask; /**< */
- uint32_t accessXTimeoutValues; /**< */
- uint16_t accessXTimeoutOptionsMask; /**< */
- uint16_t accessXTimeoutOptionsValues; /**< */
- uint8_t perKeyRepeat[32]; /**< */
-} xcb_xkb_set_controls_request_t;
-
-/**
- * @brief xcb_xkb_get_map_cookie_t
- **/
-typedef struct xcb_xkb_get_map_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_map_cookie_t;
-
-/** Opcode for xcb_xkb_get_map. */
-#define XCB_XKB_GET_MAP 8
-
-/**
- * @brief xcb_xkb_get_map_request_t
- **/
-typedef struct xcb_xkb_get_map_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint16_t full; /**< */
- uint16_t partial; /**< */
- uint8_t firstType; /**< */
- uint8_t nTypes; /**< */
- xcb_keycode_t firstKeySym; /**< */
- uint8_t nKeySyms; /**< */
- xcb_keycode_t firstKeyAction; /**< */
- uint8_t nKeyActions; /**< */
- xcb_keycode_t firstKeyBehavior; /**< */
- uint8_t nKeyBehaviors; /**< */
- uint16_t virtualMods; /**< */
- xcb_keycode_t firstKeyExplicit; /**< */
- uint8_t nKeyExplicit; /**< */
- xcb_keycode_t firstModMapKey; /**< */
- uint8_t nModMapKeys; /**< */
- xcb_keycode_t firstVModMapKey; /**< */
- uint8_t nVModMapKeys; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_get_map_request_t;
-
-/**
- * @brief xcb_xkb_get_map_map_t
- **/
-typedef struct xcb_xkb_get_map_map_t {
- xcb_xkb_key_type_t *types_rtrn; /**< */
- xcb_xkb_key_sym_map_t *syms_rtrn; /**< */
- uint8_t *acts_rtrn_count; /**< */
- uint8_t *alignment_pad; /**< */
- xcb_xkb_action_t *acts_rtrn_acts; /**< */
- xcb_xkb_set_behavior_t *behaviors_rtrn; /**< */
- uint8_t *vmods_rtrn; /**< */
- uint8_t *alignment_pad2; /**< */
- xcb_xkb_set_explicit_t *explicit_rtrn; /**< */
- uint16_t *alignment_pad3; /**< */
- xcb_xkb_key_mod_map_t *modmap_rtrn; /**< */
- uint16_t *alignment_pad4; /**< */
- xcb_xkb_key_v_mod_map_t *vmodmap_rtrn; /**< */
-} xcb_xkb_get_map_map_t;
-
-/**
- * @brief xcb_xkb_get_map_reply_t
- **/
-typedef struct xcb_xkb_get_map_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint8_t pad0[2]; /**< */
- xcb_keycode_t minKeyCode; /**< */
- xcb_keycode_t maxKeyCode; /**< */
- uint16_t present; /**< */
- uint8_t firstType; /**< */
- uint8_t nTypes; /**< */
- uint8_t totalTypes; /**< */
- xcb_keycode_t firstKeySym; /**< */
- uint16_t totalSyms; /**< */
- uint8_t nKeySyms; /**< */
- xcb_keycode_t firstKeyAction; /**< */
- uint16_t totalActions; /**< */
- uint8_t nKeyActions; /**< */
- xcb_keycode_t firstKeyBehavior; /**< */
- uint8_t nKeyBehaviors; /**< */
- uint8_t totalKeyBehaviors; /**< */
- xcb_keycode_t firstKeyExplicit; /**< */
- uint8_t nKeyExplicit; /**< */
- uint8_t totalKeyExplicit; /**< */
- xcb_keycode_t firstModMapKey; /**< */
- uint8_t nModMapKeys; /**< */
- uint8_t totalModMapKeys; /**< */
- xcb_keycode_t firstVModMapKey; /**< */
- uint8_t nVModMapKeys; /**< */
- uint8_t totalVModMapKeys; /**< */
- uint8_t pad1; /**< */
- uint16_t virtualMods; /**< */
-} xcb_xkb_get_map_reply_t;
-
-/**
- * @brief xcb_xkb_set_map_values_t
- **/
-typedef struct xcb_xkb_set_map_values_t {
- xcb_xkb_set_key_type_t *types; /**< */
- xcb_xkb_key_sym_map_t *syms; /**< */
- uint8_t *actionsCount; /**< */
- xcb_xkb_action_t *actions; /**< */
- xcb_xkb_set_behavior_t *behaviors; /**< */
- uint8_t *vmods; /**< */
- xcb_xkb_set_explicit_t *explicit; /**< */
- xcb_xkb_key_mod_map_t *modmap; /**< */
- xcb_xkb_key_v_mod_map_t *vmodmap; /**< */
-} xcb_xkb_set_map_values_t;
-
-/** Opcode for xcb_xkb_set_map. */
-#define XCB_XKB_SET_MAP 9
-
-/**
- * @brief xcb_xkb_set_map_request_t
- **/
-typedef struct xcb_xkb_set_map_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint16_t present; /**< */
- uint16_t flags; /**< */
- xcb_keycode_t minKeyCode; /**< */
- xcb_keycode_t maxKeyCode; /**< */
- uint8_t firstType; /**< */
- uint8_t nTypes; /**< */
- xcb_keycode_t firstKeySym; /**< */
- uint8_t nKeySyms; /**< */
- uint16_t totalSyms; /**< */
- xcb_keycode_t firstKeyAction; /**< */
- uint8_t nKeyActions; /**< */
- uint16_t totalActions; /**< */
- xcb_keycode_t firstKeyBehavior; /**< */
- uint8_t nKeyBehaviors; /**< */
- uint8_t totalKeyBehaviors; /**< */
- xcb_keycode_t firstKeyExplicit; /**< */
- uint8_t nKeyExplicit; /**< */
- uint8_t totalKeyExplicit; /**< */
- xcb_keycode_t firstModMapKey; /**< */
- uint8_t nModMapKeys; /**< */
- uint8_t totalModMapKeys; /**< */
- xcb_keycode_t firstVModMapKey; /**< */
- uint8_t nVModMapKeys; /**< */
- uint8_t totalVModMapKeys; /**< */
- uint16_t virtualMods; /**< */
-} xcb_xkb_set_map_request_t;
-
-/**
- * @brief xcb_xkb_get_compat_map_cookie_t
- **/
-typedef struct xcb_xkb_get_compat_map_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_compat_map_cookie_t;
-
-/** Opcode for xcb_xkb_get_compat_map. */
-#define XCB_XKB_GET_COMPAT_MAP 10
-
-/**
- * @brief xcb_xkb_get_compat_map_request_t
- **/
-typedef struct xcb_xkb_get_compat_map_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t groups; /**< */
- uint8_t getAllSI; /**< */
- uint16_t firstSI; /**< */
- uint16_t nSI; /**< */
-} xcb_xkb_get_compat_map_request_t;
-
-/**
- * @brief xcb_xkb_get_compat_map_reply_t
- **/
-typedef struct xcb_xkb_get_compat_map_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint8_t groupsRtrn; /**< */
- uint8_t pad0; /**< */
- uint16_t firstSIRtrn; /**< */
- uint16_t nSIRtrn; /**< */
- uint16_t nTotalSI; /**< */
- uint8_t pad1[16]; /**< */
-} xcb_xkb_get_compat_map_reply_t;
-
-/** Opcode for xcb_xkb_set_compat_map. */
-#define XCB_XKB_SET_COMPAT_MAP 11
-
-/**
- * @brief xcb_xkb_set_compat_map_request_t
- **/
-typedef struct xcb_xkb_set_compat_map_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t pad0; /**< */
- uint8_t recomputeActions; /**< */
- uint8_t truncateSI; /**< */
- uint8_t groups; /**< */
- uint16_t firstSI; /**< */
- uint16_t nSI; /**< */
- uint8_t pad1[2]; /**< */
-} xcb_xkb_set_compat_map_request_t;
-
-/**
- * @brief xcb_xkb_get_indicator_state_cookie_t
- **/
-typedef struct xcb_xkb_get_indicator_state_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_indicator_state_cookie_t;
-
-/** Opcode for xcb_xkb_get_indicator_state. */
-#define XCB_XKB_GET_INDICATOR_STATE 12
-
-/**
- * @brief xcb_xkb_get_indicator_state_request_t
- **/
-typedef struct xcb_xkb_get_indicator_state_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_get_indicator_state_request_t;
-
-/**
- * @brief xcb_xkb_get_indicator_state_reply_t
- **/
-typedef struct xcb_xkb_get_indicator_state_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t state; /**< */
- uint8_t pad0[20]; /**< */
-} xcb_xkb_get_indicator_state_reply_t;
-
-/**
- * @brief xcb_xkb_get_indicator_map_cookie_t
- **/
-typedef struct xcb_xkb_get_indicator_map_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_indicator_map_cookie_t;
-
-/** Opcode for xcb_xkb_get_indicator_map. */
-#define XCB_XKB_GET_INDICATOR_MAP 13
-
-/**
- * @brief xcb_xkb_get_indicator_map_request_t
- **/
-typedef struct xcb_xkb_get_indicator_map_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t pad0[2]; /**< */
- uint32_t which; /**< */
-} xcb_xkb_get_indicator_map_request_t;
-
-/**
- * @brief xcb_xkb_get_indicator_map_reply_t
- **/
-typedef struct xcb_xkb_get_indicator_map_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t which; /**< */
- uint32_t realIndicators; /**< */
- uint8_t nIndicators; /**< */
- uint8_t pad0[15]; /**< */
-} xcb_xkb_get_indicator_map_reply_t;
-
-/** Opcode for xcb_xkb_set_indicator_map. */
-#define XCB_XKB_SET_INDICATOR_MAP 14
-
-/**
- * @brief xcb_xkb_set_indicator_map_request_t
- **/
-typedef struct xcb_xkb_set_indicator_map_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t pad0[2]; /**< */
- uint32_t which; /**< */
-} xcb_xkb_set_indicator_map_request_t;
-
-/**
- * @brief xcb_xkb_get_named_indicator_cookie_t
- **/
-typedef struct xcb_xkb_get_named_indicator_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_named_indicator_cookie_t;
-
-/** Opcode for xcb_xkb_get_named_indicator. */
-#define XCB_XKB_GET_NAMED_INDICATOR 15
-
-/**
- * @brief xcb_xkb_get_named_indicator_request_t
- **/
-typedef struct xcb_xkb_get_named_indicator_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- xcb_xkb_led_class_spec_t ledClass; /**< */
- xcb_xkb_id_spec_t ledID; /**< */
- uint8_t pad0[2]; /**< */
- xcb_atom_t indicator; /**< */
-} xcb_xkb_get_named_indicator_request_t;
-
-/**
- * @brief xcb_xkb_get_named_indicator_reply_t
- **/
-typedef struct xcb_xkb_get_named_indicator_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_atom_t indicator; /**< */
- uint8_t found; /**< */
- uint8_t on; /**< */
- uint8_t realIndicator; /**< */
- uint8_t ndx; /**< */
- uint8_t map_flags; /**< */
- uint8_t map_whichGroups; /**< */
- uint8_t map_groups; /**< */
- uint8_t map_whichMods; /**< */
- uint8_t map_mods; /**< */
- uint8_t map_realMods; /**< */
- uint16_t map_vmod; /**< */
- uint32_t map_ctrls; /**< */
- uint8_t supported; /**< */
- uint8_t pad0[3]; /**< */
-} xcb_xkb_get_named_indicator_reply_t;
-
-/** Opcode for xcb_xkb_set_named_indicator. */
-#define XCB_XKB_SET_NAMED_INDICATOR 16
-
-/**
- * @brief xcb_xkb_set_named_indicator_request_t
- **/
-typedef struct xcb_xkb_set_named_indicator_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- xcb_xkb_led_class_spec_t ledClass; /**< */
- xcb_xkb_id_spec_t ledID; /**< */
- uint8_t pad0[2]; /**< */
- xcb_atom_t indicator; /**< */
- uint8_t setState; /**< */
- uint8_t on; /**< */
- uint8_t setMap; /**< */
- uint8_t createMap; /**< */
- uint8_t pad1; /**< */
- uint8_t map_flags; /**< */
- uint8_t map_whichGroups; /**< */
- uint8_t map_groups; /**< */
- uint8_t map_whichMods; /**< */
- uint8_t map_realMods; /**< */
- uint16_t map_vmods; /**< */
- uint32_t map_ctrls; /**< */
-} xcb_xkb_set_named_indicator_request_t;
-
-/**
- * @brief xcb_xkb_get_names_cookie_t
- **/
-typedef struct xcb_xkb_get_names_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_names_cookie_t;
-
-/** Opcode for xcb_xkb_get_names. */
-#define XCB_XKB_GET_NAMES 17
-
-/**
- * @brief xcb_xkb_get_names_request_t
- **/
-typedef struct xcb_xkb_get_names_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t pad0[2]; /**< */
- uint32_t which; /**< */
-} xcb_xkb_get_names_request_t;
-
-/**
- * @brief xcb_xkb_get_names_value_list_t
- **/
-typedef struct xcb_xkb_get_names_value_list_t {
- xcb_atom_t keycodesName; /**< */
- xcb_atom_t geometryName; /**< */
- xcb_atom_t symbolsName; /**< */
- xcb_atom_t physSymbolsName; /**< */
- xcb_atom_t typesName; /**< */
- xcb_atom_t compatName; /**< */
- xcb_atom_t *typeNames; /**< */
- uint8_t *nLevelsPerType; /**< */
- uint8_t *alignment_pad; /**< */
- xcb_atom_t *ktLevelNames; /**< */
- xcb_atom_t *indicatorNames; /**< */
- xcb_atom_t *virtualModNames; /**< */
- xcb_atom_t *groups; /**< */
- xcb_xkb_key_name_t *keyNames; /**< */
- xcb_xkb_key_alias_t *keyAliases; /**< */
- xcb_atom_t *radioGroupNames; /**< */
-} xcb_xkb_get_names_value_list_t;
-
-/**
- * @brief xcb_xkb_get_names_reply_t
- **/
-typedef struct xcb_xkb_get_names_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t which; /**< */
- xcb_keycode_t minKeyCode; /**< */
- xcb_keycode_t maxKeyCode; /**< */
- uint8_t nTypes; /**< */
- uint8_t groupNames; /**< */
- uint16_t virtualMods; /**< */
- xcb_keycode_t firstKey; /**< */
- uint8_t nKeys; /**< */
- uint32_t indicators; /**< */
- uint8_t nRadioGroups; /**< */
- uint8_t nKeyAliases; /**< */
- uint16_t nKTLevels; /**< */
- uint8_t pad0[4]; /**< */
-} xcb_xkb_get_names_reply_t;
-
-/**
- * @brief xcb_xkb_set_names_values_t
- **/
-typedef struct xcb_xkb_set_names_values_t {
- xcb_atom_t keycodesName; /**< */
- xcb_atom_t geometryName; /**< */
- xcb_atom_t symbolsName; /**< */
- xcb_atom_t physSymbolsName; /**< */
- xcb_atom_t typesName; /**< */
- xcb_atom_t compatName; /**< */
- xcb_atom_t *typeNames; /**< */
- uint8_t *nLevelsPerType; /**< */
- xcb_atom_t *ktLevelNames; /**< */
- xcb_atom_t *indicatorNames; /**< */
- xcb_atom_t *virtualModNames; /**< */
- xcb_atom_t *groups; /**< */
- xcb_xkb_key_name_t *keyNames; /**< */
- xcb_xkb_key_alias_t *keyAliases; /**< */
- xcb_atom_t *radioGroupNames; /**< */
-} xcb_xkb_set_names_values_t;
-
-/** Opcode for xcb_xkb_set_names. */
-#define XCB_XKB_SET_NAMES 18
-
-/**
- * @brief xcb_xkb_set_names_request_t
- **/
-typedef struct xcb_xkb_set_names_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint16_t virtualMods; /**< */
- uint32_t which; /**< */
- uint8_t firstType; /**< */
- uint8_t nTypes; /**< */
- uint8_t firstKTLevelt; /**< */
- uint8_t nKTLevels; /**< */
- uint32_t indicators; /**< */
- uint8_t groupNames; /**< */
- uint8_t nRadioGroups; /**< */
- xcb_keycode_t firstKey; /**< */
- uint8_t nKeys; /**< */
- uint8_t nKeyAliases; /**< */
- uint8_t pad0; /**< */
- uint16_t totalKTLevelNames; /**< */
-} xcb_xkb_set_names_request_t;
-
-/**
- * @brief xcb_xkb_per_client_flags_cookie_t
- **/
-typedef struct xcb_xkb_per_client_flags_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_per_client_flags_cookie_t;
-
-/** Opcode for xcb_xkb_per_client_flags. */
-#define XCB_XKB_PER_CLIENT_FLAGS 21
-
-/**
- * @brief xcb_xkb_per_client_flags_request_t
- **/
-typedef struct xcb_xkb_per_client_flags_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t pad0[2]; /**< */
- uint32_t change; /**< */
- uint32_t value; /**< */
- uint32_t ctrlsToChange; /**< */
- uint32_t autoCtrls; /**< */
- uint32_t autoCtrlsValues; /**< */
-} xcb_xkb_per_client_flags_request_t;
-
-/**
- * @brief xcb_xkb_per_client_flags_reply_t
- **/
-typedef struct xcb_xkb_per_client_flags_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t supported; /**< */
- uint32_t value; /**< */
- uint32_t autoCtrls; /**< */
- uint32_t autoCtrlsValues; /**< */
- uint8_t pad0[8]; /**< */
-} xcb_xkb_per_client_flags_reply_t;
-
-/**
- * @brief xcb_xkb_list_components_cookie_t
- **/
-typedef struct xcb_xkb_list_components_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_list_components_cookie_t;
-
-/** Opcode for xcb_xkb_list_components. */
-#define XCB_XKB_LIST_COMPONENTS 22
-
-/**
- * @brief xcb_xkb_list_components_request_t
- **/
-typedef struct xcb_xkb_list_components_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint16_t maxNames; /**< */
-} xcb_xkb_list_components_request_t;
-
-/**
- * @brief xcb_xkb_list_components_reply_t
- **/
-typedef struct xcb_xkb_list_components_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t nKeymaps; /**< */
- uint16_t nKeycodes; /**< */
- uint16_t nTypes; /**< */
- uint16_t nCompatMaps; /**< */
- uint16_t nSymbols; /**< */
- uint16_t nGeometries; /**< */
- uint16_t extra; /**< */
- uint8_t pad0[10]; /**< */
-} xcb_xkb_list_components_reply_t;
-
-/**
- * @brief xcb_xkb_get_kbd_by_name_cookie_t
- **/
-typedef struct xcb_xkb_get_kbd_by_name_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_kbd_by_name_cookie_t;
-
-/** Opcode for xcb_xkb_get_kbd_by_name. */
-#define XCB_XKB_GET_KBD_BY_NAME 23
-
-/**
- * @brief xcb_xkb_get_kbd_by_name_request_t
- **/
-typedef struct xcb_xkb_get_kbd_by_name_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint16_t need; /**< */
- uint16_t want; /**< */
- uint8_t load; /**< */
- uint8_t pad0; /**< */
-} xcb_xkb_get_kbd_by_name_request_t;
-
-/**
- * @brief xcb_xkb_get_kbd_by_name_replies_types_map_t
- **/
-typedef struct xcb_xkb_get_kbd_by_name_replies_types_map_t {
- xcb_xkb_key_type_t *types_rtrn; /**< */
- xcb_xkb_key_sym_map_t *syms_rtrn; /**< */
- uint8_t *acts_rtrn_count; /**< */
- xcb_xkb_action_t *acts_rtrn_acts; /**< */
- xcb_xkb_set_behavior_t *behaviors_rtrn; /**< */
- uint8_t *vmods_rtrn; /**< */
- xcb_xkb_set_explicit_t *explicit_rtrn; /**< */
- xcb_xkb_key_mod_map_t *modmap_rtrn; /**< */
- xcb_xkb_key_v_mod_map_t *vmodmap_rtrn; /**< */
-} xcb_xkb_get_kbd_by_name_replies_types_map_t;
-
-/**
- * @brief xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t
- **/
-typedef struct xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t {
- xcb_atom_t keycodesName; /**< */
- xcb_atom_t geometryName; /**< */
- xcb_atom_t symbolsName; /**< */
- xcb_atom_t physSymbolsName; /**< */
- xcb_atom_t typesName; /**< */
- xcb_atom_t compatName; /**< */
- xcb_atom_t *typeNames; /**< */
- uint8_t *nLevelsPerType; /**< */
- xcb_atom_t *ktLevelNames; /**< */
- xcb_atom_t *indicatorNames; /**< */
- xcb_atom_t *virtualModNames; /**< */
- xcb_atom_t *groups; /**< */
- xcb_xkb_key_name_t *keyNames; /**< */
- xcb_xkb_key_alias_t *keyAliases; /**< */
- xcb_atom_t *radioGroupNames; /**< */
-} xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t;
-
-/**
- * @brief xcb_xkb_get_kbd_by_name_replies_t
- **/
-typedef struct xcb_xkb_get_kbd_by_name_replies_t {
- struct _types {
- uint8_t getmap_type; /**< */
- uint8_t typeDeviceID; /**< */
- uint16_t getmap_sequence; /**< */
- uint32_t getmap_length; /**< */
- uint8_t pad0[2]; /**< */
- xcb_keycode_t typeMinKeyCode; /**< */
- xcb_keycode_t typeMaxKeyCode; /**< */
- uint16_t present; /**< */
- uint8_t firstType; /**< */
- uint8_t nTypes; /**< */
- uint8_t totalTypes; /**< */
- xcb_keycode_t firstKeySym; /**< */
- uint16_t totalSyms; /**< */
- uint8_t nKeySyms; /**< */
- xcb_keycode_t firstKeyAction; /**< */
- uint16_t totalActions; /**< */
- uint8_t nKeyActions; /**< */
- xcb_keycode_t firstKeyBehavior; /**< */
- uint8_t nKeyBehaviors; /**< */
- uint8_t totalKeyBehaviors; /**< */
- xcb_keycode_t firstKeyExplicit; /**< */
- uint8_t nKeyExplicit; /**< */
- uint8_t totalKeyExplicit; /**< */
- xcb_keycode_t firstModMapKey; /**< */
- uint8_t nModMapKeys; /**< */
- uint8_t totalModMapKeys; /**< */
- xcb_keycode_t firstVModMapKey; /**< */
- uint8_t nVModMapKeys; /**< */
- uint8_t totalVModMapKeys; /**< */
- uint8_t pad1; /**< */
- uint16_t virtualMods; /**< */
- xcb_xkb_get_kbd_by_name_replies_types_map_t map; /**< */
- } types;
- struct _compat_map {
- uint8_t compatmap_type; /**< */
- uint8_t compatDeviceID; /**< */
- uint16_t compatmap_sequence; /**< */
- uint32_t compatmap_length; /**< */
- uint8_t groupsRtrn; /**< */
- uint8_t pad0; /**< */
- uint16_t firstSIRtrn; /**< */
- uint16_t nSIRtrn; /**< */
- uint16_t nTotalSI; /**< */
- uint8_t pad1[16]; /**< */
- xcb_xkb_sym_interpret_t *si_rtrn; /**< */
- xcb_xkb_mod_def_t *group_rtrn; /**< */
- } compat_map;
- struct _indicator_maps {
- uint8_t indicatormap_type; /**< */
- uint8_t indicatorDeviceID; /**< */
- uint16_t indicatormap_sequence; /**< */
- uint32_t indicatormap_length; /**< */
- uint32_t which; /**< */
- uint32_t realIndicators; /**< */
- uint8_t nIndicators; /**< */
- uint8_t pad0[15]; /**< */
- xcb_xkb_indicator_map_t *maps; /**< */
- } indicator_maps;
- struct _key_names {
- uint8_t keyname_type; /**< */
- uint8_t keyDeviceID; /**< */
- uint16_t keyname_sequence; /**< */
- uint32_t keyname_length; /**< */
- uint32_t which; /**< */
- xcb_keycode_t keyMinKeyCode; /**< */
- xcb_keycode_t keyMaxKeyCode; /**< */
- uint8_t nTypes; /**< */
- uint8_t groupNames; /**< */
- uint16_t virtualMods; /**< */
- xcb_keycode_t firstKey; /**< */
- uint8_t nKeys; /**< */
- uint32_t indicators; /**< */
- uint8_t nRadioGroups; /**< */
- uint8_t nKeyAliases; /**< */
- uint16_t nKTLevels; /**< */
- uint8_t pad0[4]; /**< */
- xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t valueList; /**< */
- } key_names;
- struct _geometry {
- uint8_t geometry_type; /**< */
- uint8_t geometryDeviceID; /**< */
- uint16_t geometry_sequence; /**< */
- uint32_t geometry_length; /**< */
- xcb_atom_t name; /**< */
- uint8_t geometryFound; /**< */
- uint8_t pad0; /**< */
- uint16_t widthMM; /**< */
- uint16_t heightMM; /**< */
- uint16_t nProperties; /**< */
- uint16_t nColors; /**< */
- uint16_t nShapes; /**< */
- uint16_t nSections; /**< */
- uint16_t nDoodads; /**< */
- uint16_t nKeyAliases; /**< */
- uint8_t baseColorNdx; /**< */
- uint8_t labelColorNdx; /**< */
- xcb_xkb_counted_string_16_t *labelFont; /**< */
- } geometry;
-} xcb_xkb_get_kbd_by_name_replies_t;
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_replies_types_map_t * xcb_xkb_get_kbd_by_name_replies_types_map
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_get_kbd_by_name_replies_types_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_replies_types_map_t *
-xcb_xkb_get_kbd_by_name_replies_types_map (const xcb_xkb_get_kbd_by_name_replies_t *R /**< */);
-
-/**
- * @brief xcb_xkb_get_kbd_by_name_reply_t
- **/
-typedef struct xcb_xkb_get_kbd_by_name_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- xcb_keycode_t minKeyCode; /**< */
- xcb_keycode_t maxKeyCode; /**< */
- uint8_t loaded; /**< */
- uint8_t newKeyboard; /**< */
- uint16_t found; /**< */
- uint16_t reported; /**< */
- uint8_t pad0[16]; /**< */
-} xcb_xkb_get_kbd_by_name_reply_t;
-
-/**
- * @brief xcb_xkb_get_device_info_cookie_t
- **/
-typedef struct xcb_xkb_get_device_info_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_get_device_info_cookie_t;
-
-/** Opcode for xcb_xkb_get_device_info. */
-#define XCB_XKB_GET_DEVICE_INFO 24
-
-/**
- * @brief xcb_xkb_get_device_info_request_t
- **/
-typedef struct xcb_xkb_get_device_info_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint16_t wanted; /**< */
- uint8_t allButtons; /**< */
- uint8_t firstButton; /**< */
- uint8_t nButtons; /**< */
- uint8_t pad0; /**< */
- xcb_xkb_led_class_spec_t ledClass; /**< */
- xcb_xkb_id_spec_t ledID; /**< */
-} xcb_xkb_get_device_info_request_t;
-
-/**
- * @brief xcb_xkb_get_device_info_reply_t
- **/
-typedef struct xcb_xkb_get_device_info_reply_t {
- uint8_t response_type; /**< */
- uint8_t deviceID; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint16_t present; /**< */
- uint16_t supported; /**< */
- uint16_t unsupported; /**< */
- uint16_t nDeviceLedFBs; /**< */
- uint8_t firstBtnWanted; /**< */
- uint8_t nBtnsWanted; /**< */
- uint8_t firstBtnRtrn; /**< */
- uint8_t nBtnsRtrn; /**< */
- uint8_t totalBtns; /**< */
- uint8_t hasOwnState; /**< */
- uint16_t dfltKbdFB; /**< */
- uint16_t dfltLedFB; /**< */
- uint8_t pad0[2]; /**< */
- xcb_atom_t devType; /**< */
- uint16_t nameLen; /**< */
-} xcb_xkb_get_device_info_reply_t;
-
-/** Opcode for xcb_xkb_set_device_info. */
-#define XCB_XKB_SET_DEVICE_INFO 25
-
-/**
- * @brief xcb_xkb_set_device_info_request_t
- **/
-typedef struct xcb_xkb_set_device_info_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- xcb_xkb_device_spec_t deviceSpec; /**< */
- uint8_t firstBtn; /**< */
- uint8_t nBtns; /**< */
- uint16_t change; /**< */
- uint16_t nDeviceLedFBs; /**< */
-} xcb_xkb_set_device_info_request_t;
-
-/**
- * @brief xcb_xkb_set_debugging_flags_cookie_t
- **/
-typedef struct xcb_xkb_set_debugging_flags_cookie_t {
- unsigned int sequence; /**< */
-} xcb_xkb_set_debugging_flags_cookie_t;
-
-/** Opcode for xcb_xkb_set_debugging_flags. */
-#define XCB_XKB_SET_DEBUGGING_FLAGS 101
-
-/**
- * @brief xcb_xkb_set_debugging_flags_request_t
- **/
-typedef struct xcb_xkb_set_debugging_flags_request_t {
- uint8_t major_opcode; /**< */
- uint8_t minor_opcode; /**< */
- uint16_t length; /**< */
- uint16_t msgLength; /**< */
- uint8_t pad0[2]; /**< */
- uint32_t affectFlags; /**< */
- uint32_t flags; /**< */
- uint32_t affectCtrls; /**< */
- uint32_t ctrls; /**< */
-} xcb_xkb_set_debugging_flags_request_t;
-
-/**
- * @brief xcb_xkb_set_debugging_flags_reply_t
- **/
-typedef struct xcb_xkb_set_debugging_flags_reply_t {
- uint8_t response_type; /**< */
- uint8_t pad0; /**< */
- uint16_t sequence; /**< */
- uint32_t length; /**< */
- uint32_t currentFlags; /**< */
- uint32_t currentCtrls; /**< */
- uint32_t supportedFlags; /**< */
- uint32_t supportedCtrls; /**< */
- uint8_t pad1[8]; /**< */
-} xcb_xkb_set_debugging_flags_reply_t;
-
-/** Opcode for xcb_xkb_new_keyboard_notify. */
-#define XCB_XKB_NEW_KEYBOARD_NOTIFY 0
-
-/**
- * @brief xcb_xkb_new_keyboard_notify_event_t
- **/
-typedef struct xcb_xkb_new_keyboard_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t oldDeviceID; /**< */
- xcb_keycode_t minKeyCode; /**< */
- xcb_keycode_t maxKeyCode; /**< */
- xcb_keycode_t oldMinKeyCode; /**< */
- xcb_keycode_t oldMaxKeyCode; /**< */
- uint8_t requestMajor; /**< */
- uint8_t requestMinor; /**< */
- uint16_t changed; /**< */
- uint8_t pad0[14]; /**< */
-} xcb_xkb_new_keyboard_notify_event_t;
-
-/** Opcode for xcb_xkb_map_notify. */
-#define XCB_XKB_MAP_NOTIFY 1
-
-/**
- * @brief xcb_xkb_map_notify_event_t
- **/
-typedef struct xcb_xkb_map_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t ptrBtnActions; /**< */
- uint16_t changed; /**< */
- xcb_keycode_t minKeyCode; /**< */
- xcb_keycode_t maxKeyCode; /**< */
- uint8_t firstType; /**< */
- uint8_t nTypes; /**< */
- xcb_keycode_t firstKeySym; /**< */
- uint8_t nKeySyms; /**< */
- xcb_keycode_t firstKeyAct; /**< */
- uint8_t nKeyActs; /**< */
- xcb_keycode_t firstKeyBehavior; /**< */
- uint8_t nKeyBehavior; /**< */
- xcb_keycode_t firstKeyExplicit; /**< */
- uint8_t nKeyExplicit; /**< */
- xcb_keycode_t firstModMapKey; /**< */
- uint8_t nModMapKeys; /**< */
- xcb_keycode_t firstVModMapKey; /**< */
- uint8_t nVModMapKeys; /**< */
- uint16_t virtualMods; /**< */
- uint8_t pad0[2]; /**< */
-} xcb_xkb_map_notify_event_t;
-
-/** Opcode for xcb_xkb_state_notify. */
-#define XCB_XKB_STATE_NOTIFY 2
-
-/**
- * @brief xcb_xkb_state_notify_event_t
- **/
-typedef struct xcb_xkb_state_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t mods; /**< */
- uint8_t baseMods; /**< */
- uint8_t latchedMods; /**< */
- uint8_t lockedMods; /**< */
- uint8_t group; /**< */
- int16_t baseGroup; /**< */
- int16_t latchedGroup; /**< */
- uint8_t lockedGroup; /**< */
- uint8_t compatState; /**< */
- uint8_t grabMods; /**< */
- uint8_t compatGrabMods; /**< */
- uint8_t lookupMods; /**< */
- uint8_t compatLoockupMods; /**< */
- uint16_t ptrBtnState; /**< */
- uint16_t changed; /**< */
- xcb_keycode_t keycode; /**< */
- uint8_t eventType; /**< */
- uint8_t requestMajor; /**< */
- uint8_t requestMinor; /**< */
-} xcb_xkb_state_notify_event_t;
-
-/** Opcode for xcb_xkb_controls_notify. */
-#define XCB_XKB_CONTROLS_NOTIFY 3
-
-/**
- * @brief xcb_xkb_controls_notify_event_t
- **/
-typedef struct xcb_xkb_controls_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t numGroups; /**< */
- uint8_t pad0[2]; /**< */
- uint32_t changedControls; /**< */
- uint32_t enabledControls; /**< */
- uint32_t enabledControlChanges; /**< */
- xcb_keycode_t keycode; /**< */
- uint8_t eventType; /**< */
- uint8_t requestMajor; /**< */
- uint8_t requestMinor; /**< */
- uint8_t pad1[4]; /**< */
-} xcb_xkb_controls_notify_event_t;
-
-/** Opcode for xcb_xkb_indicator_state_notify. */
-#define XCB_XKB_INDICATOR_STATE_NOTIFY 4
-
-/**
- * @brief xcb_xkb_indicator_state_notify_event_t
- **/
-typedef struct xcb_xkb_indicator_state_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t pad0[3]; /**< */
- uint32_t state; /**< */
- uint32_t stateChanged; /**< */
- uint8_t pad1[12]; /**< */
-} xcb_xkb_indicator_state_notify_event_t;
-
-/** Opcode for xcb_xkb_indicator_map_notify. */
-#define XCB_XKB_INDICATOR_MAP_NOTIFY 5
-
-/**
- * @brief xcb_xkb_indicator_map_notify_event_t
- **/
-typedef struct xcb_xkb_indicator_map_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t pad0[3]; /**< */
- uint32_t state; /**< */
- uint32_t mapChanged; /**< */
- uint8_t pad1[12]; /**< */
-} xcb_xkb_indicator_map_notify_event_t;
-
-/** Opcode for xcb_xkb_names_notify. */
-#define XCB_XKB_NAMES_NOTIFY 6
-
-/**
- * @brief xcb_xkb_names_notify_event_t
- **/
-typedef struct xcb_xkb_names_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t pad0; /**< */
- uint16_t changed; /**< */
- uint8_t firstType; /**< */
- uint8_t nTypes; /**< */
- uint8_t firstLevelName; /**< */
- uint8_t nLevelNames; /**< */
- uint8_t pad1; /**< */
- uint8_t nRadioGroups; /**< */
- uint8_t nKeyAliases; /**< */
- uint8_t changedGroupNames; /**< */
- uint16_t changedVirtualMods; /**< */
- xcb_keycode_t firstKey; /**< */
- uint8_t nKeys; /**< */
- uint32_t changedIndicators; /**< */
- uint8_t pad2[4]; /**< */
-} xcb_xkb_names_notify_event_t;
-
-/** Opcode for xcb_xkb_compat_map_notify. */
-#define XCB_XKB_COMPAT_MAP_NOTIFY 7
-
-/**
- * @brief xcb_xkb_compat_map_notify_event_t
- **/
-typedef struct xcb_xkb_compat_map_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t changedGroups; /**< */
- uint16_t firstSI; /**< */
- uint16_t nSI; /**< */
- uint16_t nTotalSI; /**< */
- uint8_t pad0[16]; /**< */
-} xcb_xkb_compat_map_notify_event_t;
-
-/** Opcode for xcb_xkb_bell_notify. */
-#define XCB_XKB_BELL_NOTIFY 8
-
-/**
- * @brief xcb_xkb_bell_notify_event_t
- **/
-typedef struct xcb_xkb_bell_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t bellClass; /**< */
- uint8_t bellID; /**< */
- uint8_t percent; /**< */
- uint16_t pitch; /**< */
- uint16_t duration; /**< */
- xcb_atom_t name; /**< */
- xcb_window_t window; /**< */
- uint8_t eventOnly; /**< */
- uint8_t pad0[7]; /**< */
-} xcb_xkb_bell_notify_event_t;
-
-/** Opcode for xcb_xkb_action_message. */
-#define XCB_XKB_ACTION_MESSAGE 9
-
-/**
- * @brief xcb_xkb_action_message_event_t
- **/
-typedef struct xcb_xkb_action_message_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- xcb_keycode_t keycode; /**< */
- uint8_t press; /**< */
- uint8_t keyEventFollows; /**< */
- uint8_t mods; /**< */
- uint8_t group; /**< */
- xcb_xkb_string8_t message[8]; /**< */
- uint8_t pad0[10]; /**< */
-} xcb_xkb_action_message_event_t;
-
-/** Opcode for xcb_xkb_access_x_notify. */
-#define XCB_XKB_ACCESS_X_NOTIFY 10
-
-/**
- * @brief xcb_xkb_access_x_notify_event_t
- **/
-typedef struct xcb_xkb_access_x_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- xcb_keycode_t keycode; /**< */
- uint16_t detailt; /**< */
- uint16_t slowKeysDelay; /**< */
- uint16_t debounceDelay; /**< */
- uint8_t pad0[16]; /**< */
-} xcb_xkb_access_x_notify_event_t;
-
-/** Opcode for xcb_xkb_extension_device_notify. */
-#define XCB_XKB_EXTENSION_DEVICE_NOTIFY 11
-
-/**
- * @brief xcb_xkb_extension_device_notify_event_t
- **/
-typedef struct xcb_xkb_extension_device_notify_event_t {
- uint8_t response_type; /**< */
- uint8_t xkbType; /**< */
- uint16_t sequence; /**< */
- xcb_timestamp_t time; /**< */
- uint8_t deviceID; /**< */
- uint8_t pad0; /**< */
- uint16_t reason; /**< */
- uint16_t ledClass; /**< */
- uint16_t ledID; /**< */
- uint32_t ledsDefined; /**< */
- uint32_t ledState; /**< */
- uint8_t firstButton; /**< */
- uint8_t nButtons; /**< */
- uint16_t supported; /**< */
- uint16_t unsupported; /**< */
- uint8_t pad1[2]; /**< */
-} xcb_xkb_extension_device_notify_event_t;
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_device_spec_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_device_spec_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_device_spec_next
- **
- ** @param xcb_xkb_device_spec_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_device_spec_next (xcb_xkb_device_spec_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_device_spec_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_device_spec_end
- **
- ** @param xcb_xkb_device_spec_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_device_spec_end (xcb_xkb_device_spec_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_led_class_spec_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_led_class_spec_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_led_class_spec_next
- **
- ** @param xcb_xkb_led_class_spec_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_led_class_spec_next (xcb_xkb_led_class_spec_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_led_class_spec_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_led_class_spec_end
- **
- ** @param xcb_xkb_led_class_spec_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_led_class_spec_end (xcb_xkb_led_class_spec_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_bell_class_spec_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_bell_class_spec_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_bell_class_spec_next
- **
- ** @param xcb_xkb_bell_class_spec_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_bell_class_spec_next (xcb_xkb_bell_class_spec_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_bell_class_spec_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_bell_class_spec_end
- **
- ** @param xcb_xkb_bell_class_spec_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_bell_class_spec_end (xcb_xkb_bell_class_spec_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_id_spec_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_id_spec_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_id_spec_next
- **
- ** @param xcb_xkb_id_spec_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_id_spec_next (xcb_xkb_id_spec_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_id_spec_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_id_spec_end
- **
- ** @param xcb_xkb_id_spec_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_id_spec_end (xcb_xkb_id_spec_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_indicator_map_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_indicator_map_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_indicator_map_next
- **
- ** @param xcb_xkb_indicator_map_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_indicator_map_next (xcb_xkb_indicator_map_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_indicator_map_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_indicator_map_end
- **
- ** @param xcb_xkb_indicator_map_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_indicator_map_end (xcb_xkb_indicator_map_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_mod_def_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_mod_def_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_mod_def_next
- **
- ** @param xcb_xkb_mod_def_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_mod_def_next (xcb_xkb_mod_def_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_mod_def_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_mod_def_end
- **
- ** @param xcb_xkb_mod_def_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_mod_def_end (xcb_xkb_mod_def_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_key_name_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_key_name_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_name_next
- **
- ** @param xcb_xkb_key_name_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_name_next (xcb_xkb_key_name_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_key_name_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_name_end
- **
- ** @param xcb_xkb_key_name_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_name_end (xcb_xkb_key_name_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_key_alias_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_key_alias_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_alias_next
- **
- ** @param xcb_xkb_key_alias_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_alias_next (xcb_xkb_key_alias_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_key_alias_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_alias_end
- **
- ** @param xcb_xkb_key_alias_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_alias_end (xcb_xkb_key_alias_iterator_t i /**< */);
-
-int
-xcb_xkb_counted_string_16_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** char * xcb_xkb_counted_string_16_string
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_xkb_counted_string_16_string (const xcb_xkb_counted_string_16_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_counted_string_16_string_length
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_counted_string_16_string_length (const xcb_xkb_counted_string_16_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_counted_string_16_string_end
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_counted_string_16_string_end (const xcb_xkb_counted_string_16_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** void * xcb_xkb_counted_string_16_alignment_pad
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns void *
- **
- *****************************************************************************/
-
-void *
-xcb_xkb_counted_string_16_alignment_pad (const xcb_xkb_counted_string_16_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_counted_string_16_alignment_pad_length
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_counted_string_16_alignment_pad_length (const xcb_xkb_counted_string_16_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_counted_string_16_alignment_pad_end
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_counted_string_16_alignment_pad_end (const xcb_xkb_counted_string_16_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_counted_string_16_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_counted_string_16_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_counted_string_16_next
- **
- ** @param xcb_xkb_counted_string_16_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_counted_string_16_next (xcb_xkb_counted_string_16_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_counted_string_16_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_counted_string_16_end
- **
- ** @param xcb_xkb_counted_string_16_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_counted_string_16_end (xcb_xkb_counted_string_16_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_kt_map_entry_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_kt_map_entry_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_kt_map_entry_next
- **
- ** @param xcb_xkb_kt_map_entry_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_kt_map_entry_next (xcb_xkb_kt_map_entry_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_kt_map_entry_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_kt_map_entry_end
- **
- ** @param xcb_xkb_kt_map_entry_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_kt_map_entry_end (xcb_xkb_kt_map_entry_iterator_t i /**< */);
-
-int
-xcb_xkb_key_type_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_map_entry_t * xcb_xkb_key_type_map
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns xcb_xkb_kt_map_entry_t *
- **
- *****************************************************************************/
-
-xcb_xkb_kt_map_entry_t *
-xcb_xkb_key_type_map (const xcb_xkb_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_key_type_map_length
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_key_type_map_length (const xcb_xkb_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_map_entry_iterator_t xcb_xkb_key_type_map_iterator
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns xcb_xkb_kt_map_entry_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_kt_map_entry_iterator_t
-xcb_xkb_key_type_map_iterator (const xcb_xkb_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_t * xcb_xkb_key_type_preserve
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns xcb_xkb_mod_def_t *
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_t *
-xcb_xkb_key_type_preserve (const xcb_xkb_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_key_type_preserve_length
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_key_type_preserve_length (const xcb_xkb_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_iterator_t xcb_xkb_key_type_preserve_iterator
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns xcb_xkb_mod_def_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_iterator_t
-xcb_xkb_key_type_preserve_iterator (const xcb_xkb_key_type_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_key_type_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_key_type_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_type_next
- **
- ** @param xcb_xkb_key_type_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_type_next (xcb_xkb_key_type_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_key_type_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_type_end
- **
- ** @param xcb_xkb_key_type_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_type_end (xcb_xkb_key_type_iterator_t i /**< */);
-
-int
-xcb_xkb_key_sym_map_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_keysym_t * xcb_xkb_key_sym_map_syms
- **
- ** @param const xcb_xkb_key_sym_map_t *R
- ** @returns xcb_keysym_t *
- **
- *****************************************************************************/
-
-xcb_keysym_t *
-xcb_xkb_key_sym_map_syms (const xcb_xkb_key_sym_map_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_key_sym_map_syms_length
- **
- ** @param const xcb_xkb_key_sym_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_key_sym_map_syms_length (const xcb_xkb_key_sym_map_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_sym_map_syms_end
- **
- ** @param const xcb_xkb_key_sym_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_sym_map_syms_end (const xcb_xkb_key_sym_map_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_key_sym_map_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_key_sym_map_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_sym_map_next
- **
- ** @param xcb_xkb_key_sym_map_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_sym_map_next (xcb_xkb_key_sym_map_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_key_sym_map_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_sym_map_end
- **
- ** @param xcb_xkb_key_sym_map_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_sym_map_end (xcb_xkb_key_sym_map_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_common_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_common_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_common_behavior_next
- **
- ** @param xcb_xkb_common_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_common_behavior_next (xcb_xkb_common_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_common_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_common_behavior_end
- **
- ** @param xcb_xkb_common_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_common_behavior_end (xcb_xkb_common_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_default_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_default_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_default_behavior_next
- **
- ** @param xcb_xkb_default_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_default_behavior_next (xcb_xkb_default_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_default_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_default_behavior_end
- **
- ** @param xcb_xkb_default_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_default_behavior_end (xcb_xkb_default_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_lock_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_lock_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_lock_behavior_next
- **
- ** @param xcb_xkb_lock_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_lock_behavior_next (xcb_xkb_lock_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_lock_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_lock_behavior_end
- **
- ** @param xcb_xkb_lock_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_lock_behavior_end (xcb_xkb_lock_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_radio_group_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_radio_group_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_radio_group_behavior_next
- **
- ** @param xcb_xkb_radio_group_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_radio_group_behavior_next (xcb_xkb_radio_group_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_radio_group_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_radio_group_behavior_end
- **
- ** @param xcb_xkb_radio_group_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_radio_group_behavior_end (xcb_xkb_radio_group_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_overlay_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_overlay_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_overlay_behavior_next
- **
- ** @param xcb_xkb_overlay_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_overlay_behavior_next (xcb_xkb_overlay_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_overlay_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_overlay_behavior_end
- **
- ** @param xcb_xkb_overlay_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_overlay_behavior_end (xcb_xkb_overlay_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_permament_lock_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_permament_lock_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_permament_lock_behavior_next
- **
- ** @param xcb_xkb_permament_lock_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_permament_lock_behavior_next (xcb_xkb_permament_lock_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_permament_lock_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_permament_lock_behavior_end
- **
- ** @param xcb_xkb_permament_lock_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_permament_lock_behavior_end (xcb_xkb_permament_lock_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_permament_radio_group_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_permament_radio_group_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_permament_radio_group_behavior_next
- **
- ** @param xcb_xkb_permament_radio_group_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_permament_radio_group_behavior_next (xcb_xkb_permament_radio_group_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_permament_radio_group_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_permament_radio_group_behavior_end
- **
- ** @param xcb_xkb_permament_radio_group_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_permament_radio_group_behavior_end (xcb_xkb_permament_radio_group_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_permament_overlay_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_permament_overlay_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_permament_overlay_behavior_next
- **
- ** @param xcb_xkb_permament_overlay_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_permament_overlay_behavior_next (xcb_xkb_permament_overlay_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_permament_overlay_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_permament_overlay_behavior_end
- **
- ** @param xcb_xkb_permament_overlay_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_permament_overlay_behavior_end (xcb_xkb_permament_overlay_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_behavior_next
- **
- ** @param xcb_xkb_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_behavior_next (xcb_xkb_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_behavior_end
- **
- ** @param xcb_xkb_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_behavior_end (xcb_xkb_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_set_behavior_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_set_behavior_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_set_behavior_next
- **
- ** @param xcb_xkb_set_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_set_behavior_next (xcb_xkb_set_behavior_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_set_behavior_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_behavior_end
- **
- ** @param xcb_xkb_set_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_behavior_end (xcb_xkb_set_behavior_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_set_explicit_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_set_explicit_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_set_explicit_next
- **
- ** @param xcb_xkb_set_explicit_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_set_explicit_next (xcb_xkb_set_explicit_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_set_explicit_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_explicit_end
- **
- ** @param xcb_xkb_set_explicit_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_explicit_end (xcb_xkb_set_explicit_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_key_mod_map_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_key_mod_map_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_mod_map_next
- **
- ** @param xcb_xkb_key_mod_map_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_mod_map_next (xcb_xkb_key_mod_map_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_key_mod_map_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_mod_map_end
- **
- ** @param xcb_xkb_key_mod_map_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_mod_map_end (xcb_xkb_key_mod_map_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_key_v_mod_map_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_key_v_mod_map_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_v_mod_map_next
- **
- ** @param xcb_xkb_key_v_mod_map_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_v_mod_map_next (xcb_xkb_key_v_mod_map_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_key_v_mod_map_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_v_mod_map_end
- **
- ** @param xcb_xkb_key_v_mod_map_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_v_mod_map_end (xcb_xkb_key_v_mod_map_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_kt_set_map_entry_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_kt_set_map_entry_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_kt_set_map_entry_next
- **
- ** @param xcb_xkb_kt_set_map_entry_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_kt_set_map_entry_next (xcb_xkb_kt_set_map_entry_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_kt_set_map_entry_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_kt_set_map_entry_end
- **
- ** @param xcb_xkb_kt_set_map_entry_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_kt_set_map_entry_end (xcb_xkb_kt_set_map_entry_iterator_t i /**< */);
-
-int
-xcb_xkb_set_key_type_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_set_map_entry_t * xcb_xkb_set_key_type_entries
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns xcb_xkb_kt_set_map_entry_t *
- **
- *****************************************************************************/
-
-xcb_xkb_kt_set_map_entry_t *
-xcb_xkb_set_key_type_entries (const xcb_xkb_set_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_key_type_entries_length
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_key_type_entries_length (const xcb_xkb_set_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_set_map_entry_iterator_t xcb_xkb_set_key_type_entries_iterator
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns xcb_xkb_kt_set_map_entry_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_kt_set_map_entry_iterator_t
-xcb_xkb_set_key_type_entries_iterator (const xcb_xkb_set_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_set_map_entry_t * xcb_xkb_set_key_type_preserve_entries
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns xcb_xkb_kt_set_map_entry_t *
- **
- *****************************************************************************/
-
-xcb_xkb_kt_set_map_entry_t *
-xcb_xkb_set_key_type_preserve_entries (const xcb_xkb_set_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_key_type_preserve_entries_length
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_key_type_preserve_entries_length (const xcb_xkb_set_key_type_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_set_map_entry_iterator_t xcb_xkb_set_key_type_preserve_entries_iterator
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns xcb_xkb_kt_set_map_entry_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_kt_set_map_entry_iterator_t
-xcb_xkb_set_key_type_preserve_entries_iterator (const xcb_xkb_set_key_type_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_set_key_type_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_set_key_type_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_set_key_type_next
- **
- ** @param xcb_xkb_set_key_type_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_set_key_type_next (xcb_xkb_set_key_type_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_set_key_type_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_key_type_end
- **
- ** @param xcb_xkb_set_key_type_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_key_type_end (xcb_xkb_set_key_type_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_string8_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_string8_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_string8_next
- **
- ** @param xcb_xkb_string8_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_string8_next (xcb_xkb_string8_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_string8_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_string8_end
- **
- ** @param xcb_xkb_string8_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_string8_end (xcb_xkb_string8_iterator_t i /**< */);
-
-int
-xcb_xkb_outline_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_point_t * xcb_xkb_outline_points
- **
- ** @param const xcb_xkb_outline_t *R
- ** @returns xcb_point_t *
- **
- *****************************************************************************/
-
-xcb_point_t *
-xcb_xkb_outline_points (const xcb_xkb_outline_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_outline_points_length
- **
- ** @param const xcb_xkb_outline_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_outline_points_length (const xcb_xkb_outline_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_point_iterator_t xcb_xkb_outline_points_iterator
- **
- ** @param const xcb_xkb_outline_t *R
- ** @returns xcb_point_iterator_t
- **
- *****************************************************************************/
-
-xcb_point_iterator_t
-xcb_xkb_outline_points_iterator (const xcb_xkb_outline_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_outline_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_outline_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_outline_next
- **
- ** @param xcb_xkb_outline_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_outline_next (xcb_xkb_outline_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_outline_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_outline_end
- **
- ** @param xcb_xkb_outline_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_outline_end (xcb_xkb_outline_iterator_t i /**< */);
-
-int
-xcb_xkb_shape_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_shape_outlines_length
- **
- ** @param const xcb_xkb_shape_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_shape_outlines_length (const xcb_xkb_shape_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_outline_iterator_t xcb_xkb_shape_outlines_iterator
- **
- ** @param const xcb_xkb_shape_t *R
- ** @returns xcb_xkb_outline_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_outline_iterator_t
-xcb_xkb_shape_outlines_iterator (const xcb_xkb_shape_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_shape_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_shape_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_shape_next
- **
- ** @param xcb_xkb_shape_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_shape_next (xcb_xkb_shape_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_shape_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_shape_end
- **
- ** @param xcb_xkb_shape_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_shape_end (xcb_xkb_shape_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_key_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_key_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_next
- **
- ** @param xcb_xkb_key_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_next (xcb_xkb_key_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_key_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_end
- **
- ** @param xcb_xkb_key_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_end (xcb_xkb_key_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_overlay_key_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_overlay_key_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_overlay_key_next
- **
- ** @param xcb_xkb_overlay_key_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_overlay_key_next (xcb_xkb_overlay_key_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_overlay_key_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_overlay_key_end
- **
- ** @param xcb_xkb_overlay_key_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_overlay_key_end (xcb_xkb_overlay_key_iterator_t i /**< */);
-
-int
-xcb_xkb_overlay_row_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_overlay_key_t * xcb_xkb_overlay_row_keys
- **
- ** @param const xcb_xkb_overlay_row_t *R
- ** @returns xcb_xkb_overlay_key_t *
- **
- *****************************************************************************/
-
-xcb_xkb_overlay_key_t *
-xcb_xkb_overlay_row_keys (const xcb_xkb_overlay_row_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_overlay_row_keys_length
- **
- ** @param const xcb_xkb_overlay_row_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_overlay_row_keys_length (const xcb_xkb_overlay_row_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_overlay_key_iterator_t xcb_xkb_overlay_row_keys_iterator
- **
- ** @param const xcb_xkb_overlay_row_t *R
- ** @returns xcb_xkb_overlay_key_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_overlay_key_iterator_t
-xcb_xkb_overlay_row_keys_iterator (const xcb_xkb_overlay_row_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_overlay_row_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_overlay_row_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_overlay_row_next
- **
- ** @param xcb_xkb_overlay_row_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_overlay_row_next (xcb_xkb_overlay_row_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_overlay_row_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_overlay_row_end
- **
- ** @param xcb_xkb_overlay_row_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_overlay_row_end (xcb_xkb_overlay_row_iterator_t i /**< */);
-
-int
-xcb_xkb_overlay_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_overlay_rows_length
- **
- ** @param const xcb_xkb_overlay_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_overlay_rows_length (const xcb_xkb_overlay_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_overlay_row_iterator_t xcb_xkb_overlay_rows_iterator
- **
- ** @param const xcb_xkb_overlay_t *R
- ** @returns xcb_xkb_overlay_row_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_overlay_row_iterator_t
-xcb_xkb_overlay_rows_iterator (const xcb_xkb_overlay_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_overlay_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_overlay_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_overlay_next
- **
- ** @param xcb_xkb_overlay_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_overlay_next (xcb_xkb_overlay_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_overlay_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_overlay_end
- **
- ** @param xcb_xkb_overlay_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_overlay_end (xcb_xkb_overlay_iterator_t i /**< */);
-
-int
-xcb_xkb_row_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_t * xcb_xkb_row_keys
- **
- ** @param const xcb_xkb_row_t *R
- ** @returns xcb_xkb_key_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_t *
-xcb_xkb_row_keys (const xcb_xkb_row_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_row_keys_length
- **
- ** @param const xcb_xkb_row_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_row_keys_length (const xcb_xkb_row_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_iterator_t xcb_xkb_row_keys_iterator
- **
- ** @param const xcb_xkb_row_t *R
- ** @returns xcb_xkb_key_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_iterator_t
-xcb_xkb_row_keys_iterator (const xcb_xkb_row_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_row_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_row_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_row_next
- **
- ** @param xcb_xkb_row_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_row_next (xcb_xkb_row_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_row_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_row_end
- **
- ** @param xcb_xkb_row_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_row_end (xcb_xkb_row_iterator_t i /**< */);
-
-int
-xcb_xkb_listing_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_string8_t * xcb_xkb_listing_string
- **
- ** @param const xcb_xkb_listing_t *R
- ** @returns xcb_xkb_string8_t *
- **
- *****************************************************************************/
-
-xcb_xkb_string8_t *
-xcb_xkb_listing_string (const xcb_xkb_listing_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_listing_string_length
- **
- ** @param const xcb_xkb_listing_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_listing_string_length (const xcb_xkb_listing_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_listing_string_end
- **
- ** @param const xcb_xkb_listing_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_listing_string_end (const xcb_xkb_listing_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_listing_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_listing_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_listing_next
- **
- ** @param xcb_xkb_listing_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_listing_next (xcb_xkb_listing_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_listing_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_listing_end
- **
- ** @param xcb_xkb_listing_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_listing_end (xcb_xkb_listing_iterator_t i /**< */);
-
-int
-xcb_xkb_device_led_info_sizeof (const void *_buffer /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_device_led_info_names
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_device_led_info_names (const xcb_xkb_device_led_info_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_device_led_info_names_length
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_device_led_info_names_length (const xcb_xkb_device_led_info_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_device_led_info_names_end
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_device_led_info_names_end (const xcb_xkb_device_led_info_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_t * xcb_xkb_device_led_info_maps
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns xcb_xkb_indicator_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_t *
-xcb_xkb_device_led_info_maps (const xcb_xkb_device_led_info_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_device_led_info_maps_length
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_device_led_info_maps_length (const xcb_xkb_device_led_info_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_iterator_t xcb_xkb_device_led_info_maps_iterator
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns xcb_xkb_indicator_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_iterator_t
-xcb_xkb_device_led_info_maps_iterator (const xcb_xkb_device_led_info_t *R /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_device_led_info_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_device_led_info_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_device_led_info_next
- **
- ** @param xcb_xkb_device_led_info_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_device_led_info_next (xcb_xkb_device_led_info_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_device_led_info_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_device_led_info_end
- **
- ** @param xcb_xkb_device_led_info_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_device_led_info_end (xcb_xkb_device_led_info_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_no_action_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_no_action_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_no_action_next
- **
- ** @param xcb_xkb_sa_no_action_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_no_action_next (xcb_xkb_sa_no_action_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_no_action_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_no_action_end
- **
- ** @param xcb_xkb_sa_no_action_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_no_action_end (xcb_xkb_sa_no_action_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_set_mods_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_set_mods_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_set_mods_next
- **
- ** @param xcb_xkb_sa_set_mods_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_set_mods_next (xcb_xkb_sa_set_mods_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_set_mods_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_set_mods_end
- **
- ** @param xcb_xkb_sa_set_mods_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_set_mods_end (xcb_xkb_sa_set_mods_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_latch_mods_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_latch_mods_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_latch_mods_next
- **
- ** @param xcb_xkb_sa_latch_mods_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_latch_mods_next (xcb_xkb_sa_latch_mods_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_latch_mods_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_latch_mods_end
- **
- ** @param xcb_xkb_sa_latch_mods_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_latch_mods_end (xcb_xkb_sa_latch_mods_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_lock_mods_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_lock_mods_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_mods_next
- **
- ** @param xcb_xkb_sa_lock_mods_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_mods_next (xcb_xkb_sa_lock_mods_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_lock_mods_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_mods_end
- **
- ** @param xcb_xkb_sa_lock_mods_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_mods_end (xcb_xkb_sa_lock_mods_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_set_group_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_set_group_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_set_group_next
- **
- ** @param xcb_xkb_sa_set_group_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_set_group_next (xcb_xkb_sa_set_group_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_set_group_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_set_group_end
- **
- ** @param xcb_xkb_sa_set_group_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_set_group_end (xcb_xkb_sa_set_group_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_latch_group_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_latch_group_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_latch_group_next
- **
- ** @param xcb_xkb_sa_latch_group_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_latch_group_next (xcb_xkb_sa_latch_group_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_latch_group_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_latch_group_end
- **
- ** @param xcb_xkb_sa_latch_group_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_latch_group_end (xcb_xkb_sa_latch_group_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_lock_group_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_lock_group_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_group_next
- **
- ** @param xcb_xkb_sa_lock_group_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_group_next (xcb_xkb_sa_lock_group_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_lock_group_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_group_end
- **
- ** @param xcb_xkb_sa_lock_group_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_group_end (xcb_xkb_sa_lock_group_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_move_ptr_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_move_ptr_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_move_ptr_next
- **
- ** @param xcb_xkb_sa_move_ptr_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_move_ptr_next (xcb_xkb_sa_move_ptr_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_move_ptr_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_move_ptr_end
- **
- ** @param xcb_xkb_sa_move_ptr_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_move_ptr_end (xcb_xkb_sa_move_ptr_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_ptr_btn_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_ptr_btn_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_ptr_btn_next
- **
- ** @param xcb_xkb_sa_ptr_btn_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_ptr_btn_next (xcb_xkb_sa_ptr_btn_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_ptr_btn_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_ptr_btn_end
- **
- ** @param xcb_xkb_sa_ptr_btn_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_ptr_btn_end (xcb_xkb_sa_ptr_btn_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_lock_ptr_btn_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_lock_ptr_btn_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_ptr_btn_next
- **
- ** @param xcb_xkb_sa_lock_ptr_btn_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_ptr_btn_next (xcb_xkb_sa_lock_ptr_btn_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_lock_ptr_btn_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_ptr_btn_end
- **
- ** @param xcb_xkb_sa_lock_ptr_btn_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_ptr_btn_end (xcb_xkb_sa_lock_ptr_btn_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_set_ptr_dflt_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_set_ptr_dflt_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_set_ptr_dflt_next
- **
- ** @param xcb_xkb_sa_set_ptr_dflt_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_set_ptr_dflt_next (xcb_xkb_sa_set_ptr_dflt_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_set_ptr_dflt_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_set_ptr_dflt_end
- **
- ** @param xcb_xkb_sa_set_ptr_dflt_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_set_ptr_dflt_end (xcb_xkb_sa_set_ptr_dflt_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_iso_lock_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_iso_lock_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_iso_lock_next
- **
- ** @param xcb_xkb_sa_iso_lock_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_iso_lock_next (xcb_xkb_sa_iso_lock_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_iso_lock_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_iso_lock_end
- **
- ** @param xcb_xkb_sa_iso_lock_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_iso_lock_end (xcb_xkb_sa_iso_lock_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_terminate_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_terminate_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_terminate_next
- **
- ** @param xcb_xkb_sa_terminate_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_terminate_next (xcb_xkb_sa_terminate_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_terminate_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_terminate_end
- **
- ** @param xcb_xkb_sa_terminate_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_terminate_end (xcb_xkb_sa_terminate_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_switch_screen_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_switch_screen_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_switch_screen_next
- **
- ** @param xcb_xkb_sa_switch_screen_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_switch_screen_next (xcb_xkb_sa_switch_screen_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_switch_screen_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_switch_screen_end
- **
- ** @param xcb_xkb_sa_switch_screen_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_switch_screen_end (xcb_xkb_sa_switch_screen_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_set_controls_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_set_controls_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_set_controls_next
- **
- ** @param xcb_xkb_sa_set_controls_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_set_controls_next (xcb_xkb_sa_set_controls_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_set_controls_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_set_controls_end
- **
- ** @param xcb_xkb_sa_set_controls_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_set_controls_end (xcb_xkb_sa_set_controls_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_lock_controls_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_lock_controls_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_controls_next
- **
- ** @param xcb_xkb_sa_lock_controls_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_controls_next (xcb_xkb_sa_lock_controls_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_lock_controls_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_controls_end
- **
- ** @param xcb_xkb_sa_lock_controls_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_controls_end (xcb_xkb_sa_lock_controls_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_action_message_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_action_message_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_action_message_next
- **
- ** @param xcb_xkb_sa_action_message_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_action_message_next (xcb_xkb_sa_action_message_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_action_message_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_action_message_end
- **
- ** @param xcb_xkb_sa_action_message_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_action_message_end (xcb_xkb_sa_action_message_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_redirect_key_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_redirect_key_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_redirect_key_next
- **
- ** @param xcb_xkb_sa_redirect_key_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_redirect_key_next (xcb_xkb_sa_redirect_key_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_redirect_key_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_redirect_key_end
- **
- ** @param xcb_xkb_sa_redirect_key_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_redirect_key_end (xcb_xkb_sa_redirect_key_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_device_btn_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_device_btn_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_device_btn_next
- **
- ** @param xcb_xkb_sa_device_btn_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_device_btn_next (xcb_xkb_sa_device_btn_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_device_btn_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_device_btn_end
- **
- ** @param xcb_xkb_sa_device_btn_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_device_btn_end (xcb_xkb_sa_device_btn_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_lock_device_btn_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_lock_device_btn_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_device_btn_next
- **
- ** @param xcb_xkb_sa_lock_device_btn_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_device_btn_next (xcb_xkb_sa_lock_device_btn_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_lock_device_btn_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_device_btn_end
- **
- ** @param xcb_xkb_sa_lock_device_btn_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_device_btn_end (xcb_xkb_sa_lock_device_btn_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sa_device_valuator_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sa_device_valuator_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_device_valuator_next
- **
- ** @param xcb_xkb_sa_device_valuator_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_device_valuator_next (xcb_xkb_sa_device_valuator_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sa_device_valuator_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_device_valuator_end
- **
- ** @param xcb_xkb_sa_device_valuator_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_device_valuator_end (xcb_xkb_sa_device_valuator_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_si_action_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_si_action_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_si_action_next
- **
- ** @param xcb_xkb_si_action_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_si_action_next (xcb_xkb_si_action_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_si_action_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_si_action_end
- **
- ** @param xcb_xkb_si_action_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_si_action_end (xcb_xkb_si_action_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_sym_interpret_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_sym_interpret_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sym_interpret_next
- **
- ** @param xcb_xkb_sym_interpret_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sym_interpret_next (xcb_xkb_sym_interpret_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_sym_interpret_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sym_interpret_end
- **
- ** @param xcb_xkb_sym_interpret_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sym_interpret_end (xcb_xkb_sym_interpret_iterator_t i /**< */);
-
-/**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_xkb_action_iterator_t
- *
- * Get the next element in the iterator. The member rem is
- * decreased by one. The member data points to the next
- * element. The member index is increased by sizeof(xcb_xkb_action_t)
- */
-
-/*****************************************************************************
- **
- ** void xcb_xkb_action_next
- **
- ** @param xcb_xkb_action_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_action_next (xcb_xkb_action_iterator_t *i /**< */);
-
-/**
- * Return the iterator pointing to the last element
- * @param i An xcb_xkb_action_iterator_t
- * @return The iterator pointing to the last element
- *
- * Set the current element in the iterator to the last element.
- * The member rem is set to 0. The member data points to the
- * last element.
- */
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_action_end
- **
- ** @param xcb_xkb_action_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_action_end (xcb_xkb_action_iterator_t i /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_use_extension_cookie_t xcb_xkb_use_extension
- **
- ** @param xcb_connection_t *c
- ** @param uint16_t wantedMajor
- ** @param uint16_t wantedMinor
- ** @returns xcb_xkb_use_extension_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_use_extension_cookie_t
-xcb_xkb_use_extension (xcb_connection_t *c /**< */,
- uint16_t wantedMajor /**< */,
- uint16_t wantedMinor /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_use_extension_cookie_t xcb_xkb_use_extension_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint16_t wantedMajor
- ** @param uint16_t wantedMinor
- ** @returns xcb_xkb_use_extension_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_use_extension_cookie_t
-xcb_xkb_use_extension_unchecked (xcb_connection_t *c /**< */,
- uint16_t wantedMajor /**< */,
- uint16_t wantedMinor /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_use_extension_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_use_extension_reply_t * xcb_xkb_use_extension_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_use_extension_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_use_extension_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_use_extension_reply_t *
-xcb_xkb_use_extension_reply (xcb_connection_t *c /**< */,
- xcb_xkb_use_extension_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_xkb_select_events_details_serialize (void **_buffer /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- const xcb_xkb_select_events_details_t *_aux /**< */);
-
-int
-xcb_xkb_select_events_details_unpack (const void *_buffer /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- xcb_xkb_select_events_details_t *_aux /**< */);
-
-int
-xcb_xkb_select_events_details_sizeof (const void *_buffer /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_select_events_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t affectWhich
- ** @param uint16_t clear
- ** @param uint16_t selectAll
- ** @param uint16_t affectMap
- ** @param uint16_t map
- ** @param const void *details
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_select_events_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- uint16_t affectMap /**< */,
- uint16_t map /**< */,
- const void *details /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_select_events
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t affectWhich
- ** @param uint16_t clear
- ** @param uint16_t selectAll
- ** @param uint16_t affectMap
- ** @param uint16_t map
- ** @param const void *details
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_select_events (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- uint16_t affectMap /**< */,
- uint16_t map /**< */,
- const void *details /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_select_events_aux_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t affectWhich
- ** @param uint16_t clear
- ** @param uint16_t selectAll
- ** @param uint16_t affectMap
- ** @param uint16_t map
- ** @param const xcb_xkb_select_events_details_t *details
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_select_events_aux_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- uint16_t affectMap /**< */,
- uint16_t map /**< */,
- const xcb_xkb_select_events_details_t *details /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_select_events_aux
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t affectWhich
- ** @param uint16_t clear
- ** @param uint16_t selectAll
- ** @param uint16_t affectMap
- ** @param uint16_t map
- ** @param const xcb_xkb_select_events_details_t *details
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_select_events_aux (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- uint16_t affectMap /**< */,
- uint16_t map /**< */,
- const xcb_xkb_select_events_details_t *details /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_bell_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_bell_class_spec_t bellClass
- ** @param xcb_xkb_id_spec_t bellID
- ** @param int8_t percent
- ** @param uint8_t forceSound
- ** @param uint8_t eventOnly
- ** @param int16_t pitch
- ** @param int16_t duration
- ** @param xcb_atom_t name
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_bell_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_bell_class_spec_t bellClass /**< */,
- xcb_xkb_id_spec_t bellID /**< */,
- int8_t percent /**< */,
- uint8_t forceSound /**< */,
- uint8_t eventOnly /**< */,
- int16_t pitch /**< */,
- int16_t duration /**< */,
- xcb_atom_t name /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_bell
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_bell_class_spec_t bellClass
- ** @param xcb_xkb_id_spec_t bellID
- ** @param int8_t percent
- ** @param uint8_t forceSound
- ** @param uint8_t eventOnly
- ** @param int16_t pitch
- ** @param int16_t duration
- ** @param xcb_atom_t name
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_bell (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_bell_class_spec_t bellClass /**< */,
- xcb_xkb_id_spec_t bellID /**< */,
- int8_t percent /**< */,
- uint8_t forceSound /**< */,
- uint8_t eventOnly /**< */,
- int16_t pitch /**< */,
- int16_t duration /**< */,
- xcb_atom_t name /**< */,
- xcb_window_t window /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_state_cookie_t xcb_xkb_get_state
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_state_cookie_t
-xcb_xkb_get_state (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_state_cookie_t xcb_xkb_get_state_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_state_cookie_t
-xcb_xkb_get_state_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_state_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_state_reply_t * xcb_xkb_get_state_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_state_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_state_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_state_reply_t *
-xcb_xkb_get_state_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_state_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_latch_lock_state_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t affectModLocks
- ** @param uint8_t modLocks
- ** @param uint8_t lockGroup
- ** @param uint8_t groupLock
- ** @param uint8_t affectModLatches
- ** @param uint8_t latchGroup
- ** @param uint16_t groupLatch
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_latch_lock_state_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t affectModLocks /**< */,
- uint8_t modLocks /**< */,
- uint8_t lockGroup /**< */,
- uint8_t groupLock /**< */,
- uint8_t affectModLatches /**< */,
- uint8_t latchGroup /**< */,
- uint16_t groupLatch /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_latch_lock_state
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t affectModLocks
- ** @param uint8_t modLocks
- ** @param uint8_t lockGroup
- ** @param uint8_t groupLock
- ** @param uint8_t affectModLatches
- ** @param uint8_t latchGroup
- ** @param uint16_t groupLatch
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_latch_lock_state (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t affectModLocks /**< */,
- uint8_t modLocks /**< */,
- uint8_t lockGroup /**< */,
- uint8_t groupLock /**< */,
- uint8_t affectModLatches /**< */,
- uint8_t latchGroup /**< */,
- uint16_t groupLatch /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_controls_cookie_t xcb_xkb_get_controls
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_controls_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_controls_cookie_t
-xcb_xkb_get_controls (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_controls_cookie_t xcb_xkb_get_controls_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_controls_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_controls_cookie_t
-xcb_xkb_get_controls_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_controls_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_controls_reply_t * xcb_xkb_get_controls_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_controls_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_controls_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_controls_reply_t *
-xcb_xkb_get_controls_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_controls_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_controls_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t affectInternalRealMods
- ** @param uint8_t internalRealMods
- ** @param uint8_t affectIgnoreLockRealMods
- ** @param uint8_t ignoreLockRealMods
- ** @param uint16_t affectInternalVirtualMods
- ** @param uint16_t internalVirtualMods
- ** @param uint16_t affectIgnoreLockVirtualMods
- ** @param uint16_t ignoreLockVirtualMods
- ** @param uint8_t mouseKeysDfltBtn
- ** @param uint8_t groupsWrap
- ** @param uint16_t accessXOptions
- ** @param uint32_t affectEnabledControls
- ** @param uint32_t enabledControls
- ** @param uint32_t changeControls
- ** @param uint16_t repeatDelay
- ** @param uint16_t repeatInterval
- ** @param uint16_t slowKeysDelay
- ** @param uint16_t debounceDelay
- ** @param uint16_t mouseKeysDelay
- ** @param uint16_t mouseKeysInterval
- ** @param uint16_t mouseKeysTimeToMax
- ** @param uint16_t mouseKeysMaxSpeed
- ** @param int16_t mouseKeysCurve
- ** @param uint16_t accessXTimeout
- ** @param uint32_t accessXTimeoutMask
- ** @param uint32_t accessXTimeoutValues
- ** @param uint16_t accessXTimeoutOptionsMask
- ** @param uint16_t accessXTimeoutOptionsValues
- ** @param const uint8_t *perKeyRepeat
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_controls_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t affectInternalRealMods /**< */,
- uint8_t internalRealMods /**< */,
- uint8_t affectIgnoreLockRealMods /**< */,
- uint8_t ignoreLockRealMods /**< */,
- uint16_t affectInternalVirtualMods /**< */,
- uint16_t internalVirtualMods /**< */,
- uint16_t affectIgnoreLockVirtualMods /**< */,
- uint16_t ignoreLockVirtualMods /**< */,
- uint8_t mouseKeysDfltBtn /**< */,
- uint8_t groupsWrap /**< */,
- uint16_t accessXOptions /**< */,
- uint32_t affectEnabledControls /**< */,
- uint32_t enabledControls /**< */,
- uint32_t changeControls /**< */,
- uint16_t repeatDelay /**< */,
- uint16_t repeatInterval /**< */,
- uint16_t slowKeysDelay /**< */,
- uint16_t debounceDelay /**< */,
- uint16_t mouseKeysDelay /**< */,
- uint16_t mouseKeysInterval /**< */,
- uint16_t mouseKeysTimeToMax /**< */,
- uint16_t mouseKeysMaxSpeed /**< */,
- int16_t mouseKeysCurve /**< */,
- uint16_t accessXTimeout /**< */,
- uint32_t accessXTimeoutMask /**< */,
- uint32_t accessXTimeoutValues /**< */,
- uint16_t accessXTimeoutOptionsMask /**< */,
- uint16_t accessXTimeoutOptionsValues /**< */,
- const uint8_t *perKeyRepeat /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_controls
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t affectInternalRealMods
- ** @param uint8_t internalRealMods
- ** @param uint8_t affectIgnoreLockRealMods
- ** @param uint8_t ignoreLockRealMods
- ** @param uint16_t affectInternalVirtualMods
- ** @param uint16_t internalVirtualMods
- ** @param uint16_t affectIgnoreLockVirtualMods
- ** @param uint16_t ignoreLockVirtualMods
- ** @param uint8_t mouseKeysDfltBtn
- ** @param uint8_t groupsWrap
- ** @param uint16_t accessXOptions
- ** @param uint32_t affectEnabledControls
- ** @param uint32_t enabledControls
- ** @param uint32_t changeControls
- ** @param uint16_t repeatDelay
- ** @param uint16_t repeatInterval
- ** @param uint16_t slowKeysDelay
- ** @param uint16_t debounceDelay
- ** @param uint16_t mouseKeysDelay
- ** @param uint16_t mouseKeysInterval
- ** @param uint16_t mouseKeysTimeToMax
- ** @param uint16_t mouseKeysMaxSpeed
- ** @param int16_t mouseKeysCurve
- ** @param uint16_t accessXTimeout
- ** @param uint32_t accessXTimeoutMask
- ** @param uint32_t accessXTimeoutValues
- ** @param uint16_t accessXTimeoutOptionsMask
- ** @param uint16_t accessXTimeoutOptionsValues
- ** @param const uint8_t *perKeyRepeat
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_controls (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t affectInternalRealMods /**< */,
- uint8_t internalRealMods /**< */,
- uint8_t affectIgnoreLockRealMods /**< */,
- uint8_t ignoreLockRealMods /**< */,
- uint16_t affectInternalVirtualMods /**< */,
- uint16_t internalVirtualMods /**< */,
- uint16_t affectIgnoreLockVirtualMods /**< */,
- uint16_t ignoreLockVirtualMods /**< */,
- uint8_t mouseKeysDfltBtn /**< */,
- uint8_t groupsWrap /**< */,
- uint16_t accessXOptions /**< */,
- uint32_t affectEnabledControls /**< */,
- uint32_t enabledControls /**< */,
- uint32_t changeControls /**< */,
- uint16_t repeatDelay /**< */,
- uint16_t repeatInterval /**< */,
- uint16_t slowKeysDelay /**< */,
- uint16_t debounceDelay /**< */,
- uint16_t mouseKeysDelay /**< */,
- uint16_t mouseKeysInterval /**< */,
- uint16_t mouseKeysTimeToMax /**< */,
- uint16_t mouseKeysMaxSpeed /**< */,
- int16_t mouseKeysCurve /**< */,
- uint16_t accessXTimeout /**< */,
- uint32_t accessXTimeoutMask /**< */,
- uint32_t accessXTimeoutValues /**< */,
- uint16_t accessXTimeoutOptionsMask /**< */,
- uint16_t accessXTimeoutOptionsValues /**< */,
- const uint8_t *perKeyRepeat /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_types_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_types_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_type_iterator_t xcb_xkb_get_map_map_types_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_key_type_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_type_iterator_t
-xcb_xkb_get_map_map_types_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_syms_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_syms_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_get_map_map_syms_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_key_sym_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_sym_map_iterator_t
-xcb_xkb_get_map_map_syms_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_map_map_acts_rtrn_count
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_map_map_acts_rtrn_count (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_acts_rtrn_count_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_acts_rtrn_count_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_acts_rtrn_count_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_acts_rtrn_count_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_map_map_alignment_pad
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_map_map_alignment_pad (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_alignment_pad_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_alignment_pad_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_alignment_pad_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_t * xcb_xkb_get_map_map_acts_rtrn_acts
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_action_t *
- **
- *****************************************************************************/
-
-xcb_xkb_action_t *
-xcb_xkb_get_map_map_acts_rtrn_acts (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_acts_rtrn_acts_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_acts_rtrn_acts_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_iterator_t xcb_xkb_get_map_map_acts_rtrn_acts_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_action_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_action_iterator_t
-xcb_xkb_get_map_map_acts_rtrn_acts_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_t * xcb_xkb_get_map_map_behaviors_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_set_behavior_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_t *
-xcb_xkb_get_map_map_behaviors_rtrn (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_behaviors_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_behaviors_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_iterator_t xcb_xkb_get_map_map_behaviors_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_set_behavior_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_iterator_t
-xcb_xkb_get_map_map_behaviors_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_map_map_vmods_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_map_map_vmods_rtrn (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_vmods_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_vmods_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_vmods_rtrn_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_vmods_rtrn_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_map_map_alignment_pad_2
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_map_map_alignment_pad_2 (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_alignment_pad_2_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_alignment_pad_2_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_2_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_alignment_pad_2_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_t * xcb_xkb_get_map_map_explicit_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_set_explicit_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_t *
-xcb_xkb_get_map_map_explicit_rtrn (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_explicit_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_explicit_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_iterator_t xcb_xkb_get_map_map_explicit_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_set_explicit_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_iterator_t
-xcb_xkb_get_map_map_explicit_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_xkb_get_map_map_alignment_pad_3
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_xkb_get_map_map_alignment_pad_3 (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_alignment_pad_3_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_alignment_pad_3_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_3_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_alignment_pad_3_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_t * xcb_xkb_get_map_map_modmap_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_key_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_t *
-xcb_xkb_get_map_map_modmap_rtrn (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_modmap_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_modmap_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_get_map_map_modmap_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_key_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_iterator_t
-xcb_xkb_get_map_map_modmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_xkb_get_map_map_alignment_pad_4
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_xkb_get_map_map_alignment_pad_4 (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_alignment_pad_4_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_alignment_pad_4_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_4_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_alignment_pad_4_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_t * xcb_xkb_get_map_map_vmodmap_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_key_v_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_t *
-xcb_xkb_get_map_map_vmodmap_rtrn (const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_vmodmap_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_vmodmap_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_get_map_map_vmodmap_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_key_v_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_iterator_t
-xcb_xkb_get_map_map_vmodmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */);
-
-int
-xcb_xkb_get_map_map_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- const xcb_xkb_get_map_map_t *_aux /**< */);
-
-int
-xcb_xkb_get_map_map_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- xcb_xkb_get_map_map_t *_aux /**< */);
-
-int
-xcb_xkb_get_map_map_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_map_cookie_t xcb_xkb_get_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t full
- ** @param uint16_t partial
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint16_t virtualMods
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @returns xcb_xkb_get_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_map_cookie_t
-xcb_xkb_get_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t full /**< */,
- uint16_t partial /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_map_cookie_t xcb_xkb_get_map_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t full
- ** @param uint16_t partial
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint16_t virtualMods
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @returns xcb_xkb_get_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_map_cookie_t
-xcb_xkb_get_map_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t full /**< */,
- uint16_t partial /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_map_map_t * xcb_xkb_get_map_map
- **
- ** @param const xcb_xkb_get_map_reply_t *R
- ** @returns xcb_xkb_get_map_map_t *
- **
- *****************************************************************************/
-
-void *
-xcb_xkb_get_map_map (const xcb_xkb_get_map_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_map_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_map_reply_t * xcb_xkb_get_map_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_map_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_map_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_map_reply_t *
-xcb_xkb_get_map_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_map_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_types_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_types_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_key_type_iterator_t xcb_xkb_set_map_values_types_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_set_key_type_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_key_type_iterator_t
-xcb_xkb_set_map_values_types_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_syms_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_syms_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_set_map_values_syms_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_key_sym_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_sym_map_iterator_t
-xcb_xkb_set_map_values_syms_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_set_map_values_actions_count
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_set_map_values_actions_count (const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_actions_count_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_actions_count_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_map_values_actions_count_end
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_map_values_actions_count_end (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_t * xcb_xkb_set_map_values_actions
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_action_t *
- **
- *****************************************************************************/
-
-xcb_xkb_action_t *
-xcb_xkb_set_map_values_actions (const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_actions_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_actions_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_iterator_t xcb_xkb_set_map_values_actions_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_action_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_action_iterator_t
-xcb_xkb_set_map_values_actions_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_t * xcb_xkb_set_map_values_behaviors
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_set_behavior_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_t *
-xcb_xkb_set_map_values_behaviors (const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_behaviors_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_behaviors_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_iterator_t xcb_xkb_set_map_values_behaviors_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_set_behavior_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_iterator_t
-xcb_xkb_set_map_values_behaviors_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_set_map_values_vmods
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_set_map_values_vmods (const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_vmods_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_vmods_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_map_values_vmods_end
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_map_values_vmods_end (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_t * xcb_xkb_set_map_values_explicit
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_set_explicit_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_t *
-xcb_xkb_set_map_values_explicit (const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_explicit_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_explicit_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_iterator_t xcb_xkb_set_map_values_explicit_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_set_explicit_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_iterator_t
-xcb_xkb_set_map_values_explicit_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_t * xcb_xkb_set_map_values_modmap
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_key_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_t *
-xcb_xkb_set_map_values_modmap (const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_modmap_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_modmap_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_set_map_values_modmap_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_key_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_iterator_t
-xcb_xkb_set_map_values_modmap_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_t * xcb_xkb_set_map_values_vmodmap
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_key_v_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_t *
-xcb_xkb_set_map_values_vmodmap (const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_vmodmap_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_vmodmap_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_set_map_values_vmodmap_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_key_v_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_iterator_t
-xcb_xkb_set_map_values_vmodmap_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */);
-
-int
-xcb_xkb_set_map_values_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- const xcb_xkb_set_map_values_t *_aux /**< */);
-
-int
-xcb_xkb_set_map_values_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- xcb_xkb_set_map_values_t *_aux /**< */);
-
-int
-xcb_xkb_set_map_values_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_map_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t present
- ** @param uint16_t flags
- ** @param xcb_keycode_t minKeyCode
- ** @param xcb_keycode_t maxKeyCode
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param uint16_t totalSyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param uint16_t totalActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint8_t totalKeyBehaviors
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param uint8_t totalKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param uint8_t totalModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @param uint8_t totalVModMapKeys
- ** @param uint16_t virtualMods
- ** @param const void *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_map_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t present /**< */,
- uint16_t flags /**< */,
- xcb_keycode_t minKeyCode /**< */,
- xcb_keycode_t maxKeyCode /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- uint16_t totalSyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint8_t totalKeyBehaviors /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- uint8_t totalKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- uint8_t totalModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t virtualMods /**< */,
- const void *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t present
- ** @param uint16_t flags
- ** @param xcb_keycode_t minKeyCode
- ** @param xcb_keycode_t maxKeyCode
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param uint16_t totalSyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param uint16_t totalActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint8_t totalKeyBehaviors
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param uint8_t totalKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param uint8_t totalModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @param uint8_t totalVModMapKeys
- ** @param uint16_t virtualMods
- ** @param const void *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t present /**< */,
- uint16_t flags /**< */,
- xcb_keycode_t minKeyCode /**< */,
- xcb_keycode_t maxKeyCode /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- uint16_t totalSyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint8_t totalKeyBehaviors /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- uint8_t totalKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- uint8_t totalModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t virtualMods /**< */,
- const void *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_map_aux_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t present
- ** @param uint16_t flags
- ** @param xcb_keycode_t minKeyCode
- ** @param xcb_keycode_t maxKeyCode
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param uint16_t totalSyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param uint16_t totalActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint8_t totalKeyBehaviors
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param uint8_t totalKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param uint8_t totalModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @param uint8_t totalVModMapKeys
- ** @param uint16_t virtualMods
- ** @param const xcb_xkb_set_map_values_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_map_aux_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t present /**< */,
- uint16_t flags /**< */,
- xcb_keycode_t minKeyCode /**< */,
- xcb_keycode_t maxKeyCode /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- uint16_t totalSyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint8_t totalKeyBehaviors /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- uint8_t totalKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- uint8_t totalModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t virtualMods /**< */,
- const xcb_xkb_set_map_values_t *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_map_aux
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t present
- ** @param uint16_t flags
- ** @param xcb_keycode_t minKeyCode
- ** @param xcb_keycode_t maxKeyCode
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param uint16_t totalSyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param uint16_t totalActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint8_t totalKeyBehaviors
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param uint8_t totalKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param uint8_t totalModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @param uint8_t totalVModMapKeys
- ** @param uint16_t virtualMods
- ** @param const xcb_xkb_set_map_values_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_map_aux (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t present /**< */,
- uint16_t flags /**< */,
- xcb_keycode_t minKeyCode /**< */,
- xcb_keycode_t maxKeyCode /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- uint16_t totalSyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint8_t totalKeyBehaviors /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- uint8_t totalKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- uint8_t totalModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t virtualMods /**< */,
- const xcb_xkb_set_map_values_t *values /**< */);
-
-int
-xcb_xkb_get_compat_map_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_compat_map_cookie_t xcb_xkb_get_compat_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t groups
- ** @param uint8_t getAllSI
- ** @param uint16_t firstSI
- ** @param uint16_t nSI
- ** @returns xcb_xkb_get_compat_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_compat_map_cookie_t
-xcb_xkb_get_compat_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t groups /**< */,
- uint8_t getAllSI /**< */,
- uint16_t firstSI /**< */,
- uint16_t nSI /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_compat_map_cookie_t xcb_xkb_get_compat_map_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t groups
- ** @param uint8_t getAllSI
- ** @param uint16_t firstSI
- ** @param uint16_t nSI
- ** @returns xcb_xkb_get_compat_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_compat_map_cookie_t
-xcb_xkb_get_compat_map_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t groups /**< */,
- uint8_t getAllSI /**< */,
- uint16_t firstSI /**< */,
- uint16_t nSI /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_sym_interpret_t * xcb_xkb_get_compat_map_si_rtrn
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns xcb_xkb_sym_interpret_t *
- **
- *****************************************************************************/
-
-xcb_xkb_sym_interpret_t *
-xcb_xkb_get_compat_map_si_rtrn (const xcb_xkb_get_compat_map_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_compat_map_si_rtrn_length
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_compat_map_si_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_sym_interpret_iterator_t xcb_xkb_get_compat_map_si_rtrn_iterator
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns xcb_xkb_sym_interpret_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_sym_interpret_iterator_t
-xcb_xkb_get_compat_map_si_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_t * xcb_xkb_get_compat_map_group_rtrn
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns xcb_xkb_mod_def_t *
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_t *
-xcb_xkb_get_compat_map_group_rtrn (const xcb_xkb_get_compat_map_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_compat_map_group_rtrn_length
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_compat_map_group_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_iterator_t xcb_xkb_get_compat_map_group_rtrn_iterator
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns xcb_xkb_mod_def_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_iterator_t
-xcb_xkb_get_compat_map_group_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_compat_map_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_compat_map_reply_t * xcb_xkb_get_compat_map_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_compat_map_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_compat_map_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_compat_map_reply_t *
-xcb_xkb_get_compat_map_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_compat_map_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_xkb_set_compat_map_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_compat_map_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t recomputeActions
- ** @param uint8_t truncateSI
- ** @param uint8_t groups
- ** @param uint16_t firstSI
- ** @param uint16_t nSI
- ** @param const xcb_xkb_sym_interpret_t *si
- ** @param const xcb_xkb_mod_def_t *groupMaps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_compat_map_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t recomputeActions /**< */,
- uint8_t truncateSI /**< */,
- uint8_t groups /**< */,
- uint16_t firstSI /**< */,
- uint16_t nSI /**< */,
- const xcb_xkb_sym_interpret_t *si /**< */,
- const xcb_xkb_mod_def_t *groupMaps /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_compat_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t recomputeActions
- ** @param uint8_t truncateSI
- ** @param uint8_t groups
- ** @param uint16_t firstSI
- ** @param uint16_t nSI
- ** @param const xcb_xkb_sym_interpret_t *si
- ** @param const xcb_xkb_mod_def_t *groupMaps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_compat_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t recomputeActions /**< */,
- uint8_t truncateSI /**< */,
- uint8_t groups /**< */,
- uint16_t firstSI /**< */,
- uint16_t nSI /**< */,
- const xcb_xkb_sym_interpret_t *si /**< */,
- const xcb_xkb_mod_def_t *groupMaps /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_state_cookie_t xcb_xkb_get_indicator_state
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_indicator_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_state_cookie_t
-xcb_xkb_get_indicator_state (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_state_cookie_t xcb_xkb_get_indicator_state_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_indicator_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_state_cookie_t
-xcb_xkb_get_indicator_state_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_indicator_state_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_state_reply_t * xcb_xkb_get_indicator_state_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_indicator_state_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_indicator_state_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_state_reply_t *
-xcb_xkb_get_indicator_state_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_indicator_state_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_xkb_get_indicator_map_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_map_cookie_t xcb_xkb_get_indicator_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @returns xcb_xkb_get_indicator_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_map_cookie_t
-xcb_xkb_get_indicator_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_map_cookie_t xcb_xkb_get_indicator_map_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @returns xcb_xkb_get_indicator_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_map_cookie_t
-xcb_xkb_get_indicator_map_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_t * xcb_xkb_get_indicator_map_maps
- **
- ** @param const xcb_xkb_get_indicator_map_reply_t *R
- ** @returns xcb_xkb_indicator_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_t *
-xcb_xkb_get_indicator_map_maps (const xcb_xkb_get_indicator_map_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_indicator_map_maps_length
- **
- ** @param const xcb_xkb_get_indicator_map_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_indicator_map_maps_length (const xcb_xkb_get_indicator_map_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_iterator_t xcb_xkb_get_indicator_map_maps_iterator
- **
- ** @param const xcb_xkb_get_indicator_map_reply_t *R
- ** @returns xcb_xkb_indicator_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_iterator_t
-xcb_xkb_get_indicator_map_maps_iterator (const xcb_xkb_get_indicator_map_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_indicator_map_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_map_reply_t * xcb_xkb_get_indicator_map_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_indicator_map_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_indicator_map_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_map_reply_t *
-xcb_xkb_get_indicator_map_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_indicator_map_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_xkb_set_indicator_map_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_indicator_map_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @param const xcb_xkb_indicator_map_t *maps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_indicator_map_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */,
- const xcb_xkb_indicator_map_t *maps /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_indicator_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @param const xcb_xkb_indicator_map_t *maps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_indicator_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */,
- const xcb_xkb_indicator_map_t *maps /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_named_indicator_cookie_t xcb_xkb_get_named_indicator
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @param xcb_atom_t indicator
- ** @returns xcb_xkb_get_named_indicator_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_named_indicator_cookie_t
-xcb_xkb_get_named_indicator (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */,
- xcb_atom_t indicator /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_named_indicator_cookie_t xcb_xkb_get_named_indicator_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @param xcb_atom_t indicator
- ** @returns xcb_xkb_get_named_indicator_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_named_indicator_cookie_t
-xcb_xkb_get_named_indicator_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */,
- xcb_atom_t indicator /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_named_indicator_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_named_indicator_reply_t * xcb_xkb_get_named_indicator_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_named_indicator_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_named_indicator_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_named_indicator_reply_t *
-xcb_xkb_get_named_indicator_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_named_indicator_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_named_indicator_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @param xcb_atom_t indicator
- ** @param uint8_t setState
- ** @param uint8_t on
- ** @param uint8_t setMap
- ** @param uint8_t createMap
- ** @param uint8_t map_flags
- ** @param uint8_t map_whichGroups
- ** @param uint8_t map_groups
- ** @param uint8_t map_whichMods
- ** @param uint8_t map_realMods
- ** @param uint16_t map_vmods
- ** @param uint32_t map_ctrls
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_named_indicator_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */,
- xcb_atom_t indicator /**< */,
- uint8_t setState /**< */,
- uint8_t on /**< */,
- uint8_t setMap /**< */,
- uint8_t createMap /**< */,
- uint8_t map_flags /**< */,
- uint8_t map_whichGroups /**< */,
- uint8_t map_groups /**< */,
- uint8_t map_whichMods /**< */,
- uint8_t map_realMods /**< */,
- uint16_t map_vmods /**< */,
- uint32_t map_ctrls /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_named_indicator
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @param xcb_atom_t indicator
- ** @param uint8_t setState
- ** @param uint8_t on
- ** @param uint8_t setMap
- ** @param uint8_t createMap
- ** @param uint8_t map_flags
- ** @param uint8_t map_whichGroups
- ** @param uint8_t map_groups
- ** @param uint8_t map_whichMods
- ** @param uint8_t map_realMods
- ** @param uint16_t map_vmods
- ** @param uint32_t map_ctrls
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_named_indicator (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */,
- xcb_atom_t indicator /**< */,
- uint8_t setState /**< */,
- uint8_t on /**< */,
- uint8_t setMap /**< */,
- uint8_t createMap /**< */,
- uint8_t map_flags /**< */,
- uint8_t map_whichGroups /**< */,
- uint8_t map_groups /**< */,
- uint8_t map_whichMods /**< */,
- uint8_t map_realMods /**< */,
- uint16_t map_vmods /**< */,
- uint32_t map_ctrls /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_type_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_type_names (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_type_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_type_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_type_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_type_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_names_value_list_n_levels_per_type
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_names_value_list_n_levels_per_type (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_n_levels_per_type_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_n_levels_per_type_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_n_levels_per_type_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_n_levels_per_type_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_names_value_list_alignment_pad
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_names_value_list_alignment_pad (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_alignment_pad_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_alignment_pad_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_alignment_pad_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_alignment_pad_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_kt_level_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_kt_level_names (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_kt_level_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_kt_level_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_kt_level_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_kt_level_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_indicator_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_indicator_names (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_indicator_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_indicator_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_indicator_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_indicator_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_virtual_mod_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_virtual_mod_names (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_virtual_mod_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_virtual_mod_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_virtual_mod_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_virtual_mod_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_groups
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_groups (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_groups_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_groups_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_groups_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_groups_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_t * xcb_xkb_get_names_value_list_key_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_xkb_key_name_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_t *
-xcb_xkb_get_names_value_list_key_names (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_key_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_key_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_iterator_t xcb_xkb_get_names_value_list_key_names_iterator
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_xkb_key_name_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_iterator_t
-xcb_xkb_get_names_value_list_key_names_iterator (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_t * xcb_xkb_get_names_value_list_key_aliases
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_xkb_key_alias_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_t *
-xcb_xkb_get_names_value_list_key_aliases (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_key_aliases_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_key_aliases_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_iterator_t xcb_xkb_get_names_value_list_key_aliases_iterator
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_xkb_key_alias_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_iterator_t
-xcb_xkb_get_names_value_list_key_aliases_iterator (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_radio_group_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_radio_group_names (const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_radio_group_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_radio_group_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_radio_group_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_radio_group_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */);
-
-int
-xcb_xkb_get_names_value_list_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- const xcb_xkb_get_names_value_list_t *_aux /**< */);
-
-int
-xcb_xkb_get_names_value_list_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- xcb_xkb_get_names_value_list_t *_aux /**< */);
-
-int
-xcb_xkb_get_names_value_list_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_names_cookie_t xcb_xkb_get_names
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @returns xcb_xkb_get_names_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_names_cookie_t
-xcb_xkb_get_names (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_names_cookie_t xcb_xkb_get_names_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @returns xcb_xkb_get_names_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_names_cookie_t
-xcb_xkb_get_names_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_names_value_list_t * xcb_xkb_get_names_value_list
- **
- ** @param const xcb_xkb_get_names_reply_t *R
- ** @returns xcb_xkb_get_names_value_list_t *
- **
- *****************************************************************************/
-
-void *
-xcb_xkb_get_names_value_list (const xcb_xkb_get_names_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_names_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_names_reply_t * xcb_xkb_get_names_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_names_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_names_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_names_reply_t *
-xcb_xkb_get_names_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_names_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_type_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_type_names (const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_type_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_type_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_type_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_type_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_set_names_values_n_levels_per_type
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_set_names_values_n_levels_per_type (const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_n_levels_per_type_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_n_levels_per_type_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_n_levels_per_type_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_n_levels_per_type_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_kt_level_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_kt_level_names (const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_kt_level_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_kt_level_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_kt_level_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_kt_level_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_indicator_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_indicator_names (const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_indicator_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_indicator_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_indicator_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_indicator_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_virtual_mod_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_virtual_mod_names (const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_virtual_mod_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_virtual_mod_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_virtual_mod_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_virtual_mod_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_groups
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_groups (const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_groups_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_groups_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_groups_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_groups_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_t * xcb_xkb_set_names_values_key_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_xkb_key_name_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_t *
-xcb_xkb_set_names_values_key_names (const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_key_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_key_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_iterator_t xcb_xkb_set_names_values_key_names_iterator
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_xkb_key_name_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_iterator_t
-xcb_xkb_set_names_values_key_names_iterator (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_t * xcb_xkb_set_names_values_key_aliases
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_xkb_key_alias_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_t *
-xcb_xkb_set_names_values_key_aliases (const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_key_aliases_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_key_aliases_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_iterator_t xcb_xkb_set_names_values_key_aliases_iterator
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_xkb_key_alias_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_iterator_t
-xcb_xkb_set_names_values_key_aliases_iterator (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_radio_group_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_radio_group_names (const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_radio_group_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_radio_group_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_radio_group_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_radio_group_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */);
-
-int
-xcb_xkb_set_names_values_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- const xcb_xkb_set_names_values_t *_aux /**< */);
-
-int
-xcb_xkb_set_names_values_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- xcb_xkb_set_names_values_t *_aux /**< */);
-
-int
-xcb_xkb_set_names_values_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_names_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t virtualMods
- ** @param uint32_t which
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param uint8_t firstKTLevelt
- ** @param uint8_t nKTLevels
- ** @param uint32_t indicators
- ** @param uint8_t groupNames
- ** @param uint8_t nRadioGroups
- ** @param xcb_keycode_t firstKey
- ** @param uint8_t nKeys
- ** @param uint8_t nKeyAliases
- ** @param uint16_t totalKTLevelNames
- ** @param const void *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_names_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t virtualMods /**< */,
- uint32_t which /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- uint8_t firstKTLevelt /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint8_t groupNames /**< */,
- uint8_t nRadioGroups /**< */,
- xcb_keycode_t firstKey /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint16_t totalKTLevelNames /**< */,
- const void *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_names
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t virtualMods
- ** @param uint32_t which
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param uint8_t firstKTLevelt
- ** @param uint8_t nKTLevels
- ** @param uint32_t indicators
- ** @param uint8_t groupNames
- ** @param uint8_t nRadioGroups
- ** @param xcb_keycode_t firstKey
- ** @param uint8_t nKeys
- ** @param uint8_t nKeyAliases
- ** @param uint16_t totalKTLevelNames
- ** @param const void *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_names (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t virtualMods /**< */,
- uint32_t which /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- uint8_t firstKTLevelt /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint8_t groupNames /**< */,
- uint8_t nRadioGroups /**< */,
- xcb_keycode_t firstKey /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint16_t totalKTLevelNames /**< */,
- const void *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_names_aux_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t virtualMods
- ** @param uint32_t which
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param uint8_t firstKTLevelt
- ** @param uint8_t nKTLevels
- ** @param uint32_t indicators
- ** @param uint8_t groupNames
- ** @param uint8_t nRadioGroups
- ** @param xcb_keycode_t firstKey
- ** @param uint8_t nKeys
- ** @param uint8_t nKeyAliases
- ** @param uint16_t totalKTLevelNames
- ** @param const xcb_xkb_set_names_values_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_names_aux_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t virtualMods /**< */,
- uint32_t which /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- uint8_t firstKTLevelt /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint8_t groupNames /**< */,
- uint8_t nRadioGroups /**< */,
- xcb_keycode_t firstKey /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint16_t totalKTLevelNames /**< */,
- const xcb_xkb_set_names_values_t *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_names_aux
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t virtualMods
- ** @param uint32_t which
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param uint8_t firstKTLevelt
- ** @param uint8_t nKTLevels
- ** @param uint32_t indicators
- ** @param uint8_t groupNames
- ** @param uint8_t nRadioGroups
- ** @param xcb_keycode_t firstKey
- ** @param uint8_t nKeys
- ** @param uint8_t nKeyAliases
- ** @param uint16_t totalKTLevelNames
- ** @param const xcb_xkb_set_names_values_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_names_aux (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t virtualMods /**< */,
- uint32_t which /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- uint8_t firstKTLevelt /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint8_t groupNames /**< */,
- uint8_t nRadioGroups /**< */,
- xcb_keycode_t firstKey /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint16_t totalKTLevelNames /**< */,
- const xcb_xkb_set_names_values_t *values /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_per_client_flags_cookie_t xcb_xkb_per_client_flags
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t change
- ** @param uint32_t value
- ** @param uint32_t ctrlsToChange
- ** @param uint32_t autoCtrls
- ** @param uint32_t autoCtrlsValues
- ** @returns xcb_xkb_per_client_flags_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_per_client_flags_cookie_t
-xcb_xkb_per_client_flags (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t change /**< */,
- uint32_t value /**< */,
- uint32_t ctrlsToChange /**< */,
- uint32_t autoCtrls /**< */,
- uint32_t autoCtrlsValues /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_per_client_flags_cookie_t xcb_xkb_per_client_flags_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t change
- ** @param uint32_t value
- ** @param uint32_t ctrlsToChange
- ** @param uint32_t autoCtrls
- ** @param uint32_t autoCtrlsValues
- ** @returns xcb_xkb_per_client_flags_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_per_client_flags_cookie_t
-xcb_xkb_per_client_flags_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t change /**< */,
- uint32_t value /**< */,
- uint32_t ctrlsToChange /**< */,
- uint32_t autoCtrls /**< */,
- uint32_t autoCtrlsValues /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_per_client_flags_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_per_client_flags_reply_t * xcb_xkb_per_client_flags_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_per_client_flags_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_per_client_flags_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_per_client_flags_reply_t *
-xcb_xkb_per_client_flags_reply (xcb_connection_t *c /**< */,
- xcb_xkb_per_client_flags_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_xkb_list_components_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_list_components_cookie_t xcb_xkb_list_components
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t maxNames
- ** @returns xcb_xkb_list_components_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_list_components_cookie_t
-xcb_xkb_list_components (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t maxNames /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_list_components_cookie_t xcb_xkb_list_components_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t maxNames
- ** @returns xcb_xkb_list_components_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_list_components_cookie_t
-xcb_xkb_list_components_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t maxNames /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_keymaps_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_keymaps_length (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_keymaps_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_keymaps_iterator (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_keycodes_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_keycodes_length (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_keycodes_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_keycodes_iterator (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_types_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_types_length (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_types_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_types_iterator (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_compat_maps_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_compat_maps_length (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_compat_maps_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_compat_maps_iterator (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_symbols_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_symbols_length (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_symbols_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_symbols_iterator (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_geometries_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_geometries_length (const xcb_xkb_list_components_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_geometries_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_geometries_iterator (const xcb_xkb_list_components_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_list_components_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_list_components_reply_t * xcb_xkb_list_components_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_list_components_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_list_components_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_list_components_reply_t *
-xcb_xkb_list_components_reply (xcb_connection_t *c /**< */,
- xcb_xkb_list_components_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_type_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_key_type_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_type_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_key_sym_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_sym_map_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_t * xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_action_t *
- **
- *****************************************************************************/
-
-xcb_xkb_action_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_action_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_action_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_t * xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_set_behavior_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_set_behavior_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_t * xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_set_explicit_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_set_explicit_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_t * xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_key_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_key_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_t * xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_key_v_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_key_v_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- const xcb_xkb_get_kbd_by_name_replies_types_map_t *_aux /**< */);
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- xcb_xkb_get_kbd_by_name_replies_types_map_t *_aux /**< */);
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_key_name_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_xkb_key_name_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_key_alias_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_xkb_key_alias_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint16_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *_aux /**< */);
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint16_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *_aux /**< */);
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint16_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_sym_interpret_t * xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_sym_interpret_t *
- **
- *****************************************************************************/
-
-xcb_xkb_sym_interpret_t *
-xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_sym_interpret_iterator_t xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_sym_interpret_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_sym_interpret_iterator_t
-xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_t * xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_mod_def_t *
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_t *
-xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_iterator_t xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_mod_def_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_iterator_t
-xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_t * xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_indicator_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_t *
-xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_iterator_t xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_indicator_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_iterator_t
-xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list (const xcb_xkb_get_kbd_by_name_replies_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_counted_string_16_t * xcb_xkb_get_kbd_by_name_replies_geometry_label_font
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_counted_string_16_t *
- **
- *****************************************************************************/
-
-xcb_xkb_counted_string_16_t *
-xcb_xkb_get_kbd_by_name_replies_geometry_label_font (const xcb_xkb_get_kbd_by_name_replies_t *R /**< */);
-
-int
-xcb_xkb_get_kbd_by_name_replies_serialize (void **_buffer /**< */,
- uint16_t reported /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *_aux /**< */);
-
-int
-xcb_xkb_get_kbd_by_name_replies_unpack (const void *_buffer /**< */,
- uint16_t reported /**< */,
- xcb_xkb_get_kbd_by_name_replies_t *_aux /**< */);
-
-int
-xcb_xkb_get_kbd_by_name_replies_sizeof (const void *_buffer /**< */,
- uint16_t reported /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_cookie_t xcb_xkb_get_kbd_by_name
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t need
- ** @param uint16_t want
- ** @param uint8_t load
- ** @returns xcb_xkb_get_kbd_by_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_cookie_t
-xcb_xkb_get_kbd_by_name (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t need /**< */,
- uint16_t want /**< */,
- uint8_t load /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_cookie_t xcb_xkb_get_kbd_by_name_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t need
- ** @param uint16_t want
- ** @param uint8_t load
- ** @returns xcb_xkb_get_kbd_by_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_cookie_t
-xcb_xkb_get_kbd_by_name_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t need /**< */,
- uint16_t want /**< */,
- uint8_t load /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_replies_t * xcb_xkb_get_kbd_by_name_replies
- **
- ** @param const xcb_xkb_get_kbd_by_name_reply_t *R
- ** @returns xcb_xkb_get_kbd_by_name_replies_t *
- **
- *****************************************************************************/
-
-void *
-xcb_xkb_get_kbd_by_name_replies (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_kbd_by_name_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_reply_t * xcb_xkb_get_kbd_by_name_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_kbd_by_name_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_kbd_by_name_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_reply_t *
-xcb_xkb_get_kbd_by_name_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_kbd_by_name_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_xkb_get_device_info_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_device_info_cookie_t xcb_xkb_get_device_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t wanted
- ** @param uint8_t allButtons
- ** @param uint8_t firstButton
- ** @param uint8_t nButtons
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @returns xcb_xkb_get_device_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_device_info_cookie_t
-xcb_xkb_get_device_info (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t wanted /**< */,
- uint8_t allButtons /**< */,
- uint8_t firstButton /**< */,
- uint8_t nButtons /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_device_info_cookie_t xcb_xkb_get_device_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t wanted
- ** @param uint8_t allButtons
- ** @param uint8_t firstButton
- ** @param uint8_t nButtons
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @returns xcb_xkb_get_device_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_device_info_cookie_t
-xcb_xkb_get_device_info_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t wanted /**< */,
- uint8_t allButtons /**< */,
- uint8_t firstButton /**< */,
- uint8_t nButtons /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_string8_t * xcb_xkb_get_device_info_name
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_xkb_string8_t *
- **
- *****************************************************************************/
-
-xcb_xkb_string8_t *
-xcb_xkb_get_device_info_name (const xcb_xkb_get_device_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_device_info_name_length
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_device_info_name_length (const xcb_xkb_get_device_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_device_info_name_end
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_device_info_name_end (const xcb_xkb_get_device_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_t * xcb_xkb_get_device_info_btn_actions
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_xkb_action_t *
- **
- *****************************************************************************/
-
-xcb_xkb_action_t *
-xcb_xkb_get_device_info_btn_actions (const xcb_xkb_get_device_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_device_info_btn_actions_length
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_device_info_btn_actions_length (const xcb_xkb_get_device_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_iterator_t xcb_xkb_get_device_info_btn_actions_iterator
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_xkb_action_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_action_iterator_t
-xcb_xkb_get_device_info_btn_actions_iterator (const xcb_xkb_get_device_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_device_info_leds_length
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_device_info_leds_length (const xcb_xkb_get_device_info_reply_t *R /**< */);
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_device_led_info_iterator_t xcb_xkb_get_device_info_leds_iterator
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_xkb_device_led_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_device_led_info_iterator_t
-xcb_xkb_get_device_info_leds_iterator (const xcb_xkb_get_device_info_reply_t *R /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_get_device_info_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_device_info_reply_t * xcb_xkb_get_device_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_device_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_device_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_device_info_reply_t *
-xcb_xkb_get_device_info_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_device_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-int
-xcb_xkb_set_device_info_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will not cause
- * a reply to be generated. Any returned error will be
- * saved for handling by xcb_request_check().
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_device_info_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t firstBtn
- ** @param uint8_t nBtns
- ** @param uint16_t change
- ** @param uint16_t nDeviceLedFBs
- ** @param const xcb_xkb_action_t *btnActions
- ** @param const xcb_xkb_device_led_info_t *leds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_device_info_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t firstBtn /**< */,
- uint8_t nBtns /**< */,
- uint16_t change /**< */,
- uint16_t nDeviceLedFBs /**< */,
- const xcb_xkb_action_t *btnActions /**< */,
- const xcb_xkb_device_led_info_t *leds /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_device_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t firstBtn
- ** @param uint8_t nBtns
- ** @param uint16_t change
- ** @param uint16_t nDeviceLedFBs
- ** @param const xcb_xkb_action_t *btnActions
- ** @param const xcb_xkb_device_led_info_t *leds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_device_info (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t firstBtn /**< */,
- uint8_t nBtns /**< */,
- uint16_t change /**< */,
- uint16_t nDeviceLedFBs /**< */,
- const xcb_xkb_action_t *btnActions /**< */,
- const xcb_xkb_device_led_info_t *leds /**< */);
-
-int
-xcb_xkb_set_debugging_flags_sizeof (const void *_buffer /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_debugging_flags_cookie_t xcb_xkb_set_debugging_flags
- **
- ** @param xcb_connection_t *c
- ** @param uint16_t msgLength
- ** @param uint32_t affectFlags
- ** @param uint32_t flags
- ** @param uint32_t affectCtrls
- ** @param uint32_t ctrls
- ** @param const xcb_xkb_string8_t *message
- ** @returns xcb_xkb_set_debugging_flags_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_debugging_flags_cookie_t
-xcb_xkb_set_debugging_flags (xcb_connection_t *c /**< */,
- uint16_t msgLength /**< */,
- uint32_t affectFlags /**< */,
- uint32_t flags /**< */,
- uint32_t affectCtrls /**< */,
- uint32_t ctrls /**< */,
- const xcb_xkb_string8_t *message /**< */);
-
-/**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- * This form can be used only if the request will cause
- * a reply to be generated. Any returned error will be
- * placed in the event queue.
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_debugging_flags_cookie_t xcb_xkb_set_debugging_flags_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint16_t msgLength
- ** @param uint32_t affectFlags
- ** @param uint32_t flags
- ** @param uint32_t affectCtrls
- ** @param uint32_t ctrls
- ** @param const xcb_xkb_string8_t *message
- ** @returns xcb_xkb_set_debugging_flags_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_debugging_flags_cookie_t
-xcb_xkb_set_debugging_flags_unchecked (xcb_connection_t *c /**< */,
- uint16_t msgLength /**< */,
- uint32_t affectFlags /**< */,
- uint32_t flags /**< */,
- uint32_t affectCtrls /**< */,
- uint32_t ctrls /**< */,
- const xcb_xkb_string8_t *message /**< */);
-
-/**
- * Return the reply
- * @param c The connection
- * @param cookie The cookie
- * @param e The xcb_generic_error_t supplied
- *
- * Returns the reply of the request asked by
- *
- * The parameter @p e supplied to this function must be NULL if
- * xcb_xkb_set_debugging_flags_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_debugging_flags_reply_t * xcb_xkb_set_debugging_flags_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_set_debugging_flags_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_set_debugging_flags_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_debugging_flags_reply_t *
-xcb_xkb_set_debugging_flags_reply (xcb_connection_t *c /**< */,
- xcb_xkb_set_debugging_flags_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**
- * @}
- */
diff --git a/src/3rdparty/xcb/libxcb/fix_compiler_warning_on_32bit_systems.patch b/src/3rdparty/xcb/libxcb/fix_compiler_warning_on_32bit_systems.patch
deleted file mode 100644
index 240c20d2ac..0000000000
--- a/src/3rdparty/xcb/libxcb/fix_compiler_warning_on_32bit_systems.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/3rdparty/xcb/include/xcb/xkb.h b/src/3rdparty/xcb/include/xcb/xkb.h
-index 44b0a8d..0180ec8 100644
---- a/src/3rdparty/xcb/include/xcb/xkb.h
-+++ b/src/3rdparty/xcb/include/xcb/xkb.h
-@@ -114,8 +114,8 @@ typedef enum xcb_xkb_control_t {
- XCB_XKB_CONTROL_GROUPS_WRAP = 134217728,
- XCB_XKB_CONTROL_INTERNAL_MODS = 268435456,
- XCB_XKB_CONTROL_IGNORE_LOCK_MODS = 536870912,
-- XCB_XKB_CONTROL_PER_KEY_REPEAT = 1073741824,
-- XCB_XKB_CONTROL_CONTROLS_ENABLED = 2147483648
-+ XCB_XKB_CONTROL_PER_KEY_REPEAT = 1073741824u,
-+ XCB_XKB_CONTROL_CONTROLS_ENABLED = 2147483648u
- } xcb_xkb_control_t;
-
- typedef enum xcb_xkb_axfb_opt_t {
diff --git a/src/3rdparty/xcb/libxcb/fixup-xinput-c.patch b/src/3rdparty/xcb/libxcb/fixup-xinput-c.patch
new file mode 100644
index 0000000000..9ddaf6c59a
--- /dev/null
+++ b/src/3rdparty/xcb/libxcb/fixup-xinput-c.patch
@@ -0,0 +1,19 @@
+diff --git a/src/3rdparty/xcb/libxcb/xinput.c b/src/3rdparty/xcb/libxcb/xinput.c
+index 0edfde656c..d4e3c250bc 100644
+--- a/src/3rdparty/xcb/libxcb/xinput.c
++++ b/src/3rdparty/xcb/libxcb/xinput.c
+@@ -10,11 +10,11 @@
+ #include <string.h>
+ #include <assert.h>
+ #include <stddef.h> /* for offsetof() */
+-#include "xcbext.h"
+-#include "xinput.h"
++#include <xcb/xcbext.h>
++#include <xcb/xinput.h>
+
+ #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
+-#include "xfixes.h"
++#include <xcb/xfixes.h>
+
+ xcb_extension_t xcb_input_id = { "XInputExtension", 0 };
+
diff --git a/src/3rdparty/xcb/libxcb/randr.c b/src/3rdparty/xcb/libxcb/randr.c
deleted file mode 100644
index 0232af802f..0000000000
--- a/src/3rdparty/xcb/libxcb/randr.c
+++ /dev/null
@@ -1,5640 +0,0 @@
-/*
- * This file generated automatically from randr.xml by c_client.py.
- * Edit at your peril.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stddef.h> /* for offsetof() */
-#include "xcbext.h"
-#include "randr.h"
-
-#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
-#include "xproto.h"
-#include "render.h"
-
-xcb_extension_t xcb_randr_id = { "RANDR", 0 };
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_mode_next
- **
- ** @param xcb_randr_mode_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_mode_next (xcb_randr_mode_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_randr_mode_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_mode_end
- **
- ** @param xcb_randr_mode_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_mode_end (xcb_randr_mode_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_crtc_next
- **
- ** @param xcb_randr_crtc_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_crtc_next (xcb_randr_crtc_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_randr_crtc_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_crtc_end
- **
- ** @param xcb_randr_crtc_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_crtc_end (xcb_randr_crtc_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_output_next
- **
- ** @param xcb_randr_output_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_output_next (xcb_randr_output_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_randr_output_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_output_end
- **
- ** @param xcb_randr_output_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_output_end (xcb_randr_output_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_screen_size_next
- **
- ** @param xcb_randr_screen_size_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_screen_size_next (xcb_randr_screen_size_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_randr_screen_size_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_screen_size_end
- **
- ** @param xcb_randr_screen_size_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_screen_size_end (xcb_randr_screen_size_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_randr_refresh_rates_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_refresh_rates_t *_aux = (xcb_randr_refresh_rates_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_refresh_rates_t);
- xcb_tmp += xcb_block_len;
- /* rates */
- xcb_block_len += _aux->nRates * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_refresh_rates_rates
- **
- ** @param const xcb_randr_refresh_rates_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_refresh_rates_rates (const xcb_randr_refresh_rates_t *R /**< */)
-{
- return (uint16_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_refresh_rates_rates_length
- **
- ** @param const xcb_randr_refresh_rates_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_refresh_rates_rates_length (const xcb_randr_refresh_rates_t *R /**< */)
-{
- return R->nRates;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_refresh_rates_rates_end
- **
- ** @param const xcb_randr_refresh_rates_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_refresh_rates_rates_end (const xcb_randr_refresh_rates_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((uint16_t *) (R + 1)) + (R->nRates);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_refresh_rates_next
- **
- ** @param xcb_randr_refresh_rates_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_refresh_rates_next (xcb_randr_refresh_rates_iterator_t *i /**< */)
-{
- xcb_randr_refresh_rates_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_randr_refresh_rates_t *)(((char *)R) + xcb_randr_refresh_rates_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_randr_refresh_rates_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_refresh_rates_end
- **
- ** @param xcb_randr_refresh_rates_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_refresh_rates_end (xcb_randr_refresh_rates_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_randr_refresh_rates_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_query_version_cookie_t xcb_randr_query_version
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t major_version
- ** @param uint32_t minor_version
- ** @returns xcb_randr_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_version_cookie_t
-xcb_randr_query_version (xcb_connection_t *c /**< */,
- uint32_t major_version /**< */,
- uint32_t minor_version /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_query_version_cookie_t xcb_ret;
- xcb_randr_query_version_request_t xcb_out;
-
- xcb_out.major_version = major_version;
- xcb_out.minor_version = minor_version;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_query_version_cookie_t xcb_randr_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t major_version
- ** @param uint32_t minor_version
- ** @returns xcb_randr_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_version_cookie_t
-xcb_randr_query_version_unchecked (xcb_connection_t *c /**< */,
- uint32_t major_version /**< */,
- uint32_t minor_version /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_query_version_cookie_t xcb_ret;
- xcb_randr_query_version_request_t xcb_out;
-
- xcb_out.major_version = major_version;
- xcb_out.minor_version = minor_version;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_query_version_reply_t * xcb_randr_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_query_version_reply_t *
-xcb_randr_query_version_reply (xcb_connection_t *c /**< */,
- xcb_randr_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_set_screen_config_cookie_t xcb_randr_set_screen_config
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param uint16_t sizeID
- ** @param uint16_t rotation
- ** @param uint16_t rate
- ** @returns xcb_randr_set_screen_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_screen_config_cookie_t
-xcb_randr_set_screen_config (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- uint16_t sizeID /**< */,
- uint16_t rotation /**< */,
- uint16_t rate /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_SCREEN_CONFIG,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_set_screen_config_cookie_t xcb_ret;
- xcb_randr_set_screen_config_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.timestamp = timestamp;
- xcb_out.config_timestamp = config_timestamp;
- xcb_out.sizeID = sizeID;
- xcb_out.rotation = rotation;
- xcb_out.rate = rate;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_set_screen_config_cookie_t xcb_randr_set_screen_config_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param uint16_t sizeID
- ** @param uint16_t rotation
- ** @param uint16_t rate
- ** @returns xcb_randr_set_screen_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_screen_config_cookie_t
-xcb_randr_set_screen_config_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- uint16_t sizeID /**< */,
- uint16_t rotation /**< */,
- uint16_t rate /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_SCREEN_CONFIG,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_set_screen_config_cookie_t xcb_ret;
- xcb_randr_set_screen_config_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.timestamp = timestamp;
- xcb_out.config_timestamp = config_timestamp;
- xcb_out.sizeID = sizeID;
- xcb_out.rotation = rotation;
- xcb_out.rate = rate;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_set_screen_config_reply_t * xcb_randr_set_screen_config_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_set_screen_config_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_set_screen_config_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_set_screen_config_reply_t *
-xcb_randr_set_screen_config_reply (xcb_connection_t *c /**< */,
- xcb_randr_set_screen_config_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_set_screen_config_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_select_input_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_select_input_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t enable /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SELECT_INPUT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_select_input_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.enable = enable;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_select_input
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_select_input (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t enable /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SELECT_INPUT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_select_input_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.enable = enable;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_randr_get_screen_info_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_get_screen_info_reply_t *_aux = (xcb_randr_get_screen_info_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_randr_get_screen_info_reply_t);
- xcb_tmp += xcb_block_len;
- /* sizes */
- xcb_block_len += _aux->nSizes * sizeof(xcb_randr_screen_size_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_screen_size_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* rates */
- for(i=0; i<(_aux->nInfo - _aux->nSizes); i++) {
- xcb_tmp_len = xcb_randr_refresh_rates_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_randr_refresh_rates_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_info_cookie_t xcb_randr_get_screen_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_info_cookie_t
-xcb_randr_get_screen_info (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_SCREEN_INFO,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_screen_info_cookie_t xcb_ret;
- xcb_randr_get_screen_info_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_info_cookie_t xcb_randr_get_screen_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_info_cookie_t
-xcb_randr_get_screen_info_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_SCREEN_INFO,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_screen_info_cookie_t xcb_ret;
- xcb_randr_get_screen_info_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_screen_size_t * xcb_randr_get_screen_info_sizes
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns xcb_randr_screen_size_t *
- **
- *****************************************************************************/
-
-xcb_randr_screen_size_t *
-xcb_randr_get_screen_info_sizes (const xcb_randr_get_screen_info_reply_t *R /**< */)
-{
- return (xcb_randr_screen_size_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_info_sizes_length
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_info_sizes_length (const xcb_randr_get_screen_info_reply_t *R /**< */)
-{
- return R->nSizes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_screen_size_iterator_t xcb_randr_get_screen_info_sizes_iterator
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns xcb_randr_screen_size_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_screen_size_iterator_t
-xcb_randr_get_screen_info_sizes_iterator (const xcb_randr_get_screen_info_reply_t *R /**< */)
-{
- xcb_randr_screen_size_iterator_t i;
- i.data = (xcb_randr_screen_size_t *) (R + 1);
- i.rem = R->nSizes;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_info_rates_length
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_info_rates_length (const xcb_randr_get_screen_info_reply_t *R /**< */)
-{
- return (R->nInfo - R->nSizes);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_refresh_rates_iterator_t xcb_randr_get_screen_info_rates_iterator
- **
- ** @param const xcb_randr_get_screen_info_reply_t *R
- ** @returns xcb_randr_refresh_rates_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_refresh_rates_iterator_t
-xcb_randr_get_screen_info_rates_iterator (const xcb_randr_get_screen_info_reply_t *R /**< */)
-{
- xcb_randr_refresh_rates_iterator_t i;
- xcb_generic_iterator_t prev = xcb_randr_screen_size_end(xcb_randr_get_screen_info_sizes_iterator(R));
- i.data = (xcb_randr_refresh_rates_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_refresh_rates_t, prev.index));
- i.rem = (R->nInfo - R->nSizes);
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_info_reply_t * xcb_randr_get_screen_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_info_reply_t *
-xcb_randr_get_screen_info_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_screen_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_size_range_cookie_t xcb_randr_get_screen_size_range
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_size_range_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_size_range_cookie_t
-xcb_randr_get_screen_size_range (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_SCREEN_SIZE_RANGE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_screen_size_range_cookie_t xcb_ret;
- xcb_randr_get_screen_size_range_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_size_range_cookie_t xcb_randr_get_screen_size_range_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_size_range_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_size_range_cookie_t
-xcb_randr_get_screen_size_range_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_SCREEN_SIZE_RANGE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_screen_size_range_cookie_t xcb_ret;
- xcb_randr_get_screen_size_range_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_size_range_reply_t * xcb_randr_get_screen_size_range_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_size_range_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_size_range_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_size_range_reply_t *
-xcb_randr_get_screen_size_range_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_size_range_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_screen_size_range_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_screen_size_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t mm_width
- ** @param uint32_t mm_height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_screen_size_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t mm_width /**< */,
- uint32_t mm_height /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_SCREEN_SIZE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_set_screen_size_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.width = width;
- xcb_out.height = height;
- xcb_out.mm_width = mm_width;
- xcb_out.mm_height = mm_height;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_screen_size
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t mm_width
- ** @param uint32_t mm_height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_screen_size (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t mm_width /**< */,
- uint32_t mm_height /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_SCREEN_SIZE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_set_screen_size_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.width = width;
- xcb_out.height = height;
- xcb_out.mm_width = mm_width;
- xcb_out.mm_height = mm_height;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_mode_info_next
- **
- ** @param xcb_randr_mode_info_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_mode_info_next (xcb_randr_mode_info_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_randr_mode_info_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_mode_info_end
- **
- ** @param xcb_randr_mode_info_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_mode_info_end (xcb_randr_mode_info_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_randr_get_screen_resources_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_get_screen_resources_reply_t *_aux = (xcb_randr_get_screen_resources_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_get_screen_resources_reply_t);
- xcb_tmp += xcb_block_len;
- /* crtcs */
- xcb_block_len += _aux->num_crtcs * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_crtc_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* outputs */
- xcb_block_len += _aux->num_outputs * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_output_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* modes */
- xcb_block_len += _aux->num_modes * sizeof(xcb_randr_mode_info_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_mode_info_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* names */
- xcb_block_len += _aux->names_len * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_cookie_t xcb_randr_get_screen_resources
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_cookie_t
-xcb_randr_get_screen_resources (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_SCREEN_RESOURCES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_screen_resources_cookie_t xcb_ret;
- xcb_randr_get_screen_resources_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_cookie_t xcb_randr_get_screen_resources_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_cookie_t
-xcb_randr_get_screen_resources_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_SCREEN_RESOURCES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_screen_resources_cookie_t xcb_ret;
- xcb_randr_get_screen_resources_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_crtc_t * xcb_randr_get_screen_resources_crtcs
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_crtc_t *
- **
- *****************************************************************************/
-
-xcb_randr_crtc_t *
-xcb_randr_get_screen_resources_crtcs (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- return (xcb_randr_crtc_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_crtcs_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_crtcs_length (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- return R->num_crtcs;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_crtcs_end
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_crtcs_end (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((xcb_randr_crtc_t *) (R + 1)) + (R->num_crtcs);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_screen_resources_outputs
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_screen_resources_outputs (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_screen_resources_crtcs_end(R);
- return (xcb_randr_output_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_output_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_outputs_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_outputs_length (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- return R->num_outputs;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_outputs_end
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_outputs_end (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_screen_resources_crtcs_end(R);
- i.data = ((xcb_randr_output_t *) child.data) + (R->num_outputs);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_t * xcb_randr_get_screen_resources_modes
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_mode_info_t *
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_t *
-xcb_randr_get_screen_resources_modes (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_screen_resources_outputs_end(R);
- return (xcb_randr_mode_info_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_mode_info_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_modes_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_modes_length (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- return R->num_modes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_iterator_t xcb_randr_get_screen_resources_modes_iterator
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_randr_mode_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_iterator_t
-xcb_randr_get_screen_resources_modes_iterator (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- xcb_randr_mode_info_iterator_t i;
- xcb_generic_iterator_t prev = xcb_randr_get_screen_resources_outputs_end(R);
- i.data = (xcb_randr_mode_info_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_mode_info_t, prev.index));
- i.rem = R->num_modes;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_screen_resources_names
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_screen_resources_names (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_mode_info_end(xcb_randr_get_screen_resources_modes_iterator(R));
- return (uint8_t *) ((char *) prev.data + XCB_TYPE_PAD(uint8_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_names_length
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_names_length (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- return R->names_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_names_end
- **
- ** @param const xcb_randr_get_screen_resources_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_names_end (const xcb_randr_get_screen_resources_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_mode_info_end(xcb_randr_get_screen_resources_modes_iterator(R));
- i.data = ((uint8_t *) child.data) + (R->names_len);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_reply_t * xcb_randr_get_screen_resources_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_resources_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_resources_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_reply_t *
-xcb_randr_get_screen_resources_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_resources_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_screen_resources_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_randr_get_output_info_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_get_output_info_reply_t *_aux = (xcb_randr_get_output_info_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_get_output_info_reply_t);
- xcb_tmp += xcb_block_len;
- /* crtcs */
- xcb_block_len += _aux->num_crtcs * sizeof(xcb_randr_output_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_crtc_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* modes */
- xcb_block_len += _aux->num_modes * sizeof(xcb_randr_output_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_mode_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* clones */
- xcb_block_len += _aux->num_clones * sizeof(xcb_randr_output_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_output_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* name */
- xcb_block_len += _aux->name_len * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_info_cookie_t xcb_randr_get_output_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_output_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_info_cookie_t
-xcb_randr_get_output_info (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_timestamp_t config_timestamp /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_OUTPUT_INFO,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_output_info_cookie_t xcb_ret;
- xcb_randr_get_output_info_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.config_timestamp = config_timestamp;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_info_cookie_t xcb_randr_get_output_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_output_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_info_cookie_t
-xcb_randr_get_output_info_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_timestamp_t config_timestamp /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_OUTPUT_INFO,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_output_info_cookie_t xcb_ret;
- xcb_randr_get_output_info_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.config_timestamp = config_timestamp;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_crtc_t * xcb_randr_get_output_info_crtcs
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_randr_crtc_t *
- **
- *****************************************************************************/
-
-xcb_randr_crtc_t *
-xcb_randr_get_output_info_crtcs (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- return (xcb_randr_crtc_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_crtcs_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_crtcs_length (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- return R->num_crtcs;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_crtcs_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_crtcs_end (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((xcb_randr_crtc_t *) (R + 1)) + (R->num_crtcs);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_t * xcb_randr_get_output_info_modes
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_randr_mode_t *
- **
- *****************************************************************************/
-
-xcb_randr_mode_t *
-xcb_randr_get_output_info_modes (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_output_info_crtcs_end(R);
- return (xcb_randr_mode_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_mode_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_modes_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_modes_length (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- return R->num_modes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_modes_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_modes_end (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_output_info_crtcs_end(R);
- i.data = ((xcb_randr_mode_t *) child.data) + (R->num_modes);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_output_info_clones
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_output_info_clones (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_output_info_modes_end(R);
- return (xcb_randr_output_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_output_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_clones_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_clones_length (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- return R->num_clones;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_clones_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_clones_end (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_output_info_modes_end(R);
- i.data = ((xcb_randr_output_t *) child.data) + (R->num_clones);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_output_info_name
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_output_info_name (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_output_info_clones_end(R);
- return (uint8_t *) ((char *) prev.data + XCB_TYPE_PAD(uint8_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_info_name_length
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_info_name_length (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- return R->name_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_info_name_end
- **
- ** @param const xcb_randr_get_output_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_info_name_end (const xcb_randr_get_output_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_output_info_clones_end(R);
- i.data = ((uint8_t *) child.data) + (R->name_len);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_info_reply_t * xcb_randr_get_output_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_output_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_output_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_output_info_reply_t *
-xcb_randr_get_output_info_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_output_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_output_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_randr_list_output_properties_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_list_output_properties_reply_t *_aux = (xcb_randr_list_output_properties_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_list_output_properties_reply_t);
- xcb_tmp += xcb_block_len;
- /* atoms */
- xcb_block_len += _aux->num_atoms * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_list_output_properties_cookie_t xcb_randr_list_output_properties
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @returns xcb_randr_list_output_properties_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_list_output_properties_cookie_t
-xcb_randr_list_output_properties (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_LIST_OUTPUT_PROPERTIES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_list_output_properties_cookie_t xcb_ret;
- xcb_randr_list_output_properties_request_t xcb_out;
-
- xcb_out.output = output;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_list_output_properties_cookie_t xcb_randr_list_output_properties_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @returns xcb_randr_list_output_properties_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_list_output_properties_cookie_t
-xcb_randr_list_output_properties_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_LIST_OUTPUT_PROPERTIES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_list_output_properties_cookie_t xcb_ret;
- xcb_randr_list_output_properties_request_t xcb_out;
-
- xcb_out.output = output;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_randr_list_output_properties_atoms
- **
- ** @param const xcb_randr_list_output_properties_reply_t *R
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_randr_list_output_properties_atoms (const xcb_randr_list_output_properties_reply_t *R /**< */)
-{
- return (xcb_atom_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_list_output_properties_atoms_length
- **
- ** @param const xcb_randr_list_output_properties_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_list_output_properties_atoms_length (const xcb_randr_list_output_properties_reply_t *R /**< */)
-{
- return R->num_atoms;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_list_output_properties_atoms_end
- **
- ** @param const xcb_randr_list_output_properties_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_list_output_properties_atoms_end (const xcb_randr_list_output_properties_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((xcb_atom_t *) (R + 1)) + (R->num_atoms);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_list_output_properties_reply_t * xcb_randr_list_output_properties_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_list_output_properties_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_list_output_properties_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_list_output_properties_reply_t *
-xcb_randr_list_output_properties_reply (xcb_connection_t *c /**< */,
- xcb_randr_list_output_properties_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_list_output_properties_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_randr_query_output_property_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_query_output_property_reply_t *_aux = (xcb_randr_query_output_property_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_query_output_property_reply_t);
- xcb_tmp += xcb_block_len;
- /* validValues */
- xcb_block_len += _aux->length * sizeof(int32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(int32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_query_output_property_cookie_t xcb_randr_query_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_randr_query_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_output_property_cookie_t
-xcb_randr_query_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_QUERY_OUTPUT_PROPERTY,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_query_output_property_cookie_t xcb_ret;
- xcb_randr_query_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_query_output_property_cookie_t xcb_randr_query_output_property_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_randr_query_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_query_output_property_cookie_t
-xcb_randr_query_output_property_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_QUERY_OUTPUT_PROPERTY,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_query_output_property_cookie_t xcb_ret;
- xcb_randr_query_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** int32_t * xcb_randr_query_output_property_valid_values
- **
- ** @param const xcb_randr_query_output_property_reply_t *R
- ** @returns int32_t *
- **
- *****************************************************************************/
-
-int32_t *
-xcb_randr_query_output_property_valid_values (const xcb_randr_query_output_property_reply_t *R /**< */)
-{
- return (int32_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_query_output_property_valid_values_length
- **
- ** @param const xcb_randr_query_output_property_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_query_output_property_valid_values_length (const xcb_randr_query_output_property_reply_t *R /**< */)
-{
- return R->length;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_query_output_property_valid_values_end
- **
- ** @param const xcb_randr_query_output_property_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_query_output_property_valid_values_end (const xcb_randr_query_output_property_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((int32_t *) (R + 1)) + (R->length);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_query_output_property_reply_t * xcb_randr_query_output_property_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_query_output_property_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_query_output_property_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_query_output_property_reply_t *
-xcb_randr_query_output_property_reply (xcb_connection_t *c /**< */,
- xcb_randr_query_output_property_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_query_output_property_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_randr_configure_output_property_sizeof (const void *_buffer /**< */,
- uint32_t values_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_configure_output_property_request_t);
- xcb_tmp += xcb_block_len;
- /* values */
- xcb_block_len += values_len * sizeof(int32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(int32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_configure_output_property_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param uint8_t pending
- ** @param uint8_t range
- ** @param uint32_t values_len
- ** @param const int32_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_configure_output_property_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- uint8_t pending /**< */,
- uint8_t range /**< */,
- uint32_t values_len /**< */,
- const int32_t *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_CONFIGURE_OUTPUT_PROPERTY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_configure_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
- xcb_out.pending = pending;
- xcb_out.range = range;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* int32_t values */
- xcb_parts[4].iov_base = (char *) values;
- xcb_parts[4].iov_len = values_len * sizeof(int32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_configure_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param uint8_t pending
- ** @param uint8_t range
- ** @param uint32_t values_len
- ** @param const int32_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_configure_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- uint8_t pending /**< */,
- uint8_t range /**< */,
- uint32_t values_len /**< */,
- const int32_t *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_CONFIGURE_OUTPUT_PROPERTY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_configure_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
- xcb_out.pending = pending;
- xcb_out.range = range;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* int32_t values */
- xcb_parts[4].iov_base = (char *) values;
- xcb_parts[4].iov_len = values_len * sizeof(int32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_randr_change_output_property_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_change_output_property_request_t *_aux = (xcb_randr_change_output_property_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_change_output_property_request_t);
- xcb_tmp += xcb_block_len;
- /* data */
- xcb_block_len += ((_aux->num_units * _aux->format) / 8) * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_change_output_property_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint8_t format
- ** @param uint8_t mode
- ** @param uint32_t num_units
- ** @param const void *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_change_output_property_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint8_t format /**< */,
- uint8_t mode /**< */,
- uint32_t num_units /**< */,
- const void *data /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_CHANGE_OUTPUT_PROPERTY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_change_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
- xcb_out.type = type;
- xcb_out.format = format;
- xcb_out.mode = mode;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.num_units = num_units;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* void data */
- xcb_parts[4].iov_base = (char *) data;
- xcb_parts[4].iov_len = ((num_units * format) / 8) * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_change_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint8_t format
- ** @param uint8_t mode
- ** @param uint32_t num_units
- ** @param const void *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_change_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint8_t format /**< */,
- uint8_t mode /**< */,
- uint32_t num_units /**< */,
- const void *data /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_CHANGE_OUTPUT_PROPERTY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_change_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
- xcb_out.type = type;
- xcb_out.format = format;
- xcb_out.mode = mode;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.num_units = num_units;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* void data */
- xcb_parts[4].iov_base = (char *) data;
- xcb_parts[4].iov_len = ((num_units * format) / 8) * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_property_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_property_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_DELETE_OUTPUT_PROPERTY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_delete_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_DELETE_OUTPUT_PROPERTY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_delete_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_randr_get_output_property_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_get_output_property_reply_t *_aux = (xcb_randr_get_output_property_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_get_output_property_reply_t);
- xcb_tmp += xcb_block_len;
- /* data */
- xcb_block_len += (_aux->num_items * (_aux->format / 8)) * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_property_cookie_t xcb_randr_get_output_property
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint32_t long_offset
- ** @param uint32_t long_length
- ** @param uint8_t _delete
- ** @param uint8_t pending
- ** @returns xcb_randr_get_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_property_cookie_t
-xcb_randr_get_output_property (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint32_t long_offset /**< */,
- uint32_t long_length /**< */,
- uint8_t _delete /**< */,
- uint8_t pending /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_OUTPUT_PROPERTY,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_output_property_cookie_t xcb_ret;
- xcb_randr_get_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
- xcb_out.type = type;
- xcb_out.long_offset = long_offset;
- xcb_out.long_length = long_length;
- xcb_out._delete = _delete;
- xcb_out.pending = pending;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_property_cookie_t xcb_randr_get_output_property_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_atom_t property
- ** @param xcb_atom_t type
- ** @param uint32_t long_offset
- ** @param uint32_t long_length
- ** @param uint8_t _delete
- ** @param uint8_t pending
- ** @returns xcb_randr_get_output_property_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_property_cookie_t
-xcb_randr_get_output_property_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_atom_t property /**< */,
- xcb_atom_t type /**< */,
- uint32_t long_offset /**< */,
- uint32_t long_length /**< */,
- uint8_t _delete /**< */,
- uint8_t pending /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_OUTPUT_PROPERTY,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_output_property_cookie_t xcb_ret;
- xcb_randr_get_output_property_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.property = property;
- xcb_out.type = type;
- xcb_out.long_offset = long_offset;
- xcb_out.long_length = long_length;
- xcb_out._delete = _delete;
- xcb_out.pending = pending;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_output_property_data
- **
- ** @param const xcb_randr_get_output_property_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_output_property_data (const xcb_randr_get_output_property_reply_t *R /**< */)
-{
- return (uint8_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_output_property_data_length
- **
- ** @param const xcb_randr_get_output_property_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_output_property_data_length (const xcb_randr_get_output_property_reply_t *R /**< */)
-{
- return (R->num_items * (R->format / 8));
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_output_property_data_end
- **
- ** @param const xcb_randr_get_output_property_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_output_property_data_end (const xcb_randr_get_output_property_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((uint8_t *) (R + 1)) + ((R->num_items * (R->format / 8)));
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_property_reply_t * xcb_randr_get_output_property_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_output_property_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_output_property_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_output_property_reply_t *
-xcb_randr_get_output_property_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_output_property_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_output_property_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_randr_create_mode_sizeof (const void *_buffer /**< */,
- uint32_t name_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_create_mode_request_t);
- xcb_tmp += xcb_block_len;
- /* name */
- xcb_block_len += name_len * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_create_mode_cookie_t xcb_randr_create_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_mode_info_t mode_info
- ** @param uint32_t name_len
- ** @param const char *name
- ** @returns xcb_randr_create_mode_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_create_mode_cookie_t
-xcb_randr_create_mode (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_mode_info_t mode_info /**< */,
- uint32_t name_len /**< */,
- const char *name /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_CREATE_MODE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[6];
- xcb_randr_create_mode_cookie_t xcb_ret;
- xcb_randr_create_mode_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.mode_info = mode_info;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char name */
- xcb_parts[4].iov_base = (char *) name;
- xcb_parts[4].iov_len = name_len * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_create_mode_cookie_t xcb_randr_create_mode_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_mode_info_t mode_info
- ** @param uint32_t name_len
- ** @param const char *name
- ** @returns xcb_randr_create_mode_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_create_mode_cookie_t
-xcb_randr_create_mode_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_mode_info_t mode_info /**< */,
- uint32_t name_len /**< */,
- const char *name /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_CREATE_MODE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[6];
- xcb_randr_create_mode_cookie_t xcb_ret;
- xcb_randr_create_mode_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.mode_info = mode_info;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char name */
- xcb_parts[4].iov_base = (char *) name;
- xcb_parts[4].iov_len = name_len * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_create_mode_reply_t * xcb_randr_create_mode_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_create_mode_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_create_mode_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_create_mode_reply_t *
-xcb_randr_create_mode_reply (xcb_connection_t *c /**< */,
- xcb_randr_create_mode_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_create_mode_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_destroy_mode_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_destroy_mode_checked (xcb_connection_t *c /**< */,
- xcb_randr_mode_t mode /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_DESTROY_MODE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_destroy_mode_request_t xcb_out;
-
- xcb_out.mode = mode;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_destroy_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_destroy_mode (xcb_connection_t *c /**< */,
- xcb_randr_mode_t mode /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_DESTROY_MODE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_destroy_mode_request_t xcb_out;
-
- xcb_out.mode = mode;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_add_output_mode_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_add_output_mode_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_ADD_OUTPUT_MODE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_add_output_mode_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.mode = mode;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_add_output_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_add_output_mode (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_ADD_OUTPUT_MODE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_add_output_mode_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.mode = mode;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_mode_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_mode_checked (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_DELETE_OUTPUT_MODE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_delete_output_mode_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.mode = mode;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_delete_output_mode
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_output_t output
- ** @param xcb_randr_mode_t mode
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_delete_output_mode (xcb_connection_t *c /**< */,
- xcb_randr_output_t output /**< */,
- xcb_randr_mode_t mode /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_DELETE_OUTPUT_MODE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_delete_output_mode_request_t xcb_out;
-
- xcb_out.output = output;
- xcb_out.mode = mode;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_randr_get_crtc_info_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_get_crtc_info_reply_t *_aux = (xcb_randr_get_crtc_info_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_get_crtc_info_reply_t);
- xcb_tmp += xcb_block_len;
- /* outputs */
- xcb_block_len += _aux->num_outputs * sizeof(xcb_randr_output_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_output_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* possible */
- xcb_block_len += _aux->num_possible_outputs * sizeof(xcb_randr_output_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_output_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_info_cookie_t xcb_randr_get_crtc_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_crtc_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_info_cookie_t
-xcb_randr_get_crtc_info (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t config_timestamp /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_CRTC_INFO,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_crtc_info_cookie_t xcb_ret;
- xcb_randr_get_crtc_info_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.config_timestamp = config_timestamp;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_info_cookie_t xcb_randr_get_crtc_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t config_timestamp
- ** @returns xcb_randr_get_crtc_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_info_cookie_t
-xcb_randr_get_crtc_info_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t config_timestamp /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_CRTC_INFO,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_crtc_info_cookie_t xcb_ret;
- xcb_randr_get_crtc_info_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.config_timestamp = config_timestamp;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_crtc_info_outputs
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_crtc_info_outputs (const xcb_randr_get_crtc_info_reply_t *R /**< */)
-{
- return (xcb_randr_output_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_info_outputs_length
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_info_outputs_length (const xcb_randr_get_crtc_info_reply_t *R /**< */)
-{
- return R->num_outputs;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_info_outputs_end
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_info_outputs_end (const xcb_randr_get_crtc_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((xcb_randr_output_t *) (R + 1)) + (R->num_outputs);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_crtc_info_possible
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_crtc_info_possible (const xcb_randr_get_crtc_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_crtc_info_outputs_end(R);
- return (xcb_randr_output_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_output_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_info_possible_length
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_info_possible_length (const xcb_randr_get_crtc_info_reply_t *R /**< */)
-{
- return R->num_possible_outputs;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_info_possible_end
- **
- ** @param const xcb_randr_get_crtc_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_info_possible_end (const xcb_randr_get_crtc_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_crtc_info_outputs_end(R);
- i.data = ((xcb_randr_output_t *) child.data) + (R->num_possible_outputs);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_info_reply_t * xcb_randr_get_crtc_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_info_reply_t *
-xcb_randr_get_crtc_info_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_crtc_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_randr_set_crtc_config_sizeof (const void *_buffer /**< */,
- uint32_t outputs_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_set_crtc_config_request_t);
- xcb_tmp += xcb_block_len;
- /* outputs */
- xcb_block_len += outputs_len * sizeof(xcb_randr_output_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_output_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_set_crtc_config_cookie_t xcb_randr_set_crtc_config
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param int16_t x
- ** @param int16_t y
- ** @param xcb_randr_mode_t mode
- ** @param uint16_t rotation
- ** @param uint32_t outputs_len
- ** @param const xcb_randr_output_t *outputs
- ** @returns xcb_randr_set_crtc_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_crtc_config_cookie_t
-xcb_randr_set_crtc_config (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- xcb_randr_mode_t mode /**< */,
- uint16_t rotation /**< */,
- uint32_t outputs_len /**< */,
- const xcb_randr_output_t *outputs /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_CRTC_CONFIG,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[6];
- xcb_randr_set_crtc_config_cookie_t xcb_ret;
- xcb_randr_set_crtc_config_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.timestamp = timestamp;
- xcb_out.config_timestamp = config_timestamp;
- xcb_out.x = x;
- xcb_out.y = y;
- xcb_out.mode = mode;
- xcb_out.rotation = rotation;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_randr_output_t outputs */
- xcb_parts[4].iov_base = (char *) outputs;
- xcb_parts[4].iov_len = outputs_len * sizeof(xcb_timestamp_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_set_crtc_config_cookie_t xcb_randr_set_crtc_config_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param xcb_timestamp_t config_timestamp
- ** @param int16_t x
- ** @param int16_t y
- ** @param xcb_randr_mode_t mode
- ** @param uint16_t rotation
- ** @param uint32_t outputs_len
- ** @param const xcb_randr_output_t *outputs
- ** @returns xcb_randr_set_crtc_config_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_crtc_config_cookie_t
-xcb_randr_set_crtc_config_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- xcb_timestamp_t config_timestamp /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- xcb_randr_mode_t mode /**< */,
- uint16_t rotation /**< */,
- uint32_t outputs_len /**< */,
- const xcb_randr_output_t *outputs /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_CRTC_CONFIG,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[6];
- xcb_randr_set_crtc_config_cookie_t xcb_ret;
- xcb_randr_set_crtc_config_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.timestamp = timestamp;
- xcb_out.config_timestamp = config_timestamp;
- xcb_out.x = x;
- xcb_out.y = y;
- xcb_out.mode = mode;
- xcb_out.rotation = rotation;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_randr_output_t outputs */
- xcb_parts[4].iov_base = (char *) outputs;
- xcb_parts[4].iov_len = outputs_len * sizeof(xcb_timestamp_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_set_crtc_config_reply_t * xcb_randr_set_crtc_config_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_set_crtc_config_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_set_crtc_config_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_set_crtc_config_reply_t *
-xcb_randr_set_crtc_config_reply (xcb_connection_t *c /**< */,
- xcb_randr_set_crtc_config_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_set_crtc_config_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_size_cookie_t xcb_randr_get_crtc_gamma_size
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_size_cookie_t
-xcb_randr_get_crtc_gamma_size (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_CRTC_GAMMA_SIZE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_crtc_gamma_size_cookie_t xcb_ret;
- xcb_randr_get_crtc_gamma_size_request_t xcb_out;
-
- xcb_out.crtc = crtc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_size_cookie_t xcb_randr_get_crtc_gamma_size_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_size_cookie_t
-xcb_randr_get_crtc_gamma_size_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_CRTC_GAMMA_SIZE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_crtc_gamma_size_cookie_t xcb_ret;
- xcb_randr_get_crtc_gamma_size_request_t xcb_out;
-
- xcb_out.crtc = crtc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_size_reply_t * xcb_randr_get_crtc_gamma_size_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_gamma_size_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_gamma_size_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_size_reply_t *
-xcb_randr_get_crtc_gamma_size_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_gamma_size_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_crtc_gamma_size_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_randr_get_crtc_gamma_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_get_crtc_gamma_reply_t *_aux = (xcb_randr_get_crtc_gamma_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_get_crtc_gamma_reply_t);
- xcb_tmp += xcb_block_len;
- /* red */
- xcb_block_len += _aux->size * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* green */
- xcb_block_len += _aux->size * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* blue */
- xcb_block_len += _aux->size * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_cookie_t xcb_randr_get_crtc_gamma
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_cookie_t
-xcb_randr_get_crtc_gamma (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_CRTC_GAMMA,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_crtc_gamma_cookie_t xcb_ret;
- xcb_randr_get_crtc_gamma_request_t xcb_out;
-
- xcb_out.crtc = crtc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_cookie_t xcb_randr_get_crtc_gamma_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_gamma_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_cookie_t
-xcb_randr_get_crtc_gamma_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_CRTC_GAMMA,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_crtc_gamma_cookie_t xcb_ret;
- xcb_randr_get_crtc_gamma_request_t xcb_out;
-
- xcb_out.crtc = crtc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_get_crtc_gamma_red
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_get_crtc_gamma_red (const xcb_randr_get_crtc_gamma_reply_t *R /**< */)
-{
- return (uint16_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_gamma_red_length
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_gamma_red_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */)
-{
- return R->size;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_red_end
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_gamma_red_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((uint16_t *) (R + 1)) + (R->size);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_get_crtc_gamma_green
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_get_crtc_gamma_green (const xcb_randr_get_crtc_gamma_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_crtc_gamma_red_end(R);
- return (uint16_t *) ((char *) prev.data + XCB_TYPE_PAD(uint16_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_gamma_green_length
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_gamma_green_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */)
-{
- return R->size;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_green_end
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_gamma_green_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_crtc_gamma_red_end(R);
- i.data = ((uint16_t *) child.data) + (R->size);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_randr_get_crtc_gamma_blue
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_randr_get_crtc_gamma_blue (const xcb_randr_get_crtc_gamma_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_crtc_gamma_green_end(R);
- return (uint16_t *) ((char *) prev.data + XCB_TYPE_PAD(uint16_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_gamma_blue_length
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_gamma_blue_length (const xcb_randr_get_crtc_gamma_reply_t *R /**< */)
-{
- return R->size;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_gamma_blue_end
- **
- ** @param const xcb_randr_get_crtc_gamma_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_gamma_blue_end (const xcb_randr_get_crtc_gamma_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_crtc_gamma_green_end(R);
- i.data = ((uint16_t *) child.data) + (R->size);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_gamma_reply_t * xcb_randr_get_crtc_gamma_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_gamma_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_gamma_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_gamma_reply_t *
-xcb_randr_get_crtc_gamma_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_gamma_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_crtc_gamma_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_randr_set_crtc_gamma_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_set_crtc_gamma_request_t *_aux = (xcb_randr_set_crtc_gamma_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_set_crtc_gamma_request_t);
- xcb_tmp += xcb_block_len;
- /* red */
- xcb_block_len += _aux->size * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* green */
- xcb_block_len += _aux->size * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* blue */
- xcb_block_len += _aux->size * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_gamma_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param uint16_t size
- ** @param const uint16_t *red
- ** @param const uint16_t *green
- ** @param const uint16_t *blue
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_gamma_checked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- uint16_t size /**< */,
- const uint16_t *red /**< */,
- const uint16_t *green /**< */,
- const uint16_t *blue /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 8,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_CRTC_GAMMA,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[10];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_set_crtc_gamma_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.size = size;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint16_t red */
- xcb_parts[4].iov_base = (char *) red;
- xcb_parts[4].iov_len = size * sizeof(uint16_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* uint16_t green */
- xcb_parts[6].iov_base = (char *) green;
- xcb_parts[6].iov_len = size * sizeof(uint16_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
- /* uint16_t blue */
- xcb_parts[8].iov_base = (char *) blue;
- xcb_parts[8].iov_len = size * sizeof(uint16_t);
- xcb_parts[9].iov_base = 0;
- xcb_parts[9].iov_len = -xcb_parts[8].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_gamma
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param uint16_t size
- ** @param const uint16_t *red
- ** @param const uint16_t *green
- ** @param const uint16_t *blue
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_gamma (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- uint16_t size /**< */,
- const uint16_t *red /**< */,
- const uint16_t *green /**< */,
- const uint16_t *blue /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 8,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_CRTC_GAMMA,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[10];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_set_crtc_gamma_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.size = size;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint16_t red */
- xcb_parts[4].iov_base = (char *) red;
- xcb_parts[4].iov_len = size * sizeof(uint16_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* uint16_t green */
- xcb_parts[6].iov_base = (char *) green;
- xcb_parts[6].iov_len = size * sizeof(uint16_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
- /* uint16_t blue */
- xcb_parts[8].iov_base = (char *) blue;
- xcb_parts[8].iov_len = size * sizeof(uint16_t);
- xcb_parts[9].iov_base = 0;
- xcb_parts[9].iov_len = -xcb_parts[8].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_randr_get_screen_resources_current_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_get_screen_resources_current_reply_t *_aux = (xcb_randr_get_screen_resources_current_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_get_screen_resources_current_reply_t);
- xcb_tmp += xcb_block_len;
- /* crtcs */
- xcb_block_len += _aux->num_crtcs * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_crtc_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* outputs */
- xcb_block_len += _aux->num_outputs * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_output_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* modes */
- xcb_block_len += _aux->num_modes * sizeof(xcb_randr_mode_info_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_randr_mode_info_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* names */
- xcb_block_len += _aux->names_len * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_current_cookie_t xcb_randr_get_screen_resources_current
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_current_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_current_cookie_t
-xcb_randr_get_screen_resources_current (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_SCREEN_RESOURCES_CURRENT,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_screen_resources_current_cookie_t xcb_ret;
- xcb_randr_get_screen_resources_current_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_current_cookie_t xcb_randr_get_screen_resources_current_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_screen_resources_current_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_current_cookie_t
-xcb_randr_get_screen_resources_current_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_SCREEN_RESOURCES_CURRENT,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_screen_resources_current_cookie_t xcb_ret;
- xcb_randr_get_screen_resources_current_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_crtc_t * xcb_randr_get_screen_resources_current_crtcs
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_crtc_t *
- **
- *****************************************************************************/
-
-xcb_randr_crtc_t *
-xcb_randr_get_screen_resources_current_crtcs (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- return (xcb_randr_crtc_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_crtcs_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_crtcs_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- return R->num_crtcs;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_crtcs_end
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_current_crtcs_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((xcb_randr_crtc_t *) (R + 1)) + (R->num_crtcs);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_output_t * xcb_randr_get_screen_resources_current_outputs
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_output_t *
- **
- *****************************************************************************/
-
-xcb_randr_output_t *
-xcb_randr_get_screen_resources_current_outputs (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_screen_resources_current_crtcs_end(R);
- return (xcb_randr_output_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_output_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_outputs_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_outputs_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- return R->num_outputs;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_outputs_end
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_current_outputs_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_screen_resources_current_crtcs_end(R);
- i.data = ((xcb_randr_output_t *) child.data) + (R->num_outputs);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_t * xcb_randr_get_screen_resources_current_modes
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_mode_info_t *
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_t *
-xcb_randr_get_screen_resources_current_modes (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_screen_resources_current_outputs_end(R);
- return (xcb_randr_mode_info_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_mode_info_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_modes_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_modes_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- return R->num_modes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_mode_info_iterator_t xcb_randr_get_screen_resources_current_modes_iterator
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_randr_mode_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_randr_mode_info_iterator_t
-xcb_randr_get_screen_resources_current_modes_iterator (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- xcb_randr_mode_info_iterator_t i;
- xcb_generic_iterator_t prev = xcb_randr_get_screen_resources_current_outputs_end(R);
- i.data = (xcb_randr_mode_info_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_randr_mode_info_t, prev.index));
- i.rem = R->num_modes;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_randr_get_screen_resources_current_names
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_randr_get_screen_resources_current_names (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_mode_info_end(xcb_randr_get_screen_resources_current_modes_iterator(R));
- return (uint8_t *) ((char *) prev.data + XCB_TYPE_PAD(uint8_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_screen_resources_current_names_length
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_screen_resources_current_names_length (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- return R->names_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_screen_resources_current_names_end
- **
- ** @param const xcb_randr_get_screen_resources_current_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_screen_resources_current_names_end (const xcb_randr_get_screen_resources_current_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_mode_info_end(xcb_randr_get_screen_resources_current_modes_iterator(R));
- i.data = ((uint8_t *) child.data) + (R->names_len);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_screen_resources_current_reply_t * xcb_randr_get_screen_resources_current_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_screen_resources_current_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_screen_resources_current_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_screen_resources_current_reply_t *
-xcb_randr_get_screen_resources_current_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_screen_resources_current_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_screen_resources_current_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_randr_set_crtc_transform_sizeof (const void *_buffer /**< */,
- uint32_t filter_params_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_set_crtc_transform_request_t *_aux = (xcb_randr_set_crtc_transform_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_set_crtc_transform_request_t);
- xcb_tmp += xcb_block_len;
- /* filter_name */
- xcb_block_len += _aux->filter_len * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* filter_params */
- xcb_block_len += filter_params_len * sizeof(xcb_render_fixed_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_fixed_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_transform_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_render_transform_t transform
- ** @param uint16_t filter_len
- ** @param const char *filter_name
- ** @param uint32_t filter_params_len
- ** @param const xcb_render_fixed_t *filter_params
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_transform_checked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_render_transform_t transform /**< */,
- uint16_t filter_len /**< */,
- const char *filter_name /**< */,
- uint32_t filter_params_len /**< */,
- const xcb_render_fixed_t *filter_params /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_CRTC_TRANSFORM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_set_crtc_transform_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.transform = transform;
- xcb_out.filter_len = filter_len;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char filter_name */
- xcb_parts[4].iov_base = (char *) filter_name;
- xcb_parts[4].iov_len = filter_len * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_fixed_t filter_params */
- xcb_parts[6].iov_base = (char *) filter_params;
- xcb_parts[6].iov_len = filter_params_len * sizeof(xcb_render_fixed_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_crtc_transform
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_render_transform_t transform
- ** @param uint16_t filter_len
- ** @param const char *filter_name
- ** @param uint32_t filter_params_len
- ** @param const xcb_render_fixed_t *filter_params
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_crtc_transform (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_render_transform_t transform /**< */,
- uint16_t filter_len /**< */,
- const char *filter_name /**< */,
- uint32_t filter_params_len /**< */,
- const xcb_render_fixed_t *filter_params /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_CRTC_TRANSFORM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_set_crtc_transform_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.transform = transform;
- xcb_out.filter_len = filter_len;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char filter_name */
- xcb_parts[4].iov_base = (char *) filter_name;
- xcb_parts[4].iov_len = filter_len * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_fixed_t filter_params */
- xcb_parts[6].iov_base = (char *) filter_params;
- xcb_parts[6].iov_len = filter_params_len * sizeof(xcb_render_fixed_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_randr_get_crtc_transform_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_randr_get_crtc_transform_reply_t *_aux = (xcb_randr_get_crtc_transform_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_randr_get_crtc_transform_reply_t);
- xcb_tmp += xcb_block_len;
- /* pending_filter_name */
- xcb_block_len += _aux->pending_len * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* pending_params */
- xcb_block_len += _aux->pending_nparams * sizeof(xcb_render_fixed_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_fixed_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* current_filter_name */
- xcb_block_len += _aux->current_len * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* current_params */
- xcb_block_len += _aux->current_nparams * sizeof(xcb_render_fixed_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_fixed_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_transform_cookie_t xcb_randr_get_crtc_transform
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_transform_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_transform_cookie_t
-xcb_randr_get_crtc_transform (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_CRTC_TRANSFORM,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_crtc_transform_cookie_t xcb_ret;
- xcb_randr_get_crtc_transform_request_t xcb_out;
-
- xcb_out.crtc = crtc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_transform_cookie_t xcb_randr_get_crtc_transform_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_crtc_transform_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_transform_cookie_t
-xcb_randr_get_crtc_transform_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_CRTC_TRANSFORM,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_crtc_transform_cookie_t xcb_ret;
- xcb_randr_get_crtc_transform_request_t xcb_out;
-
- xcb_out.crtc = crtc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** char * xcb_randr_get_crtc_transform_pending_filter_name
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_randr_get_crtc_transform_pending_filter_name (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- return (char *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_pending_filter_name_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_pending_filter_name_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- return R->pending_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_pending_filter_name_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_pending_filter_name_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((char *) (R + 1)) + (R->pending_len);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_fixed_t * xcb_randr_get_crtc_transform_pending_params
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_render_fixed_t *
- **
- *****************************************************************************/
-
-xcb_render_fixed_t *
-xcb_randr_get_crtc_transform_pending_params (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_crtc_transform_pending_filter_name_end(R);
- return (xcb_render_fixed_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_render_fixed_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_pending_params_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_pending_params_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- return R->pending_nparams;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_pending_params_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_pending_params_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_crtc_transform_pending_filter_name_end(R);
- i.data = ((xcb_render_fixed_t *) child.data) + (R->pending_nparams);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** char * xcb_randr_get_crtc_transform_current_filter_name
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_randr_get_crtc_transform_current_filter_name (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_crtc_transform_pending_params_end(R);
- return (char *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_current_filter_name_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_current_filter_name_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- return R->current_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_current_filter_name_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_current_filter_name_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_crtc_transform_pending_params_end(R);
- i.data = ((char *) child.data) + (R->current_len);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_fixed_t * xcb_randr_get_crtc_transform_current_params
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_render_fixed_t *
- **
- *****************************************************************************/
-
-xcb_render_fixed_t *
-xcb_randr_get_crtc_transform_current_params (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_randr_get_crtc_transform_current_filter_name_end(R);
- return (xcb_render_fixed_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_render_fixed_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_randr_get_crtc_transform_current_params_length
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_randr_get_crtc_transform_current_params_length (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- return R->current_nparams;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_get_crtc_transform_current_params_end
- **
- ** @param const xcb_randr_get_crtc_transform_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_get_crtc_transform_current_params_end (const xcb_randr_get_crtc_transform_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_randr_get_crtc_transform_current_filter_name_end(R);
- i.data = ((xcb_render_fixed_t *) child.data) + (R->current_nparams);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_crtc_transform_reply_t * xcb_randr_get_crtc_transform_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_crtc_transform_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_crtc_transform_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_crtc_transform_reply_t *
-xcb_randr_get_crtc_transform_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_crtc_transform_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_crtc_transform_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_panning_cookie_t xcb_randr_get_panning
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_panning_cookie_t
-xcb_randr_get_panning (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_PANNING,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_panning_cookie_t xcb_ret;
- xcb_randr_get_panning_request_t xcb_out;
-
- xcb_out.crtc = crtc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_panning_cookie_t xcb_randr_get_panning_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @returns xcb_randr_get_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_panning_cookie_t
-xcb_randr_get_panning_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_PANNING,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_panning_cookie_t xcb_ret;
- xcb_randr_get_panning_request_t xcb_out;
-
- xcb_out.crtc = crtc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_panning_reply_t * xcb_randr_get_panning_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_panning_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_panning_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_panning_reply_t *
-xcb_randr_get_panning_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_panning_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_panning_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_set_panning_cookie_t xcb_randr_set_panning
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param uint16_t left
- ** @param uint16_t top
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint16_t track_left
- ** @param uint16_t track_top
- ** @param uint16_t track_width
- ** @param uint16_t track_height
- ** @param int16_t border_left
- ** @param int16_t border_top
- ** @param int16_t border_right
- ** @param int16_t border_bottom
- ** @returns xcb_randr_set_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_panning_cookie_t
-xcb_randr_set_panning (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- uint16_t left /**< */,
- uint16_t top /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint16_t track_left /**< */,
- uint16_t track_top /**< */,
- uint16_t track_width /**< */,
- uint16_t track_height /**< */,
- int16_t border_left /**< */,
- int16_t border_top /**< */,
- int16_t border_right /**< */,
- int16_t border_bottom /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_PANNING,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_set_panning_cookie_t xcb_ret;
- xcb_randr_set_panning_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.timestamp = timestamp;
- xcb_out.left = left;
- xcb_out.top = top;
- xcb_out.width = width;
- xcb_out.height = height;
- xcb_out.track_left = track_left;
- xcb_out.track_top = track_top;
- xcb_out.track_width = track_width;
- xcb_out.track_height = track_height;
- xcb_out.border_left = border_left;
- xcb_out.border_top = border_top;
- xcb_out.border_right = border_right;
- xcb_out.border_bottom = border_bottom;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_set_panning_cookie_t xcb_randr_set_panning_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_crtc_t crtc
- ** @param xcb_timestamp_t timestamp
- ** @param uint16_t left
- ** @param uint16_t top
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint16_t track_left
- ** @param uint16_t track_top
- ** @param uint16_t track_width
- ** @param uint16_t track_height
- ** @param int16_t border_left
- ** @param int16_t border_top
- ** @param int16_t border_right
- ** @param int16_t border_bottom
- ** @returns xcb_randr_set_panning_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_set_panning_cookie_t
-xcb_randr_set_panning_unchecked (xcb_connection_t *c /**< */,
- xcb_randr_crtc_t crtc /**< */,
- xcb_timestamp_t timestamp /**< */,
- uint16_t left /**< */,
- uint16_t top /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint16_t track_left /**< */,
- uint16_t track_top /**< */,
- uint16_t track_width /**< */,
- uint16_t track_height /**< */,
- int16_t border_left /**< */,
- int16_t border_top /**< */,
- int16_t border_right /**< */,
- int16_t border_bottom /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_PANNING,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_set_panning_cookie_t xcb_ret;
- xcb_randr_set_panning_request_t xcb_out;
-
- xcb_out.crtc = crtc;
- xcb_out.timestamp = timestamp;
- xcb_out.left = left;
- xcb_out.top = top;
- xcb_out.width = width;
- xcb_out.height = height;
- xcb_out.track_left = track_left;
- xcb_out.track_top = track_top;
- xcb_out.track_width = track_width;
- xcb_out.track_height = track_height;
- xcb_out.border_left = border_left;
- xcb_out.border_top = border_top;
- xcb_out.border_right = border_right;
- xcb_out.border_bottom = border_bottom;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_set_panning_reply_t * xcb_randr_set_panning_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_set_panning_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_set_panning_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_set_panning_reply_t *
-xcb_randr_set_panning_reply (xcb_connection_t *c /**< */,
- xcb_randr_set_panning_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_set_panning_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_output_primary_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_output_t output
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_output_primary_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_output_t output /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_OUTPUT_PRIMARY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_set_output_primary_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.output = output;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_randr_set_output_primary
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_randr_output_t output
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_randr_set_output_primary (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_randr_output_t output /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_SET_OUTPUT_PRIMARY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_randr_set_output_primary_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.output = output;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_primary_cookie_t xcb_randr_get_output_primary
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_output_primary_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_primary_cookie_t
-xcb_randr_get_output_primary (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_OUTPUT_PRIMARY,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_output_primary_cookie_t xcb_ret;
- xcb_randr_get_output_primary_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_primary_cookie_t xcb_randr_get_output_primary_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_randr_get_output_primary_cookie_t
- **
- *****************************************************************************/
-
-xcb_randr_get_output_primary_cookie_t
-xcb_randr_get_output_primary_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_randr_id,
- /* opcode */ XCB_RANDR_GET_OUTPUT_PRIMARY,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_randr_get_output_primary_cookie_t xcb_ret;
- xcb_randr_get_output_primary_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_randr_get_output_primary_reply_t * xcb_randr_get_output_primary_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_randr_get_output_primary_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_randr_get_output_primary_reply_t *
- **
- *****************************************************************************/
-
-xcb_randr_get_output_primary_reply_t *
-xcb_randr_get_output_primary_reply (xcb_connection_t *c /**< */,
- xcb_randr_get_output_primary_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_randr_get_output_primary_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_crtc_change_next
- **
- ** @param xcb_randr_crtc_change_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_crtc_change_next (xcb_randr_crtc_change_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_randr_crtc_change_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_crtc_change_end
- **
- ** @param xcb_randr_crtc_change_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_crtc_change_end (xcb_randr_crtc_change_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_output_change_next
- **
- ** @param xcb_randr_output_change_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_output_change_next (xcb_randr_output_change_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_randr_output_change_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_output_change_end
- **
- ** @param xcb_randr_output_change_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_output_change_end (xcb_randr_output_change_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_output_property_next
- **
- ** @param xcb_randr_output_property_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_output_property_next (xcb_randr_output_property_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_randr_output_property_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_output_property_end
- **
- ** @param xcb_randr_output_property_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_output_property_end (xcb_randr_output_property_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_randr_notify_data_next
- **
- ** @param xcb_randr_notify_data_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_randr_notify_data_next (xcb_randr_notify_data_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_randr_notify_data_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_randr_notify_data_end
- **
- ** @param xcb_randr_notify_data_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_randr_notify_data_end (xcb_randr_notify_data_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
diff --git a/src/3rdparty/xcb/libxcb/render.c b/src/3rdparty/xcb/libxcb/render.c
deleted file mode 100644
index 7e5379cfcf..0000000000
--- a/src/3rdparty/xcb/libxcb/render.c
+++ /dev/null
@@ -1,5295 +0,0 @@
-/*
- * This file generated automatically from render.xml by c_client.py.
- * Edit at your peril.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stddef.h> /* for offsetof() */
-#include "xcbext.h"
-#include "render.h"
-
-#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
-#include "xproto.h"
-
-xcb_extension_t xcb_render_id = { "RENDER", 0 };
-
-
-/*****************************************************************************
- **
- ** void xcb_render_glyph_next
- **
- ** @param xcb_render_glyph_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_glyph_next (xcb_render_glyph_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_glyph_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_glyph_end
- **
- ** @param xcb_render_glyph_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_glyph_end (xcb_render_glyph_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_glyphset_next
- **
- ** @param xcb_render_glyphset_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_glyphset_next (xcb_render_glyphset_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_glyphset_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_glyphset_end
- **
- ** @param xcb_render_glyphset_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_glyphset_end (xcb_render_glyphset_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_picture_next
- **
- ** @param xcb_render_picture_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_picture_next (xcb_render_picture_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_picture_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_picture_end
- **
- ** @param xcb_render_picture_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_picture_end (xcb_render_picture_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_pictformat_next
- **
- ** @param xcb_render_pictformat_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictformat_next (xcb_render_pictformat_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_pictformat_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictformat_end
- **
- ** @param xcb_render_pictformat_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictformat_end (xcb_render_pictformat_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_fixed_next
- **
- ** @param xcb_render_fixed_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_fixed_next (xcb_render_fixed_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_fixed_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_fixed_end
- **
- ** @param xcb_render_fixed_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_fixed_end (xcb_render_fixed_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_directformat_next
- **
- ** @param xcb_render_directformat_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_directformat_next (xcb_render_directformat_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_directformat_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_directformat_end
- **
- ** @param xcb_render_directformat_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_directformat_end (xcb_render_directformat_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_pictforminfo_next
- **
- ** @param xcb_render_pictforminfo_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictforminfo_next (xcb_render_pictforminfo_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_pictforminfo_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictforminfo_end
- **
- ** @param xcb_render_pictforminfo_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictforminfo_end (xcb_render_pictforminfo_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_pictvisual_next
- **
- ** @param xcb_render_pictvisual_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictvisual_next (xcb_render_pictvisual_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_pictvisual_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictvisual_end
- **
- ** @param xcb_render_pictvisual_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictvisual_end (xcb_render_pictvisual_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_render_pictdepth_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_pictdepth_t *_aux = (xcb_render_pictdepth_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_pictdepth_t);
- xcb_tmp += xcb_block_len;
- /* visuals */
- xcb_block_len += _aux->num_visuals * sizeof(xcb_render_pictvisual_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_pictvisual_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictvisual_t * xcb_render_pictdepth_visuals
- **
- ** @param const xcb_render_pictdepth_t *R
- ** @returns xcb_render_pictvisual_t *
- **
- *****************************************************************************/
-
-xcb_render_pictvisual_t *
-xcb_render_pictdepth_visuals (const xcb_render_pictdepth_t *R /**< */)
-{
- return (xcb_render_pictvisual_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_render_pictdepth_visuals_length
- **
- ** @param const xcb_render_pictdepth_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_pictdepth_visuals_length (const xcb_render_pictdepth_t *R /**< */)
-{
- return R->num_visuals;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictvisual_iterator_t xcb_render_pictdepth_visuals_iterator
- **
- ** @param const xcb_render_pictdepth_t *R
- ** @returns xcb_render_pictvisual_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictvisual_iterator_t
-xcb_render_pictdepth_visuals_iterator (const xcb_render_pictdepth_t *R /**< */)
-{
- xcb_render_pictvisual_iterator_t i;
- i.data = (xcb_render_pictvisual_t *) (R + 1);
- i.rem = R->num_visuals;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_pictdepth_next
- **
- ** @param xcb_render_pictdepth_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictdepth_next (xcb_render_pictdepth_iterator_t *i /**< */)
-{
- xcb_render_pictdepth_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_render_pictdepth_t *)(((char *)R) + xcb_render_pictdepth_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_render_pictdepth_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictdepth_end
- **
- ** @param xcb_render_pictdepth_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictdepth_end (xcb_render_pictdepth_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_render_pictdepth_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-int
-xcb_render_pictscreen_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_pictscreen_t *_aux = (xcb_render_pictscreen_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_render_pictscreen_t);
- xcb_tmp += xcb_block_len;
- /* depths */
- for(i=0; i<_aux->num_depths; i++) {
- xcb_tmp_len = xcb_render_pictdepth_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_render_pictdepth_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_render_pictscreen_depths_length
- **
- ** @param const xcb_render_pictscreen_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_pictscreen_depths_length (const xcb_render_pictscreen_t *R /**< */)
-{
- return R->num_depths;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictdepth_iterator_t xcb_render_pictscreen_depths_iterator
- **
- ** @param const xcb_render_pictscreen_t *R
- ** @returns xcb_render_pictdepth_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictdepth_iterator_t
-xcb_render_pictscreen_depths_iterator (const xcb_render_pictscreen_t *R /**< */)
-{
- xcb_render_pictdepth_iterator_t i;
- i.data = (xcb_render_pictdepth_t *) (R + 1);
- i.rem = R->num_depths;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_pictscreen_next
- **
- ** @param xcb_render_pictscreen_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pictscreen_next (xcb_render_pictscreen_iterator_t *i /**< */)
-{
- xcb_render_pictscreen_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_render_pictscreen_t *)(((char *)R) + xcb_render_pictscreen_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_render_pictscreen_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pictscreen_end
- **
- ** @param xcb_render_pictscreen_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pictscreen_end (xcb_render_pictscreen_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_render_pictscreen_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_indexvalue_next
- **
- ** @param xcb_render_indexvalue_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_indexvalue_next (xcb_render_indexvalue_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_indexvalue_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_indexvalue_end
- **
- ** @param xcb_render_indexvalue_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_indexvalue_end (xcb_render_indexvalue_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_color_next
- **
- ** @param xcb_render_color_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_color_next (xcb_render_color_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_color_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_color_end
- **
- ** @param xcb_render_color_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_color_end (xcb_render_color_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_pointfix_next
- **
- ** @param xcb_render_pointfix_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_pointfix_next (xcb_render_pointfix_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_pointfix_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_pointfix_end
- **
- ** @param xcb_render_pointfix_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_pointfix_end (xcb_render_pointfix_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_linefix_next
- **
- ** @param xcb_render_linefix_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_linefix_next (xcb_render_linefix_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_linefix_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_linefix_end
- **
- ** @param xcb_render_linefix_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_linefix_end (xcb_render_linefix_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_triangle_next
- **
- ** @param xcb_render_triangle_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_triangle_next (xcb_render_triangle_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_triangle_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_triangle_end
- **
- ** @param xcb_render_triangle_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_triangle_end (xcb_render_triangle_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_trapezoid_next
- **
- ** @param xcb_render_trapezoid_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_trapezoid_next (xcb_render_trapezoid_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_trapezoid_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_trapezoid_end
- **
- ** @param xcb_render_trapezoid_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_trapezoid_end (xcb_render_trapezoid_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_glyphinfo_next
- **
- ** @param xcb_render_glyphinfo_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_glyphinfo_next (xcb_render_glyphinfo_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_glyphinfo_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_glyphinfo_end
- **
- ** @param xcb_render_glyphinfo_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_glyphinfo_end (xcb_render_glyphinfo_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_version_cookie_t xcb_render_query_version
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t client_major_version
- ** @param uint32_t client_minor_version
- ** @returns xcb_render_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_version_cookie_t
-xcb_render_query_version (xcb_connection_t *c /**< */,
- uint32_t client_major_version /**< */,
- uint32_t client_minor_version /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_render_query_version_cookie_t xcb_ret;
- xcb_render_query_version_request_t xcb_out;
-
- xcb_out.client_major_version = client_major_version;
- xcb_out.client_minor_version = client_minor_version;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_version_cookie_t xcb_render_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t client_major_version
- ** @param uint32_t client_minor_version
- ** @returns xcb_render_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_version_cookie_t
-xcb_render_query_version_unchecked (xcb_connection_t *c /**< */,
- uint32_t client_major_version /**< */,
- uint32_t client_minor_version /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_render_query_version_cookie_t xcb_ret;
- xcb_render_query_version_request_t xcb_out;
-
- xcb_out.client_major_version = client_major_version;
- xcb_out.client_minor_version = client_minor_version;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_version_reply_t * xcb_render_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_render_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_render_query_version_reply_t *
-xcb_render_query_version_reply (xcb_connection_t *c /**< */,
- xcb_render_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_render_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_render_query_pict_formats_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_query_pict_formats_reply_t *_aux = (xcb_render_query_pict_formats_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_render_query_pict_formats_reply_t);
- xcb_tmp += xcb_block_len;
- /* formats */
- xcb_block_len += _aux->num_formats * sizeof(xcb_render_pictforminfo_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_pictforminfo_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* screens */
- for(i=0; i<_aux->num_screens; i++) {
- xcb_tmp_len = xcb_render_pictscreen_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_render_pictscreen_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* subpixels */
- xcb_block_len += _aux->num_subpixel * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_formats_cookie_t xcb_render_query_pict_formats
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_render_query_pict_formats_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_pict_formats_cookie_t
-xcb_render_query_pict_formats (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_QUERY_PICT_FORMATS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_render_query_pict_formats_cookie_t xcb_ret;
- xcb_render_query_pict_formats_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_formats_cookie_t xcb_render_query_pict_formats_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_render_query_pict_formats_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_pict_formats_cookie_t
-xcb_render_query_pict_formats_unchecked (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_QUERY_PICT_FORMATS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_render_query_pict_formats_cookie_t xcb_ret;
- xcb_render_query_pict_formats_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictforminfo_t * xcb_render_query_pict_formats_formats
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns xcb_render_pictforminfo_t *
- **
- *****************************************************************************/
-
-xcb_render_pictforminfo_t *
-xcb_render_query_pict_formats_formats (const xcb_render_query_pict_formats_reply_t *R /**< */)
-{
- return (xcb_render_pictforminfo_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_pict_formats_formats_length
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_pict_formats_formats_length (const xcb_render_query_pict_formats_reply_t *R /**< */)
-{
- return R->num_formats;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictforminfo_iterator_t xcb_render_query_pict_formats_formats_iterator
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns xcb_render_pictforminfo_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictforminfo_iterator_t
-xcb_render_query_pict_formats_formats_iterator (const xcb_render_query_pict_formats_reply_t *R /**< */)
-{
- xcb_render_pictforminfo_iterator_t i;
- i.data = (xcb_render_pictforminfo_t *) (R + 1);
- i.rem = R->num_formats;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_pict_formats_screens_length
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_pict_formats_screens_length (const xcb_render_query_pict_formats_reply_t *R /**< */)
-{
- return R->num_screens;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_pictscreen_iterator_t xcb_render_query_pict_formats_screens_iterator
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns xcb_render_pictscreen_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_pictscreen_iterator_t
-xcb_render_query_pict_formats_screens_iterator (const xcb_render_query_pict_formats_reply_t *R /**< */)
-{
- xcb_render_pictscreen_iterator_t i;
- xcb_generic_iterator_t prev = xcb_render_pictforminfo_end(xcb_render_query_pict_formats_formats_iterator(R));
- i.data = (xcb_render_pictscreen_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_render_pictscreen_t, prev.index));
- i.rem = R->num_screens;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint32_t * xcb_render_query_pict_formats_subpixels
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns uint32_t *
- **
- *****************************************************************************/
-
-uint32_t *
-xcb_render_query_pict_formats_subpixels (const xcb_render_query_pict_formats_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_render_pictscreen_end(xcb_render_query_pict_formats_screens_iterator(R));
- return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_pict_formats_subpixels_length
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_pict_formats_subpixels_length (const xcb_render_query_pict_formats_reply_t *R /**< */)
-{
- return R->num_subpixel;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_query_pict_formats_subpixels_end
- **
- ** @param const xcb_render_query_pict_formats_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_query_pict_formats_subpixels_end (const xcb_render_query_pict_formats_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_render_pictscreen_end(xcb_render_query_pict_formats_screens_iterator(R));
- i.data = ((uint32_t *) child.data) + (R->num_subpixel);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_formats_reply_t * xcb_render_query_pict_formats_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_query_pict_formats_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_render_query_pict_formats_reply_t *
- **
- *****************************************************************************/
-
-xcb_render_query_pict_formats_reply_t *
-xcb_render_query_pict_formats_reply (xcb_connection_t *c /**< */,
- xcb_render_query_pict_formats_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_render_query_pict_formats_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_render_query_pict_index_values_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_query_pict_index_values_reply_t *_aux = (xcb_render_query_pict_index_values_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_query_pict_index_values_reply_t);
- xcb_tmp += xcb_block_len;
- /* values */
- xcb_block_len += _aux->num_values * sizeof(xcb_render_indexvalue_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_indexvalue_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_index_values_cookie_t xcb_render_query_pict_index_values
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_pictformat_t format
- ** @returns xcb_render_query_pict_index_values_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_pict_index_values_cookie_t
-xcb_render_query_pict_index_values (xcb_connection_t *c /**< */,
- xcb_render_pictformat_t format /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_QUERY_PICT_INDEX_VALUES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_render_query_pict_index_values_cookie_t xcb_ret;
- xcb_render_query_pict_index_values_request_t xcb_out;
-
- xcb_out.format = format;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_index_values_cookie_t xcb_render_query_pict_index_values_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_pictformat_t format
- ** @returns xcb_render_query_pict_index_values_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_pict_index_values_cookie_t
-xcb_render_query_pict_index_values_unchecked (xcb_connection_t *c /**< */,
- xcb_render_pictformat_t format /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_QUERY_PICT_INDEX_VALUES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_render_query_pict_index_values_cookie_t xcb_ret;
- xcb_render_query_pict_index_values_request_t xcb_out;
-
- xcb_out.format = format;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_indexvalue_t * xcb_render_query_pict_index_values_values
- **
- ** @param const xcb_render_query_pict_index_values_reply_t *R
- ** @returns xcb_render_indexvalue_t *
- **
- *****************************************************************************/
-
-xcb_render_indexvalue_t *
-xcb_render_query_pict_index_values_values (const xcb_render_query_pict_index_values_reply_t *R /**< */)
-{
- return (xcb_render_indexvalue_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_pict_index_values_values_length
- **
- ** @param const xcb_render_query_pict_index_values_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_pict_index_values_values_length (const xcb_render_query_pict_index_values_reply_t *R /**< */)
-{
- return R->num_values;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_indexvalue_iterator_t xcb_render_query_pict_index_values_values_iterator
- **
- ** @param const xcb_render_query_pict_index_values_reply_t *R
- ** @returns xcb_render_indexvalue_iterator_t
- **
- *****************************************************************************/
-
-xcb_render_indexvalue_iterator_t
-xcb_render_query_pict_index_values_values_iterator (const xcb_render_query_pict_index_values_reply_t *R /**< */)
-{
- xcb_render_indexvalue_iterator_t i;
- i.data = (xcb_render_indexvalue_t *) (R + 1);
- i.rem = R->num_values;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_pict_index_values_reply_t * xcb_render_query_pict_index_values_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_query_pict_index_values_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_render_query_pict_index_values_reply_t *
- **
- *****************************************************************************/
-
-xcb_render_query_pict_index_values_reply_t *
-xcb_render_query_pict_index_values_reply (xcb_connection_t *c /**< */,
- xcb_render_query_pict_index_values_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_render_query_pict_index_values_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_render_create_picture_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_create_picture_request_t *_aux = (xcb_render_create_picture_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_create_picture_request_t);
- xcb_tmp += xcb_block_len;
- /* value_list */
- xcb_block_len += xcb_popcount(_aux->value_mask) * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_picture_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t pid
- ** @param xcb_drawable_t drawable
- ** @param xcb_render_pictformat_t format
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_picture_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t pid /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_render_pictformat_t format /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_PICTURE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_picture_request_t xcb_out;
-
- xcb_out.pid = pid;
- xcb_out.drawable = drawable;
- xcb_out.format = format;
- xcb_out.value_mask = value_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t value_list */
- xcb_parts[4].iov_base = (char *) value_list;
- xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_picture
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t pid
- ** @param xcb_drawable_t drawable
- ** @param xcb_render_pictformat_t format
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_picture (xcb_connection_t *c /**< */,
- xcb_render_picture_t pid /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_render_pictformat_t format /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_PICTURE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_picture_request_t xcb_out;
-
- xcb_out.pid = pid;
- xcb_out.drawable = drawable;
- xcb_out.format = format;
- xcb_out.value_mask = value_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t value_list */
- xcb_parts[4].iov_base = (char *) value_list;
- xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_change_picture_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_change_picture_request_t *_aux = (xcb_render_change_picture_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_change_picture_request_t);
- xcb_tmp += xcb_block_len;
- /* value_list */
- xcb_block_len += xcb_popcount(_aux->value_mask) * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_change_picture_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_change_picture_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CHANGE_PICTURE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_change_picture_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.value_mask = value_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t value_list */
- xcb_parts[4].iov_base = (char *) value_list;
- xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_change_picture
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_change_picture (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CHANGE_PICTURE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_change_picture_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.value_mask = value_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t value_list */
- xcb_parts[4].iov_base = (char *) value_list;
- xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_set_picture_clip_rectangles_sizeof (const void *_buffer /**< */,
- uint32_t rectangles_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_set_picture_clip_rectangles_request_t);
- xcb_tmp += xcb_block_len;
- /* rectangles */
- xcb_block_len += rectangles_len * sizeof(xcb_rectangle_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_rectangle_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_clip_rectangles_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param int16_t clip_x_origin
- ** @param int16_t clip_y_origin
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_clip_rectangles_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- int16_t clip_x_origin /**< */,
- int16_t clip_y_origin /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_SET_PICTURE_CLIP_RECTANGLES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_set_picture_clip_rectangles_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.clip_x_origin = clip_x_origin;
- xcb_out.clip_y_origin = clip_y_origin;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rectangles */
- xcb_parts[4].iov_base = (char *) rectangles;
- xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_clip_rectangles
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param int16_t clip_x_origin
- ** @param int16_t clip_y_origin
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_clip_rectangles (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- int16_t clip_x_origin /**< */,
- int16_t clip_y_origin /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_SET_PICTURE_CLIP_RECTANGLES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_set_picture_clip_rectangles_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.clip_x_origin = clip_x_origin;
- xcb_out.clip_y_origin = clip_y_origin;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rectangles */
- xcb_parts[4].iov_base = (char *) rectangles;
- xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_picture_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_picture_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_FREE_PICTURE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_free_picture_request_t xcb_out;
-
- xcb_out.picture = picture;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_picture
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_picture (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_FREE_PICTURE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_free_picture_request_t xcb_out;
-
- xcb_out.picture = picture;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t mask
- ** @param xcb_render_picture_t dst
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param int16_t mask_x
- ** @param int16_t mask_y
- ** @param int16_t dst_x
- ** @param int16_t dst_y
- ** @param uint16_t width
- ** @param uint16_t height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t mask /**< */,
- xcb_render_picture_t dst /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- int16_t mask_x /**< */,
- int16_t mask_y /**< */,
- int16_t dst_x /**< */,
- int16_t dst_y /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_COMPOSITE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_composite_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.mask = mask;
- xcb_out.dst = dst;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
- xcb_out.mask_x = mask_x;
- xcb_out.mask_y = mask_y;
- xcb_out.dst_x = dst_x;
- xcb_out.dst_y = dst_y;
- xcb_out.width = width;
- xcb_out.height = height;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t mask
- ** @param xcb_render_picture_t dst
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param int16_t mask_x
- ** @param int16_t mask_y
- ** @param int16_t dst_x
- ** @param int16_t dst_y
- ** @param uint16_t width
- ** @param uint16_t height
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t mask /**< */,
- xcb_render_picture_t dst /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- int16_t mask_x /**< */,
- int16_t mask_y /**< */,
- int16_t dst_x /**< */,
- int16_t dst_y /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_COMPOSITE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_composite_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.mask = mask;
- xcb_out.dst = dst;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
- xcb_out.mask_x = mask_x;
- xcb_out.mask_y = mask_y;
- xcb_out.dst_x = dst_x;
- xcb_out.dst_y = dst_y;
- xcb_out.width = width;
- xcb_out.height = height;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_trapezoids_sizeof (const void *_buffer /**< */,
- uint32_t traps_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_trapezoids_request_t);
- xcb_tmp += xcb_block_len;
- /* traps */
- xcb_block_len += traps_len * sizeof(xcb_render_trapezoid_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_trapezoid_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_trapezoids_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t traps_len
- ** @param const xcb_render_trapezoid_t *traps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_trapezoids_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t traps_len /**< */,
- const xcb_render_trapezoid_t *traps /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_TRAPEZOIDS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_trapezoids_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_trapezoid_t traps */
- xcb_parts[4].iov_base = (char *) traps;
- xcb_parts[4].iov_len = traps_len * sizeof(xcb_render_trapezoid_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_trapezoids
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t traps_len
- ** @param const xcb_render_trapezoid_t *traps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_trapezoids (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t traps_len /**< */,
- const xcb_render_trapezoid_t *traps /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_TRAPEZOIDS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_trapezoids_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_trapezoid_t traps */
- xcb_parts[4].iov_base = (char *) traps;
- xcb_parts[4].iov_len = traps_len * sizeof(xcb_render_trapezoid_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_triangles_sizeof (const void *_buffer /**< */,
- uint32_t triangles_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_triangles_request_t);
- xcb_tmp += xcb_block_len;
- /* triangles */
- xcb_block_len += triangles_len * sizeof(xcb_render_triangle_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_triangle_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_triangles_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t triangles_len
- ** @param const xcb_render_triangle_t *triangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_triangles_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t triangles_len /**< */,
- const xcb_render_triangle_t *triangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_TRIANGLES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_triangles_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_triangle_t triangles */
- xcb_parts[4].iov_base = (char *) triangles;
- xcb_parts[4].iov_len = triangles_len * sizeof(xcb_render_triangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_triangles
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t triangles_len
- ** @param const xcb_render_triangle_t *triangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_triangles (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t triangles_len /**< */,
- const xcb_render_triangle_t *triangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_TRIANGLES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_triangles_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_triangle_t triangles */
- xcb_parts[4].iov_base = (char *) triangles;
- xcb_parts[4].iov_len = triangles_len * sizeof(xcb_render_triangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_tri_strip_sizeof (const void *_buffer /**< */,
- uint32_t points_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_tri_strip_request_t);
- xcb_tmp += xcb_block_len;
- /* points */
- xcb_block_len += points_len * sizeof(xcb_render_pointfix_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_pointfix_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_tri_strip_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t points_len
- ** @param const xcb_render_pointfix_t *points
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_tri_strip_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t points_len /**< */,
- const xcb_render_pointfix_t *points /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_TRI_STRIP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_tri_strip_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_pointfix_t points */
- xcb_parts[4].iov_base = (char *) points;
- xcb_parts[4].iov_len = points_len * sizeof(xcb_render_pointfix_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_tri_strip
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t points_len
- ** @param const xcb_render_pointfix_t *points
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_tri_strip (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t points_len /**< */,
- const xcb_render_pointfix_t *points /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_TRI_STRIP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_tri_strip_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_pointfix_t points */
- xcb_parts[4].iov_base = (char *) points;
- xcb_parts[4].iov_len = points_len * sizeof(xcb_render_pointfix_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_tri_fan_sizeof (const void *_buffer /**< */,
- uint32_t points_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_tri_fan_request_t);
- xcb_tmp += xcb_block_len;
- /* points */
- xcb_block_len += points_len * sizeof(xcb_render_pointfix_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_pointfix_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_tri_fan_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t points_len
- ** @param const xcb_render_pointfix_t *points
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_tri_fan_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t points_len /**< */,
- const xcb_render_pointfix_t *points /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_TRI_FAN,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_tri_fan_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_pointfix_t points */
- xcb_parts[4].iov_base = (char *) points;
- xcb_parts[4].iov_len = points_len * sizeof(xcb_render_pointfix_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_tri_fan
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t points_len
- ** @param const xcb_render_pointfix_t *points
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_tri_fan (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t points_len /**< */,
- const xcb_render_pointfix_t *points /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_TRI_FAN,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_tri_fan_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_pointfix_t points */
- xcb_parts[4].iov_base = (char *) points;
- xcb_parts[4].iov_len = points_len * sizeof(xcb_render_pointfix_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_glyph_set_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t gsid
- ** @param xcb_render_pictformat_t format
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_glyph_set_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t gsid /**< */,
- xcb_render_pictformat_t format /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_GLYPH_SET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_glyph_set_request_t xcb_out;
-
- xcb_out.gsid = gsid;
- xcb_out.format = format;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_glyph_set
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t gsid
- ** @param xcb_render_pictformat_t format
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_glyph_set (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t gsid /**< */,
- xcb_render_pictformat_t format /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_GLYPH_SET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_glyph_set_request_t xcb_out;
-
- xcb_out.gsid = gsid;
- xcb_out.format = format;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_reference_glyph_set_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t gsid
- ** @param xcb_render_glyphset_t existing
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_reference_glyph_set_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t gsid /**< */,
- xcb_render_glyphset_t existing /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_REFERENCE_GLYPH_SET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_reference_glyph_set_request_t xcb_out;
-
- xcb_out.gsid = gsid;
- xcb_out.existing = existing;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_reference_glyph_set
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t gsid
- ** @param xcb_render_glyphset_t existing
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_reference_glyph_set (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t gsid /**< */,
- xcb_render_glyphset_t existing /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_REFERENCE_GLYPH_SET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_reference_glyph_set_request_t xcb_out;
-
- xcb_out.gsid = gsid;
- xcb_out.existing = existing;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_glyph_set_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_glyph_set_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_FREE_GLYPH_SET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_free_glyph_set_request_t xcb_out;
-
- xcb_out.glyphset = glyphset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_glyph_set
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_glyph_set (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_FREE_GLYPH_SET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_free_glyph_set_request_t xcb_out;
-
- xcb_out.glyphset = glyphset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_add_glyphs_sizeof (const void *_buffer /**< */,
- uint32_t data_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_add_glyphs_request_t *_aux = (xcb_render_add_glyphs_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_add_glyphs_request_t);
- xcb_tmp += xcb_block_len;
- /* glyphids */
- xcb_block_len += _aux->glyphs_len * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* glyphs */
- xcb_block_len += _aux->glyphs_len * sizeof(xcb_render_glyphinfo_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_glyphinfo_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* data */
- xcb_block_len += data_len * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_add_glyphs_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @param uint32_t glyphs_len
- ** @param const uint32_t *glyphids
- ** @param const xcb_render_glyphinfo_t *glyphs
- ** @param uint32_t data_len
- ** @param const uint8_t *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_add_glyphs_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- uint32_t glyphs_len /**< */,
- const uint32_t *glyphids /**< */,
- const xcb_render_glyphinfo_t *glyphs /**< */,
- uint32_t data_len /**< */,
- const uint8_t *data /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 8,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_ADD_GLYPHS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[10];
- xcb_void_cookie_t xcb_ret;
- xcb_render_add_glyphs_request_t xcb_out;
-
- xcb_out.glyphset = glyphset;
- xcb_out.glyphs_len = glyphs_len;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t glyphids */
- xcb_parts[4].iov_base = (char *) glyphids;
- xcb_parts[4].iov_len = glyphs_len * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_glyphinfo_t glyphs */
- xcb_parts[6].iov_base = (char *) glyphs;
- xcb_parts[6].iov_len = glyphs_len * sizeof(xcb_render_glyphinfo_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
- /* uint8_t data */
- xcb_parts[8].iov_base = (char *) data;
- xcb_parts[8].iov_len = data_len * sizeof(uint8_t);
- xcb_parts[9].iov_base = 0;
- xcb_parts[9].iov_len = -xcb_parts[8].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_add_glyphs
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @param uint32_t glyphs_len
- ** @param const uint32_t *glyphids
- ** @param const xcb_render_glyphinfo_t *glyphs
- ** @param uint32_t data_len
- ** @param const uint8_t *data
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_add_glyphs (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- uint32_t glyphs_len /**< */,
- const uint32_t *glyphids /**< */,
- const xcb_render_glyphinfo_t *glyphs /**< */,
- uint32_t data_len /**< */,
- const uint8_t *data /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 8,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_ADD_GLYPHS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[10];
- xcb_void_cookie_t xcb_ret;
- xcb_render_add_glyphs_request_t xcb_out;
-
- xcb_out.glyphset = glyphset;
- xcb_out.glyphs_len = glyphs_len;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t glyphids */
- xcb_parts[4].iov_base = (char *) glyphids;
- xcb_parts[4].iov_len = glyphs_len * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_glyphinfo_t glyphs */
- xcb_parts[6].iov_base = (char *) glyphs;
- xcb_parts[6].iov_len = glyphs_len * sizeof(xcb_render_glyphinfo_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
- /* uint8_t data */
- xcb_parts[8].iov_base = (char *) data;
- xcb_parts[8].iov_len = data_len * sizeof(uint8_t);
- xcb_parts[9].iov_base = 0;
- xcb_parts[9].iov_len = -xcb_parts[8].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_free_glyphs_sizeof (const void *_buffer /**< */,
- uint32_t glyphs_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_free_glyphs_request_t);
- xcb_tmp += xcb_block_len;
- /* glyphs */
- xcb_block_len += glyphs_len * sizeof(xcb_render_glyph_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_glyph_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_glyphs_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @param uint32_t glyphs_len
- ** @param const xcb_render_glyph_t *glyphs
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_glyphs_checked (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- uint32_t glyphs_len /**< */,
- const xcb_render_glyph_t *glyphs /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_FREE_GLYPHS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_free_glyphs_request_t xcb_out;
-
- xcb_out.glyphset = glyphset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_glyph_t glyphs */
- xcb_parts[4].iov_base = (char *) glyphs;
- xcb_parts[4].iov_len = glyphs_len * sizeof(xcb_render_glyph_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_free_glyphs
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_glyphset_t glyphset
- ** @param uint32_t glyphs_len
- ** @param const xcb_render_glyph_t *glyphs
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_free_glyphs (xcb_connection_t *c /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- uint32_t glyphs_len /**< */,
- const xcb_render_glyph_t *glyphs /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_FREE_GLYPHS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_free_glyphs_request_t xcb_out;
-
- xcb_out.glyphset = glyphset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_glyph_t glyphs */
- xcb_parts[4].iov_base = (char *) glyphs;
- xcb_parts[4].iov_len = glyphs_len * sizeof(xcb_render_glyph_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_composite_glyphs_8_sizeof (const void *_buffer /**< */,
- uint32_t glyphcmds_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_composite_glyphs_8_request_t);
- xcb_tmp += xcb_block_len;
- /* glyphcmds */
- xcb_block_len += glyphcmds_len * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_8_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_8_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_COMPOSITE_GLYPHS_8,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_composite_glyphs_8_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.glyphset = glyphset;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint8_t glyphcmds */
- xcb_parts[4].iov_base = (char *) glyphcmds;
- xcb_parts[4].iov_len = glyphcmds_len * sizeof(uint8_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_8
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_8 (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_COMPOSITE_GLYPHS_8,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_composite_glyphs_8_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.glyphset = glyphset;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint8_t glyphcmds */
- xcb_parts[4].iov_base = (char *) glyphcmds;
- xcb_parts[4].iov_len = glyphcmds_len * sizeof(uint8_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_composite_glyphs_16_sizeof (const void *_buffer /**< */,
- uint32_t glyphcmds_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_composite_glyphs_16_request_t);
- xcb_tmp += xcb_block_len;
- /* glyphcmds */
- xcb_block_len += glyphcmds_len * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_16_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_16_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_COMPOSITE_GLYPHS_16,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_composite_glyphs_16_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.glyphset = glyphset;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint8_t glyphcmds */
- xcb_parts[4].iov_base = (char *) glyphcmds;
- xcb_parts[4].iov_len = glyphcmds_len * sizeof(uint8_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_16
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_16 (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_COMPOSITE_GLYPHS_16,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_composite_glyphs_16_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.glyphset = glyphset;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint8_t glyphcmds */
- xcb_parts[4].iov_base = (char *) glyphcmds;
- xcb_parts[4].iov_len = glyphcmds_len * sizeof(uint8_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_composite_glyphs_32_sizeof (const void *_buffer /**< */,
- uint32_t glyphcmds_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_composite_glyphs_32_request_t);
- xcb_tmp += xcb_block_len;
- /* glyphcmds */
- xcb_block_len += glyphcmds_len * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_32_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_32_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_COMPOSITE_GLYPHS_32,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_composite_glyphs_32_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.glyphset = glyphset;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint8_t glyphcmds */
- xcb_parts[4].iov_base = (char *) glyphcmds;
- xcb_parts[4].iov_len = glyphcmds_len * sizeof(uint8_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_composite_glyphs_32
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t src
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_pictformat_t mask_format
- ** @param xcb_render_glyphset_t glyphset
- ** @param int16_t src_x
- ** @param int16_t src_y
- ** @param uint32_t glyphcmds_len
- ** @param const uint8_t *glyphcmds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_composite_glyphs_32 (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t src /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_pictformat_t mask_format /**< */,
- xcb_render_glyphset_t glyphset /**< */,
- int16_t src_x /**< */,
- int16_t src_y /**< */,
- uint32_t glyphcmds_len /**< */,
- const uint8_t *glyphcmds /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_COMPOSITE_GLYPHS_32,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_composite_glyphs_32_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.src = src;
- xcb_out.dst = dst;
- xcb_out.mask_format = mask_format;
- xcb_out.glyphset = glyphset;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint8_t glyphcmds */
- xcb_parts[4].iov_base = (char *) glyphcmds;
- xcb_parts[4].iov_len = glyphcmds_len * sizeof(uint8_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_fill_rectangles_sizeof (const void *_buffer /**< */,
- uint32_t rects_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_fill_rectangles_request_t);
- xcb_tmp += xcb_block_len;
- /* rects */
- xcb_block_len += rects_len * sizeof(xcb_rectangle_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_rectangle_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_fill_rectangles_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_color_t color
- ** @param uint32_t rects_len
- ** @param const xcb_rectangle_t *rects
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_fill_rectangles_checked (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_color_t color /**< */,
- uint32_t rects_len /**< */,
- const xcb_rectangle_t *rects /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_FILL_RECTANGLES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_fill_rectangles_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.dst = dst;
- xcb_out.color = color;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rects */
- xcb_parts[4].iov_base = (char *) rects;
- xcb_parts[4].iov_len = rects_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_fill_rectangles
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t op
- ** @param xcb_render_picture_t dst
- ** @param xcb_render_color_t color
- ** @param uint32_t rects_len
- ** @param const xcb_rectangle_t *rects
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_fill_rectangles (xcb_connection_t *c /**< */,
- uint8_t op /**< */,
- xcb_render_picture_t dst /**< */,
- xcb_render_color_t color /**< */,
- uint32_t rects_len /**< */,
- const xcb_rectangle_t *rects /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_FILL_RECTANGLES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_fill_rectangles_request_t xcb_out;
-
- xcb_out.op = op;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.dst = dst;
- xcb_out.color = color;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rects */
- xcb_parts[4].iov_base = (char *) rects;
- xcb_parts[4].iov_len = rects_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cid
- ** @param xcb_render_picture_t source
- ** @param uint16_t x
- ** @param uint16_t y
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_cursor_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t cid /**< */,
- xcb_render_picture_t source /**< */,
- uint16_t x /**< */,
- uint16_t y /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_cursor_request_t xcb_out;
-
- xcb_out.cid = cid;
- xcb_out.source = source;
- xcb_out.x = x;
- xcb_out.y = y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cid
- ** @param xcb_render_picture_t source
- ** @param uint16_t x
- ** @param uint16_t y
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_cursor (xcb_connection_t *c /**< */,
- xcb_cursor_t cid /**< */,
- xcb_render_picture_t source /**< */,
- uint16_t x /**< */,
- uint16_t y /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_cursor_request_t xcb_out;
-
- xcb_out.cid = cid;
- xcb_out.source = source;
- xcb_out.x = x;
- xcb_out.y = y;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_transform_next
- **
- ** @param xcb_render_transform_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_transform_next (xcb_render_transform_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_transform_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_transform_end
- **
- ** @param xcb_render_transform_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_transform_end (xcb_render_transform_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_transform_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_transform_t transform
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_transform_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_transform_t transform /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_SET_PICTURE_TRANSFORM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_set_picture_transform_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.transform = transform;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_transform
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_transform_t transform
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_transform (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_transform_t transform /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_SET_PICTURE_TRANSFORM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_set_picture_transform_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.transform = transform;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_query_filters_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_query_filters_reply_t *_aux = (xcb_render_query_filters_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_render_query_filters_reply_t);
- xcb_tmp += xcb_block_len;
- /* aliases */
- xcb_block_len += _aux->num_aliases * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* filters */
- for(i=0; i<_aux->num_filters; i++) {
- xcb_tmp_len = xcb_str_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_str_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_filters_cookie_t xcb_render_query_filters
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @returns xcb_render_query_filters_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_filters_cookie_t
-xcb_render_query_filters (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_QUERY_FILTERS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_render_query_filters_cookie_t xcb_ret;
- xcb_render_query_filters_request_t xcb_out;
-
- xcb_out.drawable = drawable;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_filters_cookie_t xcb_render_query_filters_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @returns xcb_render_query_filters_cookie_t
- **
- *****************************************************************************/
-
-xcb_render_query_filters_cookie_t
-xcb_render_query_filters_unchecked (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_QUERY_FILTERS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_render_query_filters_cookie_t xcb_ret;
- xcb_render_query_filters_request_t xcb_out;
-
- xcb_out.drawable = drawable;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_render_query_filters_aliases
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_render_query_filters_aliases (const xcb_render_query_filters_reply_t *R /**< */)
-{
- return (uint16_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_filters_aliases_length
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_filters_aliases_length (const xcb_render_query_filters_reply_t *R /**< */)
-{
- return R->num_aliases;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_query_filters_aliases_end
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_query_filters_aliases_end (const xcb_render_query_filters_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((uint16_t *) (R + 1)) + (R->num_aliases);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_render_query_filters_filters_length
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_render_query_filters_filters_length (const xcb_render_query_filters_reply_t *R /**< */)
-{
- return R->num_filters;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_str_iterator_t xcb_render_query_filters_filters_iterator
- **
- ** @param const xcb_render_query_filters_reply_t *R
- ** @returns xcb_str_iterator_t
- **
- *****************************************************************************/
-
-xcb_str_iterator_t
-xcb_render_query_filters_filters_iterator (const xcb_render_query_filters_reply_t *R /**< */)
-{
- xcb_str_iterator_t i;
- xcb_generic_iterator_t prev = xcb_render_query_filters_aliases_end(R);
- i.data = (xcb_str_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_str_t, prev.index));
- i.rem = R->num_filters;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_render_query_filters_reply_t * xcb_render_query_filters_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_query_filters_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_render_query_filters_reply_t *
- **
- *****************************************************************************/
-
-xcb_render_query_filters_reply_t *
-xcb_render_query_filters_reply (xcb_connection_t *c /**< */,
- xcb_render_query_filters_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_render_query_filters_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_render_set_picture_filter_sizeof (const void *_buffer /**< */,
- uint32_t values_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_set_picture_filter_request_t *_aux = (xcb_render_set_picture_filter_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_set_picture_filter_request_t);
- xcb_tmp += xcb_block_len;
- /* filter */
- xcb_block_len += _aux->filter_len * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* values */
- xcb_block_len += values_len * sizeof(xcb_render_fixed_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_fixed_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_filter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param uint16_t filter_len
- ** @param const char *filter
- ** @param uint32_t values_len
- ** @param const xcb_render_fixed_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_filter_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- uint16_t filter_len /**< */,
- const char *filter /**< */,
- uint32_t values_len /**< */,
- const xcb_render_fixed_t *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_SET_PICTURE_FILTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_render_set_picture_filter_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.filter_len = filter_len;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char filter */
- xcb_parts[4].iov_base = (char *) filter;
- xcb_parts[4].iov_len = filter_len * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_fixed_t values */
- xcb_parts[6].iov_base = (char *) values;
- xcb_parts[6].iov_len = values_len * sizeof(xcb_render_fixed_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_set_picture_filter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param uint16_t filter_len
- ** @param const char *filter
- ** @param uint32_t values_len
- ** @param const xcb_render_fixed_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_set_picture_filter (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- uint16_t filter_len /**< */,
- const char *filter /**< */,
- uint32_t values_len /**< */,
- const xcb_render_fixed_t *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_SET_PICTURE_FILTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_render_set_picture_filter_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.filter_len = filter_len;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char filter */
- xcb_parts[4].iov_base = (char *) filter;
- xcb_parts[4].iov_len = filter_len * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_fixed_t values */
- xcb_parts[6].iov_base = (char *) values;
- xcb_parts[6].iov_len = values_len * sizeof(xcb_render_fixed_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_animcursorelt_next
- **
- ** @param xcb_render_animcursorelt_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_animcursorelt_next (xcb_render_animcursorelt_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_animcursorelt_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_animcursorelt_end
- **
- ** @param xcb_render_animcursorelt_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_animcursorelt_end (xcb_render_animcursorelt_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_render_create_anim_cursor_sizeof (const void *_buffer /**< */,
- uint32_t cursors_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_create_anim_cursor_request_t);
- xcb_tmp += xcb_block_len;
- /* cursors */
- xcb_block_len += cursors_len * sizeof(xcb_render_animcursorelt_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_animcursorelt_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_anim_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cid
- ** @param uint32_t cursors_len
- ** @param const xcb_render_animcursorelt_t *cursors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_anim_cursor_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t cid /**< */,
- uint32_t cursors_len /**< */,
- const xcb_render_animcursorelt_t *cursors /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_ANIM_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_anim_cursor_request_t xcb_out;
-
- xcb_out.cid = cid;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_animcursorelt_t cursors */
- xcb_parts[4].iov_base = (char *) cursors;
- xcb_parts[4].iov_len = cursors_len * sizeof(xcb_render_animcursorelt_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_anim_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cid
- ** @param uint32_t cursors_len
- ** @param const xcb_render_animcursorelt_t *cursors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_anim_cursor (xcb_connection_t *c /**< */,
- xcb_cursor_t cid /**< */,
- uint32_t cursors_len /**< */,
- const xcb_render_animcursorelt_t *cursors /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_ANIM_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_anim_cursor_request_t xcb_out;
-
- xcb_out.cid = cid;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_animcursorelt_t cursors */
- xcb_parts[4].iov_base = (char *) cursors;
- xcb_parts[4].iov_len = cursors_len * sizeof(xcb_render_animcursorelt_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_spanfix_next
- **
- ** @param xcb_render_spanfix_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_spanfix_next (xcb_render_spanfix_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_spanfix_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_spanfix_end
- **
- ** @param xcb_render_spanfix_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_spanfix_end (xcb_render_spanfix_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_render_trap_next
- **
- ** @param xcb_render_trap_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_render_trap_next (xcb_render_trap_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_render_trap_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_render_trap_end
- **
- ** @param xcb_render_trap_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_render_trap_end (xcb_render_trap_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_render_add_traps_sizeof (const void *_buffer /**< */,
- uint32_t traps_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_add_traps_request_t);
- xcb_tmp += xcb_block_len;
- /* traps */
- xcb_block_len += traps_len * sizeof(xcb_render_trap_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_trap_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_add_traps_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param int16_t x_off
- ** @param int16_t y_off
- ** @param uint32_t traps_len
- ** @param const xcb_render_trap_t *traps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_add_traps_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- int16_t x_off /**< */,
- int16_t y_off /**< */,
- uint32_t traps_len /**< */,
- const xcb_render_trap_t *traps /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_ADD_TRAPS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_add_traps_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.x_off = x_off;
- xcb_out.y_off = y_off;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_trap_t traps */
- xcb_parts[4].iov_base = (char *) traps;
- xcb_parts[4].iov_len = traps_len * sizeof(xcb_render_trap_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_add_traps
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param int16_t x_off
- ** @param int16_t y_off
- ** @param uint32_t traps_len
- ** @param const xcb_render_trap_t *traps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_add_traps (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- int16_t x_off /**< */,
- int16_t y_off /**< */,
- uint32_t traps_len /**< */,
- const xcb_render_trap_t *traps /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_ADD_TRAPS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_render_add_traps_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.x_off = x_off;
- xcb_out.y_off = y_off;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_trap_t traps */
- xcb_parts[4].iov_base = (char *) traps;
- xcb_parts[4].iov_len = traps_len * sizeof(xcb_render_trap_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_solid_fill_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_color_t color
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_solid_fill_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_color_t color /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_SOLID_FILL,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_solid_fill_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.color = color;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_solid_fill
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_color_t color
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_solid_fill (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_color_t color /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_SOLID_FILL,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_solid_fill_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.color = color;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_create_linear_gradient_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_create_linear_gradient_request_t *_aux = (xcb_render_create_linear_gradient_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_create_linear_gradient_request_t);
- xcb_tmp += xcb_block_len;
- /* stops */
- xcb_block_len += _aux->num_stops * sizeof(xcb_render_fixed_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_fixed_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* colors */
- xcb_block_len += _aux->num_stops * sizeof(xcb_render_color_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_color_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_linear_gradient_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t p1
- ** @param xcb_render_pointfix_t p2
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_linear_gradient_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t p1 /**< */,
- xcb_render_pointfix_t p2 /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_LINEAR_GRADIENT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_linear_gradient_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.p1 = p1;
- xcb_out.p2 = p2;
- xcb_out.num_stops = num_stops;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_fixed_t stops */
- xcb_parts[4].iov_base = (char *) stops;
- xcb_parts[4].iov_len = num_stops * sizeof(xcb_render_fixed_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_color_t colors */
- xcb_parts[6].iov_base = (char *) colors;
- xcb_parts[6].iov_len = num_stops * sizeof(xcb_render_color_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_linear_gradient
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t p1
- ** @param xcb_render_pointfix_t p2
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_linear_gradient (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t p1 /**< */,
- xcb_render_pointfix_t p2 /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_LINEAR_GRADIENT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_linear_gradient_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.p1 = p1;
- xcb_out.p2 = p2;
- xcb_out.num_stops = num_stops;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_fixed_t stops */
- xcb_parts[4].iov_base = (char *) stops;
- xcb_parts[4].iov_len = num_stops * sizeof(xcb_render_fixed_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_color_t colors */
- xcb_parts[6].iov_base = (char *) colors;
- xcb_parts[6].iov_len = num_stops * sizeof(xcb_render_color_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_create_radial_gradient_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_create_radial_gradient_request_t *_aux = (xcb_render_create_radial_gradient_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_create_radial_gradient_request_t);
- xcb_tmp += xcb_block_len;
- /* stops */
- xcb_block_len += _aux->num_stops * sizeof(xcb_render_fixed_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_fixed_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* colors */
- xcb_block_len += _aux->num_stops * sizeof(xcb_render_color_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_color_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_radial_gradient_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t inner
- ** @param xcb_render_pointfix_t outer
- ** @param xcb_render_fixed_t inner_radius
- ** @param xcb_render_fixed_t outer_radius
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_radial_gradient_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t inner /**< */,
- xcb_render_pointfix_t outer /**< */,
- xcb_render_fixed_t inner_radius /**< */,
- xcb_render_fixed_t outer_radius /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_RADIAL_GRADIENT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_radial_gradient_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.inner = inner;
- xcb_out.outer = outer;
- xcb_out.inner_radius = inner_radius;
- xcb_out.outer_radius = outer_radius;
- xcb_out.num_stops = num_stops;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_fixed_t stops */
- xcb_parts[4].iov_base = (char *) stops;
- xcb_parts[4].iov_len = num_stops * sizeof(xcb_render_fixed_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_color_t colors */
- xcb_parts[6].iov_base = (char *) colors;
- xcb_parts[6].iov_len = num_stops * sizeof(xcb_render_color_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_radial_gradient
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t inner
- ** @param xcb_render_pointfix_t outer
- ** @param xcb_render_fixed_t inner_radius
- ** @param xcb_render_fixed_t outer_radius
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_radial_gradient (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t inner /**< */,
- xcb_render_pointfix_t outer /**< */,
- xcb_render_fixed_t inner_radius /**< */,
- xcb_render_fixed_t outer_radius /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_RADIAL_GRADIENT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_radial_gradient_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.inner = inner;
- xcb_out.outer = outer;
- xcb_out.inner_radius = inner_radius;
- xcb_out.outer_radius = outer_radius;
- xcb_out.num_stops = num_stops;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_fixed_t stops */
- xcb_parts[4].iov_base = (char *) stops;
- xcb_parts[4].iov_len = num_stops * sizeof(xcb_render_fixed_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_color_t colors */
- xcb_parts[6].iov_base = (char *) colors;
- xcb_parts[6].iov_len = num_stops * sizeof(xcb_render_color_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_render_create_conical_gradient_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_render_create_conical_gradient_request_t *_aux = (xcb_render_create_conical_gradient_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_render_create_conical_gradient_request_t);
- xcb_tmp += xcb_block_len;
- /* stops */
- xcb_block_len += _aux->num_stops * sizeof(xcb_render_fixed_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_fixed_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* colors */
- xcb_block_len += _aux->num_stops * sizeof(xcb_render_color_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_render_color_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_conical_gradient_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t center
- ** @param xcb_render_fixed_t angle
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_conical_gradient_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t center /**< */,
- xcb_render_fixed_t angle /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_CONICAL_GRADIENT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_conical_gradient_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.center = center;
- xcb_out.angle = angle;
- xcb_out.num_stops = num_stops;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_fixed_t stops */
- xcb_parts[4].iov_base = (char *) stops;
- xcb_parts[4].iov_len = num_stops * sizeof(xcb_render_fixed_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_color_t colors */
- xcb_parts[6].iov_base = (char *) colors;
- xcb_parts[6].iov_len = num_stops * sizeof(xcb_render_color_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_render_create_conical_gradient
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_render_pointfix_t center
- ** @param xcb_render_fixed_t angle
- ** @param uint32_t num_stops
- ** @param const xcb_render_fixed_t *stops
- ** @param const xcb_render_color_t *colors
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_render_create_conical_gradient (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_render_pointfix_t center /**< */,
- xcb_render_fixed_t angle /**< */,
- uint32_t num_stops /**< */,
- const xcb_render_fixed_t *stops /**< */,
- const xcb_render_color_t *colors /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_render_id,
- /* opcode */ XCB_RENDER_CREATE_CONICAL_GRADIENT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_render_create_conical_gradient_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.center = center;
- xcb_out.angle = angle;
- xcb_out.num_stops = num_stops;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_render_fixed_t stops */
- xcb_parts[4].iov_base = (char *) stops;
- xcb_parts[4].iov_len = num_stops * sizeof(xcb_render_fixed_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_render_color_t colors */
- xcb_parts[6].iov_base = (char *) colors;
- xcb_parts[6].iov_len = num_stops * sizeof(xcb_render_color_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
diff --git a/src/3rdparty/xcb/libxcb/shape.c b/src/3rdparty/xcb/libxcb/shape.c
deleted file mode 100644
index 98621c4983..0000000000
--- a/src/3rdparty/xcb/libxcb/shape.c
+++ /dev/null
@@ -1,1102 +0,0 @@
-/*
- * This file generated automatically from shape.xml by c_client.py.
- * Edit at your peril.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stddef.h> /* for offsetof() */
-#include "xcbext.h"
-#include "shape.h"
-
-#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
-#include "xproto.h"
-
-xcb_extension_t xcb_shape_id = { "SHAPE", 0 };
-
-
-/*****************************************************************************
- **
- ** void xcb_shape_op_next
- **
- ** @param xcb_shape_op_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_shape_op_next (xcb_shape_op_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_shape_op_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_shape_op_end
- **
- ** @param xcb_shape_op_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_shape_op_end (xcb_shape_op_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_shape_kind_next
- **
- ** @param xcb_shape_kind_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_shape_kind_next (xcb_shape_kind_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_shape_kind_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_shape_kind_end
- **
- ** @param xcb_shape_kind_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_shape_kind_end (xcb_shape_kind_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_query_version_cookie_t xcb_shape_query_version
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_shape_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_query_version_cookie_t
-xcb_shape_query_version (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shape_query_version_cookie_t xcb_ret;
- xcb_shape_query_version_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_query_version_cookie_t xcb_shape_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_shape_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_query_version_cookie_t
-xcb_shape_query_version_unchecked (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shape_query_version_cookie_t xcb_ret;
- xcb_shape_query_version_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_query_version_reply_t * xcb_shape_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shape_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_shape_query_version_reply_t *
-xcb_shape_query_version_reply (xcb_connection_t *c /**< */,
- xcb_shape_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_shape_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_shape_rectangles_sizeof (const void *_buffer /**< */,
- uint32_t rectangles_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_shape_rectangles_request_t);
- xcb_tmp += xcb_block_len;
- /* rectangles */
- xcb_block_len += rectangles_len * sizeof(xcb_rectangle_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_rectangle_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_rectangles_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param uint8_t ordering
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_rectangles_checked (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- uint8_t ordering /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_RECTANGLES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_rectangles_request_t xcb_out;
-
- xcb_out.operation = operation;
- xcb_out.destination_kind = destination_kind;
- xcb_out.ordering = ordering;
- xcb_out.pad0 = 0;
- xcb_out.destination_window = destination_window;
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rectangles */
- xcb_parts[4].iov_base = (char *) rectangles;
- xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_rectangles
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param uint8_t ordering
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_rectangles (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- uint8_t ordering /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_RECTANGLES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_rectangles_request_t xcb_out;
-
- xcb_out.operation = operation;
- xcb_out.destination_kind = destination_kind;
- xcb_out.ordering = ordering;
- xcb_out.pad0 = 0;
- xcb_out.destination_window = destination_window;
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rectangles */
- xcb_parts[4].iov_base = (char *) rectangles;
- xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_mask_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_pixmap_t source_bitmap
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_mask_checked (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_pixmap_t source_bitmap /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_MASK,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_mask_request_t xcb_out;
-
- xcb_out.operation = operation;
- xcb_out.destination_kind = destination_kind;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.destination_window = destination_window;
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
- xcb_out.source_bitmap = source_bitmap;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_mask
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_pixmap_t source_bitmap
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_mask (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_pixmap_t source_bitmap /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_MASK,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_mask_request_t xcb_out;
-
- xcb_out.operation = operation;
- xcb_out.destination_kind = destination_kind;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.destination_window = destination_window;
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
- xcb_out.source_bitmap = source_bitmap;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_combine_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_shape_kind_t source_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_window_t source_window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_combine_checked (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_shape_kind_t source_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_window_t source_window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_COMBINE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_combine_request_t xcb_out;
-
- xcb_out.operation = operation;
- xcb_out.destination_kind = destination_kind;
- xcb_out.source_kind = source_kind;
- xcb_out.pad0 = 0;
- xcb_out.destination_window = destination_window;
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
- xcb_out.source_window = source_window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_combine
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_op_t operation
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_shape_kind_t source_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_window_t source_window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_combine (xcb_connection_t *c /**< */,
- xcb_shape_op_t operation /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_shape_kind_t source_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_window_t source_window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_COMBINE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_combine_request_t xcb_out;
-
- xcb_out.operation = operation;
- xcb_out.destination_kind = destination_kind;
- xcb_out.source_kind = source_kind;
- xcb_out.pad0 = 0;
- xcb_out.destination_window = destination_window;
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
- xcb_out.source_window = source_window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_offset_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_offset_checked (xcb_connection_t *c /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_OFFSET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_offset_request_t xcb_out;
-
- xcb_out.destination_kind = destination_kind;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.destination_window = destination_window;
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_offset
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_kind_t destination_kind
- ** @param xcb_window_t destination_window
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_offset (xcb_connection_t *c /**< */,
- xcb_shape_kind_t destination_kind /**< */,
- xcb_window_t destination_window /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_OFFSET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_offset_request_t xcb_out;
-
- xcb_out.destination_kind = destination_kind;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.destination_window = destination_window;
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @returns xcb_shape_query_extents_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_query_extents_cookie_t
-xcb_shape_query_extents (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_QUERY_EXTENTS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shape_query_extents_cookie_t xcb_ret;
- xcb_shape_query_extents_request_t xcb_out;
-
- xcb_out.destination_window = destination_window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @returns xcb_shape_query_extents_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_query_extents_cookie_t
-xcb_shape_query_extents_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_QUERY_EXTENTS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shape_query_extents_cookie_t xcb_ret;
- xcb_shape_query_extents_request_t xcb_out;
-
- xcb_out.destination_window = destination_window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_query_extents_reply_t * xcb_shape_query_extents_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_query_extents_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shape_query_extents_reply_t *
- **
- *****************************************************************************/
-
-xcb_shape_query_extents_reply_t *
-xcb_shape_query_extents_reply (xcb_connection_t *c /**< */,
- xcb_shape_query_extents_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_shape_query_extents_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_select_input_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @param uint8_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_select_input_checked (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */,
- uint8_t enable /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_SELECT_INPUT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_select_input_request_t xcb_out;
-
- xcb_out.destination_window = destination_window;
- xcb_out.enable = enable;
- memset(xcb_out.pad0, 0, 3);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shape_select_input
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @param uint8_t enable
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shape_select_input (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */,
- uint8_t enable /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_SELECT_INPUT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shape_select_input_request_t xcb_out;
-
- xcb_out.destination_window = destination_window;
- xcb_out.enable = enable;
- memset(xcb_out.pad0, 0, 3);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @returns xcb_shape_input_selected_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_input_selected_cookie_t
-xcb_shape_input_selected (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_INPUT_SELECTED,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shape_input_selected_cookie_t xcb_ret;
- xcb_shape_input_selected_request_t xcb_out;
-
- xcb_out.destination_window = destination_window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t destination_window
- ** @returns xcb_shape_input_selected_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_input_selected_cookie_t
-xcb_shape_input_selected_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t destination_window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_INPUT_SELECTED,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shape_input_selected_cookie_t xcb_ret;
- xcb_shape_input_selected_request_t xcb_out;
-
- xcb_out.destination_window = destination_window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_input_selected_reply_t * xcb_shape_input_selected_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_input_selected_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shape_input_selected_reply_t *
- **
- *****************************************************************************/
-
-xcb_shape_input_selected_reply_t *
-xcb_shape_input_selected_reply (xcb_connection_t *c /**< */,
- xcb_shape_input_selected_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_shape_input_selected_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_shape_get_rectangles_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_shape_get_rectangles_reply_t *_aux = (xcb_shape_get_rectangles_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_shape_get_rectangles_reply_t);
- xcb_tmp += xcb_block_len;
- /* rectangles */
- xcb_block_len += _aux->rectangles_len * sizeof(xcb_rectangle_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_rectangle_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_shape_kind_t source_kind
- ** @returns xcb_shape_get_rectangles_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_get_rectangles_cookie_t
-xcb_shape_get_rectangles (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_shape_kind_t source_kind /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_GET_RECTANGLES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shape_get_rectangles_cookie_t xcb_ret;
- xcb_shape_get_rectangles_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.source_kind = source_kind;
- memset(xcb_out.pad0, 0, 3);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_shape_kind_t source_kind
- ** @returns xcb_shape_get_rectangles_cookie_t
- **
- *****************************************************************************/
-
-xcb_shape_get_rectangles_cookie_t
-xcb_shape_get_rectangles_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_shape_kind_t source_kind /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shape_id,
- /* opcode */ XCB_SHAPE_GET_RECTANGLES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shape_get_rectangles_cookie_t xcb_ret;
- xcb_shape_get_rectangles_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.source_kind = source_kind;
- memset(xcb_out.pad0, 0, 3);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_rectangle_t * xcb_shape_get_rectangles_rectangles
- **
- ** @param const xcb_shape_get_rectangles_reply_t *R
- ** @returns xcb_rectangle_t *
- **
- *****************************************************************************/
-
-xcb_rectangle_t *
-xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R /**< */)
-{
- return (xcb_rectangle_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_shape_get_rectangles_rectangles_length
- **
- ** @param const xcb_shape_get_rectangles_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R /**< */)
-{
- return R->rectangles_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_rectangle_iterator_t xcb_shape_get_rectangles_rectangles_iterator
- **
- ** @param const xcb_shape_get_rectangles_reply_t *R
- ** @returns xcb_rectangle_iterator_t
- **
- *****************************************************************************/
-
-xcb_rectangle_iterator_t
-xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R /**< */)
-{
- xcb_rectangle_iterator_t i;
- i.data = (xcb_rectangle_t *) (R + 1);
- i.rem = R->rectangles_len;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shape_get_rectangles_reply_t * xcb_shape_get_rectangles_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shape_get_rectangles_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shape_get_rectangles_reply_t *
- **
- *****************************************************************************/
-
-xcb_shape_get_rectangles_reply_t *
-xcb_shape_get_rectangles_reply (xcb_connection_t *c /**< */,
- xcb_shape_get_rectangles_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_shape_get_rectangles_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
diff --git a/src/3rdparty/xcb/libxcb/shm.c b/src/3rdparty/xcb/libxcb/shm.c
deleted file mode 100644
index 0a1c238732..0000000000
--- a/src/3rdparty/xcb/libxcb/shm.c
+++ /dev/null
@@ -1,724 +0,0 @@
-/*
- * This file generated automatically from shm.xml by c_client.py.
- * Edit at your peril.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stddef.h> /* for offsetof() */
-#include "xcbext.h"
-#include "shm.h"
-
-#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
-#include "xproto.h"
-
-xcb_extension_t xcb_shm_id = { "MIT-SHM", 0 };
-
-
-/*****************************************************************************
- **
- ** void xcb_shm_seg_next
- **
- ** @param xcb_shm_seg_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_shm_seg_next (xcb_shm_seg_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_shm_seg_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_shm_seg_end
- **
- ** @param xcb_shm_seg_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_shm_seg_end (xcb_shm_seg_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shm_query_version_cookie_t xcb_shm_query_version
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_shm_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_shm_query_version_cookie_t
-xcb_shm_query_version (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shm_query_version_cookie_t xcb_ret;
- xcb_shm_query_version_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shm_query_version_cookie_t xcb_shm_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_shm_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_shm_query_version_cookie_t
-xcb_shm_query_version_unchecked (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shm_query_version_cookie_t xcb_ret;
- xcb_shm_query_version_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shm_query_version_reply_t * xcb_shm_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shm_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_shm_query_version_reply_t *
-xcb_shm_query_version_reply (xcb_connection_t *c /**< */,
- xcb_shm_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_shm_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_attach_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t shmid
- ** @param uint8_t read_only
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_attach_checked (xcb_connection_t *c /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t shmid /**< */,
- uint8_t read_only /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_ATTACH,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shm_attach_request_t xcb_out;
-
- xcb_out.shmseg = shmseg;
- xcb_out.shmid = shmid;
- xcb_out.read_only = read_only;
- memset(xcb_out.pad0, 0, 3);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_attach
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t shmid
- ** @param uint8_t read_only
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_attach (xcb_connection_t *c /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t shmid /**< */,
- uint8_t read_only /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_ATTACH,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shm_attach_request_t xcb_out;
-
- xcb_out.shmseg = shmseg;
- xcb_out.shmid = shmid;
- xcb_out.read_only = read_only;
- memset(xcb_out.pad0, 0, 3);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_detach_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_seg_t shmseg
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_detach_checked (xcb_connection_t *c /**< */,
- xcb_shm_seg_t shmseg /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_DETACH,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shm_detach_request_t xcb_out;
-
- xcb_out.shmseg = shmseg;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_detach
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_seg_t shmseg
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_detach (xcb_connection_t *c /**< */,
- xcb_shm_seg_t shmseg /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_DETACH,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shm_detach_request_t xcb_out;
-
- xcb_out.shmseg = shmseg;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_put_image_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param xcb_gcontext_t gc
- ** @param uint16_t total_width
- ** @param uint16_t total_height
- ** @param uint16_t src_x
- ** @param uint16_t src_y
- ** @param uint16_t src_width
- ** @param uint16_t src_height
- ** @param int16_t dst_x
- ** @param int16_t dst_y
- ** @param uint8_t depth
- ** @param uint8_t format
- ** @param uint8_t send_event
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_put_image_checked (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_gcontext_t gc /**< */,
- uint16_t total_width /**< */,
- uint16_t total_height /**< */,
- uint16_t src_x /**< */,
- uint16_t src_y /**< */,
- uint16_t src_width /**< */,
- uint16_t src_height /**< */,
- int16_t dst_x /**< */,
- int16_t dst_y /**< */,
- uint8_t depth /**< */,
- uint8_t format /**< */,
- uint8_t send_event /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_PUT_IMAGE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shm_put_image_request_t xcb_out;
-
- xcb_out.drawable = drawable;
- xcb_out.gc = gc;
- xcb_out.total_width = total_width;
- xcb_out.total_height = total_height;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
- xcb_out.src_width = src_width;
- xcb_out.src_height = src_height;
- xcb_out.dst_x = dst_x;
- xcb_out.dst_y = dst_y;
- xcb_out.depth = depth;
- xcb_out.format = format;
- xcb_out.send_event = send_event;
- xcb_out.pad0 = 0;
- xcb_out.shmseg = shmseg;
- xcb_out.offset = offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_put_image
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param xcb_gcontext_t gc
- ** @param uint16_t total_width
- ** @param uint16_t total_height
- ** @param uint16_t src_x
- ** @param uint16_t src_y
- ** @param uint16_t src_width
- ** @param uint16_t src_height
- ** @param int16_t dst_x
- ** @param int16_t dst_y
- ** @param uint8_t depth
- ** @param uint8_t format
- ** @param uint8_t send_event
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_put_image (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_gcontext_t gc /**< */,
- uint16_t total_width /**< */,
- uint16_t total_height /**< */,
- uint16_t src_x /**< */,
- uint16_t src_y /**< */,
- uint16_t src_width /**< */,
- uint16_t src_height /**< */,
- int16_t dst_x /**< */,
- int16_t dst_y /**< */,
- uint8_t depth /**< */,
- uint8_t format /**< */,
- uint8_t send_event /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_PUT_IMAGE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shm_put_image_request_t xcb_out;
-
- xcb_out.drawable = drawable;
- xcb_out.gc = gc;
- xcb_out.total_width = total_width;
- xcb_out.total_height = total_height;
- xcb_out.src_x = src_x;
- xcb_out.src_y = src_y;
- xcb_out.src_width = src_width;
- xcb_out.src_height = src_height;
- xcb_out.dst_x = dst_x;
- xcb_out.dst_y = dst_y;
- xcb_out.depth = depth;
- xcb_out.format = format;
- xcb_out.send_event = send_event;
- xcb_out.pad0 = 0;
- xcb_out.shmseg = shmseg;
- xcb_out.offset = offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shm_get_image_cookie_t xcb_shm_get_image
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param int16_t x
- ** @param int16_t y
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t plane_mask
- ** @param uint8_t format
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_shm_get_image_cookie_t
- **
- *****************************************************************************/
-
-xcb_shm_get_image_cookie_t
-xcb_shm_get_image (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t plane_mask /**< */,
- uint8_t format /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_GET_IMAGE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shm_get_image_cookie_t xcb_ret;
- xcb_shm_get_image_request_t xcb_out;
-
- xcb_out.drawable = drawable;
- xcb_out.x = x;
- xcb_out.y = y;
- xcb_out.width = width;
- xcb_out.height = height;
- xcb_out.plane_mask = plane_mask;
- xcb_out.format = format;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.shmseg = shmseg;
- xcb_out.offset = offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shm_get_image_cookie_t xcb_shm_get_image_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param int16_t x
- ** @param int16_t y
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint32_t plane_mask
- ** @param uint8_t format
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_shm_get_image_cookie_t
- **
- *****************************************************************************/
-
-xcb_shm_get_image_cookie_t
-xcb_shm_get_image_unchecked (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- int16_t x /**< */,
- int16_t y /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint32_t plane_mask /**< */,
- uint8_t format /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_GET_IMAGE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_shm_get_image_cookie_t xcb_ret;
- xcb_shm_get_image_request_t xcb_out;
-
- xcb_out.drawable = drawable;
- xcb_out.x = x;
- xcb_out.y = y;
- xcb_out.width = width;
- xcb_out.height = height;
- xcb_out.plane_mask = plane_mask;
- xcb_out.format = format;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.shmseg = shmseg;
- xcb_out.offset = offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_shm_get_image_reply_t * xcb_shm_get_image_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_shm_get_image_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_shm_get_image_reply_t *
- **
- *****************************************************************************/
-
-xcb_shm_get_image_reply_t *
-xcb_shm_get_image_reply (xcb_connection_t *c /**< */,
- xcb_shm_get_image_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_shm_get_image_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_create_pixmap_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_pixmap_t pid
- ** @param xcb_drawable_t drawable
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint8_t depth
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_create_pixmap_checked (xcb_connection_t *c /**< */,
- xcb_pixmap_t pid /**< */,
- xcb_drawable_t drawable /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint8_t depth /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_CREATE_PIXMAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shm_create_pixmap_request_t xcb_out;
-
- xcb_out.pid = pid;
- xcb_out.drawable = drawable;
- xcb_out.width = width;
- xcb_out.height = height;
- xcb_out.depth = depth;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.shmseg = shmseg;
- xcb_out.offset = offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_shm_create_pixmap
- **
- ** @param xcb_connection_t *c
- ** @param xcb_pixmap_t pid
- ** @param xcb_drawable_t drawable
- ** @param uint16_t width
- ** @param uint16_t height
- ** @param uint8_t depth
- ** @param xcb_shm_seg_t shmseg
- ** @param uint32_t offset
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_shm_create_pixmap (xcb_connection_t *c /**< */,
- xcb_pixmap_t pid /**< */,
- xcb_drawable_t drawable /**< */,
- uint16_t width /**< */,
- uint16_t height /**< */,
- uint8_t depth /**< */,
- xcb_shm_seg_t shmseg /**< */,
- uint32_t offset /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_shm_id,
- /* opcode */ XCB_SHM_CREATE_PIXMAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_shm_create_pixmap_request_t xcb_out;
-
- xcb_out.pid = pid;
- xcb_out.drawable = drawable;
- xcb_out.width = width;
- xcb_out.height = height;
- xcb_out.depth = depth;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.shmseg = shmseg;
- xcb_out.offset = offset;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
diff --git a/src/3rdparty/xcb/libxcb/sync.c b/src/3rdparty/xcb/libxcb/sync.c
deleted file mode 100644
index 1f352756d8..0000000000
--- a/src/3rdparty/xcb/libxcb/sync.c
+++ /dev/null
@@ -1,2258 +0,0 @@
-/*
- * This file generated automatically from sync.xml by c_client.py.
- * Edit at your peril.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stddef.h> /* for offsetof() */
-#include "xcbext.h"
-#include "sync.h"
-
-#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
-#include "xproto.h"
-
-xcb_extension_t xcb_sync_id = { "SYNC", 0 };
-
-
-/*****************************************************************************
- **
- ** void xcb_sync_alarm_next
- **
- ** @param xcb_sync_alarm_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_alarm_next (xcb_sync_alarm_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_sync_alarm_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_alarm_end
- **
- ** @param xcb_sync_alarm_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_alarm_end (xcb_sync_alarm_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_sync_counter_next
- **
- ** @param xcb_sync_counter_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_counter_next (xcb_sync_counter_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_sync_counter_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_counter_end
- **
- ** @param xcb_sync_counter_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_counter_end (xcb_sync_counter_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_sync_fence_next
- **
- ** @param xcb_sync_fence_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_fence_next (xcb_sync_fence_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_sync_fence_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_fence_end
- **
- ** @param xcb_sync_fence_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_fence_end (xcb_sync_fence_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_sync_int64_next
- **
- ** @param xcb_sync_int64_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_int64_next (xcb_sync_int64_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_sync_int64_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_int64_end
- **
- ** @param xcb_sync_int64_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_int64_end (xcb_sync_int64_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_sync_systemcounter_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_sync_systemcounter_t *_aux = (xcb_sync_systemcounter_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_sync_systemcounter_t);
- xcb_tmp += xcb_block_len;
- /* name */
- xcb_block_len += _aux->name_len * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** char * xcb_sync_systemcounter_name
- **
- ** @param const xcb_sync_systemcounter_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_sync_systemcounter_name (const xcb_sync_systemcounter_t *R /**< */)
-{
- return (char *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_sync_systemcounter_name_length
- **
- ** @param const xcb_sync_systemcounter_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_sync_systemcounter_name_length (const xcb_sync_systemcounter_t *R /**< */)
-{
- return R->name_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_systemcounter_name_end
- **
- ** @param const xcb_sync_systemcounter_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_systemcounter_name_end (const xcb_sync_systemcounter_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((char *) (R + 1)) + (R->name_len);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_sync_systemcounter_next
- **
- ** @param xcb_sync_systemcounter_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_systemcounter_next (xcb_sync_systemcounter_iterator_t *i /**< */)
-{
- xcb_sync_systemcounter_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_sync_systemcounter_t *)(((char *)R) + xcb_sync_systemcounter_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_sync_systemcounter_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_systemcounter_end
- **
- ** @param xcb_sync_systemcounter_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_systemcounter_end (xcb_sync_systemcounter_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_sync_systemcounter_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_sync_trigger_next
- **
- ** @param xcb_sync_trigger_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_trigger_next (xcb_sync_trigger_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_sync_trigger_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_trigger_end
- **
- ** @param xcb_sync_trigger_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_trigger_end (xcb_sync_trigger_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_sync_waitcondition_next
- **
- ** @param xcb_sync_waitcondition_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_sync_waitcondition_next (xcb_sync_waitcondition_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_sync_waitcondition_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_sync_waitcondition_end
- **
- ** @param xcb_sync_waitcondition_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_sync_waitcondition_end (xcb_sync_waitcondition_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_initialize_cookie_t xcb_sync_initialize
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t desired_major_version
- ** @param uint8_t desired_minor_version
- ** @returns xcb_sync_initialize_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_initialize_cookie_t
-xcb_sync_initialize (xcb_connection_t *c /**< */,
- uint8_t desired_major_version /**< */,
- uint8_t desired_minor_version /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_INITIALIZE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_initialize_cookie_t xcb_ret;
- xcb_sync_initialize_request_t xcb_out;
-
- xcb_out.desired_major_version = desired_major_version;
- xcb_out.desired_minor_version = desired_minor_version;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_initialize_cookie_t xcb_sync_initialize_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t desired_major_version
- ** @param uint8_t desired_minor_version
- ** @returns xcb_sync_initialize_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_initialize_cookie_t
-xcb_sync_initialize_unchecked (xcb_connection_t *c /**< */,
- uint8_t desired_major_version /**< */,
- uint8_t desired_minor_version /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_INITIALIZE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_initialize_cookie_t xcb_ret;
- xcb_sync_initialize_request_t xcb_out;
-
- xcb_out.desired_major_version = desired_major_version;
- xcb_out.desired_minor_version = desired_minor_version;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_initialize_reply_t * xcb_sync_initialize_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_initialize_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_initialize_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_initialize_reply_t *
-xcb_sync_initialize_reply (xcb_connection_t *c /**< */,
- xcb_sync_initialize_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_sync_initialize_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_sync_list_system_counters_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_sync_list_system_counters_reply_t *_aux = (xcb_sync_list_system_counters_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_sync_list_system_counters_reply_t);
- xcb_tmp += xcb_block_len;
- /* counters */
- for(i=0; i<_aux->counters_len; i++) {
- xcb_tmp_len = xcb_sync_systemcounter_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_sync_systemcounter_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_sync_list_system_counters_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_list_system_counters_cookie_t
-xcb_sync_list_system_counters (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_LIST_SYSTEM_COUNTERS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_list_system_counters_cookie_t xcb_ret;
- xcb_sync_list_system_counters_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_sync_list_system_counters_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_list_system_counters_cookie_t
-xcb_sync_list_system_counters_unchecked (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_LIST_SYSTEM_COUNTERS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_list_system_counters_cookie_t xcb_ret;
- xcb_sync_list_system_counters_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_sync_list_system_counters_counters_length
- **
- ** @param const xcb_sync_list_system_counters_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_sync_list_system_counters_counters_length (const xcb_sync_list_system_counters_reply_t *R /**< */)
-{
- return R->counters_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_systemcounter_iterator_t xcb_sync_list_system_counters_counters_iterator
- **
- ** @param const xcb_sync_list_system_counters_reply_t *R
- ** @returns xcb_sync_systemcounter_iterator_t
- **
- *****************************************************************************/
-
-xcb_sync_systemcounter_iterator_t
-xcb_sync_list_system_counters_counters_iterator (const xcb_sync_list_system_counters_reply_t *R /**< */)
-{
- xcb_sync_systemcounter_iterator_t i;
- i.data = (xcb_sync_systemcounter_t *) (R + 1);
- i.rem = R->counters_len;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_list_system_counters_reply_t * xcb_sync_list_system_counters_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_list_system_counters_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_list_system_counters_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_list_system_counters_reply_t *
-xcb_sync_list_system_counters_reply (xcb_connection_t *c /**< */,
- xcb_sync_list_system_counters_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_sync_list_system_counters_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_counter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t id
- ** @param xcb_sync_int64_t initial_value
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_counter_checked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t id /**< */,
- xcb_sync_int64_t initial_value /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CREATE_COUNTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_create_counter_request_t xcb_out;
-
- xcb_out.id = id;
- xcb_out.initial_value = initial_value;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t id
- ** @param xcb_sync_int64_t initial_value
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t id /**< */,
- xcb_sync_int64_t initial_value /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CREATE_COUNTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_create_counter_request_t xcb_out;
-
- xcb_out.id = id;
- xcb_out.initial_value = initial_value;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_counter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_counter_checked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_DESTROY_COUNTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_destroy_counter_request_t xcb_out;
-
- xcb_out.counter = counter;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_DESTROY_COUNTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_destroy_counter_request_t xcb_out;
-
- xcb_out.counter = counter;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @returns xcb_sync_query_counter_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_counter_cookie_t
-xcb_sync_query_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_QUERY_COUNTER,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_query_counter_cookie_t xcb_ret;
- xcb_sync_query_counter_request_t xcb_out;
-
- xcb_out.counter = counter;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @returns xcb_sync_query_counter_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_counter_cookie_t
-xcb_sync_query_counter_unchecked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_QUERY_COUNTER,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_query_counter_cookie_t xcb_ret;
- xcb_sync_query_counter_request_t xcb_out;
-
- xcb_out.counter = counter;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_query_counter_reply_t * xcb_sync_query_counter_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_query_counter_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_query_counter_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_query_counter_reply_t *
-xcb_sync_query_counter_reply (xcb_connection_t *c /**< */,
- xcb_sync_query_counter_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_sync_query_counter_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_sync_await_sizeof (const void *_buffer /**< */,
- uint32_t wait_list_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_sync_await_request_t);
- xcb_tmp += xcb_block_len;
- /* wait_list */
- xcb_block_len += wait_list_len * sizeof(xcb_sync_waitcondition_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_sync_waitcondition_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_await_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t wait_list_len
- ** @param const xcb_sync_waitcondition_t *wait_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_await_checked (xcb_connection_t *c /**< */,
- uint32_t wait_list_len /**< */,
- const xcb_sync_waitcondition_t *wait_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_AWAIT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_await_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_sync_waitcondition_t wait_list */
- xcb_parts[4].iov_base = (char *) wait_list;
- xcb_parts[4].iov_len = wait_list_len * sizeof(xcb_sync_waitcondition_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_await
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t wait_list_len
- ** @param const xcb_sync_waitcondition_t *wait_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_await (xcb_connection_t *c /**< */,
- uint32_t wait_list_len /**< */,
- const xcb_sync_waitcondition_t *wait_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_AWAIT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_await_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_sync_waitcondition_t wait_list */
- xcb_parts[4].iov_base = (char *) wait_list;
- xcb_parts[4].iov_len = wait_list_len * sizeof(xcb_sync_waitcondition_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_change_counter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @param xcb_sync_int64_t amount
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_change_counter_checked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */,
- xcb_sync_int64_t amount /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CHANGE_COUNTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_change_counter_request_t xcb_out;
-
- xcb_out.counter = counter;
- xcb_out.amount = amount;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_change_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @param xcb_sync_int64_t amount
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_change_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */,
- xcb_sync_int64_t amount /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CHANGE_COUNTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_change_counter_request_t xcb_out;
-
- xcb_out.counter = counter;
- xcb_out.amount = amount;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_set_counter_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @param xcb_sync_int64_t value
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_set_counter_checked (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */,
- xcb_sync_int64_t value /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_SET_COUNTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_set_counter_request_t xcb_out;
-
- xcb_out.counter = counter;
- xcb_out.value = value;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_set_counter
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_counter_t counter
- ** @param xcb_sync_int64_t value
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_set_counter (xcb_connection_t *c /**< */,
- xcb_sync_counter_t counter /**< */,
- xcb_sync_int64_t value /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_SET_COUNTER,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_set_counter_request_t xcb_out;
-
- xcb_out.counter = counter;
- xcb_out.value = value;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_sync_create_alarm_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_sync_create_alarm_request_t *_aux = (xcb_sync_create_alarm_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_sync_create_alarm_request_t);
- xcb_tmp += xcb_block_len;
- /* value_list */
- xcb_block_len += xcb_popcount(_aux->value_mask) * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_alarm_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t id
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_alarm_checked (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t id /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CREATE_ALARM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_create_alarm_request_t xcb_out;
-
- xcb_out.id = id;
- xcb_out.value_mask = value_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t value_list */
- xcb_parts[4].iov_base = (char *) value_list;
- xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_alarm
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t id
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_alarm (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t id /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CREATE_ALARM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_create_alarm_request_t xcb_out;
-
- xcb_out.id = id;
- xcb_out.value_mask = value_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t value_list */
- xcb_parts[4].iov_base = (char *) value_list;
- xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_sync_change_alarm_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_sync_change_alarm_request_t *_aux = (xcb_sync_change_alarm_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_sync_change_alarm_request_t);
- xcb_tmp += xcb_block_len;
- /* value_list */
- xcb_block_len += xcb_popcount(_aux->value_mask) * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_change_alarm_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t id
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_change_alarm_checked (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t id /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CHANGE_ALARM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_change_alarm_request_t xcb_out;
-
- xcb_out.id = id;
- xcb_out.value_mask = value_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t value_list */
- xcb_parts[4].iov_base = (char *) value_list;
- xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_change_alarm
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t id
- ** @param uint32_t value_mask
- ** @param const uint32_t *value_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_change_alarm (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t id /**< */,
- uint32_t value_mask /**< */,
- const uint32_t *value_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CHANGE_ALARM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_change_alarm_request_t xcb_out;
-
- xcb_out.id = id;
- xcb_out.value_mask = value_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* uint32_t value_list */
- xcb_parts[4].iov_base = (char *) value_list;
- xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_alarm_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t alarm
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_alarm_checked (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t alarm /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_DESTROY_ALARM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_destroy_alarm_request_t xcb_out;
-
- xcb_out.alarm = alarm;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_alarm
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t alarm
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_alarm (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t alarm /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_DESTROY_ALARM,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_destroy_alarm_request_t xcb_out;
-
- xcb_out.alarm = alarm;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t alarm
- ** @returns xcb_sync_query_alarm_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_alarm_cookie_t
-xcb_sync_query_alarm (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t alarm /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_QUERY_ALARM,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_query_alarm_cookie_t xcb_ret;
- xcb_sync_query_alarm_request_t xcb_out;
-
- xcb_out.alarm = alarm;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_alarm_t alarm
- ** @returns xcb_sync_query_alarm_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_alarm_cookie_t
-xcb_sync_query_alarm_unchecked (xcb_connection_t *c /**< */,
- xcb_sync_alarm_t alarm /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_QUERY_ALARM,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_query_alarm_cookie_t xcb_ret;
- xcb_sync_query_alarm_request_t xcb_out;
-
- xcb_out.alarm = alarm;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_query_alarm_reply_t * xcb_sync_query_alarm_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_query_alarm_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_query_alarm_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_query_alarm_reply_t *
-xcb_sync_query_alarm_reply (xcb_connection_t *c /**< */,
- xcb_sync_query_alarm_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_sync_query_alarm_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_set_priority_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t id
- ** @param int32_t priority
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_set_priority_checked (xcb_connection_t *c /**< */,
- uint32_t id /**< */,
- int32_t priority /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_SET_PRIORITY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_set_priority_request_t xcb_out;
-
- xcb_out.id = id;
- xcb_out.priority = priority;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_set_priority
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t id
- ** @param int32_t priority
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_set_priority (xcb_connection_t *c /**< */,
- uint32_t id /**< */,
- int32_t priority /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_SET_PRIORITY,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_set_priority_request_t xcb_out;
-
- xcb_out.id = id;
- xcb_out.priority = priority;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t id
- ** @returns xcb_sync_get_priority_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_get_priority_cookie_t
-xcb_sync_get_priority (xcb_connection_t *c /**< */,
- uint32_t id /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_GET_PRIORITY,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_get_priority_cookie_t xcb_ret;
- xcb_sync_get_priority_request_t xcb_out;
-
- xcb_out.id = id;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t id
- ** @returns xcb_sync_get_priority_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_get_priority_cookie_t
-xcb_sync_get_priority_unchecked (xcb_connection_t *c /**< */,
- uint32_t id /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_GET_PRIORITY,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_get_priority_cookie_t xcb_ret;
- xcb_sync_get_priority_request_t xcb_out;
-
- xcb_out.id = id;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_get_priority_reply_t * xcb_sync_get_priority_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_get_priority_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_get_priority_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_get_priority_reply_t *
-xcb_sync_get_priority_reply (xcb_connection_t *c /**< */,
- xcb_sync_get_priority_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_sync_get_priority_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param xcb_sync_fence_t fence
- ** @param uint8_t initially_triggered
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_fence_checked (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_sync_fence_t fence /**< */,
- uint8_t initially_triggered /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CREATE_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_create_fence_request_t xcb_out;
-
- xcb_out.drawable = drawable;
- xcb_out.fence = fence;
- xcb_out.initially_triggered = initially_triggered;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_create_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_drawable_t drawable
- ** @param xcb_sync_fence_t fence
- ** @param uint8_t initially_triggered
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_create_fence (xcb_connection_t *c /**< */,
- xcb_drawable_t drawable /**< */,
- xcb_sync_fence_t fence /**< */,
- uint8_t initially_triggered /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_CREATE_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_create_fence_request_t xcb_out;
-
- xcb_out.drawable = drawable;
- xcb_out.fence = fence;
- xcb_out.initially_triggered = initially_triggered;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_trigger_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_trigger_fence_checked (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_TRIGGER_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_trigger_fence_request_t xcb_out;
-
- xcb_out.fence = fence;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_trigger_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_trigger_fence (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_TRIGGER_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_trigger_fence_request_t xcb_out;
-
- xcb_out.fence = fence;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_reset_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_reset_fence_checked (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_RESET_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_reset_fence_request_t xcb_out;
-
- xcb_out.fence = fence;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_reset_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_reset_fence (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_RESET_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_reset_fence_request_t xcb_out;
-
- xcb_out.fence = fence;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_fence_checked (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_DESTROY_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_destroy_fence_request_t xcb_out;
-
- xcb_out.fence = fence;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_destroy_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_destroy_fence (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_DESTROY_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_destroy_fence_request_t xcb_out;
-
- xcb_out.fence = fence;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_query_fence_cookie_t xcb_sync_query_fence
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_sync_query_fence_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_fence_cookie_t
-xcb_sync_query_fence (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_QUERY_FENCE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_query_fence_cookie_t xcb_ret;
- xcb_sync_query_fence_request_t xcb_out;
-
- xcb_out.fence = fence;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_query_fence_cookie_t xcb_sync_query_fence_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_fence_t fence
- ** @returns xcb_sync_query_fence_cookie_t
- **
- *****************************************************************************/
-
-xcb_sync_query_fence_cookie_t
-xcb_sync_query_fence_unchecked (xcb_connection_t *c /**< */,
- xcb_sync_fence_t fence /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_QUERY_FENCE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_sync_query_fence_cookie_t xcb_ret;
- xcb_sync_query_fence_request_t xcb_out;
-
- xcb_out.fence = fence;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_sync_query_fence_reply_t * xcb_sync_query_fence_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_sync_query_fence_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_sync_query_fence_reply_t *
- **
- *****************************************************************************/
-
-xcb_sync_query_fence_reply_t *
-xcb_sync_query_fence_reply (xcb_connection_t *c /**< */,
- xcb_sync_query_fence_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_sync_query_fence_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_sync_await_fence_sizeof (const void *_buffer /**< */,
- uint32_t fence_list_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_sync_await_fence_request_t);
- xcb_tmp += xcb_block_len;
- /* fence_list */
- xcb_block_len += fence_list_len * sizeof(xcb_sync_fence_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_sync_fence_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_await_fence_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t fence_list_len
- ** @param const xcb_sync_fence_t *fence_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_await_fence_checked (xcb_connection_t *c /**< */,
- uint32_t fence_list_len /**< */,
- const xcb_sync_fence_t *fence_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_AWAIT_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_await_fence_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_sync_fence_t fence_list */
- xcb_parts[4].iov_base = (char *) fence_list;
- xcb_parts[4].iov_len = fence_list_len * sizeof(xcb_sync_fence_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_sync_await_fence
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t fence_list_len
- ** @param const xcb_sync_fence_t *fence_list
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_sync_await_fence (xcb_connection_t *c /**< */,
- uint32_t fence_list_len /**< */,
- const xcb_sync_fence_t *fence_list /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_sync_id,
- /* opcode */ XCB_SYNC_AWAIT_FENCE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_sync_await_fence_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_sync_fence_t fence_list */
- xcb_parts[4].iov_base = (char *) fence_list;
- xcb_parts[4].iov_len = fence_list_len * sizeof(xcb_sync_fence_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
diff --git a/src/3rdparty/xcb/libxcb/xfixes.c b/src/3rdparty/xcb/libxcb/xfixes.c
deleted file mode 100644
index 4c0dc84b64..0000000000
--- a/src/3rdparty/xcb/libxcb/xfixes.c
+++ /dev/null
@@ -1,3274 +0,0 @@
-/*
- * This file generated automatically from xfixes.xml by c_client.py.
- * Edit at your peril.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stddef.h> /* for offsetof() */
-#include "xcbext.h"
-#include "xfixes.h"
-
-#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
-#include "xproto.h"
-#include "render.h"
-#include "shape.h"
-
-xcb_extension_t xcb_xfixes_id = { "XFIXES", 0 };
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t client_major_version
- ** @param uint32_t client_minor_version
- ** @returns xcb_xfixes_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_query_version_cookie_t
-xcb_xfixes_query_version (xcb_connection_t *c /**< */,
- uint32_t client_major_version /**< */,
- uint32_t client_minor_version /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_query_version_cookie_t xcb_ret;
- xcb_xfixes_query_version_request_t xcb_out;
-
- xcb_out.client_major_version = client_major_version;
- xcb_out.client_minor_version = client_minor_version;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint32_t client_major_version
- ** @param uint32_t client_minor_version
- ** @returns xcb_xfixes_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_query_version_cookie_t
-xcb_xfixes_query_version_unchecked (xcb_connection_t *c /**< */,
- uint32_t client_major_version /**< */,
- uint32_t client_minor_version /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_query_version_cookie_t xcb_ret;
- xcb_xfixes_query_version_request_t xcb_out;
-
- xcb_out.client_major_version = client_major_version;
- xcb_out.client_minor_version = client_minor_version;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_query_version_reply_t * xcb_xfixes_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_query_version_reply_t *
-xcb_xfixes_query_version_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xfixes_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_save_set_checked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t mode
- ** @param uint8_t target
- ** @param uint8_t map
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_save_set_checked (xcb_connection_t *c /**< */,
- uint8_t mode /**< */,
- uint8_t target /**< */,
- uint8_t map /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CHANGE_SAVE_SET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_change_save_set_request_t xcb_out;
-
- xcb_out.mode = mode;
- xcb_out.target = target;
- xcb_out.map = map;
- xcb_out.pad0 = 0;
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_save_set
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t mode
- ** @param uint8_t target
- ** @param uint8_t map
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_save_set (xcb_connection_t *c /**< */,
- uint8_t mode /**< */,
- uint8_t target /**< */,
- uint8_t map /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CHANGE_SAVE_SET,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_change_save_set_request_t xcb_out;
-
- xcb_out.mode = mode;
- xcb_out.target = target;
- xcb_out.map = map;
- xcb_out.pad0 = 0;
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_select_selection_input_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_atom_t selection
- ** @param uint32_t event_mask
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_select_selection_input_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_atom_t selection /**< */,
- uint32_t event_mask /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SELECT_SELECTION_INPUT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_select_selection_input_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.selection = selection;
- xcb_out.event_mask = event_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_select_selection_input
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param xcb_atom_t selection
- ** @param uint32_t event_mask
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_select_selection_input (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- xcb_atom_t selection /**< */,
- uint32_t event_mask /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SELECT_SELECTION_INPUT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_select_selection_input_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.selection = selection;
- xcb_out.event_mask = event_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_select_cursor_input_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint32_t event_mask
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint32_t event_mask /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SELECT_CURSOR_INPUT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_select_cursor_input_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.event_mask = event_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_select_cursor_input
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint32_t event_mask
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_select_cursor_input (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint32_t event_mask /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SELECT_CURSOR_INPUT,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_select_cursor_input_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.event_mask = event_mask;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_xfixes_get_cursor_image_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xfixes_get_cursor_image_reply_t *_aux = (xcb_xfixes_get_cursor_image_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_xfixes_get_cursor_image_reply_t);
- xcb_tmp += xcb_block_len;
- /* cursor_image */
- xcb_block_len += (_aux->width * _aux->height) * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xfixes_get_cursor_image_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_cookie_t
-xcb_xfixes_get_cursor_image (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_get_cursor_image_cookie_t xcb_ret;
- xcb_xfixes_get_cursor_image_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xfixes_get_cursor_image_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_cookie_t
-xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_get_cursor_image_cookie_t xcb_ret;
- xcb_xfixes_get_cursor_image_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** uint32_t * xcb_xfixes_get_cursor_image_cursor_image
- **
- ** @param const xcb_xfixes_get_cursor_image_reply_t *R
- ** @returns uint32_t *
- **
- *****************************************************************************/
-
-uint32_t *
-xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R /**< */)
-{
- return (uint32_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_get_cursor_image_cursor_image_length
- **
- ** @param const xcb_xfixes_get_cursor_image_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R /**< */)
-{
- return (R->width * R->height);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_cursor_image_end
- **
- ** @param const xcb_xfixes_get_cursor_image_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((uint32_t *) (R + 1)) + ((R->width * R->height));
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_reply_t * xcb_xfixes_get_cursor_image_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_get_cursor_image_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_get_cursor_image_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_reply_t *
-xcb_xfixes_get_cursor_image_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_get_cursor_image_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xfixes_get_cursor_image_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xfixes_region_next
- **
- ** @param xcb_xfixes_region_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xfixes_region_next (xcb_xfixes_region_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xfixes_region_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_region_end
- **
- ** @param xcb_xfixes_region_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_region_end (xcb_xfixes_region_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_xfixes_create_region_sizeof (const void *_buffer /**< */,
- uint32_t rectangles_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_xfixes_create_region_request_t);
- xcb_tmp += xcb_block_len;
- /* rectangles */
- xcb_block_len += rectangles_len * sizeof(xcb_rectangle_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_rectangle_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_request_t xcb_out;
-
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rectangles */
- xcb_parts[4].iov_base = (char *) rectangles;
- xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_request_t xcb_out;
-
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rectangles */
- xcb_parts[4].iov_base = (char *) rectangles;
- xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_pixmap_t bitmap
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_bitmap_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_pixmap_t bitmap /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_BITMAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_from_bitmap_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.bitmap = bitmap;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_pixmap_t bitmap
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_bitmap (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_pixmap_t bitmap /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_BITMAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_from_bitmap_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.bitmap = bitmap;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_window_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_window_t window
- ** @param xcb_shape_kind_t kind
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_window_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_window_t window /**< */,
- xcb_shape_kind_t kind /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_WINDOW,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_from_window_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.window = window;
- xcb_out.kind = kind;
- memset(xcb_out.pad0, 0, 3);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_window
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_window_t window
- ** @param xcb_shape_kind_t kind
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_window (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_window_t window /**< */,
- xcb_shape_kind_t kind /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_WINDOW,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_from_window_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.window = window;
- xcb_out.kind = kind;
- memset(xcb_out.pad0, 0, 3);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_gcontext_t gc
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_gc_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_gcontext_t gc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_GC,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_from_gc_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.gc = gc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_gcontext_t gc
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_gc (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_gcontext_t gc /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_GC,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_from_gc_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.gc = gc;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_render_picture_t picture
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_picture_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_render_picture_t picture /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_PICTURE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_from_picture_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.picture = picture;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param xcb_render_picture_t picture
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_create_region_from_picture (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- xcb_render_picture_t picture /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_PICTURE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_create_region_from_picture_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.picture = picture;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_destroy_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_destroy_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_DESTROY_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_destroy_region_request_t xcb_out;
-
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_destroy_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_destroy_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_DESTROY_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_destroy_region_request_t xcb_out;
-
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_xfixes_set_region_sizeof (const void *_buffer /**< */,
- uint32_t rectangles_len /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_xfixes_set_region_request_t);
- xcb_tmp += xcb_block_len;
- /* rectangles */
- xcb_block_len += rectangles_len * sizeof(xcb_rectangle_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_rectangle_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_region_request_t xcb_out;
-
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rectangles */
- xcb_parts[4].iov_base = (char *) rectangles;
- xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param uint32_t rectangles_len
- ** @param const xcb_rectangle_t *rectangles
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- uint32_t rectangles_len /**< */,
- const xcb_rectangle_t *rectangles /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_region_request_t xcb_out;
-
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_rectangle_t rectangles */
- xcb_parts[4].iov_base = (char *) rectangles;
- xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_copy_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_copy_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_COPY_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_copy_region_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_copy_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_copy_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_COPY_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_copy_region_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_union_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_union_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_UNION_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_union_region_request_t xcb_out;
-
- xcb_out.source1 = source1;
- xcb_out.source2 = source2;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_union_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_union_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_UNION_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_union_region_request_t xcb_out;
-
- xcb_out.source1 = source1;
- xcb_out.source2 = source2;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_intersect_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_intersect_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_INTERSECT_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_intersect_region_request_t xcb_out;
-
- xcb_out.source1 = source1;
- xcb_out.source2 = source2;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_intersect_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_intersect_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_INTERSECT_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_intersect_region_request_t xcb_out;
-
- xcb_out.source1 = source1;
- xcb_out.source2 = source2;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_subtract_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_subtract_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SUBTRACT_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_subtract_region_request_t xcb_out;
-
- xcb_out.source1 = source1;
- xcb_out.source2 = source2;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_subtract_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source1
- ** @param xcb_xfixes_region_t source2
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_subtract_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source1 /**< */,
- xcb_xfixes_region_t source2 /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SUBTRACT_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_subtract_region_request_t xcb_out;
-
- xcb_out.source1 = source1;
- xcb_out.source2 = source2;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_invert_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_rectangle_t bounds
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_invert_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_rectangle_t bounds /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_INVERT_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_invert_region_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.bounds = bounds;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_invert_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_rectangle_t bounds
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_invert_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_rectangle_t bounds /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_INVERT_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_invert_region_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.bounds = bounds;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_translate_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param int16_t dx
- ** @param int16_t dy
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_translate_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t dx /**< */,
- int16_t dy /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_TRANSLATE_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_translate_region_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.dx = dx;
- xcb_out.dy = dy;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_translate_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @param int16_t dx
- ** @param int16_t dy
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_translate_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t dx /**< */,
- int16_t dy /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_TRANSLATE_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_translate_region_request_t xcb_out;
-
- xcb_out.region = region;
- xcb_out.dx = dx;
- xcb_out.dy = dy;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_region_extents_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_region_extents_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_REGION_EXTENTS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_region_extents_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_region_extents
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_region_extents (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_REGION_EXTENTS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_region_extents_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_xfixes_fetch_region_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xfixes_fetch_region_reply_t *_aux = (xcb_xfixes_fetch_region_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_xfixes_fetch_region_reply_t);
- xcb_tmp += xcb_block_len;
- /* rectangles */
- xcb_block_len += (_aux->length / 2) * sizeof(xcb_rectangle_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_rectangle_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_xfixes_fetch_region_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_fetch_region_cookie_t
-xcb_xfixes_fetch_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_FETCH_REGION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_fetch_region_cookie_t xcb_ret;
- xcb_xfixes_fetch_region_request_t xcb_out;
-
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_xfixes_fetch_region_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_fetch_region_cookie_t
-xcb_xfixes_fetch_region_unchecked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t region /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_FETCH_REGION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_fetch_region_cookie_t xcb_ret;
- xcb_xfixes_fetch_region_request_t xcb_out;
-
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_rectangle_t * xcb_xfixes_fetch_region_rectangles
- **
- ** @param const xcb_xfixes_fetch_region_reply_t *R
- ** @returns xcb_rectangle_t *
- **
- *****************************************************************************/
-
-xcb_rectangle_t *
-xcb_xfixes_fetch_region_rectangles (const xcb_xfixes_fetch_region_reply_t *R /**< */)
-{
- return (xcb_rectangle_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_fetch_region_rectangles_length
- **
- ** @param const xcb_xfixes_fetch_region_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_fetch_region_rectangles_length (const xcb_xfixes_fetch_region_reply_t *R /**< */)
-{
- return (R->length / 2);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_rectangle_iterator_t xcb_xfixes_fetch_region_rectangles_iterator
- **
- ** @param const xcb_xfixes_fetch_region_reply_t *R
- ** @returns xcb_rectangle_iterator_t
- **
- *****************************************************************************/
-
-xcb_rectangle_iterator_t
-xcb_xfixes_fetch_region_rectangles_iterator (const xcb_xfixes_fetch_region_reply_t *R /**< */)
-{
- xcb_rectangle_iterator_t i;
- i.data = (xcb_rectangle_t *) (R + 1);
- i.rem = (R->length / 2);
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_fetch_region_reply_t * xcb_xfixes_fetch_region_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_fetch_region_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_fetch_region_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_fetch_region_reply_t *
-xcb_xfixes_fetch_region_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_fetch_region_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xfixes_fetch_region_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_gcontext_t gc
- ** @param xcb_xfixes_region_t region
- ** @param int16_t x_origin
- ** @param int16_t y_origin
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_gc_clip_region_checked (xcb_connection_t *c /**< */,
- xcb_gcontext_t gc /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t x_origin /**< */,
- int16_t y_origin /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_GC_CLIP_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_gc_clip_region_request_t xcb_out;
-
- xcb_out.gc = gc;
- xcb_out.region = region;
- xcb_out.x_origin = x_origin;
- xcb_out.y_origin = y_origin;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_gcontext_t gc
- ** @param xcb_xfixes_region_t region
- ** @param int16_t x_origin
- ** @param int16_t y_origin
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_gc_clip_region (xcb_connection_t *c /**< */,
- xcb_gcontext_t gc /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t x_origin /**< */,
- int16_t y_origin /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_GC_CLIP_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_gc_clip_region_request_t xcb_out;
-
- xcb_out.gc = gc;
- xcb_out.region = region;
- xcb_out.x_origin = x_origin;
- xcb_out.y_origin = y_origin;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_window_shape_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t dest
- ** @param xcb_shape_kind_t dest_kind
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_window_shape_region_checked (xcb_connection_t *c /**< */,
- xcb_window_t dest /**< */,
- xcb_shape_kind_t dest_kind /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_xfixes_region_t region /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_WINDOW_SHAPE_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_window_shape_region_request_t xcb_out;
-
- xcb_out.dest = dest;
- xcb_out.dest_kind = dest_kind;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_window_shape_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t dest
- ** @param xcb_shape_kind_t dest_kind
- ** @param int16_t x_offset
- ** @param int16_t y_offset
- ** @param xcb_xfixes_region_t region
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_window_shape_region (xcb_connection_t *c /**< */,
- xcb_window_t dest /**< */,
- xcb_shape_kind_t dest_kind /**< */,
- int16_t x_offset /**< */,
- int16_t y_offset /**< */,
- xcb_xfixes_region_t region /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_WINDOW_SHAPE_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_window_shape_region_request_t xcb_out;
-
- xcb_out.dest = dest;
- xcb_out.dest_kind = dest_kind;
- memset(xcb_out.pad0, 0, 3);
- xcb_out.x_offset = x_offset;
- xcb_out.y_offset = y_offset;
- xcb_out.region = region;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_picture_clip_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_xfixes_region_t region
- ** @param int16_t x_origin
- ** @param int16_t y_origin
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_picture_clip_region_checked (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t x_origin /**< */,
- int16_t y_origin /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_PICTURE_CLIP_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_picture_clip_region_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.region = region;
- xcb_out.x_origin = x_origin;
- xcb_out.y_origin = y_origin;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_picture_clip_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_render_picture_t picture
- ** @param xcb_xfixes_region_t region
- ** @param int16_t x_origin
- ** @param int16_t y_origin
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_picture_clip_region (xcb_connection_t *c /**< */,
- xcb_render_picture_t picture /**< */,
- xcb_xfixes_region_t region /**< */,
- int16_t x_origin /**< */,
- int16_t y_origin /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_PICTURE_CLIP_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_picture_clip_region_request_t xcb_out;
-
- xcb_out.picture = picture;
- xcb_out.region = region;
- xcb_out.x_origin = x_origin;
- xcb_out.y_origin = y_origin;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_xfixes_set_cursor_name_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xfixes_set_cursor_name_request_t *_aux = (xcb_xfixes_set_cursor_name_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_xfixes_set_cursor_name_request_t);
- xcb_tmp += xcb_block_len;
- /* name */
- xcb_block_len += _aux->nbytes * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_cursor_name_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cursor
- ** @param uint16_t nbytes
- ** @param const char *name
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_cursor_name_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t cursor /**< */,
- uint16_t nbytes /**< */,
- const char *name /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_CURSOR_NAME,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_cursor_name_request_t xcb_out;
-
- xcb_out.cursor = cursor;
- xcb_out.nbytes = nbytes;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char name */
- xcb_parts[4].iov_base = (char *) name;
- xcb_parts[4].iov_len = nbytes * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_set_cursor_name
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cursor
- ** @param uint16_t nbytes
- ** @param const char *name
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_set_cursor_name (xcb_connection_t *c /**< */,
- xcb_cursor_t cursor /**< */,
- uint16_t nbytes /**< */,
- const char *name /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SET_CURSOR_NAME,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_set_cursor_name_request_t xcb_out;
-
- xcb_out.cursor = cursor;
- xcb_out.nbytes = nbytes;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char name */
- xcb_parts[4].iov_base = (char *) name;
- xcb_parts[4].iov_len = nbytes * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_xfixes_get_cursor_name_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xfixes_get_cursor_name_reply_t *_aux = (xcb_xfixes_get_cursor_name_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_xfixes_get_cursor_name_reply_t);
- xcb_tmp += xcb_block_len;
- /* name */
- xcb_block_len += _aux->nbytes * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_name_cookie_t xcb_xfixes_get_cursor_name
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cursor
- ** @returns xcb_xfixes_get_cursor_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_name_cookie_t
-xcb_xfixes_get_cursor_name (xcb_connection_t *c /**< */,
- xcb_cursor_t cursor /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_GET_CURSOR_NAME,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_get_cursor_name_cookie_t xcb_ret;
- xcb_xfixes_get_cursor_name_request_t xcb_out;
-
- xcb_out.cursor = cursor;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_name_cookie_t xcb_xfixes_get_cursor_name_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t cursor
- ** @returns xcb_xfixes_get_cursor_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_name_cookie_t
-xcb_xfixes_get_cursor_name_unchecked (xcb_connection_t *c /**< */,
- xcb_cursor_t cursor /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_GET_CURSOR_NAME,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_get_cursor_name_cookie_t xcb_ret;
- xcb_xfixes_get_cursor_name_request_t xcb_out;
-
- xcb_out.cursor = cursor;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** char * xcb_xfixes_get_cursor_name_name
- **
- ** @param const xcb_xfixes_get_cursor_name_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_xfixes_get_cursor_name_name (const xcb_xfixes_get_cursor_name_reply_t *R /**< */)
-{
- return (char *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_get_cursor_name_name_length
- **
- ** @param const xcb_xfixes_get_cursor_name_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_get_cursor_name_name_length (const xcb_xfixes_get_cursor_name_reply_t *R /**< */)
-{
- return R->nbytes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_get_cursor_name_name_end
- **
- ** @param const xcb_xfixes_get_cursor_name_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_get_cursor_name_name_end (const xcb_xfixes_get_cursor_name_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((char *) (R + 1)) + (R->nbytes);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_name_reply_t * xcb_xfixes_get_cursor_name_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_get_cursor_name_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_get_cursor_name_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_name_reply_t *
-xcb_xfixes_get_cursor_name_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_get_cursor_name_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xfixes_get_cursor_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_xfixes_get_cursor_image_and_name_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xfixes_get_cursor_image_and_name_reply_t *_aux = (xcb_xfixes_get_cursor_image_and_name_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_xfixes_get_cursor_image_and_name_reply_t);
- xcb_tmp += xcb_block_len;
- /* name */
- xcb_block_len += _aux->nbytes * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* cursor_image */
- xcb_block_len += (_aux->width * _aux->height) * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint32_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_xfixes_get_cursor_image_and_name
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xfixes_get_cursor_image_and_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_and_name_cookie_t
-xcb_xfixes_get_cursor_image_and_name (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_ret;
- xcb_xfixes_get_cursor_image_and_name_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_xfixes_get_cursor_image_and_name_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xfixes_get_cursor_image_and_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_and_name_cookie_t
-xcb_xfixes_get_cursor_image_and_name_unchecked (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_ret;
- xcb_xfixes_get_cursor_image_and_name_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** char * xcb_xfixes_get_cursor_image_and_name_name
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_xfixes_get_cursor_image_and_name_name (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */)
-{
- return (char *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_get_cursor_image_and_name_name_length
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_get_cursor_image_and_name_name_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */)
-{
- return R->nbytes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_and_name_name_end
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_get_cursor_image_and_name_name_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((char *) (R + 1)) + (R->nbytes);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint32_t * xcb_xfixes_get_cursor_image_and_name_cursor_image
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns uint32_t *
- **
- *****************************************************************************/
-
-uint32_t *
-xcb_xfixes_get_cursor_image_and_name_cursor_image (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_xfixes_get_cursor_image_and_name_name_end(R);
- return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xfixes_get_cursor_image_and_name_cursor_image_length
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xfixes_get_cursor_image_and_name_cursor_image_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */)
-{
- return (R->width * R->height);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_and_name_cursor_image_end
- **
- ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xfixes_get_cursor_image_and_name_cursor_image_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_xfixes_get_cursor_image_and_name_name_end(R);
- i.data = ((uint32_t *) child.data) + ((R->width * R->height));
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xfixes_get_cursor_image_and_name_reply_t * xcb_xfixes_get_cursor_image_and_name_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_get_cursor_image_and_name_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xfixes_get_cursor_image_and_name_reply_t *
- **
- *****************************************************************************/
-
-xcb_xfixes_get_cursor_image_and_name_reply_t *
-xcb_xfixes_get_cursor_image_and_name_reply (xcb_connection_t *c /**< */,
- xcb_xfixes_get_cursor_image_and_name_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xfixes_get_cursor_image_and_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t source
- ** @param xcb_cursor_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_cursor_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t source /**< */,
- xcb_cursor_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CHANGE_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_change_cursor_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t source
- ** @param xcb_cursor_t destination
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_cursor (xcb_connection_t *c /**< */,
- xcb_cursor_t source /**< */,
- xcb_cursor_t destination /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CHANGE_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_change_cursor_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.destination = destination;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_xfixes_change_cursor_by_name_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xfixes_change_cursor_by_name_request_t *_aux = (xcb_xfixes_change_cursor_by_name_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_xfixes_change_cursor_by_name_request_t);
- xcb_tmp += xcb_block_len;
- /* name */
- xcb_block_len += _aux->nbytes * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_cursor_by_name_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t src
- ** @param uint16_t nbytes
- ** @param const char *name
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_cursor_by_name_checked (xcb_connection_t *c /**< */,
- xcb_cursor_t src /**< */,
- uint16_t nbytes /**< */,
- const char *name /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CHANGE_CURSOR_BY_NAME,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_change_cursor_by_name_request_t xcb_out;
-
- xcb_out.src = src;
- xcb_out.nbytes = nbytes;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char name */
- xcb_parts[4].iov_base = (char *) name;
- xcb_parts[4].iov_len = nbytes * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_change_cursor_by_name
- **
- ** @param xcb_connection_t *c
- ** @param xcb_cursor_t src
- ** @param uint16_t nbytes
- ** @param const char *name
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_change_cursor_by_name (xcb_connection_t *c /**< */,
- xcb_cursor_t src /**< */,
- uint16_t nbytes /**< */,
- const char *name /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_CHANGE_CURSOR_BY_NAME,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_change_cursor_by_name_request_t xcb_out;
-
- xcb_out.src = src;
- xcb_out.nbytes = nbytes;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* char name */
- xcb_parts[4].iov_base = (char *) name;
- xcb_parts[4].iov_len = nbytes * sizeof(char);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_expand_region_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @param uint16_t left
- ** @param uint16_t right
- ** @param uint16_t top
- ** @param uint16_t bottom
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_expand_region_checked (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */,
- uint16_t left /**< */,
- uint16_t right /**< */,
- uint16_t top /**< */,
- uint16_t bottom /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_EXPAND_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_expand_region_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.destination = destination;
- xcb_out.left = left;
- xcb_out.right = right;
- xcb_out.top = top;
- xcb_out.bottom = bottom;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_expand_region
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xfixes_region_t source
- ** @param xcb_xfixes_region_t destination
- ** @param uint16_t left
- ** @param uint16_t right
- ** @param uint16_t top
- ** @param uint16_t bottom
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_expand_region (xcb_connection_t *c /**< */,
- xcb_xfixes_region_t source /**< */,
- xcb_xfixes_region_t destination /**< */,
- uint16_t left /**< */,
- uint16_t right /**< */,
- uint16_t top /**< */,
- uint16_t bottom /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_EXPAND_REGION,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_expand_region_request_t xcb_out;
-
- xcb_out.source = source;
- xcb_out.destination = destination;
- xcb_out.left = left;
- xcb_out.right = right;
- xcb_out.top = top;
- xcb_out.bottom = bottom;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_hide_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_hide_cursor_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_HIDE_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_hide_cursor_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_hide_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_hide_cursor (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_HIDE_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_hide_cursor_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_show_cursor_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_show_cursor_checked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SHOW_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_show_cursor_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xfixes_show_cursor
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xfixes_show_cursor (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xfixes_id,
- /* opcode */ XCB_XFIXES_SHOW_CURSOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xfixes_show_cursor_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
diff --git a/src/3rdparty/xcb/libxcb/xinerama.c b/src/3rdparty/xcb/libxcb/xinerama.c
deleted file mode 100644
index e660be267b..0000000000
--- a/src/3rdparty/xcb/libxcb/xinerama.c
+++ /dev/null
@@ -1,703 +0,0 @@
-/*
- * This file generated automatically from xinerama.xml by c_client.py.
- * Edit at your peril.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stddef.h> /* for offsetof() */
-#include "xcbext.h"
-#include "xinerama.h"
-
-#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
-#include "xproto.h"
-
-xcb_extension_t xcb_xinerama_id = { "XINERAMA", 0 };
-
-
-/*****************************************************************************
- **
- ** void xcb_xinerama_screen_info_next
- **
- ** @param xcb_xinerama_screen_info_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xinerama_screen_info_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xinerama_screen_info_end
- **
- ** @param xcb_xinerama_screen_info_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t major
- ** @param uint8_t minor
- ** @returns xcb_xinerama_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_query_version_cookie_t
-xcb_xinerama_query_version (xcb_connection_t *c /**< */,
- uint8_t major /**< */,
- uint8_t minor /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_query_version_cookie_t xcb_ret;
- xcb_xinerama_query_version_request_t xcb_out;
-
- xcb_out.major = major;
- xcb_out.minor = minor;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint8_t major
- ** @param uint8_t minor
- ** @returns xcb_xinerama_query_version_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_query_version_cookie_t
-xcb_xinerama_query_version_unchecked (xcb_connection_t *c /**< */,
- uint8_t major /**< */,
- uint8_t minor /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_QUERY_VERSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_query_version_cookie_t xcb_ret;
- xcb_xinerama_query_version_request_t xcb_out;
-
- xcb_out.major = major;
- xcb_out.minor = minor;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_version_reply_t * xcb_xinerama_query_version_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_query_version_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_query_version_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_query_version_reply_t *
-xcb_xinerama_query_version_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xinerama_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_xinerama_get_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_state_cookie_t
-xcb_xinerama_get_state (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_GET_STATE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_get_state_cookie_t xcb_ret;
- xcb_xinerama_get_state_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_xinerama_get_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_state_cookie_t
-xcb_xinerama_get_state_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_GET_STATE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_get_state_cookie_t xcb_ret;
- xcb_xinerama_get_state_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_state_reply_t * xcb_xinerama_get_state_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_get_state_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_get_state_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_get_state_reply_t *
-xcb_xinerama_get_state_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_get_state_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xinerama_get_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_xinerama_get_screen_count_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_count_cookie_t
-xcb_xinerama_get_screen_count (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_get_screen_count_cookie_t xcb_ret;
- xcb_xinerama_get_screen_count_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @returns xcb_xinerama_get_screen_count_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_count_cookie_t
-xcb_xinerama_get_screen_count_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_get_screen_count_cookie_t xcb_ret;
- xcb_xinerama_get_screen_count_request_t xcb_out;
-
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_count_reply_t * xcb_xinerama_get_screen_count_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_get_screen_count_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_get_screen_count_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_count_reply_t *
-xcb_xinerama_get_screen_count_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_get_screen_count_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xinerama_get_screen_count_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint32_t screen
- ** @returns xcb_xinerama_get_screen_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_size_cookie_t
-xcb_xinerama_get_screen_size (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint32_t screen /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_get_screen_size_cookie_t xcb_ret;
- xcb_xinerama_get_screen_size_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.screen = screen;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_window_t window
- ** @param uint32_t screen
- ** @returns xcb_xinerama_get_screen_size_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_size_cookie_t
-xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c /**< */,
- xcb_window_t window /**< */,
- uint32_t screen /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_get_screen_size_cookie_t xcb_ret;
- xcb_xinerama_get_screen_size_request_t xcb_out;
-
- xcb_out.window = window;
- xcb_out.screen = screen;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_get_screen_size_reply_t * xcb_xinerama_get_screen_size_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_get_screen_size_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_get_screen_size_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_get_screen_size_reply_t *
-xcb_xinerama_get_screen_size_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_get_screen_size_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xinerama_get_screen_size_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xinerama_is_active_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_is_active_cookie_t
-xcb_xinerama_is_active (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_IS_ACTIVE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_is_active_cookie_t xcb_ret;
- xcb_xinerama_is_active_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xinerama_is_active_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_is_active_cookie_t
-xcb_xinerama_is_active_unchecked (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_IS_ACTIVE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_is_active_cookie_t xcb_ret;
- xcb_xinerama_is_active_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_is_active_reply_t * xcb_xinerama_is_active_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_is_active_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_is_active_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_is_active_reply_t *
-xcb_xinerama_is_active_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_is_active_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xinerama_is_active_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_xinerama_query_screens_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xinerama_query_screens_reply_t *_aux = (xcb_xinerama_query_screens_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to;
-
-
- xcb_block_len += sizeof(xcb_xinerama_query_screens_reply_t);
- xcb_tmp += xcb_block_len;
- /* screen_info */
- xcb_block_len += _aux->number * sizeof(xcb_xinerama_screen_info_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xinerama_screen_info_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xinerama_query_screens_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_query_screens_cookie_t
-xcb_xinerama_query_screens (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_query_screens_cookie_t xcb_ret;
- xcb_xinerama_query_screens_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens_unchecked
- **
- ** @param xcb_connection_t *c
- ** @returns xcb_xinerama_query_screens_cookie_t
- **
- *****************************************************************************/
-
-xcb_xinerama_query_screens_cookie_t
-xcb_xinerama_query_screens_unchecked (xcb_connection_t *c /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xinerama_id,
- /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xinerama_query_screens_cookie_t xcb_ret;
- xcb_xinerama_query_screens_request_t xcb_out;
-
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_screen_info_t * xcb_xinerama_query_screens_screen_info
- **
- ** @param const xcb_xinerama_query_screens_reply_t *R
- ** @returns xcb_xinerama_screen_info_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_screen_info_t *
-xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R /**< */)
-{
- return (xcb_xinerama_screen_info_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xinerama_query_screens_screen_info_length
- **
- ** @param const xcb_xinerama_query_screens_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R /**< */)
-{
- return R->number;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_screen_info_iterator_t xcb_xinerama_query_screens_screen_info_iterator
- **
- ** @param const xcb_xinerama_query_screens_reply_t *R
- ** @returns xcb_xinerama_screen_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_xinerama_screen_info_iterator_t
-xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R /**< */)
-{
- xcb_xinerama_screen_info_iterator_t i;
- i.data = (xcb_xinerama_screen_info_t *) (R + 1);
- i.rem = R->number;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xinerama_query_screens_reply_t * xcb_xinerama_query_screens_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xinerama_query_screens_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xinerama_query_screens_reply_t *
- **
- *****************************************************************************/
-
-xcb_xinerama_query_screens_reply_t *
-xcb_xinerama_query_screens_reply (xcb_connection_t *c /**< */,
- xcb_xinerama_query_screens_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xinerama_query_screens_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
diff --git a/src/3rdparty/xcb/libxcb/xinput.c b/src/3rdparty/xcb/libxcb/xinput.c
index 0edfde656c..d4e3c250bc 100644
--- a/src/3rdparty/xcb/libxcb/xinput.c
+++ b/src/3rdparty/xcb/libxcb/xinput.c
@@ -10,11 +10,11 @@
#include <string.h>
#include <assert.h>
#include <stddef.h> /* for offsetof() */
-#include "xcbext.h"
-#include "xinput.h"
+#include <xcb/xcbext.h>
+#include <xcb/xinput.h>
#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
-#include "xfixes.h"
+#include <xcb/xfixes.h>
xcb_extension_t xcb_input_id = { "XInputExtension", 0 };
diff --git a/src/3rdparty/xcb/libxcb/xkb.c b/src/3rdparty/xcb/libxcb/xkb.c
deleted file mode 100644
index d55bd76f10..0000000000
--- a/src/3rdparty/xcb/libxcb/xkb.c
+++ /dev/null
@@ -1,15959 +0,0 @@
-/*
- * This file generated automatically from xkb.xml by c_client.py.
- * Edit at your peril.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stddef.h> /* for offsetof() */
-#include "xcbext.h"
-#include "xkb.h"
-
-#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
-#include "xproto.h"
-
-xcb_extension_t xcb_xkb_id = { "XKEYBOARD", 0 };
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_device_spec_next
- **
- ** @param xcb_xkb_device_spec_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_device_spec_next (xcb_xkb_device_spec_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_device_spec_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_device_spec_end
- **
- ** @param xcb_xkb_device_spec_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_device_spec_end (xcb_xkb_device_spec_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_led_class_spec_next
- **
- ** @param xcb_xkb_led_class_spec_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_led_class_spec_next (xcb_xkb_led_class_spec_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_led_class_spec_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_led_class_spec_end
- **
- ** @param xcb_xkb_led_class_spec_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_led_class_spec_end (xcb_xkb_led_class_spec_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_bell_class_spec_next
- **
- ** @param xcb_xkb_bell_class_spec_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_bell_class_spec_next (xcb_xkb_bell_class_spec_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_bell_class_spec_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_bell_class_spec_end
- **
- ** @param xcb_xkb_bell_class_spec_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_bell_class_spec_end (xcb_xkb_bell_class_spec_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_id_spec_next
- **
- ** @param xcb_xkb_id_spec_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_id_spec_next (xcb_xkb_id_spec_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_id_spec_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_id_spec_end
- **
- ** @param xcb_xkb_id_spec_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_id_spec_end (xcb_xkb_id_spec_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_indicator_map_next
- **
- ** @param xcb_xkb_indicator_map_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_indicator_map_next (xcb_xkb_indicator_map_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_indicator_map_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_indicator_map_end
- **
- ** @param xcb_xkb_indicator_map_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_indicator_map_end (xcb_xkb_indicator_map_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_mod_def_next
- **
- ** @param xcb_xkb_mod_def_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_mod_def_next (xcb_xkb_mod_def_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_mod_def_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_mod_def_end
- **
- ** @param xcb_xkb_mod_def_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_mod_def_end (xcb_xkb_mod_def_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_name_next
- **
- ** @param xcb_xkb_key_name_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_name_next (xcb_xkb_key_name_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_key_name_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_name_end
- **
- ** @param xcb_xkb_key_name_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_name_end (xcb_xkb_key_name_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_alias_next
- **
- ** @param xcb_xkb_key_alias_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_alias_next (xcb_xkb_key_alias_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_key_alias_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_alias_end
- **
- ** @param xcb_xkb_key_alias_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_alias_end (xcb_xkb_key_alias_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_xkb_counted_string_16_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_counted_string_16_t *_aux = (xcb_xkb_counted_string_16_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_counted_string_16_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* string */
- xcb_block_len += _aux->length * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad */
- xcb_block_len += (((_aux->length + 5) & (~3)) - (_aux->length + 2)) * sizeof(char);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** char * xcb_xkb_counted_string_16_string
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns char *
- **
- *****************************************************************************/
-
-char *
-xcb_xkb_counted_string_16_string (const xcb_xkb_counted_string_16_t *R /**< */)
-{
- return (char *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_counted_string_16_string_length
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_counted_string_16_string_length (const xcb_xkb_counted_string_16_t *R /**< */)
-{
- return R->length;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_counted_string_16_string_end
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_counted_string_16_string_end (const xcb_xkb_counted_string_16_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((char *) (R + 1)) + (R->length);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void * xcb_xkb_counted_string_16_alignment_pad
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns void *
- **
- *****************************************************************************/
-
-void *
-xcb_xkb_counted_string_16_alignment_pad (const xcb_xkb_counted_string_16_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_xkb_counted_string_16_string_end(R);
- return (void *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_counted_string_16_alignment_pad_length
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_counted_string_16_alignment_pad_length (const xcb_xkb_counted_string_16_t *R /**< */)
-{
- return (((R->length + 5) & (~3)) - (R->length + 2));
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_counted_string_16_alignment_pad_end
- **
- ** @param const xcb_xkb_counted_string_16_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_counted_string_16_alignment_pad_end (const xcb_xkb_counted_string_16_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- xcb_generic_iterator_t child = xcb_xkb_counted_string_16_string_end(R);
- i.data = ((char *) child.data) + ((((R->length + 5) & (~3)) - (R->length + 2)));
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_counted_string_16_next
- **
- ** @param xcb_xkb_counted_string_16_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_counted_string_16_next (xcb_xkb_counted_string_16_iterator_t *i /**< */)
-{
- xcb_xkb_counted_string_16_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_counted_string_16_t *)(((char *)R) + xcb_xkb_counted_string_16_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_counted_string_16_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_counted_string_16_end
- **
- ** @param xcb_xkb_counted_string_16_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_counted_string_16_end (xcb_xkb_counted_string_16_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_counted_string_16_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_kt_map_entry_next
- **
- ** @param xcb_xkb_kt_map_entry_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_kt_map_entry_next (xcb_xkb_kt_map_entry_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_kt_map_entry_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_kt_map_entry_end
- **
- ** @param xcb_xkb_kt_map_entry_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_kt_map_entry_end (xcb_xkb_kt_map_entry_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_xkb_key_type_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_key_type_t *_aux = (xcb_xkb_key_type_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_key_type_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* map */
- xcb_block_len += _aux->nMapEntries * sizeof(xcb_xkb_kt_map_entry_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_kt_map_entry_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* preserve */
- xcb_block_len += (_aux->hasPreserve * _aux->nMapEntries) * sizeof(xcb_xkb_mod_def_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_map_entry_t * xcb_xkb_key_type_map
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns xcb_xkb_kt_map_entry_t *
- **
- *****************************************************************************/
-
-xcb_xkb_kt_map_entry_t *
-xcb_xkb_key_type_map (const xcb_xkb_key_type_t *R /**< */)
-{
- return (xcb_xkb_kt_map_entry_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_key_type_map_length
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_key_type_map_length (const xcb_xkb_key_type_t *R /**< */)
-{
- return R->nMapEntries;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_map_entry_iterator_t xcb_xkb_key_type_map_iterator
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns xcb_xkb_kt_map_entry_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_kt_map_entry_iterator_t
-xcb_xkb_key_type_map_iterator (const xcb_xkb_key_type_t *R /**< */)
-{
- xcb_xkb_kt_map_entry_iterator_t i;
- i.data = (xcb_xkb_kt_map_entry_t *) (R + 1);
- i.rem = R->nMapEntries;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_t * xcb_xkb_key_type_preserve
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns xcb_xkb_mod_def_t *
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_t *
-xcb_xkb_key_type_preserve (const xcb_xkb_key_type_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_xkb_kt_map_entry_end(xcb_xkb_key_type_map_iterator(R));
- return (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_key_type_preserve_length
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_key_type_preserve_length (const xcb_xkb_key_type_t *R /**< */)
-{
- return (R->hasPreserve * R->nMapEntries);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_iterator_t xcb_xkb_key_type_preserve_iterator
- **
- ** @param const xcb_xkb_key_type_t *R
- ** @returns xcb_xkb_mod_def_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_iterator_t
-xcb_xkb_key_type_preserve_iterator (const xcb_xkb_key_type_t *R /**< */)
-{
- xcb_xkb_mod_def_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_kt_map_entry_end(xcb_xkb_key_type_map_iterator(R));
- i.data = (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index));
- i.rem = (R->hasPreserve * R->nMapEntries);
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_type_next
- **
- ** @param xcb_xkb_key_type_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_type_next (xcb_xkb_key_type_iterator_t *i /**< */)
-{
- xcb_xkb_key_type_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_key_type_t *)(((char *)R) + xcb_xkb_key_type_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_key_type_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_type_end
- **
- ** @param xcb_xkb_key_type_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_type_end (xcb_xkb_key_type_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_key_type_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-int
-xcb_xkb_key_sym_map_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_key_sym_map_t *_aux = (xcb_xkb_key_sym_map_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_key_sym_map_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* syms */
- xcb_block_len += _aux->nSyms * sizeof(xcb_keysym_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_keysym_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_keysym_t * xcb_xkb_key_sym_map_syms
- **
- ** @param const xcb_xkb_key_sym_map_t *R
- ** @returns xcb_keysym_t *
- **
- *****************************************************************************/
-
-xcb_keysym_t *
-xcb_xkb_key_sym_map_syms (const xcb_xkb_key_sym_map_t *R /**< */)
-{
- return (xcb_keysym_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_key_sym_map_syms_length
- **
- ** @param const xcb_xkb_key_sym_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_key_sym_map_syms_length (const xcb_xkb_key_sym_map_t *R /**< */)
-{
- return R->nSyms;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_sym_map_syms_end
- **
- ** @param const xcb_xkb_key_sym_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_sym_map_syms_end (const xcb_xkb_key_sym_map_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((xcb_keysym_t *) (R + 1)) + (R->nSyms);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_sym_map_next
- **
- ** @param xcb_xkb_key_sym_map_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_sym_map_next (xcb_xkb_key_sym_map_iterator_t *i /**< */)
-{
- xcb_xkb_key_sym_map_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_key_sym_map_t *)(((char *)R) + xcb_xkb_key_sym_map_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_key_sym_map_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_sym_map_end
- **
- ** @param xcb_xkb_key_sym_map_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_sym_map_end (xcb_xkb_key_sym_map_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_key_sym_map_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_common_behavior_next
- **
- ** @param xcb_xkb_common_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_common_behavior_next (xcb_xkb_common_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_common_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_common_behavior_end
- **
- ** @param xcb_xkb_common_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_common_behavior_end (xcb_xkb_common_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_default_behavior_next
- **
- ** @param xcb_xkb_default_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_default_behavior_next (xcb_xkb_default_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_default_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_default_behavior_end
- **
- ** @param xcb_xkb_default_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_default_behavior_end (xcb_xkb_default_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_lock_behavior_next
- **
- ** @param xcb_xkb_lock_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_lock_behavior_next (xcb_xkb_lock_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_lock_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_lock_behavior_end
- **
- ** @param xcb_xkb_lock_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_lock_behavior_end (xcb_xkb_lock_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_radio_group_behavior_next
- **
- ** @param xcb_xkb_radio_group_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_radio_group_behavior_next (xcb_xkb_radio_group_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_radio_group_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_radio_group_behavior_end
- **
- ** @param xcb_xkb_radio_group_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_radio_group_behavior_end (xcb_xkb_radio_group_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_overlay_behavior_next
- **
- ** @param xcb_xkb_overlay_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_overlay_behavior_next (xcb_xkb_overlay_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_overlay_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_overlay_behavior_end
- **
- ** @param xcb_xkb_overlay_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_overlay_behavior_end (xcb_xkb_overlay_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_permament_lock_behavior_next
- **
- ** @param xcb_xkb_permament_lock_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_permament_lock_behavior_next (xcb_xkb_permament_lock_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_permament_lock_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_permament_lock_behavior_end
- **
- ** @param xcb_xkb_permament_lock_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_permament_lock_behavior_end (xcb_xkb_permament_lock_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_permament_radio_group_behavior_next
- **
- ** @param xcb_xkb_permament_radio_group_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_permament_radio_group_behavior_next (xcb_xkb_permament_radio_group_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_permament_radio_group_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_permament_radio_group_behavior_end
- **
- ** @param xcb_xkb_permament_radio_group_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_permament_radio_group_behavior_end (xcb_xkb_permament_radio_group_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_permament_overlay_behavior_next
- **
- ** @param xcb_xkb_permament_overlay_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_permament_overlay_behavior_next (xcb_xkb_permament_overlay_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_permament_overlay_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_permament_overlay_behavior_end
- **
- ** @param xcb_xkb_permament_overlay_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_permament_overlay_behavior_end (xcb_xkb_permament_overlay_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_behavior_next
- **
- ** @param xcb_xkb_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_behavior_next (xcb_xkb_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_behavior_end
- **
- ** @param xcb_xkb_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_behavior_end (xcb_xkb_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_set_behavior_next
- **
- ** @param xcb_xkb_set_behavior_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_set_behavior_next (xcb_xkb_set_behavior_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_set_behavior_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_behavior_end
- **
- ** @param xcb_xkb_set_behavior_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_behavior_end (xcb_xkb_set_behavior_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_set_explicit_next
- **
- ** @param xcb_xkb_set_explicit_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_set_explicit_next (xcb_xkb_set_explicit_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_set_explicit_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_explicit_end
- **
- ** @param xcb_xkb_set_explicit_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_explicit_end (xcb_xkb_set_explicit_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_mod_map_next
- **
- ** @param xcb_xkb_key_mod_map_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_mod_map_next (xcb_xkb_key_mod_map_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_key_mod_map_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_mod_map_end
- **
- ** @param xcb_xkb_key_mod_map_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_mod_map_end (xcb_xkb_key_mod_map_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_v_mod_map_next
- **
- ** @param xcb_xkb_key_v_mod_map_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_v_mod_map_next (xcb_xkb_key_v_mod_map_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_key_v_mod_map_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_v_mod_map_end
- **
- ** @param xcb_xkb_key_v_mod_map_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_v_mod_map_end (xcb_xkb_key_v_mod_map_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_kt_set_map_entry_next
- **
- ** @param xcb_xkb_kt_set_map_entry_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_kt_set_map_entry_next (xcb_xkb_kt_set_map_entry_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_kt_set_map_entry_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_kt_set_map_entry_end
- **
- ** @param xcb_xkb_kt_set_map_entry_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_kt_set_map_entry_end (xcb_xkb_kt_set_map_entry_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_xkb_set_key_type_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_set_key_type_t *_aux = (xcb_xkb_set_key_type_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_set_key_type_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* entries */
- xcb_block_len += _aux->nMapEntries * sizeof(xcb_xkb_kt_set_map_entry_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_kt_set_map_entry_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* preserve_entries */
- xcb_block_len += (_aux->preserve * _aux->nMapEntries) * sizeof(xcb_xkb_kt_set_map_entry_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_kt_set_map_entry_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_set_map_entry_t * xcb_xkb_set_key_type_entries
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns xcb_xkb_kt_set_map_entry_t *
- **
- *****************************************************************************/
-
-xcb_xkb_kt_set_map_entry_t *
-xcb_xkb_set_key_type_entries (const xcb_xkb_set_key_type_t *R /**< */)
-{
- return (xcb_xkb_kt_set_map_entry_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_key_type_entries_length
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_key_type_entries_length (const xcb_xkb_set_key_type_t *R /**< */)
-{
- return R->nMapEntries;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_set_map_entry_iterator_t xcb_xkb_set_key_type_entries_iterator
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns xcb_xkb_kt_set_map_entry_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_kt_set_map_entry_iterator_t
-xcb_xkb_set_key_type_entries_iterator (const xcb_xkb_set_key_type_t *R /**< */)
-{
- xcb_xkb_kt_set_map_entry_iterator_t i;
- i.data = (xcb_xkb_kt_set_map_entry_t *) (R + 1);
- i.rem = R->nMapEntries;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_set_map_entry_t * xcb_xkb_set_key_type_preserve_entries
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns xcb_xkb_kt_set_map_entry_t *
- **
- *****************************************************************************/
-
-xcb_xkb_kt_set_map_entry_t *
-xcb_xkb_set_key_type_preserve_entries (const xcb_xkb_set_key_type_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_xkb_kt_set_map_entry_end(xcb_xkb_set_key_type_entries_iterator(R));
- return (xcb_xkb_kt_set_map_entry_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_kt_set_map_entry_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_key_type_preserve_entries_length
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_key_type_preserve_entries_length (const xcb_xkb_set_key_type_t *R /**< */)
-{
- return (R->preserve * R->nMapEntries);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_kt_set_map_entry_iterator_t xcb_xkb_set_key_type_preserve_entries_iterator
- **
- ** @param const xcb_xkb_set_key_type_t *R
- ** @returns xcb_xkb_kt_set_map_entry_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_kt_set_map_entry_iterator_t
-xcb_xkb_set_key_type_preserve_entries_iterator (const xcb_xkb_set_key_type_t *R /**< */)
-{
- xcb_xkb_kt_set_map_entry_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_kt_set_map_entry_end(xcb_xkb_set_key_type_entries_iterator(R));
- i.data = (xcb_xkb_kt_set_map_entry_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_kt_set_map_entry_t, prev.index));
- i.rem = (R->preserve * R->nMapEntries);
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_set_key_type_next
- **
- ** @param xcb_xkb_set_key_type_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_set_key_type_next (xcb_xkb_set_key_type_iterator_t *i /**< */)
-{
- xcb_xkb_set_key_type_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_set_key_type_t *)(((char *)R) + xcb_xkb_set_key_type_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_set_key_type_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_key_type_end
- **
- ** @param xcb_xkb_set_key_type_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_key_type_end (xcb_xkb_set_key_type_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_set_key_type_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_string8_next
- **
- ** @param xcb_xkb_string8_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_string8_next (xcb_xkb_string8_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_string8_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_string8_end
- **
- ** @param xcb_xkb_string8_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_string8_end (xcb_xkb_string8_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_xkb_outline_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_outline_t *_aux = (xcb_xkb_outline_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_outline_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* points */
- xcb_block_len += _aux->nPoints * sizeof(xcb_point_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_point_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_point_t * xcb_xkb_outline_points
- **
- ** @param const xcb_xkb_outline_t *R
- ** @returns xcb_point_t *
- **
- *****************************************************************************/
-
-xcb_point_t *
-xcb_xkb_outline_points (const xcb_xkb_outline_t *R /**< */)
-{
- return (xcb_point_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_outline_points_length
- **
- ** @param const xcb_xkb_outline_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_outline_points_length (const xcb_xkb_outline_t *R /**< */)
-{
- return R->nPoints;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_point_iterator_t xcb_xkb_outline_points_iterator
- **
- ** @param const xcb_xkb_outline_t *R
- ** @returns xcb_point_iterator_t
- **
- *****************************************************************************/
-
-xcb_point_iterator_t
-xcb_xkb_outline_points_iterator (const xcb_xkb_outline_t *R /**< */)
-{
- xcb_point_iterator_t i;
- i.data = (xcb_point_t *) (R + 1);
- i.rem = R->nPoints;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_outline_next
- **
- ** @param xcb_xkb_outline_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_outline_next (xcb_xkb_outline_iterator_t *i /**< */)
-{
- xcb_xkb_outline_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_outline_t *)(((char *)R) + xcb_xkb_outline_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_outline_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_outline_end
- **
- ** @param xcb_xkb_outline_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_outline_end (xcb_xkb_outline_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_outline_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-int
-xcb_xkb_shape_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_shape_t *_aux = (xcb_xkb_shape_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_xkb_shape_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* outlines */
- for(i=0; i<_aux->nOutlines; i++) {
- xcb_tmp_len = xcb_xkb_outline_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_outline_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_shape_outlines_length
- **
- ** @param const xcb_xkb_shape_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_shape_outlines_length (const xcb_xkb_shape_t *R /**< */)
-{
- return R->nOutlines;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_outline_iterator_t xcb_xkb_shape_outlines_iterator
- **
- ** @param const xcb_xkb_shape_t *R
- ** @returns xcb_xkb_outline_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_outline_iterator_t
-xcb_xkb_shape_outlines_iterator (const xcb_xkb_shape_t *R /**< */)
-{
- xcb_xkb_outline_iterator_t i;
- i.data = (xcb_xkb_outline_t *) (R + 1);
- i.rem = R->nOutlines;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_shape_next
- **
- ** @param xcb_xkb_shape_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_shape_next (xcb_xkb_shape_iterator_t *i /**< */)
-{
- xcb_xkb_shape_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_shape_t *)(((char *)R) + xcb_xkb_shape_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_shape_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_shape_end
- **
- ** @param xcb_xkb_shape_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_shape_end (xcb_xkb_shape_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_shape_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_key_next
- **
- ** @param xcb_xkb_key_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_key_next (xcb_xkb_key_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_key_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_key_end
- **
- ** @param xcb_xkb_key_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_key_end (xcb_xkb_key_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_overlay_key_next
- **
- ** @param xcb_xkb_overlay_key_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_overlay_key_next (xcb_xkb_overlay_key_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_overlay_key_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_overlay_key_end
- **
- ** @param xcb_xkb_overlay_key_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_overlay_key_end (xcb_xkb_overlay_key_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-int
-xcb_xkb_overlay_row_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_overlay_row_t *_aux = (xcb_xkb_overlay_row_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_overlay_row_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* keys */
- xcb_block_len += _aux->nKeys * sizeof(xcb_xkb_overlay_key_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_overlay_key_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_overlay_key_t * xcb_xkb_overlay_row_keys
- **
- ** @param const xcb_xkb_overlay_row_t *R
- ** @returns xcb_xkb_overlay_key_t *
- **
- *****************************************************************************/
-
-xcb_xkb_overlay_key_t *
-xcb_xkb_overlay_row_keys (const xcb_xkb_overlay_row_t *R /**< */)
-{
- return (xcb_xkb_overlay_key_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_overlay_row_keys_length
- **
- ** @param const xcb_xkb_overlay_row_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_overlay_row_keys_length (const xcb_xkb_overlay_row_t *R /**< */)
-{
- return R->nKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_overlay_key_iterator_t xcb_xkb_overlay_row_keys_iterator
- **
- ** @param const xcb_xkb_overlay_row_t *R
- ** @returns xcb_xkb_overlay_key_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_overlay_key_iterator_t
-xcb_xkb_overlay_row_keys_iterator (const xcb_xkb_overlay_row_t *R /**< */)
-{
- xcb_xkb_overlay_key_iterator_t i;
- i.data = (xcb_xkb_overlay_key_t *) (R + 1);
- i.rem = R->nKeys;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_overlay_row_next
- **
- ** @param xcb_xkb_overlay_row_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_overlay_row_next (xcb_xkb_overlay_row_iterator_t *i /**< */)
-{
- xcb_xkb_overlay_row_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_overlay_row_t *)(((char *)R) + xcb_xkb_overlay_row_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_overlay_row_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_overlay_row_end
- **
- ** @param xcb_xkb_overlay_row_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_overlay_row_end (xcb_xkb_overlay_row_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_overlay_row_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-int
-xcb_xkb_overlay_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_overlay_t *_aux = (xcb_xkb_overlay_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_xkb_overlay_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* rows */
- for(i=0; i<_aux->nRows; i++) {
- xcb_tmp_len = xcb_xkb_overlay_row_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_overlay_row_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_overlay_rows_length
- **
- ** @param const xcb_xkb_overlay_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_overlay_rows_length (const xcb_xkb_overlay_t *R /**< */)
-{
- return R->nRows;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_overlay_row_iterator_t xcb_xkb_overlay_rows_iterator
- **
- ** @param const xcb_xkb_overlay_t *R
- ** @returns xcb_xkb_overlay_row_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_overlay_row_iterator_t
-xcb_xkb_overlay_rows_iterator (const xcb_xkb_overlay_t *R /**< */)
-{
- xcb_xkb_overlay_row_iterator_t i;
- i.data = (xcb_xkb_overlay_row_t *) (R + 1);
- i.rem = R->nRows;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_overlay_next
- **
- ** @param xcb_xkb_overlay_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_overlay_next (xcb_xkb_overlay_iterator_t *i /**< */)
-{
- xcb_xkb_overlay_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_overlay_t *)(((char *)R) + xcb_xkb_overlay_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_overlay_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_overlay_end
- **
- ** @param xcb_xkb_overlay_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_overlay_end (xcb_xkb_overlay_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_overlay_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-int
-xcb_xkb_row_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_row_t *_aux = (xcb_xkb_row_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_row_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* keys */
- xcb_block_len += _aux->nKeys * sizeof(xcb_xkb_key_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_t * xcb_xkb_row_keys
- **
- ** @param const xcb_xkb_row_t *R
- ** @returns xcb_xkb_key_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_t *
-xcb_xkb_row_keys (const xcb_xkb_row_t *R /**< */)
-{
- return (xcb_xkb_key_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_row_keys_length
- **
- ** @param const xcb_xkb_row_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_row_keys_length (const xcb_xkb_row_t *R /**< */)
-{
- return R->nKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_iterator_t xcb_xkb_row_keys_iterator
- **
- ** @param const xcb_xkb_row_t *R
- ** @returns xcb_xkb_key_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_iterator_t
-xcb_xkb_row_keys_iterator (const xcb_xkb_row_t *R /**< */)
-{
- xcb_xkb_key_iterator_t i;
- i.data = (xcb_xkb_key_t *) (R + 1);
- i.rem = R->nKeys;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_row_next
- **
- ** @param xcb_xkb_row_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_row_next (xcb_xkb_row_iterator_t *i /**< */)
-{
- xcb_xkb_row_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_row_t *)(((char *)R) + xcb_xkb_row_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_row_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_row_end
- **
- ** @param xcb_xkb_row_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_row_end (xcb_xkb_row_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_row_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-int
-xcb_xkb_listing_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_listing_t *_aux = (xcb_xkb_listing_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_listing_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* string */
- xcb_block_len += _aux->length * sizeof(xcb_xkb_string8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_string8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_string8_t * xcb_xkb_listing_string
- **
- ** @param const xcb_xkb_listing_t *R
- ** @returns xcb_xkb_string8_t *
- **
- *****************************************************************************/
-
-xcb_xkb_string8_t *
-xcb_xkb_listing_string (const xcb_xkb_listing_t *R /**< */)
-{
- return (xcb_xkb_string8_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_listing_string_length
- **
- ** @param const xcb_xkb_listing_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_listing_string_length (const xcb_xkb_listing_t *R /**< */)
-{
- return R->length;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_listing_string_end
- **
- ** @param const xcb_xkb_listing_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_listing_string_end (const xcb_xkb_listing_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((xcb_xkb_string8_t *) (R + 1)) + (R->length);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_listing_next
- **
- ** @param xcb_xkb_listing_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_listing_next (xcb_xkb_listing_iterator_t *i /**< */)
-{
- xcb_xkb_listing_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_listing_t *)(((char *)R) + xcb_xkb_listing_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_listing_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_listing_end
- **
- ** @param xcb_xkb_listing_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_listing_end (xcb_xkb_listing_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_listing_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-int
-xcb_xkb_device_led_info_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_device_led_info_t *_aux = (xcb_xkb_device_led_info_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_device_led_info_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* names */
- xcb_block_len += xcb_popcount(_aux->namesPresent) * sizeof(uint32_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* maps */
- xcb_block_len += xcb_popcount(_aux->mapsPresent) * sizeof(xcb_xkb_indicator_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_device_led_info_names
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_device_led_info_names (const xcb_xkb_device_led_info_t *R /**< */)
-{
- return (xcb_atom_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_device_led_info_names_length
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_device_led_info_names_length (const xcb_xkb_device_led_info_t *R /**< */)
-{
- return xcb_popcount(R->namesPresent);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_device_led_info_names_end
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_device_led_info_names_end (const xcb_xkb_device_led_info_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((xcb_atom_t *) (R + 1)) + (xcb_popcount(R->namesPresent));
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_t * xcb_xkb_device_led_info_maps
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns xcb_xkb_indicator_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_t *
-xcb_xkb_device_led_info_maps (const xcb_xkb_device_led_info_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_xkb_device_led_info_names_end(R);
- return (xcb_xkb_indicator_map_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_indicator_map_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_device_led_info_maps_length
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_device_led_info_maps_length (const xcb_xkb_device_led_info_t *R /**< */)
-{
- return xcb_popcount(R->mapsPresent);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_iterator_t xcb_xkb_device_led_info_maps_iterator
- **
- ** @param const xcb_xkb_device_led_info_t *R
- ** @returns xcb_xkb_indicator_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_iterator_t
-xcb_xkb_device_led_info_maps_iterator (const xcb_xkb_device_led_info_t *R /**< */)
-{
- xcb_xkb_indicator_map_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_device_led_info_names_end(R);
- i.data = (xcb_xkb_indicator_map_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_indicator_map_t, prev.index));
- i.rem = xcb_popcount(R->mapsPresent);
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_device_led_info_next
- **
- ** @param xcb_xkb_device_led_info_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_device_led_info_next (xcb_xkb_device_led_info_iterator_t *i /**< */)
-{
- xcb_xkb_device_led_info_t *R = i->data;
- xcb_generic_iterator_t child;
- child.data = (xcb_xkb_device_led_info_t *)(((char *)R) + xcb_xkb_device_led_info_sizeof(R));
- i->index = (char *) child.data - (char *) i->data;
- --i->rem;
- i->data = (xcb_xkb_device_led_info_t *) child.data;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_device_led_info_end
- **
- ** @param xcb_xkb_device_led_info_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_device_led_info_end (xcb_xkb_device_led_info_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- while(i.rem > 0)
- xcb_xkb_device_led_info_next(&i);
- ret.data = i.data;
- ret.rem = i.rem;
- ret.index = i.index;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_no_action_next
- **
- ** @param xcb_xkb_sa_no_action_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_no_action_next (xcb_xkb_sa_no_action_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_no_action_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_no_action_end
- **
- ** @param xcb_xkb_sa_no_action_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_no_action_end (xcb_xkb_sa_no_action_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_set_mods_next
- **
- ** @param xcb_xkb_sa_set_mods_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_set_mods_next (xcb_xkb_sa_set_mods_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_set_mods_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_set_mods_end
- **
- ** @param xcb_xkb_sa_set_mods_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_set_mods_end (xcb_xkb_sa_set_mods_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_latch_mods_next
- **
- ** @param xcb_xkb_sa_latch_mods_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_latch_mods_next (xcb_xkb_sa_latch_mods_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_latch_mods_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_latch_mods_end
- **
- ** @param xcb_xkb_sa_latch_mods_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_latch_mods_end (xcb_xkb_sa_latch_mods_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_mods_next
- **
- ** @param xcb_xkb_sa_lock_mods_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_mods_next (xcb_xkb_sa_lock_mods_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_lock_mods_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_mods_end
- **
- ** @param xcb_xkb_sa_lock_mods_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_mods_end (xcb_xkb_sa_lock_mods_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_set_group_next
- **
- ** @param xcb_xkb_sa_set_group_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_set_group_next (xcb_xkb_sa_set_group_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_set_group_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_set_group_end
- **
- ** @param xcb_xkb_sa_set_group_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_set_group_end (xcb_xkb_sa_set_group_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_latch_group_next
- **
- ** @param xcb_xkb_sa_latch_group_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_latch_group_next (xcb_xkb_sa_latch_group_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_latch_group_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_latch_group_end
- **
- ** @param xcb_xkb_sa_latch_group_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_latch_group_end (xcb_xkb_sa_latch_group_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_group_next
- **
- ** @param xcb_xkb_sa_lock_group_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_group_next (xcb_xkb_sa_lock_group_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_lock_group_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_group_end
- **
- ** @param xcb_xkb_sa_lock_group_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_group_end (xcb_xkb_sa_lock_group_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_move_ptr_next
- **
- ** @param xcb_xkb_sa_move_ptr_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_move_ptr_next (xcb_xkb_sa_move_ptr_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_move_ptr_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_move_ptr_end
- **
- ** @param xcb_xkb_sa_move_ptr_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_move_ptr_end (xcb_xkb_sa_move_ptr_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_ptr_btn_next
- **
- ** @param xcb_xkb_sa_ptr_btn_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_ptr_btn_next (xcb_xkb_sa_ptr_btn_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_ptr_btn_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_ptr_btn_end
- **
- ** @param xcb_xkb_sa_ptr_btn_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_ptr_btn_end (xcb_xkb_sa_ptr_btn_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_ptr_btn_next
- **
- ** @param xcb_xkb_sa_lock_ptr_btn_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_ptr_btn_next (xcb_xkb_sa_lock_ptr_btn_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_lock_ptr_btn_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_ptr_btn_end
- **
- ** @param xcb_xkb_sa_lock_ptr_btn_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_ptr_btn_end (xcb_xkb_sa_lock_ptr_btn_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_set_ptr_dflt_next
- **
- ** @param xcb_xkb_sa_set_ptr_dflt_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_set_ptr_dflt_next (xcb_xkb_sa_set_ptr_dflt_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_set_ptr_dflt_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_set_ptr_dflt_end
- **
- ** @param xcb_xkb_sa_set_ptr_dflt_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_set_ptr_dflt_end (xcb_xkb_sa_set_ptr_dflt_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_iso_lock_next
- **
- ** @param xcb_xkb_sa_iso_lock_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_iso_lock_next (xcb_xkb_sa_iso_lock_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_iso_lock_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_iso_lock_end
- **
- ** @param xcb_xkb_sa_iso_lock_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_iso_lock_end (xcb_xkb_sa_iso_lock_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_terminate_next
- **
- ** @param xcb_xkb_sa_terminate_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_terminate_next (xcb_xkb_sa_terminate_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_terminate_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_terminate_end
- **
- ** @param xcb_xkb_sa_terminate_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_terminate_end (xcb_xkb_sa_terminate_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_switch_screen_next
- **
- ** @param xcb_xkb_sa_switch_screen_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_switch_screen_next (xcb_xkb_sa_switch_screen_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_switch_screen_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_switch_screen_end
- **
- ** @param xcb_xkb_sa_switch_screen_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_switch_screen_end (xcb_xkb_sa_switch_screen_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_set_controls_next
- **
- ** @param xcb_xkb_sa_set_controls_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_set_controls_next (xcb_xkb_sa_set_controls_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_set_controls_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_set_controls_end
- **
- ** @param xcb_xkb_sa_set_controls_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_set_controls_end (xcb_xkb_sa_set_controls_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_controls_next
- **
- ** @param xcb_xkb_sa_lock_controls_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_controls_next (xcb_xkb_sa_lock_controls_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_lock_controls_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_controls_end
- **
- ** @param xcb_xkb_sa_lock_controls_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_controls_end (xcb_xkb_sa_lock_controls_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_action_message_next
- **
- ** @param xcb_xkb_sa_action_message_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_action_message_next (xcb_xkb_sa_action_message_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_action_message_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_action_message_end
- **
- ** @param xcb_xkb_sa_action_message_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_action_message_end (xcb_xkb_sa_action_message_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_redirect_key_next
- **
- ** @param xcb_xkb_sa_redirect_key_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_redirect_key_next (xcb_xkb_sa_redirect_key_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_redirect_key_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_redirect_key_end
- **
- ** @param xcb_xkb_sa_redirect_key_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_redirect_key_end (xcb_xkb_sa_redirect_key_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_device_btn_next
- **
- ** @param xcb_xkb_sa_device_btn_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_device_btn_next (xcb_xkb_sa_device_btn_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_device_btn_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_device_btn_end
- **
- ** @param xcb_xkb_sa_device_btn_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_device_btn_end (xcb_xkb_sa_device_btn_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_lock_device_btn_next
- **
- ** @param xcb_xkb_sa_lock_device_btn_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_lock_device_btn_next (xcb_xkb_sa_lock_device_btn_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_lock_device_btn_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_lock_device_btn_end
- **
- ** @param xcb_xkb_sa_lock_device_btn_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_lock_device_btn_end (xcb_xkb_sa_lock_device_btn_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sa_device_valuator_next
- **
- ** @param xcb_xkb_sa_device_valuator_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sa_device_valuator_next (xcb_xkb_sa_device_valuator_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sa_device_valuator_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sa_device_valuator_end
- **
- ** @param xcb_xkb_sa_device_valuator_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sa_device_valuator_end (xcb_xkb_sa_device_valuator_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_si_action_next
- **
- ** @param xcb_xkb_si_action_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_si_action_next (xcb_xkb_si_action_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_si_action_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_si_action_end
- **
- ** @param xcb_xkb_si_action_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_si_action_end (xcb_xkb_si_action_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_sym_interpret_next
- **
- ** @param xcb_xkb_sym_interpret_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_sym_interpret_next (xcb_xkb_sym_interpret_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_sym_interpret_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_sym_interpret_end
- **
- ** @param xcb_xkb_sym_interpret_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_sym_interpret_end (xcb_xkb_sym_interpret_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** void xcb_xkb_action_next
- **
- ** @param xcb_xkb_action_iterator_t *i
- ** @returns void
- **
- *****************************************************************************/
-
-void
-xcb_xkb_action_next (xcb_xkb_action_iterator_t *i /**< */)
-{
- --i->rem;
- ++i->data;
- i->index += sizeof(xcb_xkb_action_t);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_action_end
- **
- ** @param xcb_xkb_action_iterator_t i
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_action_end (xcb_xkb_action_iterator_t i /**< */)
-{
- xcb_generic_iterator_t ret;
- ret.data = i.data + i.rem;
- ret.index = i.index + ((char *) ret.data - (char *) i.data);
- ret.rem = 0;
- return ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_use_extension_cookie_t xcb_xkb_use_extension
- **
- ** @param xcb_connection_t *c
- ** @param uint16_t wantedMajor
- ** @param uint16_t wantedMinor
- ** @returns xcb_xkb_use_extension_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_use_extension_cookie_t
-xcb_xkb_use_extension (xcb_connection_t *c /**< */,
- uint16_t wantedMajor /**< */,
- uint16_t wantedMinor /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_USE_EXTENSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_use_extension_cookie_t xcb_ret;
- xcb_xkb_use_extension_request_t xcb_out;
-
- xcb_out.wantedMajor = wantedMajor;
- xcb_out.wantedMinor = wantedMinor;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_use_extension_cookie_t xcb_xkb_use_extension_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint16_t wantedMajor
- ** @param uint16_t wantedMinor
- ** @returns xcb_xkb_use_extension_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_use_extension_cookie_t
-xcb_xkb_use_extension_unchecked (xcb_connection_t *c /**< */,
- uint16_t wantedMajor /**< */,
- uint16_t wantedMinor /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_USE_EXTENSION,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_use_extension_cookie_t xcb_ret;
- xcb_xkb_use_extension_request_t xcb_out;
-
- xcb_out.wantedMajor = wantedMajor;
- xcb_out.wantedMinor = wantedMinor;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_use_extension_reply_t * xcb_xkb_use_extension_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_use_extension_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_use_extension_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_use_extension_reply_t *
-xcb_xkb_use_extension_reply (xcb_connection_t *c /**< */,
- xcb_xkb_use_extension_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_use_extension_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_xkb_select_events_details_serialize (void **_buffer /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- const xcb_xkb_select_events_details_t *_aux /**< */)
-{
- char *xcb_out = *_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int xcb_pad = 0;
- char xcb_pad0[3] = {0, 0, 0};
- struct iovec xcb_parts[23];
- unsigned int xcb_parts_idx = 0;
- unsigned int xcb_block_len = 0;
- unsigned int i;
- char *xcb_tmp;
-
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectNewKeyboard */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectNewKeyboard;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.newKeyboardDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->newKeyboardDetails;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_STATE_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectState */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectState;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.stateDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->stateDetails;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectCtrls */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectCtrls;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_select_events_details_t.ctrlDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->ctrlDetails;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectIndicatorState */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectIndicatorState;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_select_events_details_t.indicatorStateDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicatorStateDetails;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectIndicatorMap */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectIndicatorMap;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_select_events_details_t.indicatorMapDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicatorMapDetails;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NAMES_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectNames;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.namesDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->namesDetails;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectCompat */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectCompat;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_select_events_details_t.compatDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatDetails;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_BELL_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectBell */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectBell;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_select_events_details_t.bellDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->bellDetails;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACTION_MESSAGE) {
- /* xcb_xkb_select_events_details_t.affectMsgDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectMsgDetails;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_select_events_details_t.msgDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->msgDetails;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectAccessX */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectAccessX;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.accessXDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->accessXDetails;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectExtDev */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectExtDev;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.extdevDetails */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->extdevDetails;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- if (NULL == xcb_out) {
- /* allocate memory */
- xcb_out = malloc(xcb_buffer_len);
- *_buffer = xcb_out;
- }
-
- xcb_tmp = xcb_out;
- for(i=0; i<xcb_parts_idx; i++) {
- if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
- memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
- if (0 != xcb_parts[i].iov_len)
- xcb_tmp += xcb_parts[i].iov_len;
- }
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_select_events_details_unpack (const void *_buffer /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- xcb_xkb_select_events_details_t *_aux /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectNewKeyboard */
- _aux->affectNewKeyboard = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.newKeyboardDetails */
- _aux->newKeyboardDetails = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_STATE_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectState */
- _aux->affectState = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.stateDetails */
- _aux->stateDetails = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectCtrls */
- _aux->affectCtrls = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_select_events_details_t.ctrlDetails */
- _aux->ctrlDetails = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectIndicatorState */
- _aux->affectIndicatorState = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_select_events_details_t.indicatorStateDetails */
- _aux->indicatorStateDetails = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectIndicatorMap */
- _aux->affectIndicatorMap = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_select_events_details_t.indicatorMapDetails */
- _aux->indicatorMapDetails = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NAMES_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectNames */
- _aux->affectNames = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.namesDetails */
- _aux->namesDetails = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectCompat */
- _aux->affectCompat = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_select_events_details_t.compatDetails */
- _aux->compatDetails = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_BELL_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectBell */
- _aux->affectBell = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_select_events_details_t.bellDetails */
- _aux->bellDetails = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACTION_MESSAGE) {
- /* xcb_xkb_select_events_details_t.affectMsgDetails */
- _aux->affectMsgDetails = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_select_events_details_t.msgDetails */
- _aux->msgDetails = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectAccessX */
- _aux->affectAccessX = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.accessXDetails */
- _aux->accessXDetails = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY) {
- /* xcb_xkb_select_events_details_t.affectExtDev */
- _aux->affectExtDev = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_select_events_details_t.extdevDetails */
- _aux->extdevDetails = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_select_events_details_sizeof (const void *_buffer /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */)
-{
- xcb_xkb_select_events_details_t _aux;
- return xcb_xkb_select_events_details_unpack(_buffer, affectWhich, clear, selectAll, &_aux);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_select_events_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t affectWhich
- ** @param uint16_t clear
- ** @param uint16_t selectAll
- ** @param uint16_t affectMap
- ** @param uint16_t map
- ** @param const void *details
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_select_events_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- uint16_t affectMap /**< */,
- uint16_t map /**< */,
- const void *details /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SELECT_EVENTS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_select_events_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.affectWhich = affectWhich;
- xcb_out.clear = clear;
- xcb_out.selectAll = selectAll;
- xcb_out.affectMap = affectMap;
- xcb_out.map = map;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_select_events_details_t details */
- xcb_parts[4].iov_base = (char *) details;
- xcb_parts[4].iov_len =
- xcb_xkb_select_events_details_sizeof (details, affectWhich, clear, selectAll);
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_select_events
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t affectWhich
- ** @param uint16_t clear
- ** @param uint16_t selectAll
- ** @param uint16_t affectMap
- ** @param uint16_t map
- ** @param const void *details
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_select_events (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- uint16_t affectMap /**< */,
- uint16_t map /**< */,
- const void *details /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SELECT_EVENTS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_select_events_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.affectWhich = affectWhich;
- xcb_out.clear = clear;
- xcb_out.selectAll = selectAll;
- xcb_out.affectMap = affectMap;
- xcb_out.map = map;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_select_events_details_t details */
- xcb_parts[4].iov_base = (char *) details;
- xcb_parts[4].iov_len =
- xcb_xkb_select_events_details_sizeof (details, affectWhich, clear, selectAll);
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_select_events_aux_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t affectWhich
- ** @param uint16_t clear
- ** @param uint16_t selectAll
- ** @param uint16_t affectMap
- ** @param uint16_t map
- ** @param const xcb_xkb_select_events_details_t *details
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_select_events_aux_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- uint16_t affectMap /**< */,
- uint16_t map /**< */,
- const xcb_xkb_select_events_details_t *details /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SELECT_EVENTS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_select_events_request_t xcb_out;
- void *xcb_aux0 = 0;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.affectWhich = affectWhich;
- xcb_out.clear = clear;
- xcb_out.selectAll = selectAll;
- xcb_out.affectMap = affectMap;
- xcb_out.map = map;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_select_events_details_t details */
- xcb_parts[4].iov_len =
- xcb_xkb_select_events_details_serialize (&xcb_aux0, affectWhich, clear, selectAll, details);
- xcb_parts[4].iov_base = xcb_aux0;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- free(xcb_aux0);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_select_events_aux
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t affectWhich
- ** @param uint16_t clear
- ** @param uint16_t selectAll
- ** @param uint16_t affectMap
- ** @param uint16_t map
- ** @param const xcb_xkb_select_events_details_t *details
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_select_events_aux (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t affectWhich /**< */,
- uint16_t clear /**< */,
- uint16_t selectAll /**< */,
- uint16_t affectMap /**< */,
- uint16_t map /**< */,
- const xcb_xkb_select_events_details_t *details /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SELECT_EVENTS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_select_events_request_t xcb_out;
- void *xcb_aux0 = 0;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.affectWhich = affectWhich;
- xcb_out.clear = clear;
- xcb_out.selectAll = selectAll;
- xcb_out.affectMap = affectMap;
- xcb_out.map = map;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_select_events_details_t details */
- xcb_parts[4].iov_len =
- xcb_xkb_select_events_details_serialize (&xcb_aux0, affectWhich, clear, selectAll, details);
- xcb_parts[4].iov_base = xcb_aux0;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- free(xcb_aux0);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_bell_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_bell_class_spec_t bellClass
- ** @param xcb_xkb_id_spec_t bellID
- ** @param int8_t percent
- ** @param uint8_t forceSound
- ** @param uint8_t eventOnly
- ** @param int16_t pitch
- ** @param int16_t duration
- ** @param xcb_atom_t name
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_bell_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_bell_class_spec_t bellClass /**< */,
- xcb_xkb_id_spec_t bellID /**< */,
- int8_t percent /**< */,
- uint8_t forceSound /**< */,
- uint8_t eventOnly /**< */,
- int16_t pitch /**< */,
- int16_t duration /**< */,
- xcb_atom_t name /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_BELL,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_bell_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.bellClass = bellClass;
- xcb_out.bellID = bellID;
- xcb_out.percent = percent;
- xcb_out.forceSound = forceSound;
- xcb_out.eventOnly = eventOnly;
- xcb_out.pad0 = 0;
- xcb_out.pitch = pitch;
- xcb_out.duration = duration;
- memset(xcb_out.pad1, 0, 2);
- xcb_out.name = name;
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_bell
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_bell_class_spec_t bellClass
- ** @param xcb_xkb_id_spec_t bellID
- ** @param int8_t percent
- ** @param uint8_t forceSound
- ** @param uint8_t eventOnly
- ** @param int16_t pitch
- ** @param int16_t duration
- ** @param xcb_atom_t name
- ** @param xcb_window_t window
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_bell (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_bell_class_spec_t bellClass /**< */,
- xcb_xkb_id_spec_t bellID /**< */,
- int8_t percent /**< */,
- uint8_t forceSound /**< */,
- uint8_t eventOnly /**< */,
- int16_t pitch /**< */,
- int16_t duration /**< */,
- xcb_atom_t name /**< */,
- xcb_window_t window /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_BELL,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_bell_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.bellClass = bellClass;
- xcb_out.bellID = bellID;
- xcb_out.percent = percent;
- xcb_out.forceSound = forceSound;
- xcb_out.eventOnly = eventOnly;
- xcb_out.pad0 = 0;
- xcb_out.pitch = pitch;
- xcb_out.duration = duration;
- memset(xcb_out.pad1, 0, 2);
- xcb_out.name = name;
- xcb_out.window = window;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_state_cookie_t xcb_xkb_get_state
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_state_cookie_t
-xcb_xkb_get_state (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_STATE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_state_cookie_t xcb_ret;
- xcb_xkb_get_state_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_state_cookie_t xcb_xkb_get_state_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_state_cookie_t
-xcb_xkb_get_state_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_STATE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_state_cookie_t xcb_ret;
- xcb_xkb_get_state_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_state_reply_t * xcb_xkb_get_state_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_state_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_state_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_state_reply_t *
-xcb_xkb_get_state_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_state_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_latch_lock_state_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t affectModLocks
- ** @param uint8_t modLocks
- ** @param uint8_t lockGroup
- ** @param uint8_t groupLock
- ** @param uint8_t affectModLatches
- ** @param uint8_t latchGroup
- ** @param uint16_t groupLatch
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_latch_lock_state_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t affectModLocks /**< */,
- uint8_t modLocks /**< */,
- uint8_t lockGroup /**< */,
- uint8_t groupLock /**< */,
- uint8_t affectModLatches /**< */,
- uint8_t latchGroup /**< */,
- uint16_t groupLatch /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_LATCH_LOCK_STATE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_latch_lock_state_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.affectModLocks = affectModLocks;
- xcb_out.modLocks = modLocks;
- xcb_out.lockGroup = lockGroup;
- xcb_out.groupLock = groupLock;
- xcb_out.affectModLatches = affectModLatches;
- xcb_out.pad0 = 0;
- xcb_out.latchGroup = latchGroup;
- xcb_out.groupLatch = groupLatch;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_latch_lock_state
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t affectModLocks
- ** @param uint8_t modLocks
- ** @param uint8_t lockGroup
- ** @param uint8_t groupLock
- ** @param uint8_t affectModLatches
- ** @param uint8_t latchGroup
- ** @param uint16_t groupLatch
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_latch_lock_state (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t affectModLocks /**< */,
- uint8_t modLocks /**< */,
- uint8_t lockGroup /**< */,
- uint8_t groupLock /**< */,
- uint8_t affectModLatches /**< */,
- uint8_t latchGroup /**< */,
- uint16_t groupLatch /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_LATCH_LOCK_STATE,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_latch_lock_state_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.affectModLocks = affectModLocks;
- xcb_out.modLocks = modLocks;
- xcb_out.lockGroup = lockGroup;
- xcb_out.groupLock = groupLock;
- xcb_out.affectModLatches = affectModLatches;
- xcb_out.pad0 = 0;
- xcb_out.latchGroup = latchGroup;
- xcb_out.groupLatch = groupLatch;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_controls_cookie_t xcb_xkb_get_controls
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_controls_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_controls_cookie_t
-xcb_xkb_get_controls (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_CONTROLS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_controls_cookie_t xcb_ret;
- xcb_xkb_get_controls_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_controls_cookie_t xcb_xkb_get_controls_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_controls_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_controls_cookie_t
-xcb_xkb_get_controls_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_CONTROLS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_controls_cookie_t xcb_ret;
- xcb_xkb_get_controls_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_controls_reply_t * xcb_xkb_get_controls_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_controls_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_controls_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_controls_reply_t *
-xcb_xkb_get_controls_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_controls_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_controls_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_controls_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t affectInternalRealMods
- ** @param uint8_t internalRealMods
- ** @param uint8_t affectIgnoreLockRealMods
- ** @param uint8_t ignoreLockRealMods
- ** @param uint16_t affectInternalVirtualMods
- ** @param uint16_t internalVirtualMods
- ** @param uint16_t affectIgnoreLockVirtualMods
- ** @param uint16_t ignoreLockVirtualMods
- ** @param uint8_t mouseKeysDfltBtn
- ** @param uint8_t groupsWrap
- ** @param uint16_t accessXOptions
- ** @param uint32_t affectEnabledControls
- ** @param uint32_t enabledControls
- ** @param uint32_t changeControls
- ** @param uint16_t repeatDelay
- ** @param uint16_t repeatInterval
- ** @param uint16_t slowKeysDelay
- ** @param uint16_t debounceDelay
- ** @param uint16_t mouseKeysDelay
- ** @param uint16_t mouseKeysInterval
- ** @param uint16_t mouseKeysTimeToMax
- ** @param uint16_t mouseKeysMaxSpeed
- ** @param int16_t mouseKeysCurve
- ** @param uint16_t accessXTimeout
- ** @param uint32_t accessXTimeoutMask
- ** @param uint32_t accessXTimeoutValues
- ** @param uint16_t accessXTimeoutOptionsMask
- ** @param uint16_t accessXTimeoutOptionsValues
- ** @param const uint8_t *perKeyRepeat
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_controls_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t affectInternalRealMods /**< */,
- uint8_t internalRealMods /**< */,
- uint8_t affectIgnoreLockRealMods /**< */,
- uint8_t ignoreLockRealMods /**< */,
- uint16_t affectInternalVirtualMods /**< */,
- uint16_t internalVirtualMods /**< */,
- uint16_t affectIgnoreLockVirtualMods /**< */,
- uint16_t ignoreLockVirtualMods /**< */,
- uint8_t mouseKeysDfltBtn /**< */,
- uint8_t groupsWrap /**< */,
- uint16_t accessXOptions /**< */,
- uint32_t affectEnabledControls /**< */,
- uint32_t enabledControls /**< */,
- uint32_t changeControls /**< */,
- uint16_t repeatDelay /**< */,
- uint16_t repeatInterval /**< */,
- uint16_t slowKeysDelay /**< */,
- uint16_t debounceDelay /**< */,
- uint16_t mouseKeysDelay /**< */,
- uint16_t mouseKeysInterval /**< */,
- uint16_t mouseKeysTimeToMax /**< */,
- uint16_t mouseKeysMaxSpeed /**< */,
- int16_t mouseKeysCurve /**< */,
- uint16_t accessXTimeout /**< */,
- uint32_t accessXTimeoutMask /**< */,
- uint32_t accessXTimeoutValues /**< */,
- uint16_t accessXTimeoutOptionsMask /**< */,
- uint16_t accessXTimeoutOptionsValues /**< */,
- const uint8_t *perKeyRepeat /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_CONTROLS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_controls_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.affectInternalRealMods = affectInternalRealMods;
- xcb_out.internalRealMods = internalRealMods;
- xcb_out.affectIgnoreLockRealMods = affectIgnoreLockRealMods;
- xcb_out.ignoreLockRealMods = ignoreLockRealMods;
- xcb_out.affectInternalVirtualMods = affectInternalVirtualMods;
- xcb_out.internalVirtualMods = internalVirtualMods;
- xcb_out.affectIgnoreLockVirtualMods = affectIgnoreLockVirtualMods;
- xcb_out.ignoreLockVirtualMods = ignoreLockVirtualMods;
- xcb_out.mouseKeysDfltBtn = mouseKeysDfltBtn;
- xcb_out.groupsWrap = groupsWrap;
- xcb_out.accessXOptions = accessXOptions;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.affectEnabledControls = affectEnabledControls;
- xcb_out.enabledControls = enabledControls;
- xcb_out.changeControls = changeControls;
- xcb_out.repeatDelay = repeatDelay;
- xcb_out.repeatInterval = repeatInterval;
- xcb_out.slowKeysDelay = slowKeysDelay;
- xcb_out.debounceDelay = debounceDelay;
- xcb_out.mouseKeysDelay = mouseKeysDelay;
- xcb_out.mouseKeysInterval = mouseKeysInterval;
- xcb_out.mouseKeysTimeToMax = mouseKeysTimeToMax;
- xcb_out.mouseKeysMaxSpeed = mouseKeysMaxSpeed;
- xcb_out.mouseKeysCurve = mouseKeysCurve;
- xcb_out.accessXTimeout = accessXTimeout;
- xcb_out.accessXTimeoutMask = accessXTimeoutMask;
- xcb_out.accessXTimeoutValues = accessXTimeoutValues;
- xcb_out.accessXTimeoutOptionsMask = accessXTimeoutOptionsMask;
- xcb_out.accessXTimeoutOptionsValues = accessXTimeoutOptionsValues;
- memcpy(xcb_out.perKeyRepeat, perKeyRepeat, 32);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_controls
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t affectInternalRealMods
- ** @param uint8_t internalRealMods
- ** @param uint8_t affectIgnoreLockRealMods
- ** @param uint8_t ignoreLockRealMods
- ** @param uint16_t affectInternalVirtualMods
- ** @param uint16_t internalVirtualMods
- ** @param uint16_t affectIgnoreLockVirtualMods
- ** @param uint16_t ignoreLockVirtualMods
- ** @param uint8_t mouseKeysDfltBtn
- ** @param uint8_t groupsWrap
- ** @param uint16_t accessXOptions
- ** @param uint32_t affectEnabledControls
- ** @param uint32_t enabledControls
- ** @param uint32_t changeControls
- ** @param uint16_t repeatDelay
- ** @param uint16_t repeatInterval
- ** @param uint16_t slowKeysDelay
- ** @param uint16_t debounceDelay
- ** @param uint16_t mouseKeysDelay
- ** @param uint16_t mouseKeysInterval
- ** @param uint16_t mouseKeysTimeToMax
- ** @param uint16_t mouseKeysMaxSpeed
- ** @param int16_t mouseKeysCurve
- ** @param uint16_t accessXTimeout
- ** @param uint32_t accessXTimeoutMask
- ** @param uint32_t accessXTimeoutValues
- ** @param uint16_t accessXTimeoutOptionsMask
- ** @param uint16_t accessXTimeoutOptionsValues
- ** @param const uint8_t *perKeyRepeat
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_controls (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t affectInternalRealMods /**< */,
- uint8_t internalRealMods /**< */,
- uint8_t affectIgnoreLockRealMods /**< */,
- uint8_t ignoreLockRealMods /**< */,
- uint16_t affectInternalVirtualMods /**< */,
- uint16_t internalVirtualMods /**< */,
- uint16_t affectIgnoreLockVirtualMods /**< */,
- uint16_t ignoreLockVirtualMods /**< */,
- uint8_t mouseKeysDfltBtn /**< */,
- uint8_t groupsWrap /**< */,
- uint16_t accessXOptions /**< */,
- uint32_t affectEnabledControls /**< */,
- uint32_t enabledControls /**< */,
- uint32_t changeControls /**< */,
- uint16_t repeatDelay /**< */,
- uint16_t repeatInterval /**< */,
- uint16_t slowKeysDelay /**< */,
- uint16_t debounceDelay /**< */,
- uint16_t mouseKeysDelay /**< */,
- uint16_t mouseKeysInterval /**< */,
- uint16_t mouseKeysTimeToMax /**< */,
- uint16_t mouseKeysMaxSpeed /**< */,
- int16_t mouseKeysCurve /**< */,
- uint16_t accessXTimeout /**< */,
- uint32_t accessXTimeoutMask /**< */,
- uint32_t accessXTimeoutValues /**< */,
- uint16_t accessXTimeoutOptionsMask /**< */,
- uint16_t accessXTimeoutOptionsValues /**< */,
- const uint8_t *perKeyRepeat /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_CONTROLS,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_controls_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.affectInternalRealMods = affectInternalRealMods;
- xcb_out.internalRealMods = internalRealMods;
- xcb_out.affectIgnoreLockRealMods = affectIgnoreLockRealMods;
- xcb_out.ignoreLockRealMods = ignoreLockRealMods;
- xcb_out.affectInternalVirtualMods = affectInternalVirtualMods;
- xcb_out.internalVirtualMods = internalVirtualMods;
- xcb_out.affectIgnoreLockVirtualMods = affectIgnoreLockVirtualMods;
- xcb_out.ignoreLockVirtualMods = ignoreLockVirtualMods;
- xcb_out.mouseKeysDfltBtn = mouseKeysDfltBtn;
- xcb_out.groupsWrap = groupsWrap;
- xcb_out.accessXOptions = accessXOptions;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.affectEnabledControls = affectEnabledControls;
- xcb_out.enabledControls = enabledControls;
- xcb_out.changeControls = changeControls;
- xcb_out.repeatDelay = repeatDelay;
- xcb_out.repeatInterval = repeatInterval;
- xcb_out.slowKeysDelay = slowKeysDelay;
- xcb_out.debounceDelay = debounceDelay;
- xcb_out.mouseKeysDelay = mouseKeysDelay;
- xcb_out.mouseKeysInterval = mouseKeysInterval;
- xcb_out.mouseKeysTimeToMax = mouseKeysTimeToMax;
- xcb_out.mouseKeysMaxSpeed = mouseKeysMaxSpeed;
- xcb_out.mouseKeysCurve = mouseKeysCurve;
- xcb_out.accessXTimeout = accessXTimeout;
- xcb_out.accessXTimeoutMask = accessXTimeoutMask;
- xcb_out.accessXTimeoutValues = accessXTimeoutValues;
- xcb_out.accessXTimeoutOptionsMask = accessXTimeoutOptionsMask;
- xcb_out.accessXTimeoutOptionsValues = accessXTimeoutOptionsValues;
- memcpy(xcb_out.perKeyRepeat, perKeyRepeat, 32);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_types_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_types_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return R->nTypes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_type_iterator_t xcb_xkb_get_map_map_types_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_key_type_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_type_iterator_t
-xcb_xkb_get_map_map_types_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_xkb_key_type_iterator_t i;
- i.data = /* map */ S->types_rtrn;
- i.rem = R->nTypes;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_syms_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_syms_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return R->nKeySyms;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_get_map_map_syms_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_key_sym_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_sym_map_iterator_t
-xcb_xkb_get_map_map_syms_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_xkb_key_sym_map_iterator_t i;
- i.data = /* map */ S->syms_rtrn;
- i.rem = R->nKeySyms;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_map_map_acts_rtrn_count
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_map_map_acts_rtrn_count (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->acts_rtrn_count;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_acts_rtrn_count_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_acts_rtrn_count_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return R->nKeyActions;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_acts_rtrn_count_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_acts_rtrn_count_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* map */ S->acts_rtrn_count + R->nKeyActions;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_map_map_alignment_pad
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_map_map_alignment_pad (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->alignment_pad;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_alignment_pad_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_alignment_pad_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return (((R->nKeyActions + 3) & (~3)) - R->nKeyActions);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_alignment_pad_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* map */ S->alignment_pad + (((R->nKeyActions + 3) & (~3)) - R->nKeyActions);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_t * xcb_xkb_get_map_map_acts_rtrn_acts
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_action_t *
- **
- *****************************************************************************/
-
-xcb_xkb_action_t *
-xcb_xkb_get_map_map_acts_rtrn_acts (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->acts_rtrn_acts;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_acts_rtrn_acts_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_acts_rtrn_acts_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return R->totalActions;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_iterator_t xcb_xkb_get_map_map_acts_rtrn_acts_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_action_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_action_iterator_t
-xcb_xkb_get_map_map_acts_rtrn_acts_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_xkb_action_iterator_t i;
- i.data = /* map */ S->acts_rtrn_acts;
- i.rem = R->totalActions;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_t * xcb_xkb_get_map_map_behaviors_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_set_behavior_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_t *
-xcb_xkb_get_map_map_behaviors_rtrn (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->behaviors_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_behaviors_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_behaviors_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return R->totalKeyBehaviors;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_iterator_t xcb_xkb_get_map_map_behaviors_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_set_behavior_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_iterator_t
-xcb_xkb_get_map_map_behaviors_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_xkb_set_behavior_iterator_t i;
- i.data = /* map */ S->behaviors_rtrn;
- i.rem = R->totalKeyBehaviors;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_map_map_vmods_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_map_map_vmods_rtrn (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->vmods_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_vmods_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_vmods_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return xcb_popcount(R->virtualMods);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_vmods_rtrn_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_vmods_rtrn_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* map */ S->vmods_rtrn + xcb_popcount(R->virtualMods);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_map_map_alignment_pad_2
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_map_map_alignment_pad_2 (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->alignment_pad2;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_alignment_pad_2_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_alignment_pad_2_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return (((xcb_popcount(R->virtualMods) + 3) & (~3)) - xcb_popcount(R->virtualMods));
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_2_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_alignment_pad_2_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* map */ S->alignment_pad2 + (((xcb_popcount(R->virtualMods) + 3) & (~3)) - xcb_popcount(R->virtualMods));
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_t * xcb_xkb_get_map_map_explicit_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_set_explicit_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_t *
-xcb_xkb_get_map_map_explicit_rtrn (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->explicit_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_explicit_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_explicit_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return R->totalKeyExplicit;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_iterator_t xcb_xkb_get_map_map_explicit_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_set_explicit_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_iterator_t
-xcb_xkb_get_map_map_explicit_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_xkb_set_explicit_iterator_t i;
- i.data = /* map */ S->explicit_rtrn;
- i.rem = R->totalKeyExplicit;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_xkb_get_map_map_alignment_pad_3
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_xkb_get_map_map_alignment_pad_3 (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->alignment_pad3;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_alignment_pad_3_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_alignment_pad_3_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return (((R->totalKeyExplicit + 1) & (~1)) - R->totalKeyExplicit);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_3_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_alignment_pad_3_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* map */ S->alignment_pad3 + (((R->totalKeyExplicit + 1) & (~1)) - R->totalKeyExplicit);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_t * xcb_xkb_get_map_map_modmap_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_key_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_t *
-xcb_xkb_get_map_map_modmap_rtrn (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->modmap_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_modmap_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_modmap_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return R->totalModMapKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_get_map_map_modmap_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_key_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_iterator_t
-xcb_xkb_get_map_map_modmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_xkb_key_mod_map_iterator_t i;
- i.data = /* map */ S->modmap_rtrn;
- i.rem = R->totalModMapKeys;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint16_t * xcb_xkb_get_map_map_alignment_pad_4
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns uint16_t *
- **
- *****************************************************************************/
-
-uint16_t *
-xcb_xkb_get_map_map_alignment_pad_4 (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->alignment_pad4;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_alignment_pad_4_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_alignment_pad_4_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return (((R->totalModMapKeys + 1) & (~1)) - R->totalModMapKeys);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_4_end
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_map_map_alignment_pad_4_end (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* map */ S->alignment_pad4 + (((R->totalModMapKeys + 1) & (~1)) - R->totalModMapKeys);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_t * xcb_xkb_get_map_map_vmodmap_rtrn
- **
- ** @param const xcb_xkb_get_map_map_t *S
- ** @returns xcb_xkb_key_v_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_t *
-xcb_xkb_get_map_map_vmodmap_rtrn (const xcb_xkb_get_map_map_t *S /**< */)
-{
- return /* map */ S->vmodmap_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_map_map_vmodmap_rtrn_length
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_map_map_vmodmap_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- return R->totalVModMapKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_get_map_map_vmodmap_rtrn_iterator
- **
- ** @param const xcb_xkb_get_map_map_t *R
- ** @returns xcb_xkb_key_v_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_iterator_t
-xcb_xkb_get_map_map_vmodmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */,
- const xcb_xkb_get_map_map_t *S /**< */)
-{
- xcb_xkb_key_v_mod_map_iterator_t i;
- i.data = /* map */ S->vmodmap_rtrn;
- i.rem = R->totalVModMapKeys;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-int
-xcb_xkb_get_map_map_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- const xcb_xkb_get_map_map_t *_aux /**< */)
-{
- char *xcb_out = *_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int xcb_pad = 0;
- char xcb_pad0[3] = {0, 0, 0};
- struct iovec xcb_parts[27];
- unsigned int xcb_parts_idx = 0;
- unsigned int xcb_block_len = 0;
- unsigned int i;
- char *xcb_tmp;
-
- if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* types_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->types_rtrn;
- xcb_parts[xcb_parts_idx].iov_len = 0;
- xcb_tmp = (char *) _aux->types_rtrn;
- for(i=0; i<nTypes; i++) {
- xcb_block_len = xcb_xkb_key_type_sizeof(xcb_tmp);
- xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
- }
- xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_type_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* syms_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->syms_rtrn;
- xcb_parts[xcb_parts_idx].iov_len = 0;
- xcb_tmp = (char *) _aux->syms_rtrn;
- for(i=0; i<nKeySyms; i++) {
- xcb_block_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
- xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
- }
- xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* acts_rtrn_count */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_count;
- xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = nKeyActions * sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad;
- xcb_block_len += (((nKeyActions + 3) & (~3)) - nKeyActions) * sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = (((nKeyActions + 3) & (~3)) - nKeyActions) * sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* acts_rtrn_acts */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_acts;
- xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
- xcb_parts[xcb_parts_idx].iov_len = totalActions * sizeof(xcb_xkb_action_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_action_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* behaviors_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->behaviors_rtrn;
- xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
- xcb_parts[xcb_parts_idx].iov_len = totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmods_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmods_rtrn;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad2 */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad2;
- xcb_block_len += (((xcb_popcount(virtualMods) + 3) & (~3)) - xcb_popcount(virtualMods)) * sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = (((xcb_popcount(virtualMods) + 3) & (~3)) - xcb_popcount(virtualMods)) * sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* explicit_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->explicit_rtrn;
- xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
- xcb_parts[xcb_parts_idx].iov_len = totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad3 */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad3;
- xcb_block_len += (((totalKeyExplicit + 1) & (~1)) - totalKeyExplicit) * sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = (((totalKeyExplicit + 1) & (~1)) - totalKeyExplicit) * sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* modmap_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->modmap_rtrn;
- xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
- xcb_parts[xcb_parts_idx].iov_len = totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad4 */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad4;
- xcb_block_len += (((totalModMapKeys + 1) & (~1)) - totalModMapKeys) * sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = (((totalModMapKeys + 1) & (~1)) - totalModMapKeys) * sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmodmap_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmodmap_rtrn;
- xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
- xcb_parts[xcb_parts_idx].iov_len = totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- if (NULL == xcb_out) {
- /* allocate memory */
- xcb_out = malloc(xcb_buffer_len);
- *_buffer = xcb_out;
- }
-
- xcb_tmp = xcb_out;
- for(i=0; i<xcb_parts_idx; i++) {
- if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
- memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
- if (0 != xcb_parts[i].iov_len)
- xcb_tmp += xcb_parts[i].iov_len;
- }
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_map_map_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- xcb_xkb_get_map_map_t *_aux /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* types_rtrn */
- _aux->types_rtrn = (xcb_xkb_key_type_t *)xcb_tmp;
- for(i=0; i<nTypes; i++) {
- xcb_tmp_len = xcb_xkb_key_type_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_key_type_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* syms_rtrn */
- _aux->syms_rtrn = (xcb_xkb_key_sym_map_t *)xcb_tmp;
- for(i=0; i<nKeySyms; i++) {
- xcb_tmp_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* acts_rtrn_count */
- _aux->acts_rtrn_count = (uint8_t *)xcb_tmp;
- xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad */
- _aux->alignment_pad = (uint8_t *)xcb_tmp;
- xcb_block_len += (((nKeyActions + 3) & (~3)) - nKeyActions) * sizeof(xcb_keycode_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* acts_rtrn_acts */
- _aux->acts_rtrn_acts = (xcb_xkb_action_t *)xcb_tmp;
- xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_action_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* behaviors_rtrn */
- _aux->behaviors_rtrn = (xcb_xkb_set_behavior_t *)xcb_tmp;
- xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmods_rtrn */
- _aux->vmods_rtrn = (uint8_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad2 */
- _aux->alignment_pad2 = (uint8_t *)xcb_tmp;
- xcb_block_len += (((xcb_popcount(virtualMods) + 3) & (~3)) - xcb_popcount(virtualMods)) * sizeof(xcb_keycode_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* explicit_rtrn */
- _aux->explicit_rtrn = (xcb_xkb_set_explicit_t *)xcb_tmp;
- xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad3 */
- _aux->alignment_pad3 = (uint16_t *)xcb_tmp;
- xcb_block_len += (((totalKeyExplicit + 1) & (~1)) - totalKeyExplicit) * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* modmap_rtrn */
- _aux->modmap_rtrn = (xcb_xkb_key_mod_map_t *)xcb_tmp;
- xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad4 */
- _aux->alignment_pad4 = (uint16_t *)xcb_tmp;
- xcb_block_len += (((totalModMapKeys + 1) & (~1)) - totalModMapKeys) * sizeof(uint16_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint16_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmodmap_rtrn */
- _aux->vmodmap_rtrn = (xcb_xkb_key_v_mod_map_t *)xcb_tmp;
- xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_map_map_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */)
-{
- xcb_xkb_get_map_map_t _aux;
- return xcb_xkb_get_map_map_unpack(_buffer, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, &_aux);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_map_cookie_t xcb_xkb_get_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t full
- ** @param uint16_t partial
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint16_t virtualMods
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @returns xcb_xkb_get_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_map_cookie_t
-xcb_xkb_get_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t full /**< */,
- uint16_t partial /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_MAP,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_map_cookie_t xcb_ret;
- xcb_xkb_get_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.full = full;
- xcb_out.partial = partial;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKeySym = firstKeySym;
- xcb_out.nKeySyms = nKeySyms;
- xcb_out.firstKeyAction = firstKeyAction;
- xcb_out.nKeyActions = nKeyActions;
- xcb_out.firstKeyBehavior = firstKeyBehavior;
- xcb_out.nKeyBehaviors = nKeyBehaviors;
- xcb_out.virtualMods = virtualMods;
- xcb_out.firstKeyExplicit = firstKeyExplicit;
- xcb_out.nKeyExplicit = nKeyExplicit;
- xcb_out.firstModMapKey = firstModMapKey;
- xcb_out.nModMapKeys = nModMapKeys;
- xcb_out.firstVModMapKey = firstVModMapKey;
- xcb_out.nVModMapKeys = nVModMapKeys;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_map_cookie_t xcb_xkb_get_map_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t full
- ** @param uint16_t partial
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint16_t virtualMods
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @returns xcb_xkb_get_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_map_cookie_t
-xcb_xkb_get_map_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t full /**< */,
- uint16_t partial /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_MAP,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_map_cookie_t xcb_ret;
- xcb_xkb_get_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.full = full;
- xcb_out.partial = partial;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKeySym = firstKeySym;
- xcb_out.nKeySyms = nKeySyms;
- xcb_out.firstKeyAction = firstKeyAction;
- xcb_out.nKeyActions = nKeyActions;
- xcb_out.firstKeyBehavior = firstKeyBehavior;
- xcb_out.nKeyBehaviors = nKeyBehaviors;
- xcb_out.virtualMods = virtualMods;
- xcb_out.firstKeyExplicit = firstKeyExplicit;
- xcb_out.nKeyExplicit = nKeyExplicit;
- xcb_out.firstModMapKey = firstModMapKey;
- xcb_out.nModMapKeys = nModMapKeys;
- xcb_out.firstVModMapKey = firstVModMapKey;
- xcb_out.nVModMapKeys = nVModMapKeys;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_map_map_t * xcb_xkb_get_map_map
- **
- ** @param const xcb_xkb_get_map_reply_t *R
- ** @returns xcb_xkb_get_map_map_t *
- **
- *****************************************************************************/
-
-void *
-xcb_xkb_get_map_map (const xcb_xkb_get_map_reply_t *R /**< */)
-{
- return (void *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_map_reply_t * xcb_xkb_get_map_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_map_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_map_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_map_reply_t *
-xcb_xkb_get_map_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_map_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_map_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_types_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_types_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- return R->nTypes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_key_type_iterator_t xcb_xkb_set_map_values_types_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_set_key_type_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_key_type_iterator_t
-xcb_xkb_set_map_values_types_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- xcb_xkb_set_key_type_iterator_t i;
- i.data = /* values */ S->types;
- i.rem = R->nTypes;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_syms_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_syms_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- return R->nKeySyms;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_set_map_values_syms_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_key_sym_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_sym_map_iterator_t
-xcb_xkb_set_map_values_syms_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- xcb_xkb_key_sym_map_iterator_t i;
- i.data = /* values */ S->syms;
- i.rem = R->nKeySyms;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_set_map_values_actions_count
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_set_map_values_actions_count (const xcb_xkb_set_map_values_t *S /**< */)
-{
- return /* values */ S->actionsCount;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_actions_count_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_actions_count_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- return R->nKeyActions;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_map_values_actions_count_end
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_map_values_actions_count_end (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* values */ S->actionsCount + R->nKeyActions;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_t * xcb_xkb_set_map_values_actions
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_action_t *
- **
- *****************************************************************************/
-
-xcb_xkb_action_t *
-xcb_xkb_set_map_values_actions (const xcb_xkb_set_map_values_t *S /**< */)
-{
- return /* values */ S->actions;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_actions_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_actions_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- return R->totalActions;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_iterator_t xcb_xkb_set_map_values_actions_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_action_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_action_iterator_t
-xcb_xkb_set_map_values_actions_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- xcb_xkb_action_iterator_t i;
- i.data = /* values */ S->actions;
- i.rem = R->totalActions;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_t * xcb_xkb_set_map_values_behaviors
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_set_behavior_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_t *
-xcb_xkb_set_map_values_behaviors (const xcb_xkb_set_map_values_t *S /**< */)
-{
- return /* values */ S->behaviors;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_behaviors_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_behaviors_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- return R->totalKeyBehaviors;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_iterator_t xcb_xkb_set_map_values_behaviors_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_set_behavior_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_iterator_t
-xcb_xkb_set_map_values_behaviors_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- xcb_xkb_set_behavior_iterator_t i;
- i.data = /* values */ S->behaviors;
- i.rem = R->totalKeyBehaviors;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_set_map_values_vmods
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_set_map_values_vmods (const xcb_xkb_set_map_values_t *S /**< */)
-{
- return /* values */ S->vmods;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_vmods_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_vmods_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- return xcb_popcount(R->virtualMods);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_map_values_vmods_end
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_map_values_vmods_end (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* values */ S->vmods + xcb_popcount(R->virtualMods);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_t * xcb_xkb_set_map_values_explicit
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_set_explicit_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_t *
-xcb_xkb_set_map_values_explicit (const xcb_xkb_set_map_values_t *S /**< */)
-{
- return /* values */ S->explicit;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_explicit_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_explicit_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- return R->totalKeyExplicit;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_iterator_t xcb_xkb_set_map_values_explicit_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_set_explicit_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_iterator_t
-xcb_xkb_set_map_values_explicit_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- xcb_xkb_set_explicit_iterator_t i;
- i.data = /* values */ S->explicit;
- i.rem = R->totalKeyExplicit;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_t * xcb_xkb_set_map_values_modmap
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_key_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_t *
-xcb_xkb_set_map_values_modmap (const xcb_xkb_set_map_values_t *S /**< */)
-{
- return /* values */ S->modmap;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_modmap_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_modmap_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- return R->totalModMapKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_set_map_values_modmap_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_key_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_iterator_t
-xcb_xkb_set_map_values_modmap_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- xcb_xkb_key_mod_map_iterator_t i;
- i.data = /* values */ S->modmap;
- i.rem = R->totalModMapKeys;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_t * xcb_xkb_set_map_values_vmodmap
- **
- ** @param const xcb_xkb_set_map_values_t *S
- ** @returns xcb_xkb_key_v_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_t *
-xcb_xkb_set_map_values_vmodmap (const xcb_xkb_set_map_values_t *S /**< */)
-{
- return /* values */ S->vmodmap;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_map_values_vmodmap_length
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_map_values_vmodmap_length (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- return R->totalVModMapKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_set_map_values_vmodmap_iterator
- **
- ** @param const xcb_xkb_set_map_values_t *R
- ** @returns xcb_xkb_key_v_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_iterator_t
-xcb_xkb_set_map_values_vmodmap_iterator (const xcb_xkb_set_map_request_t *R /**< */,
- const xcb_xkb_set_map_values_t *S /**< */)
-{
- xcb_xkb_key_v_mod_map_iterator_t i;
- i.data = /* values */ S->vmodmap;
- i.rem = R->totalVModMapKeys;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-int
-xcb_xkb_set_map_values_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- const xcb_xkb_set_map_values_t *_aux /**< */)
-{
- char *xcb_out = *_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int xcb_pad = 0;
- char xcb_pad0[3] = {0, 0, 0};
- struct iovec xcb_parts[19];
- unsigned int xcb_parts_idx = 0;
- unsigned int xcb_block_len = 0;
- unsigned int i;
- char *xcb_tmp;
-
- if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* types */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->types;
- xcb_parts[xcb_parts_idx].iov_len = 0;
- xcb_tmp = (char *) _aux->types;
- for(i=0; i<nTypes; i++) {
- xcb_block_len = xcb_xkb_set_key_type_sizeof(xcb_tmp);
- xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
- }
- xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_set_key_type_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* syms */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->syms;
- xcb_parts[xcb_parts_idx].iov_len = 0;
- xcb_tmp = (char *) _aux->syms;
- for(i=0; i<nKeySyms; i++) {
- xcb_block_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
- xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
- }
- xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* actionsCount */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->actionsCount;
- xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = nKeyActions * sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* actions */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->actions;
- xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
- xcb_parts[xcb_parts_idx].iov_len = totalActions * sizeof(xcb_xkb_action_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_action_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* behaviors */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->behaviors;
- xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
- xcb_parts[xcb_parts_idx].iov_len = totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmods */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmods;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* explicit */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->explicit;
- xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
- xcb_parts[xcb_parts_idx].iov_len = totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
- }
- if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* modmap */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->modmap;
- xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
- xcb_parts[xcb_parts_idx].iov_len = totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmodmap */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmodmap;
- xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
- xcb_parts[xcb_parts_idx].iov_len = totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- if (NULL == xcb_out) {
- /* allocate memory */
- xcb_out = malloc(xcb_buffer_len);
- *_buffer = xcb_out;
- }
-
- xcb_tmp = xcb_out;
- for(i=0; i<xcb_parts_idx; i++) {
- if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
- memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
- if (0 != xcb_parts[i].iov_len)
- xcb_tmp += xcb_parts[i].iov_len;
- }
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_set_map_values_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- xcb_xkb_set_map_values_t *_aux /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* types */
- _aux->types = (xcb_xkb_set_key_type_t *)xcb_tmp;
- for(i=0; i<nTypes; i++) {
- xcb_tmp_len = xcb_xkb_set_key_type_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_set_key_type_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* syms */
- _aux->syms = (xcb_xkb_key_sym_map_t *)xcb_tmp;
- for(i=0; i<nKeySyms; i++) {
- xcb_tmp_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* actionsCount */
- _aux->actionsCount = (uint8_t *)xcb_tmp;
- xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* actions */
- _aux->actions = (xcb_xkb_action_t *)xcb_tmp;
- xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_action_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* behaviors */
- _aux->behaviors = (xcb_xkb_set_behavior_t *)xcb_tmp;
- xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmods */
- _aux->vmods = (uint8_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* explicit */
- _aux->explicit = (xcb_xkb_set_explicit_t *)xcb_tmp;
- xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
- }
- if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* modmap */
- _aux->modmap = (xcb_xkb_key_mod_map_t *)xcb_tmp;
- xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmodmap */
- _aux->vmodmap = (xcb_xkb_key_v_mod_map_t *)xcb_tmp;
- xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_set_map_values_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */)
-{
- xcb_xkb_set_map_values_t _aux;
- return xcb_xkb_set_map_values_unpack(_buffer, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, &_aux);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_map_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t present
- ** @param uint16_t flags
- ** @param xcb_keycode_t minKeyCode
- ** @param xcb_keycode_t maxKeyCode
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param uint16_t totalSyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param uint16_t totalActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint8_t totalKeyBehaviors
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param uint8_t totalKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param uint8_t totalModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @param uint8_t totalVModMapKeys
- ** @param uint16_t virtualMods
- ** @param const void *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_map_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t present /**< */,
- uint16_t flags /**< */,
- xcb_keycode_t minKeyCode /**< */,
- xcb_keycode_t maxKeyCode /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- uint16_t totalSyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint8_t totalKeyBehaviors /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- uint8_t totalKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- uint8_t totalModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t virtualMods /**< */,
- const void *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_MAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.present = present;
- xcb_out.flags = flags;
- xcb_out.minKeyCode = minKeyCode;
- xcb_out.maxKeyCode = maxKeyCode;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKeySym = firstKeySym;
- xcb_out.nKeySyms = nKeySyms;
- xcb_out.totalSyms = totalSyms;
- xcb_out.firstKeyAction = firstKeyAction;
- xcb_out.nKeyActions = nKeyActions;
- xcb_out.totalActions = totalActions;
- xcb_out.firstKeyBehavior = firstKeyBehavior;
- xcb_out.nKeyBehaviors = nKeyBehaviors;
- xcb_out.totalKeyBehaviors = totalKeyBehaviors;
- xcb_out.firstKeyExplicit = firstKeyExplicit;
- xcb_out.nKeyExplicit = nKeyExplicit;
- xcb_out.totalKeyExplicit = totalKeyExplicit;
- xcb_out.firstModMapKey = firstModMapKey;
- xcb_out.nModMapKeys = nModMapKeys;
- xcb_out.totalModMapKeys = totalModMapKeys;
- xcb_out.firstVModMapKey = firstVModMapKey;
- xcb_out.nVModMapKeys = nVModMapKeys;
- xcb_out.totalVModMapKeys = totalVModMapKeys;
- xcb_out.virtualMods = virtualMods;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_set_map_values_t values */
- xcb_parts[4].iov_base = (char *) values;
- xcb_parts[4].iov_len =
- xcb_xkb_set_map_values_sizeof (values, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present);
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t present
- ** @param uint16_t flags
- ** @param xcb_keycode_t minKeyCode
- ** @param xcb_keycode_t maxKeyCode
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param uint16_t totalSyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param uint16_t totalActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint8_t totalKeyBehaviors
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param uint8_t totalKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param uint8_t totalModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @param uint8_t totalVModMapKeys
- ** @param uint16_t virtualMods
- ** @param const void *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t present /**< */,
- uint16_t flags /**< */,
- xcb_keycode_t minKeyCode /**< */,
- xcb_keycode_t maxKeyCode /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- uint16_t totalSyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint8_t totalKeyBehaviors /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- uint8_t totalKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- uint8_t totalModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t virtualMods /**< */,
- const void *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_MAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.present = present;
- xcb_out.flags = flags;
- xcb_out.minKeyCode = minKeyCode;
- xcb_out.maxKeyCode = maxKeyCode;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKeySym = firstKeySym;
- xcb_out.nKeySyms = nKeySyms;
- xcb_out.totalSyms = totalSyms;
- xcb_out.firstKeyAction = firstKeyAction;
- xcb_out.nKeyActions = nKeyActions;
- xcb_out.totalActions = totalActions;
- xcb_out.firstKeyBehavior = firstKeyBehavior;
- xcb_out.nKeyBehaviors = nKeyBehaviors;
- xcb_out.totalKeyBehaviors = totalKeyBehaviors;
- xcb_out.firstKeyExplicit = firstKeyExplicit;
- xcb_out.nKeyExplicit = nKeyExplicit;
- xcb_out.totalKeyExplicit = totalKeyExplicit;
- xcb_out.firstModMapKey = firstModMapKey;
- xcb_out.nModMapKeys = nModMapKeys;
- xcb_out.totalModMapKeys = totalModMapKeys;
- xcb_out.firstVModMapKey = firstVModMapKey;
- xcb_out.nVModMapKeys = nVModMapKeys;
- xcb_out.totalVModMapKeys = totalVModMapKeys;
- xcb_out.virtualMods = virtualMods;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_set_map_values_t values */
- xcb_parts[4].iov_base = (char *) values;
- xcb_parts[4].iov_len =
- xcb_xkb_set_map_values_sizeof (values, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present);
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_map_aux_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t present
- ** @param uint16_t flags
- ** @param xcb_keycode_t minKeyCode
- ** @param xcb_keycode_t maxKeyCode
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param uint16_t totalSyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param uint16_t totalActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint8_t totalKeyBehaviors
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param uint8_t totalKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param uint8_t totalModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @param uint8_t totalVModMapKeys
- ** @param uint16_t virtualMods
- ** @param const xcb_xkb_set_map_values_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_map_aux_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t present /**< */,
- uint16_t flags /**< */,
- xcb_keycode_t minKeyCode /**< */,
- xcb_keycode_t maxKeyCode /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- uint16_t totalSyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint8_t totalKeyBehaviors /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- uint8_t totalKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- uint8_t totalModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t virtualMods /**< */,
- const xcb_xkb_set_map_values_t *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_MAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_map_request_t xcb_out;
- void *xcb_aux0 = 0;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.present = present;
- xcb_out.flags = flags;
- xcb_out.minKeyCode = minKeyCode;
- xcb_out.maxKeyCode = maxKeyCode;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKeySym = firstKeySym;
- xcb_out.nKeySyms = nKeySyms;
- xcb_out.totalSyms = totalSyms;
- xcb_out.firstKeyAction = firstKeyAction;
- xcb_out.nKeyActions = nKeyActions;
- xcb_out.totalActions = totalActions;
- xcb_out.firstKeyBehavior = firstKeyBehavior;
- xcb_out.nKeyBehaviors = nKeyBehaviors;
- xcb_out.totalKeyBehaviors = totalKeyBehaviors;
- xcb_out.firstKeyExplicit = firstKeyExplicit;
- xcb_out.nKeyExplicit = nKeyExplicit;
- xcb_out.totalKeyExplicit = totalKeyExplicit;
- xcb_out.firstModMapKey = firstModMapKey;
- xcb_out.nModMapKeys = nModMapKeys;
- xcb_out.totalModMapKeys = totalModMapKeys;
- xcb_out.firstVModMapKey = firstVModMapKey;
- xcb_out.nVModMapKeys = nVModMapKeys;
- xcb_out.totalVModMapKeys = totalVModMapKeys;
- xcb_out.virtualMods = virtualMods;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_set_map_values_t values */
- xcb_parts[4].iov_len =
- xcb_xkb_set_map_values_serialize (&xcb_aux0, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, values);
- xcb_parts[4].iov_base = xcb_aux0;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- free(xcb_aux0);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_map_aux
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t present
- ** @param uint16_t flags
- ** @param xcb_keycode_t minKeyCode
- ** @param xcb_keycode_t maxKeyCode
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param xcb_keycode_t firstKeySym
- ** @param uint8_t nKeySyms
- ** @param uint16_t totalSyms
- ** @param xcb_keycode_t firstKeyAction
- ** @param uint8_t nKeyActions
- ** @param uint16_t totalActions
- ** @param xcb_keycode_t firstKeyBehavior
- ** @param uint8_t nKeyBehaviors
- ** @param uint8_t totalKeyBehaviors
- ** @param xcb_keycode_t firstKeyExplicit
- ** @param uint8_t nKeyExplicit
- ** @param uint8_t totalKeyExplicit
- ** @param xcb_keycode_t firstModMapKey
- ** @param uint8_t nModMapKeys
- ** @param uint8_t totalModMapKeys
- ** @param xcb_keycode_t firstVModMapKey
- ** @param uint8_t nVModMapKeys
- ** @param uint8_t totalVModMapKeys
- ** @param uint16_t virtualMods
- ** @param const xcb_xkb_set_map_values_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_map_aux (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t present /**< */,
- uint16_t flags /**< */,
- xcb_keycode_t minKeyCode /**< */,
- xcb_keycode_t maxKeyCode /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- xcb_keycode_t firstKeySym /**< */,
- uint8_t nKeySyms /**< */,
- uint16_t totalSyms /**< */,
- xcb_keycode_t firstKeyAction /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- xcb_keycode_t firstKeyBehavior /**< */,
- uint8_t nKeyBehaviors /**< */,
- uint8_t totalKeyBehaviors /**< */,
- xcb_keycode_t firstKeyExplicit /**< */,
- uint8_t nKeyExplicit /**< */,
- uint8_t totalKeyExplicit /**< */,
- xcb_keycode_t firstModMapKey /**< */,
- uint8_t nModMapKeys /**< */,
- uint8_t totalModMapKeys /**< */,
- xcb_keycode_t firstVModMapKey /**< */,
- uint8_t nVModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t virtualMods /**< */,
- const xcb_xkb_set_map_values_t *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_MAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_map_request_t xcb_out;
- void *xcb_aux0 = 0;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.present = present;
- xcb_out.flags = flags;
- xcb_out.minKeyCode = minKeyCode;
- xcb_out.maxKeyCode = maxKeyCode;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKeySym = firstKeySym;
- xcb_out.nKeySyms = nKeySyms;
- xcb_out.totalSyms = totalSyms;
- xcb_out.firstKeyAction = firstKeyAction;
- xcb_out.nKeyActions = nKeyActions;
- xcb_out.totalActions = totalActions;
- xcb_out.firstKeyBehavior = firstKeyBehavior;
- xcb_out.nKeyBehaviors = nKeyBehaviors;
- xcb_out.totalKeyBehaviors = totalKeyBehaviors;
- xcb_out.firstKeyExplicit = firstKeyExplicit;
- xcb_out.nKeyExplicit = nKeyExplicit;
- xcb_out.totalKeyExplicit = totalKeyExplicit;
- xcb_out.firstModMapKey = firstModMapKey;
- xcb_out.nModMapKeys = nModMapKeys;
- xcb_out.totalModMapKeys = totalModMapKeys;
- xcb_out.firstVModMapKey = firstVModMapKey;
- xcb_out.nVModMapKeys = nVModMapKeys;
- xcb_out.totalVModMapKeys = totalVModMapKeys;
- xcb_out.virtualMods = virtualMods;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_set_map_values_t values */
- xcb_parts[4].iov_len =
- xcb_xkb_set_map_values_serialize (&xcb_aux0, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, values);
- xcb_parts[4].iov_base = xcb_aux0;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- free(xcb_aux0);
- return xcb_ret;
-}
-
-int
-xcb_xkb_get_compat_map_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_get_compat_map_reply_t *_aux = (xcb_xkb_get_compat_map_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_get_compat_map_reply_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* si_rtrn */
- xcb_block_len += _aux->nSIRtrn * sizeof(xcb_xkb_sym_interpret_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* group_rtrn */
- xcb_block_len += xcb_popcount(_aux->groupsRtrn) * sizeof(xcb_xkb_mod_def_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_compat_map_cookie_t xcb_xkb_get_compat_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t groups
- ** @param uint8_t getAllSI
- ** @param uint16_t firstSI
- ** @param uint16_t nSI
- ** @returns xcb_xkb_get_compat_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_compat_map_cookie_t
-xcb_xkb_get_compat_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t groups /**< */,
- uint8_t getAllSI /**< */,
- uint16_t firstSI /**< */,
- uint16_t nSI /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_COMPAT_MAP,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_compat_map_cookie_t xcb_ret;
- xcb_xkb_get_compat_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.groups = groups;
- xcb_out.getAllSI = getAllSI;
- xcb_out.firstSI = firstSI;
- xcb_out.nSI = nSI;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_compat_map_cookie_t xcb_xkb_get_compat_map_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t groups
- ** @param uint8_t getAllSI
- ** @param uint16_t firstSI
- ** @param uint16_t nSI
- ** @returns xcb_xkb_get_compat_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_compat_map_cookie_t
-xcb_xkb_get_compat_map_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t groups /**< */,
- uint8_t getAllSI /**< */,
- uint16_t firstSI /**< */,
- uint16_t nSI /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_COMPAT_MAP,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_compat_map_cookie_t xcb_ret;
- xcb_xkb_get_compat_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.groups = groups;
- xcb_out.getAllSI = getAllSI;
- xcb_out.firstSI = firstSI;
- xcb_out.nSI = nSI;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_sym_interpret_t * xcb_xkb_get_compat_map_si_rtrn
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns xcb_xkb_sym_interpret_t *
- **
- *****************************************************************************/
-
-xcb_xkb_sym_interpret_t *
-xcb_xkb_get_compat_map_si_rtrn (const xcb_xkb_get_compat_map_reply_t *R /**< */)
-{
- return (xcb_xkb_sym_interpret_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_compat_map_si_rtrn_length
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_compat_map_si_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R /**< */)
-{
- return R->nSIRtrn;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_sym_interpret_iterator_t xcb_xkb_get_compat_map_si_rtrn_iterator
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns xcb_xkb_sym_interpret_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_sym_interpret_iterator_t
-xcb_xkb_get_compat_map_si_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R /**< */)
-{
- xcb_xkb_sym_interpret_iterator_t i;
- i.data = (xcb_xkb_sym_interpret_t *) (R + 1);
- i.rem = R->nSIRtrn;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_t * xcb_xkb_get_compat_map_group_rtrn
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns xcb_xkb_mod_def_t *
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_t *
-xcb_xkb_get_compat_map_group_rtrn (const xcb_xkb_get_compat_map_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_xkb_sym_interpret_end(xcb_xkb_get_compat_map_si_rtrn_iterator(R));
- return (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_compat_map_group_rtrn_length
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_compat_map_group_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R /**< */)
-{
- return xcb_popcount(R->groupsRtrn);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_iterator_t xcb_xkb_get_compat_map_group_rtrn_iterator
- **
- ** @param const xcb_xkb_get_compat_map_reply_t *R
- ** @returns xcb_xkb_mod_def_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_iterator_t
-xcb_xkb_get_compat_map_group_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R /**< */)
-{
- xcb_xkb_mod_def_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_sym_interpret_end(xcb_xkb_get_compat_map_si_rtrn_iterator(R));
- i.data = (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index));
- i.rem = xcb_popcount(R->groupsRtrn);
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_compat_map_reply_t * xcb_xkb_get_compat_map_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_compat_map_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_compat_map_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_compat_map_reply_t *
-xcb_xkb_get_compat_map_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_compat_map_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_compat_map_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_xkb_set_compat_map_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_set_compat_map_request_t *_aux = (xcb_xkb_set_compat_map_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_set_compat_map_request_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* si */
- xcb_block_len += _aux->nSI * sizeof(xcb_xkb_sym_interpret_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* groupMaps */
- xcb_block_len += xcb_popcount(_aux->groups) * sizeof(xcb_xkb_mod_def_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_compat_map_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t recomputeActions
- ** @param uint8_t truncateSI
- ** @param uint8_t groups
- ** @param uint16_t firstSI
- ** @param uint16_t nSI
- ** @param const xcb_xkb_sym_interpret_t *si
- ** @param const xcb_xkb_mod_def_t *groupMaps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_compat_map_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t recomputeActions /**< */,
- uint8_t truncateSI /**< */,
- uint8_t groups /**< */,
- uint16_t firstSI /**< */,
- uint16_t nSI /**< */,
- const xcb_xkb_sym_interpret_t *si /**< */,
- const xcb_xkb_mod_def_t *groupMaps /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_COMPAT_MAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_compat_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.pad0 = 0;
- xcb_out.recomputeActions = recomputeActions;
- xcb_out.truncateSI = truncateSI;
- xcb_out.groups = groups;
- xcb_out.firstSI = firstSI;
- xcb_out.nSI = nSI;
- memset(xcb_out.pad1, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_sym_interpret_t si */
- xcb_parts[4].iov_base = (char *) si;
- xcb_parts[4].iov_len = nSI * sizeof(xcb_xkb_sym_interpret_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_xkb_mod_def_t groupMaps */
- xcb_parts[6].iov_base = (char *) groupMaps;
- xcb_parts[6].iov_len = xcb_popcount(groups) * sizeof(xcb_xkb_mod_def_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_compat_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t recomputeActions
- ** @param uint8_t truncateSI
- ** @param uint8_t groups
- ** @param uint16_t firstSI
- ** @param uint16_t nSI
- ** @param const xcb_xkb_sym_interpret_t *si
- ** @param const xcb_xkb_mod_def_t *groupMaps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_compat_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t recomputeActions /**< */,
- uint8_t truncateSI /**< */,
- uint8_t groups /**< */,
- uint16_t firstSI /**< */,
- uint16_t nSI /**< */,
- const xcb_xkb_sym_interpret_t *si /**< */,
- const xcb_xkb_mod_def_t *groupMaps /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_COMPAT_MAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_compat_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.pad0 = 0;
- xcb_out.recomputeActions = recomputeActions;
- xcb_out.truncateSI = truncateSI;
- xcb_out.groups = groups;
- xcb_out.firstSI = firstSI;
- xcb_out.nSI = nSI;
- memset(xcb_out.pad1, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_sym_interpret_t si */
- xcb_parts[4].iov_base = (char *) si;
- xcb_parts[4].iov_len = nSI * sizeof(xcb_xkb_sym_interpret_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_xkb_mod_def_t groupMaps */
- xcb_parts[6].iov_base = (char *) groupMaps;
- xcb_parts[6].iov_len = xcb_popcount(groups) * sizeof(xcb_xkb_mod_def_t);
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_state_cookie_t xcb_xkb_get_indicator_state
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_indicator_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_state_cookie_t
-xcb_xkb_get_indicator_state (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_INDICATOR_STATE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_indicator_state_cookie_t xcb_ret;
- xcb_xkb_get_indicator_state_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_state_cookie_t xcb_xkb_get_indicator_state_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @returns xcb_xkb_get_indicator_state_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_state_cookie_t
-xcb_xkb_get_indicator_state_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_INDICATOR_STATE,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_indicator_state_cookie_t xcb_ret;
- xcb_xkb_get_indicator_state_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_state_reply_t * xcb_xkb_get_indicator_state_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_indicator_state_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_indicator_state_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_state_reply_t *
-xcb_xkb_get_indicator_state_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_indicator_state_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_indicator_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_xkb_get_indicator_map_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_get_indicator_map_reply_t *_aux = (xcb_xkb_get_indicator_map_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_get_indicator_map_reply_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* maps */
- xcb_block_len += xcb_popcount(_aux->which) * sizeof(xcb_xkb_indicator_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_map_cookie_t xcb_xkb_get_indicator_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @returns xcb_xkb_get_indicator_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_map_cookie_t
-xcb_xkb_get_indicator_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_INDICATOR_MAP,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_indicator_map_cookie_t xcb_ret;
- xcb_xkb_get_indicator_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.which = which;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_map_cookie_t xcb_xkb_get_indicator_map_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @returns xcb_xkb_get_indicator_map_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_map_cookie_t
-xcb_xkb_get_indicator_map_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_INDICATOR_MAP,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_indicator_map_cookie_t xcb_ret;
- xcb_xkb_get_indicator_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.which = which;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_t * xcb_xkb_get_indicator_map_maps
- **
- ** @param const xcb_xkb_get_indicator_map_reply_t *R
- ** @returns xcb_xkb_indicator_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_t *
-xcb_xkb_get_indicator_map_maps (const xcb_xkb_get_indicator_map_reply_t *R /**< */)
-{
- return (xcb_xkb_indicator_map_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_indicator_map_maps_length
- **
- ** @param const xcb_xkb_get_indicator_map_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_indicator_map_maps_length (const xcb_xkb_get_indicator_map_reply_t *R /**< */)
-{
- return xcb_popcount(R->which);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_iterator_t xcb_xkb_get_indicator_map_maps_iterator
- **
- ** @param const xcb_xkb_get_indicator_map_reply_t *R
- ** @returns xcb_xkb_indicator_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_iterator_t
-xcb_xkb_get_indicator_map_maps_iterator (const xcb_xkb_get_indicator_map_reply_t *R /**< */)
-{
- xcb_xkb_indicator_map_iterator_t i;
- i.data = (xcb_xkb_indicator_map_t *) (R + 1);
- i.rem = xcb_popcount(R->which);
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_indicator_map_reply_t * xcb_xkb_get_indicator_map_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_indicator_map_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_indicator_map_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_indicator_map_reply_t *
-xcb_xkb_get_indicator_map_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_indicator_map_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_indicator_map_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_xkb_set_indicator_map_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_set_indicator_map_request_t *_aux = (xcb_xkb_set_indicator_map_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_set_indicator_map_request_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* maps */
- xcb_block_len += xcb_popcount(_aux->which) * sizeof(xcb_xkb_indicator_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_indicator_map_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @param const xcb_xkb_indicator_map_t *maps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_indicator_map_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */,
- const xcb_xkb_indicator_map_t *maps /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_INDICATOR_MAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_indicator_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.which = which;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_indicator_map_t maps */
- xcb_parts[4].iov_base = (char *) maps;
- xcb_parts[4].iov_len = xcb_popcount(which) * sizeof(xcb_xkb_indicator_map_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_indicator_map
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @param const xcb_xkb_indicator_map_t *maps
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_indicator_map (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */,
- const xcb_xkb_indicator_map_t *maps /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_INDICATOR_MAP,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_indicator_map_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.which = which;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_indicator_map_t maps */
- xcb_parts[4].iov_base = (char *) maps;
- xcb_parts[4].iov_len = xcb_popcount(which) * sizeof(xcb_xkb_indicator_map_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_named_indicator_cookie_t xcb_xkb_get_named_indicator
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @param xcb_atom_t indicator
- ** @returns xcb_xkb_get_named_indicator_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_named_indicator_cookie_t
-xcb_xkb_get_named_indicator (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */,
- xcb_atom_t indicator /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_NAMED_INDICATOR,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_named_indicator_cookie_t xcb_ret;
- xcb_xkb_get_named_indicator_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.ledClass = ledClass;
- xcb_out.ledID = ledID;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.indicator = indicator;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_named_indicator_cookie_t xcb_xkb_get_named_indicator_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @param xcb_atom_t indicator
- ** @returns xcb_xkb_get_named_indicator_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_named_indicator_cookie_t
-xcb_xkb_get_named_indicator_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */,
- xcb_atom_t indicator /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_NAMED_INDICATOR,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_named_indicator_cookie_t xcb_ret;
- xcb_xkb_get_named_indicator_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.ledClass = ledClass;
- xcb_out.ledID = ledID;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.indicator = indicator;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_named_indicator_reply_t * xcb_xkb_get_named_indicator_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_named_indicator_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_named_indicator_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_named_indicator_reply_t *
-xcb_xkb_get_named_indicator_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_named_indicator_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_named_indicator_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_named_indicator_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @param xcb_atom_t indicator
- ** @param uint8_t setState
- ** @param uint8_t on
- ** @param uint8_t setMap
- ** @param uint8_t createMap
- ** @param uint8_t map_flags
- ** @param uint8_t map_whichGroups
- ** @param uint8_t map_groups
- ** @param uint8_t map_whichMods
- ** @param uint8_t map_realMods
- ** @param uint16_t map_vmods
- ** @param uint32_t map_ctrls
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_named_indicator_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */,
- xcb_atom_t indicator /**< */,
- uint8_t setState /**< */,
- uint8_t on /**< */,
- uint8_t setMap /**< */,
- uint8_t createMap /**< */,
- uint8_t map_flags /**< */,
- uint8_t map_whichGroups /**< */,
- uint8_t map_groups /**< */,
- uint8_t map_whichMods /**< */,
- uint8_t map_realMods /**< */,
- uint16_t map_vmods /**< */,
- uint32_t map_ctrls /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_NAMED_INDICATOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_named_indicator_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.ledClass = ledClass;
- xcb_out.ledID = ledID;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.indicator = indicator;
- xcb_out.setState = setState;
- xcb_out.on = on;
- xcb_out.setMap = setMap;
- xcb_out.createMap = createMap;
- xcb_out.pad1 = 0;
- xcb_out.map_flags = map_flags;
- xcb_out.map_whichGroups = map_whichGroups;
- xcb_out.map_groups = map_groups;
- xcb_out.map_whichMods = map_whichMods;
- xcb_out.map_realMods = map_realMods;
- xcb_out.map_vmods = map_vmods;
- xcb_out.map_ctrls = map_ctrls;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_named_indicator
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @param xcb_atom_t indicator
- ** @param uint8_t setState
- ** @param uint8_t on
- ** @param uint8_t setMap
- ** @param uint8_t createMap
- ** @param uint8_t map_flags
- ** @param uint8_t map_whichGroups
- ** @param uint8_t map_groups
- ** @param uint8_t map_whichMods
- ** @param uint8_t map_realMods
- ** @param uint16_t map_vmods
- ** @param uint32_t map_ctrls
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_named_indicator (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */,
- xcb_atom_t indicator /**< */,
- uint8_t setState /**< */,
- uint8_t on /**< */,
- uint8_t setMap /**< */,
- uint8_t createMap /**< */,
- uint8_t map_flags /**< */,
- uint8_t map_whichGroups /**< */,
- uint8_t map_groups /**< */,
- uint8_t map_whichMods /**< */,
- uint8_t map_realMods /**< */,
- uint16_t map_vmods /**< */,
- uint32_t map_ctrls /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_NAMED_INDICATOR,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[4];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_named_indicator_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.ledClass = ledClass;
- xcb_out.ledID = ledID;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.indicator = indicator;
- xcb_out.setState = setState;
- xcb_out.on = on;
- xcb_out.setMap = setMap;
- xcb_out.createMap = createMap;
- xcb_out.pad1 = 0;
- xcb_out.map_flags = map_flags;
- xcb_out.map_whichGroups = map_whichGroups;
- xcb_out.map_groups = map_groups;
- xcb_out.map_whichMods = map_whichMods;
- xcb_out.map_realMods = map_realMods;
- xcb_out.map_vmods = map_vmods;
- xcb_out.map_ctrls = map_ctrls;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_type_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_type_names (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->typeNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_type_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_type_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return R->nTypes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_type_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_type_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* valueList */ S->typeNames + R->nTypes;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_names_value_list_n_levels_per_type
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_names_value_list_n_levels_per_type (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->nLevelsPerType;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_n_levels_per_type_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_n_levels_per_type_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return R->nTypes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_n_levels_per_type_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_n_levels_per_type_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* valueList */ S->nLevelsPerType + R->nTypes;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_names_value_list_alignment_pad
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_names_value_list_alignment_pad (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->alignment_pad;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_alignment_pad_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_alignment_pad_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return (((R->nTypes + 3) & (~3)) - R->nTypes);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_alignment_pad_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_alignment_pad_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* valueList */ S->alignment_pad + (((R->nTypes + 3) & (~3)) - R->nTypes);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_kt_level_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_kt_level_names (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->ktLevelNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_kt_level_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_kt_level_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return xcb_sumof(/* valueList */ S->nLevelsPerType, R->nTypes);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_kt_level_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_kt_level_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* valueList */ S->ktLevelNames + xcb_sumof(/* valueList */ S->nLevelsPerType, R->nTypes);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_indicator_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_indicator_names (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->indicatorNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_indicator_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_indicator_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return xcb_popcount(R->indicators);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_indicator_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_indicator_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* valueList */ S->indicatorNames + xcb_popcount(R->indicators);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_virtual_mod_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_virtual_mod_names (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->virtualModNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_virtual_mod_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_virtual_mod_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return xcb_popcount(R->virtualMods);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_virtual_mod_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_virtual_mod_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* valueList */ S->virtualModNames + xcb_popcount(R->virtualMods);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_groups
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_groups (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->groups;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_groups_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_groups_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return xcb_popcount(R->groupNames);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_groups_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_groups_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* valueList */ S->groups + xcb_popcount(R->groupNames);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_t * xcb_xkb_get_names_value_list_key_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_xkb_key_name_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_t *
-xcb_xkb_get_names_value_list_key_names (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->keyNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_key_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_key_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return R->nKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_iterator_t xcb_xkb_get_names_value_list_key_names_iterator
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_xkb_key_name_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_iterator_t
-xcb_xkb_get_names_value_list_key_names_iterator (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_xkb_key_name_iterator_t i;
- i.data = /* valueList */ S->keyNames;
- i.rem = R->nKeys;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_t * xcb_xkb_get_names_value_list_key_aliases
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_xkb_key_alias_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_t *
-xcb_xkb_get_names_value_list_key_aliases (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->keyAliases;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_key_aliases_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_key_aliases_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return R->nKeyAliases;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_iterator_t xcb_xkb_get_names_value_list_key_aliases_iterator
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_xkb_key_alias_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_iterator_t
-xcb_xkb_get_names_value_list_key_aliases_iterator (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_xkb_key_alias_iterator_t i;
- i.data = /* valueList */ S->keyAliases;
- i.rem = R->nKeyAliases;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_names_value_list_radio_group_names
- **
- ** @param const xcb_xkb_get_names_value_list_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_names_value_list_radio_group_names (const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return /* valueList */ S->radioGroupNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_names_value_list_radio_group_names_length
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_names_value_list_radio_group_names_length (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- return R->nRadioGroups;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_radio_group_names_end
- **
- ** @param const xcb_xkb_get_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_names_value_list_radio_group_names_end (const xcb_xkb_get_names_reply_t *R /**< */,
- const xcb_xkb_get_names_value_list_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* valueList */ S->radioGroupNames + R->nRadioGroups;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-int
-xcb_xkb_get_names_value_list_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- const xcb_xkb_get_names_value_list_t *_aux /**< */)
-{
- char *xcb_out = *_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int xcb_pad = 0;
- char xcb_pad0[3] = {0, 0, 0};
- struct iovec xcb_parts[27];
- unsigned int xcb_parts_idx = 0;
- unsigned int xcb_block_len = 0;
- unsigned int i;
- char *xcb_tmp;
-
- if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
- /* xcb_xkb_get_names_value_list_t.keycodesName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->keycodesName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
- /* xcb_xkb_get_names_value_list_t.geometryName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometryName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
- /* xcb_xkb_get_names_value_list_t.symbolsName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->symbolsName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
- /* xcb_xkb_get_names_value_list_t.physSymbolsName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->physSymbolsName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_TYPES) {
- /* xcb_xkb_get_names_value_list_t.typesName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->typesName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
- /* xcb_xkb_get_names_value_list_t.compatName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* typeNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->typeNames;
- xcb_block_len += nTypes * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* nLevelsPerType */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->nLevelsPerType;
- xcb_block_len += nTypes * sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad;
- xcb_block_len += (((nTypes + 3) & (~3)) - nTypes) * sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = (((nTypes + 3) & (~3)) - nTypes) * sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* ktLevelNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->ktLevelNames;
- xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nTypes) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_sumof(_aux->nLevelsPerType, nTypes) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* indicatorNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicatorNames;
- xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(indicators) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* virtualModNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->virtualModNames;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* groups */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->groups;
- xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(groupNames) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyNames;
- xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
- xcb_parts[xcb_parts_idx].iov_len = nKeys * sizeof(xcb_xkb_key_name_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyAliases */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyAliases;
- xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
- xcb_parts[xcb_parts_idx].iov_len = nKeyAliases * sizeof(xcb_xkb_key_alias_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* radioGroupNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->radioGroupNames;
- xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = nRadioGroups * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- if (NULL == xcb_out) {
- /* allocate memory */
- xcb_out = malloc(xcb_buffer_len);
- *_buffer = xcb_out;
- }
-
- xcb_tmp = xcb_out;
- for(i=0; i<xcb_parts_idx; i++) {
- if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
- memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
- if (0 != xcb_parts[i].iov_len)
- xcb_tmp += xcb_parts[i].iov_len;
- }
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_names_value_list_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- xcb_xkb_get_names_value_list_t *_aux /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
- /* xcb_xkb_get_names_value_list_t.keycodesName */
- _aux->keycodesName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
- /* xcb_xkb_get_names_value_list_t.geometryName */
- _aux->geometryName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
- /* xcb_xkb_get_names_value_list_t.symbolsName */
- _aux->symbolsName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
- /* xcb_xkb_get_names_value_list_t.physSymbolsName */
- _aux->physSymbolsName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_TYPES) {
- /* xcb_xkb_get_names_value_list_t.typesName */
- _aux->typesName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
- /* xcb_xkb_get_names_value_list_t.compatName */
- _aux->compatName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* typeNames */
- _aux->typeNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += nTypes * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* nLevelsPerType */
- _aux->nLevelsPerType = (uint8_t *)xcb_tmp;
- xcb_block_len += nTypes * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* alignment_pad */
- _aux->alignment_pad = (uint8_t *)xcb_tmp;
- xcb_block_len += (((nTypes + 3) & (~3)) - nTypes) * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* ktLevelNames */
- _aux->ktLevelNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nTypes) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* indicatorNames */
- _aux->indicatorNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* virtualModNames */
- _aux->virtualModNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* groups */
- _aux->groups = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyNames */
- _aux->keyNames = (xcb_xkb_key_name_t *)xcb_tmp;
- xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyAliases */
- _aux->keyAliases = (xcb_xkb_key_alias_t *)xcb_tmp;
- xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* radioGroupNames */
- _aux->radioGroupNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_names_value_list_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */)
-{
- xcb_xkb_get_names_value_list_t _aux;
- return xcb_xkb_get_names_value_list_unpack(_buffer, nTypes, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, &_aux);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_names_cookie_t xcb_xkb_get_names
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @returns xcb_xkb_get_names_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_names_cookie_t
-xcb_xkb_get_names (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_NAMES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_names_cookie_t xcb_ret;
- xcb_xkb_get_names_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.which = which;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_names_cookie_t xcb_xkb_get_names_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t which
- ** @returns xcb_xkb_get_names_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_names_cookie_t
-xcb_xkb_get_names_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t which /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_NAMES,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_names_cookie_t xcb_ret;
- xcb_xkb_get_names_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.which = which;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_names_value_list_t * xcb_xkb_get_names_value_list
- **
- ** @param const xcb_xkb_get_names_reply_t *R
- ** @returns xcb_xkb_get_names_value_list_t *
- **
- *****************************************************************************/
-
-void *
-xcb_xkb_get_names_value_list (const xcb_xkb_get_names_reply_t *R /**< */)
-{
- return (void *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_names_reply_t * xcb_xkb_get_names_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_names_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_names_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_names_reply_t *
-xcb_xkb_get_names_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_names_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_names_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_type_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_type_names (const xcb_xkb_set_names_values_t *S /**< */)
-{
- return /* values */ S->typeNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_type_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_type_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- return R->nTypes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_type_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_type_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* values */ S->typeNames + R->nTypes;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_set_names_values_n_levels_per_type
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_set_names_values_n_levels_per_type (const xcb_xkb_set_names_values_t *S /**< */)
-{
- return /* values */ S->nLevelsPerType;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_n_levels_per_type_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_n_levels_per_type_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- return R->nKTLevels;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_n_levels_per_type_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_n_levels_per_type_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* values */ S->nLevelsPerType + R->nKTLevels;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_kt_level_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_kt_level_names (const xcb_xkb_set_names_values_t *S /**< */)
-{
- return /* values */ S->ktLevelNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_kt_level_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_kt_level_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- return xcb_sumof(/* values */ S->nLevelsPerType, R->nKTLevels);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_kt_level_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_kt_level_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* values */ S->ktLevelNames + xcb_sumof(/* values */ S->nLevelsPerType, R->nKTLevels);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_indicator_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_indicator_names (const xcb_xkb_set_names_values_t *S /**< */)
-{
- return /* values */ S->indicatorNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_indicator_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_indicator_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- return xcb_popcount(R->indicators);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_indicator_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_indicator_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* values */ S->indicatorNames + xcb_popcount(R->indicators);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_virtual_mod_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_virtual_mod_names (const xcb_xkb_set_names_values_t *S /**< */)
-{
- return /* values */ S->virtualModNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_virtual_mod_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_virtual_mod_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- return xcb_popcount(R->virtualMods);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_virtual_mod_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_virtual_mod_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* values */ S->virtualModNames + xcb_popcount(R->virtualMods);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_groups
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_groups (const xcb_xkb_set_names_values_t *S /**< */)
-{
- return /* values */ S->groups;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_groups_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_groups_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- return xcb_popcount(R->groupNames);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_groups_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_groups_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* values */ S->groups + xcb_popcount(R->groupNames);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_t * xcb_xkb_set_names_values_key_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_xkb_key_name_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_t *
-xcb_xkb_set_names_values_key_names (const xcb_xkb_set_names_values_t *S /**< */)
-{
- return /* values */ S->keyNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_key_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_key_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- return R->nKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_iterator_t xcb_xkb_set_names_values_key_names_iterator
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_xkb_key_name_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_iterator_t
-xcb_xkb_set_names_values_key_names_iterator (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- xcb_xkb_key_name_iterator_t i;
- i.data = /* values */ S->keyNames;
- i.rem = R->nKeys;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_t * xcb_xkb_set_names_values_key_aliases
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_xkb_key_alias_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_t *
-xcb_xkb_set_names_values_key_aliases (const xcb_xkb_set_names_values_t *S /**< */)
-{
- return /* values */ S->keyAliases;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_key_aliases_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_key_aliases_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- return R->nKeyAliases;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_iterator_t xcb_xkb_set_names_values_key_aliases_iterator
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_xkb_key_alias_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_iterator_t
-xcb_xkb_set_names_values_key_aliases_iterator (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- xcb_xkb_key_alias_iterator_t i;
- i.data = /* values */ S->keyAliases;
- i.rem = R->nKeyAliases;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_set_names_values_radio_group_names
- **
- ** @param const xcb_xkb_set_names_values_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_set_names_values_radio_group_names (const xcb_xkb_set_names_values_t *S /**< */)
-{
- return /* values */ S->radioGroupNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_set_names_values_radio_group_names_length
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_set_names_values_radio_group_names_length (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- return R->nRadioGroups;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_set_names_values_radio_group_names_end
- **
- ** @param const xcb_xkb_set_names_values_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_set_names_values_radio_group_names_end (const xcb_xkb_set_names_request_t *R /**< */,
- const xcb_xkb_set_names_values_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* values */ S->radioGroupNames + R->nRadioGroups;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-int
-xcb_xkb_set_names_values_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- const xcb_xkb_set_names_values_t *_aux /**< */)
-{
- char *xcb_out = *_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int xcb_pad = 0;
- char xcb_pad0[3] = {0, 0, 0};
- struct iovec xcb_parts[25];
- unsigned int xcb_parts_idx = 0;
- unsigned int xcb_block_len = 0;
- unsigned int i;
- char *xcb_tmp;
-
- if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
- /* xcb_xkb_set_names_values_t.keycodesName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->keycodesName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
- /* xcb_xkb_set_names_values_t.geometryName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometryName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
- /* xcb_xkb_set_names_values_t.symbolsName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->symbolsName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
- /* xcb_xkb_set_names_values_t.physSymbolsName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->physSymbolsName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_TYPES) {
- /* xcb_xkb_set_names_values_t.typesName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->typesName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
- /* xcb_xkb_set_names_values_t.compatName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* typeNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->typeNames;
- xcb_block_len += nTypes * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* nLevelsPerType */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->nLevelsPerType;
- xcb_block_len += nKTLevels * sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = nKTLevels * sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* ktLevelNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->ktLevelNames;
- xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* indicatorNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicatorNames;
- xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(indicators) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* virtualModNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->virtualModNames;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* groups */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->groups;
- xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(groupNames) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyNames;
- xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
- xcb_parts[xcb_parts_idx].iov_len = nKeys * sizeof(xcb_xkb_key_name_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyAliases */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyAliases;
- xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
- xcb_parts[xcb_parts_idx].iov_len = nKeyAliases * sizeof(xcb_xkb_key_alias_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* radioGroupNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->radioGroupNames;
- xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = nRadioGroups * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- if (NULL == xcb_out) {
- /* allocate memory */
- xcb_out = malloc(xcb_buffer_len);
- *_buffer = xcb_out;
- }
-
- xcb_tmp = xcb_out;
- for(i=0; i<xcb_parts_idx; i++) {
- if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
- memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
- if (0 != xcb_parts[i].iov_len)
- xcb_tmp += xcb_parts[i].iov_len;
- }
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_set_names_values_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- xcb_xkb_set_names_values_t *_aux /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
- /* xcb_xkb_set_names_values_t.keycodesName */
- _aux->keycodesName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
- /* xcb_xkb_set_names_values_t.geometryName */
- _aux->geometryName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
- /* xcb_xkb_set_names_values_t.symbolsName */
- _aux->symbolsName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
- /* xcb_xkb_set_names_values_t.physSymbolsName */
- _aux->physSymbolsName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_TYPES) {
- /* xcb_xkb_set_names_values_t.typesName */
- _aux->typesName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
- /* xcb_xkb_set_names_values_t.compatName */
- _aux->compatName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* typeNames */
- _aux->typeNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += nTypes * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* nLevelsPerType */
- _aux->nLevelsPerType = (uint8_t *)xcb_tmp;
- xcb_block_len += nKTLevels * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* ktLevelNames */
- _aux->ktLevelNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* indicatorNames */
- _aux->indicatorNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* virtualModNames */
- _aux->virtualModNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* groups */
- _aux->groups = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyNames */
- _aux->keyNames = (xcb_xkb_key_name_t *)xcb_tmp;
- xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyAliases */
- _aux->keyAliases = (xcb_xkb_key_alias_t *)xcb_tmp;
- xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* radioGroupNames */
- _aux->radioGroupNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_set_names_values_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */)
-{
- xcb_xkb_set_names_values_t _aux;
- return xcb_xkb_set_names_values_unpack(_buffer, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, &_aux);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_names_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t virtualMods
- ** @param uint32_t which
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param uint8_t firstKTLevelt
- ** @param uint8_t nKTLevels
- ** @param uint32_t indicators
- ** @param uint8_t groupNames
- ** @param uint8_t nRadioGroups
- ** @param xcb_keycode_t firstKey
- ** @param uint8_t nKeys
- ** @param uint8_t nKeyAliases
- ** @param uint16_t totalKTLevelNames
- ** @param const void *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_names_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t virtualMods /**< */,
- uint32_t which /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- uint8_t firstKTLevelt /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint8_t groupNames /**< */,
- uint8_t nRadioGroups /**< */,
- xcb_keycode_t firstKey /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint16_t totalKTLevelNames /**< */,
- const void *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_NAMES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_names_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.virtualMods = virtualMods;
- xcb_out.which = which;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKTLevelt = firstKTLevelt;
- xcb_out.nKTLevels = nKTLevels;
- xcb_out.indicators = indicators;
- xcb_out.groupNames = groupNames;
- xcb_out.nRadioGroups = nRadioGroups;
- xcb_out.firstKey = firstKey;
- xcb_out.nKeys = nKeys;
- xcb_out.nKeyAliases = nKeyAliases;
- xcb_out.pad0 = 0;
- xcb_out.totalKTLevelNames = totalKTLevelNames;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_set_names_values_t values */
- xcb_parts[4].iov_base = (char *) values;
- xcb_parts[4].iov_len =
- xcb_xkb_set_names_values_sizeof (values, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which);
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_names
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t virtualMods
- ** @param uint32_t which
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param uint8_t firstKTLevelt
- ** @param uint8_t nKTLevels
- ** @param uint32_t indicators
- ** @param uint8_t groupNames
- ** @param uint8_t nRadioGroups
- ** @param xcb_keycode_t firstKey
- ** @param uint8_t nKeys
- ** @param uint8_t nKeyAliases
- ** @param uint16_t totalKTLevelNames
- ** @param const void *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_names (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t virtualMods /**< */,
- uint32_t which /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- uint8_t firstKTLevelt /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint8_t groupNames /**< */,
- uint8_t nRadioGroups /**< */,
- xcb_keycode_t firstKey /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint16_t totalKTLevelNames /**< */,
- const void *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_NAMES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_names_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.virtualMods = virtualMods;
- xcb_out.which = which;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKTLevelt = firstKTLevelt;
- xcb_out.nKTLevels = nKTLevels;
- xcb_out.indicators = indicators;
- xcb_out.groupNames = groupNames;
- xcb_out.nRadioGroups = nRadioGroups;
- xcb_out.firstKey = firstKey;
- xcb_out.nKeys = nKeys;
- xcb_out.nKeyAliases = nKeyAliases;
- xcb_out.pad0 = 0;
- xcb_out.totalKTLevelNames = totalKTLevelNames;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_set_names_values_t values */
- xcb_parts[4].iov_base = (char *) values;
- xcb_parts[4].iov_len =
- xcb_xkb_set_names_values_sizeof (values, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which);
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_names_aux_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t virtualMods
- ** @param uint32_t which
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param uint8_t firstKTLevelt
- ** @param uint8_t nKTLevels
- ** @param uint32_t indicators
- ** @param uint8_t groupNames
- ** @param uint8_t nRadioGroups
- ** @param xcb_keycode_t firstKey
- ** @param uint8_t nKeys
- ** @param uint8_t nKeyAliases
- ** @param uint16_t totalKTLevelNames
- ** @param const xcb_xkb_set_names_values_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_names_aux_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t virtualMods /**< */,
- uint32_t which /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- uint8_t firstKTLevelt /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint8_t groupNames /**< */,
- uint8_t nRadioGroups /**< */,
- xcb_keycode_t firstKey /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint16_t totalKTLevelNames /**< */,
- const xcb_xkb_set_names_values_t *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_NAMES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_names_request_t xcb_out;
- void *xcb_aux0 = 0;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.virtualMods = virtualMods;
- xcb_out.which = which;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKTLevelt = firstKTLevelt;
- xcb_out.nKTLevels = nKTLevels;
- xcb_out.indicators = indicators;
- xcb_out.groupNames = groupNames;
- xcb_out.nRadioGroups = nRadioGroups;
- xcb_out.firstKey = firstKey;
- xcb_out.nKeys = nKeys;
- xcb_out.nKeyAliases = nKeyAliases;
- xcb_out.pad0 = 0;
- xcb_out.totalKTLevelNames = totalKTLevelNames;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_set_names_values_t values */
- xcb_parts[4].iov_len =
- xcb_xkb_set_names_values_serialize (&xcb_aux0, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, values);
- xcb_parts[4].iov_base = xcb_aux0;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- free(xcb_aux0);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_names_aux
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t virtualMods
- ** @param uint32_t which
- ** @param uint8_t firstType
- ** @param uint8_t nTypes
- ** @param uint8_t firstKTLevelt
- ** @param uint8_t nKTLevels
- ** @param uint32_t indicators
- ** @param uint8_t groupNames
- ** @param uint8_t nRadioGroups
- ** @param xcb_keycode_t firstKey
- ** @param uint8_t nKeys
- ** @param uint8_t nKeyAliases
- ** @param uint16_t totalKTLevelNames
- ** @param const xcb_xkb_set_names_values_t *values
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_names_aux (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t virtualMods /**< */,
- uint32_t which /**< */,
- uint8_t firstType /**< */,
- uint8_t nTypes /**< */,
- uint8_t firstKTLevelt /**< */,
- uint8_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint8_t groupNames /**< */,
- uint8_t nRadioGroups /**< */,
- xcb_keycode_t firstKey /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint16_t totalKTLevelNames /**< */,
- const xcb_xkb_set_names_values_t *values /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 3,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_NAMES,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[5];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_names_request_t xcb_out;
- void *xcb_aux0 = 0;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.virtualMods = virtualMods;
- xcb_out.which = which;
- xcb_out.firstType = firstType;
- xcb_out.nTypes = nTypes;
- xcb_out.firstKTLevelt = firstKTLevelt;
- xcb_out.nKTLevels = nKTLevels;
- xcb_out.indicators = indicators;
- xcb_out.groupNames = groupNames;
- xcb_out.nRadioGroups = nRadioGroups;
- xcb_out.firstKey = firstKey;
- xcb_out.nKeys = nKeys;
- xcb_out.nKeyAliases = nKeyAliases;
- xcb_out.pad0 = 0;
- xcb_out.totalKTLevelNames = totalKTLevelNames;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_set_names_values_t values */
- xcb_parts[4].iov_len =
- xcb_xkb_set_names_values_serialize (&xcb_aux0, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, values);
- xcb_parts[4].iov_base = xcb_aux0;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- free(xcb_aux0);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_per_client_flags_cookie_t xcb_xkb_per_client_flags
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t change
- ** @param uint32_t value
- ** @param uint32_t ctrlsToChange
- ** @param uint32_t autoCtrls
- ** @param uint32_t autoCtrlsValues
- ** @returns xcb_xkb_per_client_flags_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_per_client_flags_cookie_t
-xcb_xkb_per_client_flags (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t change /**< */,
- uint32_t value /**< */,
- uint32_t ctrlsToChange /**< */,
- uint32_t autoCtrls /**< */,
- uint32_t autoCtrlsValues /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_PER_CLIENT_FLAGS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_per_client_flags_cookie_t xcb_ret;
- xcb_xkb_per_client_flags_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.change = change;
- xcb_out.value = value;
- xcb_out.ctrlsToChange = ctrlsToChange;
- xcb_out.autoCtrls = autoCtrls;
- xcb_out.autoCtrlsValues = autoCtrlsValues;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_per_client_flags_cookie_t xcb_xkb_per_client_flags_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint32_t change
- ** @param uint32_t value
- ** @param uint32_t ctrlsToChange
- ** @param uint32_t autoCtrls
- ** @param uint32_t autoCtrlsValues
- ** @returns xcb_xkb_per_client_flags_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_per_client_flags_cookie_t
-xcb_xkb_per_client_flags_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint32_t change /**< */,
- uint32_t value /**< */,
- uint32_t ctrlsToChange /**< */,
- uint32_t autoCtrls /**< */,
- uint32_t autoCtrlsValues /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_PER_CLIENT_FLAGS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_per_client_flags_cookie_t xcb_ret;
- xcb_xkb_per_client_flags_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.change = change;
- xcb_out.value = value;
- xcb_out.ctrlsToChange = ctrlsToChange;
- xcb_out.autoCtrls = autoCtrls;
- xcb_out.autoCtrlsValues = autoCtrlsValues;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_per_client_flags_reply_t * xcb_xkb_per_client_flags_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_per_client_flags_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_per_client_flags_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_per_client_flags_reply_t *
-xcb_xkb_per_client_flags_reply (xcb_connection_t *c /**< */,
- xcb_xkb_per_client_flags_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_per_client_flags_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_xkb_list_components_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_list_components_reply_t *_aux = (xcb_xkb_list_components_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_xkb_list_components_reply_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* keymaps */
- for(i=0; i<_aux->nKeymaps; i++) {
- xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keycodes */
- for(i=0; i<_aux->nKeycodes; i++) {
- xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* types */
- for(i=0; i<_aux->nTypes; i++) {
- xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* compatMaps */
- for(i=0; i<_aux->nCompatMaps; i++) {
- xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* symbols */
- for(i=0; i<_aux->nSymbols; i++) {
- xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* geometries */
- for(i=0; i<_aux->nGeometries; i++) {
- xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_list_components_cookie_t xcb_xkb_list_components
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t maxNames
- ** @returns xcb_xkb_list_components_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_list_components_cookie_t
-xcb_xkb_list_components (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t maxNames /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_LIST_COMPONENTS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_list_components_cookie_t xcb_ret;
- xcb_xkb_list_components_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.maxNames = maxNames;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_list_components_cookie_t xcb_xkb_list_components_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t maxNames
- ** @returns xcb_xkb_list_components_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_list_components_cookie_t
-xcb_xkb_list_components_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t maxNames /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_LIST_COMPONENTS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_list_components_cookie_t xcb_ret;
- xcb_xkb_list_components_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.maxNames = maxNames;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_keymaps_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_keymaps_length (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- return R->nKeymaps;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_keymaps_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_keymaps_iterator (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- xcb_xkb_listing_iterator_t i;
- i.data = (xcb_xkb_listing_t *) (R + 1);
- i.rem = R->nKeymaps;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_keycodes_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_keycodes_length (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- return R->nKeycodes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_keycodes_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_keycodes_iterator (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- xcb_xkb_listing_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_keymaps_iterator(R));
- i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
- i.rem = R->nKeycodes;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_types_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_types_length (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- return R->nTypes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_types_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_types_iterator (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- xcb_xkb_listing_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_keycodes_iterator(R));
- i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
- i.rem = R->nTypes;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_compat_maps_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_compat_maps_length (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- return R->nCompatMaps;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_compat_maps_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_compat_maps_iterator (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- xcb_xkb_listing_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_types_iterator(R));
- i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
- i.rem = R->nCompatMaps;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_symbols_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_symbols_length (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- return R->nSymbols;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_symbols_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_symbols_iterator (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- xcb_xkb_listing_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_compat_maps_iterator(R));
- i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
- i.rem = R->nSymbols;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_list_components_geometries_length
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_list_components_geometries_length (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- return R->nGeometries;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_geometries_iterator
- **
- ** @param const xcb_xkb_list_components_reply_t *R
- ** @returns xcb_xkb_listing_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_listing_iterator_t
-xcb_xkb_list_components_geometries_iterator (const xcb_xkb_list_components_reply_t *R /**< */)
-{
- xcb_xkb_listing_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_symbols_iterator(R));
- i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
- i.rem = R->nGeometries;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_list_components_reply_t * xcb_xkb_list_components_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_list_components_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_list_components_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_list_components_reply_t *
-xcb_xkb_list_components_reply (xcb_connection_t *c /**< */,
- xcb_xkb_list_components_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_list_components_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.nTypes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_type_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_key_type_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_type_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_key_type_iterator_t i;
- i.data = /* replies */ S->types.map.types_rtrn;
- i.rem = /* replies */ S->types.nTypes;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.nKeySyms;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_key_sym_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_sym_map_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_key_sym_map_iterator_t i;
- i.data = /* replies */ S->types.map.syms_rtrn;
- i.rem = /* replies */ S->types.nKeySyms;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.map.acts_rtrn_count;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.nKeyActions;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* replies */ S->types.map.acts_rtrn_count + /* replies */ S->types.nKeyActions;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_t * xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_action_t *
- **
- *****************************************************************************/
-
-xcb_xkb_action_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.map.acts_rtrn_acts;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.totalActions;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_action_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_action_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_action_iterator_t i;
- i.data = /* replies */ S->types.map.acts_rtrn_acts;
- i.rem = /* replies */ S->types.totalActions;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_t * xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_set_behavior_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.map.behaviors_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.totalKeyBehaviors;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_behavior_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_set_behavior_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_behavior_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_set_behavior_iterator_t i;
- i.data = /* replies */ S->types.map.behaviors_rtrn;
- i.rem = /* replies */ S->types.totalKeyBehaviors;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.map.vmods_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return xcb_popcount(/* replies */ S->types.virtualMods);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* replies */ S->types.map.vmods_rtrn + xcb_popcount(/* replies */ S->types.virtualMods);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_t * xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_set_explicit_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.map.explicit_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.totalKeyExplicit;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_explicit_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_set_explicit_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_explicit_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_set_explicit_iterator_t i;
- i.data = /* replies */ S->types.map.explicit_rtrn;
- i.rem = /* replies */ S->types.totalKeyExplicit;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_t * xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_key_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.map.modmap_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.totalModMapKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_key_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_mod_map_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_key_mod_map_iterator_t i;
- i.data = /* replies */ S->types.map.modmap_rtrn;
- i.rem = /* replies */ S->types.totalModMapKeys;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_t * xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_key_v_mod_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_t *
-xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.map.vmodmap_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->types.totalVModMapKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
- ** @returns xcb_xkb_key_v_mod_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_v_mod_map_iterator_t
-xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_key_v_mod_map_iterator_t i;
- i.data = /* replies */ S->types.map.vmodmap_rtrn;
- i.rem = /* replies */ S->types.totalVModMapKeys;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- const xcb_xkb_get_kbd_by_name_replies_types_map_t *_aux /**< */)
-{
- char *xcb_out = *_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int xcb_pad = 0;
- char xcb_pad0[3] = {0, 0, 0};
- struct iovec xcb_parts[19];
- unsigned int xcb_parts_idx = 0;
- unsigned int xcb_block_len = 0;
- unsigned int i;
- char *xcb_tmp;
-
- if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* types_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->types_rtrn;
- xcb_parts[xcb_parts_idx].iov_len = 0;
- xcb_tmp = (char *) _aux->types_rtrn;
- for(i=0; i<nTypes; i++) {
- xcb_block_len = xcb_xkb_key_type_sizeof(xcb_tmp);
- xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
- }
- xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_type_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* syms_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->syms_rtrn;
- xcb_parts[xcb_parts_idx].iov_len = 0;
- xcb_tmp = (char *) _aux->syms_rtrn;
- for(i=0; i<nKeySyms; i++) {
- xcb_block_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
- xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
- }
- xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* acts_rtrn_count */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_count;
- xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = nKeyActions * sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* acts_rtrn_acts */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_acts;
- xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
- xcb_parts[xcb_parts_idx].iov_len = totalActions * sizeof(xcb_xkb_action_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_action_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* behaviors_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->behaviors_rtrn;
- xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
- xcb_parts[xcb_parts_idx].iov_len = totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmods_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmods_rtrn;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* explicit_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->explicit_rtrn;
- xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
- xcb_parts[xcb_parts_idx].iov_len = totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
- }
- if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* modmap_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->modmap_rtrn;
- xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
- xcb_parts[xcb_parts_idx].iov_len = totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmodmap_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmodmap_rtrn;
- xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
- xcb_parts[xcb_parts_idx].iov_len = totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- if (NULL == xcb_out) {
- /* allocate memory */
- xcb_out = malloc(xcb_buffer_len);
- *_buffer = xcb_out;
- }
-
- xcb_tmp = xcb_out;
- for(i=0; i<xcb_parts_idx; i++) {
- if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
- memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
- if (0 != xcb_parts[i].iov_len)
- xcb_tmp += xcb_parts[i].iov_len;
- }
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */,
- xcb_xkb_get_kbd_by_name_replies_types_map_t *_aux /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* types_rtrn */
- _aux->types_rtrn = (xcb_xkb_key_type_t *)xcb_tmp;
- for(i=0; i<nTypes; i++) {
- xcb_tmp_len = xcb_xkb_key_type_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_key_type_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* syms_rtrn */
- _aux->syms_rtrn = (xcb_xkb_key_sym_map_t *)xcb_tmp;
- for(i=0; i<nKeySyms; i++) {
- xcb_tmp_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* acts_rtrn_count */
- _aux->acts_rtrn_count = (uint8_t *)xcb_tmp;
- xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* acts_rtrn_acts */
- _aux->acts_rtrn_acts = (xcb_xkb_action_t *)xcb_tmp;
- xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_action_t);
- }
- if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* behaviors_rtrn */
- _aux->behaviors_rtrn = (xcb_xkb_set_behavior_t *)xcb_tmp;
- xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmods_rtrn */
- _aux->vmods_rtrn = (uint8_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- }
- if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* explicit_rtrn */
- _aux->explicit_rtrn = (xcb_xkb_set_explicit_t *)xcb_tmp;
- xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
- }
- if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* modmap_rtrn */
- _aux->modmap_rtrn = (xcb_xkb_key_mod_map_t *)xcb_tmp;
- xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
- }
- if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* vmodmap_rtrn */
- _aux->vmodmap_rtrn = (xcb_xkb_key_v_mod_map_t *)xcb_tmp;
- xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_kbd_by_name_replies_types_map_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint8_t nKeySyms /**< */,
- uint8_t nKeyActions /**< */,
- uint16_t totalActions /**< */,
- uint8_t totalKeyBehaviors /**< */,
- uint16_t virtualMods /**< */,
- uint8_t totalKeyExplicit /**< */,
- uint8_t totalModMapKeys /**< */,
- uint8_t totalVModMapKeys /**< */,
- uint16_t present /**< */)
-{
- xcb_xkb_get_kbd_by_name_replies_types_map_t _aux;
- return xcb_xkb_get_kbd_by_name_replies_types_map_unpack(_buffer, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, &_aux);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.valueList.typeNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.nTypes;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* replies */ S->key_names.valueList.typeNames + /* replies */ S->key_names.nTypes;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** uint8_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns uint8_t *
- **
- *****************************************************************************/
-
-uint8_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.valueList.nLevelsPerType;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.nKTLevels;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* replies */ S->key_names.valueList.nLevelsPerType + /* replies */ S->key_names.nKTLevels;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.valueList.ktLevelNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return xcb_sumof(/* replies */ S->key_names.valueList.nLevelsPerType, /* replies */ S->key_names.nKTLevels);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* replies */ S->key_names.valueList.ktLevelNames + xcb_sumof(/* replies */ S->key_names.valueList.nLevelsPerType, /* replies */ S->key_names.nKTLevels);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.valueList.indicatorNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return xcb_popcount(/* replies */ S->key_names.indicators);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* replies */ S->key_names.valueList.indicatorNames + xcb_popcount(/* replies */ S->key_names.indicators);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.valueList.virtualModNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return xcb_popcount(/* replies */ S->key_names.virtualMods);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* replies */ S->key_names.valueList.virtualModNames + xcb_popcount(/* replies */ S->key_names.virtualMods);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.valueList.groups;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return xcb_popcount(/* replies */ S->key_names.groupNames);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* replies */ S->key_names.valueList.groups + xcb_popcount(/* replies */ S->key_names.groupNames);
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_key_name_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.valueList.keyNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.nKeys;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_name_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_xkb_key_name_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_name_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_key_name_iterator_t i;
- i.data = /* replies */ S->key_names.valueList.keyNames;
- i.rem = /* replies */ S->key_names.nKeys;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_key_alias_t *
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.valueList.keyAliases;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.nKeyAliases;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_key_alias_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_xkb_key_alias_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_key_alias_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_key_alias_iterator_t i;
- i.data = /* replies */ S->key_names.valueList.keyAliases;
- i.rem = /* replies */ S->key_names.nKeyAliases;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_atom_t *
- **
- *****************************************************************************/
-
-xcb_atom_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.valueList.radioGroupNames;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->key_names.nRadioGroups;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = /* replies */ S->key_names.valueList.radioGroupNames + /* replies */ S->key_names.nRadioGroups;
- i.rem = 0;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize (void **_buffer /**< */,
- uint8_t nTypes /**< */,
- uint16_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *_aux /**< */)
-{
- char *xcb_out = *_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int xcb_pad = 0;
- char xcb_pad0[3] = {0, 0, 0};
- struct iovec xcb_parts[25];
- unsigned int xcb_parts_idx = 0;
- unsigned int xcb_block_len = 0;
- unsigned int i;
- char *xcb_tmp;
-
- if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.keycodesName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->keycodesName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.geometryName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometryName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.symbolsName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->symbolsName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.physSymbolsName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->physSymbolsName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_TYPES) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.typesName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->typesName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.compatName */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatName;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* typeNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->typeNames;
- xcb_block_len += nTypes * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* nLevelsPerType */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->nLevelsPerType;
- xcb_block_len += nKTLevels * sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = nKTLevels * sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* ktLevelNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->ktLevelNames;
- xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* indicatorNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicatorNames;
- xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(indicators) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* virtualModNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->virtualModNames;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* groups */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->groups;
- xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(groupNames) * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyNames;
- xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
- xcb_parts[xcb_parts_idx].iov_len = nKeys * sizeof(xcb_xkb_key_name_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyAliases */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyAliases;
- xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
- xcb_parts[xcb_parts_idx].iov_len = nKeyAliases * sizeof(xcb_xkb_key_alias_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* radioGroupNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->radioGroupNames;
- xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = nRadioGroups * sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- if (NULL == xcb_out) {
- /* allocate memory */
- xcb_out = malloc(xcb_buffer_len);
- *_buffer = xcb_out;
- }
-
- xcb_tmp = xcb_out;
- for(i=0; i<xcb_parts_idx; i++) {
- if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
- memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
- if (0 != xcb_parts[i].iov_len)
- xcb_tmp += xcb_parts[i].iov_len;
- }
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint16_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */,
- xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *_aux /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.keycodesName */
- _aux->keycodesName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.geometryName */
- _aux->geometryName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.symbolsName */
- _aux->symbolsName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.physSymbolsName */
- _aux->physSymbolsName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_TYPES) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.typesName */
- _aux->typesName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
- /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.compatName */
- _aux->compatName = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* typeNames */
- _aux->typeNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += nTypes * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* nLevelsPerType */
- _aux->nLevelsPerType = (uint8_t *)xcb_tmp;
- xcb_block_len += nKTLevels * sizeof(uint8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* ktLevelNames */
- _aux->ktLevelNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* indicatorNames */
- _aux->indicatorNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* virtualModNames */
- _aux->virtualModNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* groups */
- _aux->groups = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyNames */
- _aux->keyNames = (xcb_xkb_key_name_t *)xcb_tmp;
- xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* keyAliases */
- _aux->keyAliases = (xcb_xkb_key_alias_t *)xcb_tmp;
- xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
- }
- if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* radioGroupNames */
- _aux->radioGroupNames = (xcb_atom_t *)xcb_tmp;
- xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof (const void *_buffer /**< */,
- uint8_t nTypes /**< */,
- uint16_t nKTLevels /**< */,
- uint32_t indicators /**< */,
- uint16_t virtualMods /**< */,
- uint8_t groupNames /**< */,
- uint8_t nKeys /**< */,
- uint8_t nKeyAliases /**< */,
- uint8_t nRadioGroups /**< */,
- uint32_t which /**< */)
-{
- xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t _aux;
- return xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack(_buffer, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, &_aux);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_replies_types_map_t * xcb_xkb_get_kbd_by_name_replies_types_map
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_get_kbd_by_name_replies_types_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_replies_types_map_t *
-xcb_xkb_get_kbd_by_name_replies_types_map (const xcb_xkb_get_kbd_by_name_replies_t *R /**< */)
-{
- return (xcb_xkb_get_kbd_by_name_replies_types_map_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_sym_interpret_t * xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_sym_interpret_t *
- **
- *****************************************************************************/
-
-xcb_xkb_sym_interpret_t *
-xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->compat_map.si_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->compat_map.nSIRtrn;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_sym_interpret_iterator_t xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_sym_interpret_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_sym_interpret_iterator_t
-xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_sym_interpret_iterator_t i;
- i.data = /* replies */ S->compat_map.si_rtrn;
- i.rem = /* replies */ S->compat_map.nSIRtrn;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_t * xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_mod_def_t *
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_t *
-xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->compat_map.group_rtrn;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return xcb_popcount(/* replies */ S->compat_map.groupsRtrn);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_mod_def_iterator_t xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_mod_def_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_mod_def_iterator_t
-xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_mod_def_iterator_t i;
- i.data = /* replies */ S->compat_map.group_rtrn;
- i.rem = xcb_popcount(/* replies */ S->compat_map.groupsRtrn);
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_t * xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
- ** @returns xcb_xkb_indicator_map_t *
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_t *
-xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->indicator_maps.maps;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- return /* replies */ S->indicator_maps.nIndicators;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_indicator_map_iterator_t xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_indicator_map_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_indicator_map_iterator_t
-xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *S /**< */)
-{
- xcb_xkb_indicator_map_iterator_t i;
- i.data = /* replies */ S->indicator_maps.maps;
- i.rem = /* replies */ S->indicator_maps.nIndicators;
- i.index = (char *) i.data - (char *) S;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *
-xcb_xkb_get_kbd_by_name_replies_key_names_value_list (const xcb_xkb_get_kbd_by_name_replies_t *R /**< */)
-{
- return (xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_counted_string_16_t * xcb_xkb_get_kbd_by_name_replies_geometry_label_font
- **
- ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
- ** @returns xcb_xkb_counted_string_16_t *
- **
- *****************************************************************************/
-
-xcb_xkb_counted_string_16_t *
-xcb_xkb_get_kbd_by_name_replies_geometry_label_font (const xcb_xkb_get_kbd_by_name_replies_t *R /**< */)
-{
- return (xcb_xkb_counted_string_16_t *) (R + 1);
-}
-
-int
-xcb_xkb_get_kbd_by_name_replies_serialize (void **_buffer /**< */,
- uint16_t reported /**< */,
- const xcb_xkb_get_kbd_by_name_replies_t *_aux /**< */)
-{
- char *xcb_out = *_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int xcb_pad = 0;
- char xcb_pad0[3] = {0, 0, 0};
- struct iovec xcb_parts[96];
- unsigned int xcb_parts_idx = 0;
- unsigned int xcb_block_len = 0;
- unsigned int i;
- char *xcb_tmp;
-
- if((reported & XCB_XKB_GBN_DETAIL_TYPES) ||
- (reported & XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS) ||
- (reported & XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS)) {
- /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_type */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.getmap_type;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.typeDeviceID */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.typeDeviceID;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_sequence */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.getmap_sequence;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_length */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.getmap_length;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.pad0 */
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_block_len += sizeof(uint8_t)*2;
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*2;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMinKeyCode */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.typeMinKeyCode;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMaxKeyCode */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.typeMaxKeyCode;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.present */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.present;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstType */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstType;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nTypes */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nTypes;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalTypes */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalTypes;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeySym */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeySym;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalSyms */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalSyms;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeySyms */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeySyms;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyAction */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeyAction;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalActions */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalActions;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyActions */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeyActions;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyBehavior */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeyBehavior;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyBehaviors */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeyBehaviors;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyBehaviors */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalKeyBehaviors;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyExplicit */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeyExplicit;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyExplicit */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeyExplicit;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyExplicit */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalKeyExplicit;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstModMapKey */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstModMapKey;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nModMapKeys */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nModMapKeys;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalModMapKeys */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalModMapKeys;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstVModMapKey */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstVModMapKey;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nVModMapKeys */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nVModMapKeys;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalVModMapKeys */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalVModMapKeys;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.pad1 */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.virtualMods */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.virtualMods;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* map */
- xcb_parts[xcb_parts_idx].iov_base = (char *)0;
- xcb_block_len += xcb_xkb_get_kbd_by_name_replies_types_map_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->types.nTypes, _aux->types.nKeySyms, _aux->types.nKeyActions, _aux->types.totalActions, _aux->types.totalKeyBehaviors, _aux->types.virtualMods, _aux->types.totalKeyExplicit, _aux->types.totalModMapKeys, _aux->types.totalVModMapKeys, _aux->types.present, &_aux->types.map);
- xcb_parts[xcb_parts_idx].iov_len = xcb_xkb_get_kbd_by_name_replies_types_map_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->types.nTypes, _aux->types.nKeySyms, _aux->types.nKeyActions, _aux->types.totalActions, _aux->types.totalKeyBehaviors, _aux->types.virtualMods, _aux->types.totalKeyExplicit, _aux->types.totalModMapKeys, _aux->types.totalVModMapKeys, _aux->types.present, &_aux->types.map);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_types_map_t);
- }
- if(reported & XCB_XKB_GBN_DETAIL_COMPAT_MAP) {
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_type */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatmap_type;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatDeviceID */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatDeviceID;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_sequence */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatmap_sequence;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_length */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatmap_length;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.groupsRtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.groupsRtrn;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad0 */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.firstSIRtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.firstSIRtrn;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nSIRtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.nSIRtrn;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nTotalSI */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.nTotalSI;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad1 */
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_block_len += sizeof(uint8_t)*16;
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*16;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* si_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->compat_map.si_rtrn;
- xcb_block_len += _aux->compat_map.nSIRtrn * sizeof(xcb_xkb_sym_interpret_t);
- xcb_parts[xcb_parts_idx].iov_len = _aux->compat_map.nSIRtrn * sizeof(xcb_xkb_sym_interpret_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* group_rtrn */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->compat_map.group_rtrn;
- xcb_block_len += xcb_popcount(_aux->compat_map.groupsRtrn) * sizeof(xcb_xkb_mod_def_t);
- xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(_aux->compat_map.groupsRtrn) * sizeof(xcb_xkb_mod_def_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
- }
- if(reported & XCB_XKB_GBN_DETAIL_INDICATOR_MAPS) {
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_type */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatormap_type;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatorDeviceID */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatorDeviceID;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_sequence */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatormap_sequence;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_length */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatormap_length;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.which */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.which;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.realIndicators */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.realIndicators;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.nIndicators */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.nIndicators;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.pad0 */
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_block_len += sizeof(uint8_t)*15;
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*15;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* maps */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicator_maps.maps;
- xcb_block_len += _aux->indicator_maps.nIndicators * sizeof(xcb_xkb_indicator_map_t);
- xcb_parts[xcb_parts_idx].iov_len = _aux->indicator_maps.nIndicators * sizeof(xcb_xkb_indicator_map_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
- }
- if((reported & XCB_XKB_GBN_DETAIL_KEY_NAMES) ||
- (reported & XCB_XKB_GBN_DETAIL_OTHER_NAMES)) {
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_type */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyname_type;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyDeviceID */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyDeviceID;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_sequence */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyname_sequence;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_length */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyname_length;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.which */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.which;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMinKeyCode */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyMinKeyCode;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMaxKeyCode */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyMaxKeyCode;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nTypes */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nTypes;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.groupNames */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.groupNames;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.virtualMods */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.virtualMods;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.firstKey */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.firstKey;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeys */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nKeys;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.indicators */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.indicators;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nRadioGroups */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nRadioGroups;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeyAliases */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nKeyAliases;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKTLevels */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nKTLevels;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.pad0 */
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_block_len += sizeof(uint8_t)*4;
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*4;
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* valueList */
- xcb_parts[xcb_parts_idx].iov_base = (char *)0;
- xcb_block_len += xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->key_names.nTypes, _aux->key_names.nKTLevels, _aux->key_names.indicators, _aux->key_names.virtualMods, _aux->key_names.groupNames, _aux->key_names.nKeys, _aux->key_names.nKeyAliases, _aux->key_names.nRadioGroups, _aux->key_names.which, &_aux->key_names.valueList);
- xcb_parts[xcb_parts_idx].iov_len = xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->key_names.nTypes, _aux->key_names.nKTLevels, _aux->key_names.indicators, _aux->key_names.virtualMods, _aux->key_names.groupNames, _aux->key_names.nKeys, _aux->key_names.nKeyAliases, _aux->key_names.nRadioGroups, _aux->key_names.which, &_aux->key_names.valueList);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t);
- }
- if(reported & XCB_XKB_GBN_DETAIL_GEOMETRY) {
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_type */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometry_type;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryDeviceID */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometryDeviceID;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_sequence */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometry_sequence;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_length */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometry_length;
- xcb_block_len += sizeof(uint32_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.name */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.name;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_atom_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryFound */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometryFound;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.pad0 */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.widthMM */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.widthMM;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.heightMM */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.heightMM;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nProperties */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nProperties;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nColors */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nColors;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nShapes */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nShapes;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nSections */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nSections;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nDoodads */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nDoodads;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nKeyAliases */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nKeyAliases;
- xcb_block_len += sizeof(uint16_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.baseColorNdx */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.baseColorNdx;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.labelColorNdx */
- xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.labelColorNdx;
- xcb_block_len += sizeof(uint8_t);
- xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* labelFont */
- xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->geometry.labelFont;
- xcb_block_len += xcb_xkb_counted_string_16_sizeof(_aux->geometry.labelFont);
- xcb_parts[xcb_parts_idx].iov_len = xcb_xkb_counted_string_16_sizeof(_aux->geometry.labelFont);
- xcb_parts_idx++;
- xcb_align_to = ALIGNOF(xcb_xkb_counted_string_16_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
- xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
- xcb_parts_idx++;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- if (NULL == xcb_out) {
- /* allocate memory */
- xcb_out = malloc(xcb_buffer_len);
- *_buffer = xcb_out;
- }
-
- xcb_tmp = xcb_out;
- for(i=0; i<xcb_parts_idx; i++) {
- if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
- memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
- if (0 != xcb_parts[i].iov_len)
- xcb_tmp += xcb_parts[i].iov_len;
- }
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_kbd_by_name_replies_unpack (const void *_buffer /**< */,
- uint16_t reported /**< */,
- xcb_xkb_get_kbd_by_name_replies_t *_aux /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- if((reported & XCB_XKB_GBN_DETAIL_TYPES) ||
- (reported & XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS) ||
- (reported & XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS)) {
- /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_type */
- _aux->types.getmap_type = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.typeDeviceID */
- _aux->types.typeDeviceID = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_sequence */
- _aux->types.getmap_sequence = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_length */
- _aux->types.getmap_length = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.pad0 */
- _aux->types.pad0[0] = *(uint8_t *)xcb_tmp;
- _aux->types.pad0[1] = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t) * 2;
- xcb_tmp += sizeof(uint8_t) * 2;
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMinKeyCode */
- _aux->types.typeMinKeyCode = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMaxKeyCode */
- _aux->types.typeMaxKeyCode = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.present */
- _aux->types.present = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstType */
- _aux->types.firstType = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nTypes */
- _aux->types.nTypes = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalTypes */
- _aux->types.totalTypes = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeySym */
- _aux->types.firstKeySym = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalSyms */
- _aux->types.totalSyms = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeySyms */
- _aux->types.nKeySyms = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyAction */
- _aux->types.firstKeyAction = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalActions */
- _aux->types.totalActions = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyActions */
- _aux->types.nKeyActions = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyBehavior */
- _aux->types.firstKeyBehavior = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyBehaviors */
- _aux->types.nKeyBehaviors = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyBehaviors */
- _aux->types.totalKeyBehaviors = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyExplicit */
- _aux->types.firstKeyExplicit = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyExplicit */
- _aux->types.nKeyExplicit = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyExplicit */
- _aux->types.totalKeyExplicit = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstModMapKey */
- _aux->types.firstModMapKey = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nModMapKeys */
- _aux->types.nModMapKeys = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalModMapKeys */
- _aux->types.totalModMapKeys = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.firstVModMapKey */
- _aux->types.firstVModMapKey = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.nVModMapKeys */
- _aux->types.nVModMapKeys = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.totalVModMapKeys */
- _aux->types.totalVModMapKeys = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.pad1 */
- _aux->types.pad1 = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.types.virtualMods */
- _aux->types.virtualMods = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* map */
- xcb_block_len += xcb_xkb_get_kbd_by_name_replies_types_map_unpack(xcb_tmp, _aux->types.nTypes, _aux->types.nKeySyms, _aux->types.nKeyActions, _aux->types.totalActions, _aux->types.totalKeyBehaviors, _aux->types.virtualMods, _aux->types.totalKeyExplicit, _aux->types.totalModMapKeys, _aux->types.totalVModMapKeys, _aux->types.present, &_aux->types.map);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_types_map_t);
- }
- if(reported & XCB_XKB_GBN_DETAIL_COMPAT_MAP) {
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_type */
- _aux->compat_map.compatmap_type = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatDeviceID */
- _aux->compat_map.compatDeviceID = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_sequence */
- _aux->compat_map.compatmap_sequence = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_length */
- _aux->compat_map.compatmap_length = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.groupsRtrn */
- _aux->compat_map.groupsRtrn = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad0 */
- _aux->compat_map.pad0 = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.firstSIRtrn */
- _aux->compat_map.firstSIRtrn = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nSIRtrn */
- _aux->compat_map.nSIRtrn = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nTotalSI */
- _aux->compat_map.nTotalSI = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad1 */
- _aux->compat_map.pad1[0] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[1] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[2] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[3] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[4] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[5] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[6] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[7] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[8] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[9] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[10] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[11] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[12] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[13] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[14] = *(uint8_t *)xcb_tmp;
- _aux->compat_map.pad1[15] = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t) * 16;
- xcb_tmp += sizeof(uint8_t) * 16;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* si_rtrn */
- _aux->compat_map.si_rtrn = (xcb_xkb_sym_interpret_t *)xcb_tmp;
- xcb_block_len += _aux->compat_map.nSIRtrn * sizeof(xcb_xkb_sym_interpret_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* group_rtrn */
- _aux->compat_map.group_rtrn = (xcb_xkb_mod_def_t *)xcb_tmp;
- xcb_block_len += xcb_popcount(_aux->compat_map.groupsRtrn) * sizeof(xcb_xkb_mod_def_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
- }
- if(reported & XCB_XKB_GBN_DETAIL_INDICATOR_MAPS) {
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_type */
- _aux->indicator_maps.indicatormap_type = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatorDeviceID */
- _aux->indicator_maps.indicatorDeviceID = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_sequence */
- _aux->indicator_maps.indicatormap_sequence = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_length */
- _aux->indicator_maps.indicatormap_length = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.which */
- _aux->indicator_maps.which = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.realIndicators */
- _aux->indicator_maps.realIndicators = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.nIndicators */
- _aux->indicator_maps.nIndicators = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.pad0 */
- _aux->indicator_maps.pad0[0] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[1] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[2] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[3] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[4] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[5] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[6] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[7] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[8] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[9] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[10] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[11] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[12] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[13] = *(uint8_t *)xcb_tmp;
- _aux->indicator_maps.pad0[14] = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t) * 15;
- xcb_tmp += sizeof(uint8_t) * 15;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* maps */
- _aux->indicator_maps.maps = (xcb_xkb_indicator_map_t *)xcb_tmp;
- xcb_block_len += _aux->indicator_maps.nIndicators * sizeof(xcb_xkb_indicator_map_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
- }
- if((reported & XCB_XKB_GBN_DETAIL_KEY_NAMES) ||
- (reported & XCB_XKB_GBN_DETAIL_OTHER_NAMES)) {
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_type */
- _aux->key_names.keyname_type = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyDeviceID */
- _aux->key_names.keyDeviceID = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_sequence */
- _aux->key_names.keyname_sequence = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_length */
- _aux->key_names.keyname_length = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.which */
- _aux->key_names.which = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMinKeyCode */
- _aux->key_names.keyMinKeyCode = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMaxKeyCode */
- _aux->key_names.keyMaxKeyCode = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nTypes */
- _aux->key_names.nTypes = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.groupNames */
- _aux->key_names.groupNames = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.virtualMods */
- _aux->key_names.virtualMods = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.firstKey */
- _aux->key_names.firstKey = *(xcb_keycode_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_keycode_t);
- xcb_tmp += sizeof(xcb_keycode_t);
- xcb_align_to = ALIGNOF(xcb_keycode_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeys */
- _aux->key_names.nKeys = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.indicators */
- _aux->key_names.indicators = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nRadioGroups */
- _aux->key_names.nRadioGroups = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeyAliases */
- _aux->key_names.nKeyAliases = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKTLevels */
- _aux->key_names.nKTLevels = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.key_names.pad0 */
- _aux->key_names.pad0[0] = *(uint8_t *)xcb_tmp;
- _aux->key_names.pad0[1] = *(uint8_t *)xcb_tmp;
- _aux->key_names.pad0[2] = *(uint8_t *)xcb_tmp;
- _aux->key_names.pad0[3] = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t) * 4;
- xcb_tmp += sizeof(uint8_t) * 4;
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* valueList */
- xcb_block_len += xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack(xcb_tmp, _aux->key_names.nTypes, _aux->key_names.nKTLevels, _aux->key_names.indicators, _aux->key_names.virtualMods, _aux->key_names.groupNames, _aux->key_names.nKeys, _aux->key_names.nKeyAliases, _aux->key_names.nRadioGroups, _aux->key_names.which, &_aux->key_names.valueList);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t);
- }
- if(reported & XCB_XKB_GBN_DETAIL_GEOMETRY) {
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_type */
- _aux->geometry.geometry_type = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryDeviceID */
- _aux->geometry.geometryDeviceID = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_sequence */
- _aux->geometry.geometry_sequence = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_length */
- _aux->geometry.geometry_length = *(uint32_t *)xcb_tmp;
- xcb_block_len += sizeof(uint32_t);
- xcb_tmp += sizeof(uint32_t);
- xcb_align_to = ALIGNOF(uint32_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.name */
- _aux->geometry.name = *(xcb_atom_t *)xcb_tmp;
- xcb_block_len += sizeof(xcb_atom_t);
- xcb_tmp += sizeof(xcb_atom_t);
- xcb_align_to = ALIGNOF(xcb_atom_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryFound */
- _aux->geometry.geometryFound = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.pad0 */
- _aux->geometry.pad0 = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.widthMM */
- _aux->geometry.widthMM = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.heightMM */
- _aux->geometry.heightMM = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nProperties */
- _aux->geometry.nProperties = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nColors */
- _aux->geometry.nColors = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nShapes */
- _aux->geometry.nShapes = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nSections */
- _aux->geometry.nSections = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nDoodads */
- _aux->geometry.nDoodads = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nKeyAliases */
- _aux->geometry.nKeyAliases = *(uint16_t *)xcb_tmp;
- xcb_block_len += sizeof(uint16_t);
- xcb_tmp += sizeof(uint16_t);
- xcb_align_to = ALIGNOF(uint16_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.baseColorNdx */
- _aux->geometry.baseColorNdx = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* xcb_xkb_get_kbd_by_name_replies_t.geometry.labelColorNdx */
- _aux->geometry.labelColorNdx = *(uint8_t *)xcb_tmp;
- xcb_block_len += sizeof(uint8_t);
- xcb_tmp += sizeof(uint8_t);
- xcb_align_to = ALIGNOF(uint8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* labelFont */
- _aux->geometry.labelFont = (xcb_xkb_counted_string_16_t *)xcb_tmp;
- xcb_block_len += xcb_xkb_counted_string_16_sizeof(xcb_tmp);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_counted_string_16_t);
- }
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-int
-xcb_xkb_get_kbd_by_name_replies_sizeof (const void *_buffer /**< */,
- uint16_t reported /**< */)
-{
- xcb_xkb_get_kbd_by_name_replies_t _aux;
- return xcb_xkb_get_kbd_by_name_replies_unpack(_buffer, reported, &_aux);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_cookie_t xcb_xkb_get_kbd_by_name
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t need
- ** @param uint16_t want
- ** @param uint8_t load
- ** @returns xcb_xkb_get_kbd_by_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_cookie_t
-xcb_xkb_get_kbd_by_name (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t need /**< */,
- uint16_t want /**< */,
- uint8_t load /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_KBD_BY_NAME,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_kbd_by_name_cookie_t xcb_ret;
- xcb_xkb_get_kbd_by_name_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.need = need;
- xcb_out.want = want;
- xcb_out.load = load;
- xcb_out.pad0 = 0;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_cookie_t xcb_xkb_get_kbd_by_name_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t need
- ** @param uint16_t want
- ** @param uint8_t load
- ** @returns xcb_xkb_get_kbd_by_name_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_cookie_t
-xcb_xkb_get_kbd_by_name_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t need /**< */,
- uint16_t want /**< */,
- uint8_t load /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_KBD_BY_NAME,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_kbd_by_name_cookie_t xcb_ret;
- xcb_xkb_get_kbd_by_name_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.need = need;
- xcb_out.want = want;
- xcb_out.load = load;
- xcb_out.pad0 = 0;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_replies_t * xcb_xkb_get_kbd_by_name_replies
- **
- ** @param const xcb_xkb_get_kbd_by_name_reply_t *R
- ** @returns xcb_xkb_get_kbd_by_name_replies_t *
- **
- *****************************************************************************/
-
-void *
-xcb_xkb_get_kbd_by_name_replies (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */)
-{
- return (void *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_kbd_by_name_reply_t * xcb_xkb_get_kbd_by_name_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_kbd_by_name_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_kbd_by_name_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_kbd_by_name_reply_t *
-xcb_xkb_get_kbd_by_name_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_kbd_by_name_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_kbd_by_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_xkb_get_device_info_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_get_device_info_reply_t *_aux = (xcb_xkb_get_device_info_reply_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_xkb_get_device_info_reply_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* name */
- xcb_block_len += _aux->nameLen * sizeof(xcb_xkb_string8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_string8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* btnActions */
- xcb_block_len += _aux->nBtnsRtrn * sizeof(xcb_xkb_action_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_action_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* leds */
- for(i=0; i<_aux->nDeviceLedFBs; i++) {
- xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_device_led_info_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_device_info_cookie_t xcb_xkb_get_device_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t wanted
- ** @param uint8_t allButtons
- ** @param uint8_t firstButton
- ** @param uint8_t nButtons
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @returns xcb_xkb_get_device_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_device_info_cookie_t
-xcb_xkb_get_device_info (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t wanted /**< */,
- uint8_t allButtons /**< */,
- uint8_t firstButton /**< */,
- uint8_t nButtons /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_DEVICE_INFO,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_device_info_cookie_t xcb_ret;
- xcb_xkb_get_device_info_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.wanted = wanted;
- xcb_out.allButtons = allButtons;
- xcb_out.firstButton = firstButton;
- xcb_out.nButtons = nButtons;
- xcb_out.pad0 = 0;
- xcb_out.ledClass = ledClass;
- xcb_out.ledID = ledID;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_device_info_cookie_t xcb_xkb_get_device_info_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint16_t wanted
- ** @param uint8_t allButtons
- ** @param uint8_t firstButton
- ** @param uint8_t nButtons
- ** @param xcb_xkb_led_class_spec_t ledClass
- ** @param xcb_xkb_id_spec_t ledID
- ** @returns xcb_xkb_get_device_info_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_get_device_info_cookie_t
-xcb_xkb_get_device_info_unchecked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint16_t wanted /**< */,
- uint8_t allButtons /**< */,
- uint8_t firstButton /**< */,
- uint8_t nButtons /**< */,
- xcb_xkb_led_class_spec_t ledClass /**< */,
- xcb_xkb_id_spec_t ledID /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 2,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_GET_DEVICE_INFO,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[4];
- xcb_xkb_get_device_info_cookie_t xcb_ret;
- xcb_xkb_get_device_info_request_t xcb_out;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.wanted = wanted;
- xcb_out.allButtons = allButtons;
- xcb_out.firstButton = firstButton;
- xcb_out.nButtons = nButtons;
- xcb_out.pad0 = 0;
- xcb_out.ledClass = ledClass;
- xcb_out.ledID = ledID;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_string8_t * xcb_xkb_get_device_info_name
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_xkb_string8_t *
- **
- *****************************************************************************/
-
-xcb_xkb_string8_t *
-xcb_xkb_get_device_info_name (const xcb_xkb_get_device_info_reply_t *R /**< */)
-{
- return (xcb_xkb_string8_t *) (R + 1);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_device_info_name_length
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_device_info_name_length (const xcb_xkb_get_device_info_reply_t *R /**< */)
-{
- return R->nameLen;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_generic_iterator_t xcb_xkb_get_device_info_name_end
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_generic_iterator_t
- **
- *****************************************************************************/
-
-xcb_generic_iterator_t
-xcb_xkb_get_device_info_name_end (const xcb_xkb_get_device_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t i;
- i.data = ((xcb_xkb_string8_t *) (R + 1)) + (R->nameLen);
- i.rem = 0;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_t * xcb_xkb_get_device_info_btn_actions
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_xkb_action_t *
- **
- *****************************************************************************/
-
-xcb_xkb_action_t *
-xcb_xkb_get_device_info_btn_actions (const xcb_xkb_get_device_info_reply_t *R /**< */)
-{
- xcb_generic_iterator_t prev = xcb_xkb_get_device_info_name_end(R);
- return (xcb_xkb_action_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_action_t, prev.index) + 0);
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_device_info_btn_actions_length
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_device_info_btn_actions_length (const xcb_xkb_get_device_info_reply_t *R /**< */)
-{
- return R->nBtnsRtrn;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_action_iterator_t xcb_xkb_get_device_info_btn_actions_iterator
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_xkb_action_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_action_iterator_t
-xcb_xkb_get_device_info_btn_actions_iterator (const xcb_xkb_get_device_info_reply_t *R /**< */)
-{
- xcb_xkb_action_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_get_device_info_name_end(R);
- i.data = (xcb_xkb_action_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_action_t, prev.index));
- i.rem = R->nBtnsRtrn;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** int xcb_xkb_get_device_info_leds_length
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns int
- **
- *****************************************************************************/
-
-int
-xcb_xkb_get_device_info_leds_length (const xcb_xkb_get_device_info_reply_t *R /**< */)
-{
- return R->nDeviceLedFBs;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_device_led_info_iterator_t xcb_xkb_get_device_info_leds_iterator
- **
- ** @param const xcb_xkb_get_device_info_reply_t *R
- ** @returns xcb_xkb_device_led_info_iterator_t
- **
- *****************************************************************************/
-
-xcb_xkb_device_led_info_iterator_t
-xcb_xkb_get_device_info_leds_iterator (const xcb_xkb_get_device_info_reply_t *R /**< */)
-{
- xcb_xkb_device_led_info_iterator_t i;
- xcb_generic_iterator_t prev = xcb_xkb_action_end(xcb_xkb_get_device_info_btn_actions_iterator(R));
- i.data = (xcb_xkb_device_led_info_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_device_led_info_t, prev.index));
- i.rem = R->nDeviceLedFBs;
- i.index = (char *) i.data - (char *) R;
- return i;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_get_device_info_reply_t * xcb_xkb_get_device_info_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_get_device_info_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_get_device_info_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_get_device_info_reply_t *
-xcb_xkb_get_device_info_reply (xcb_connection_t *c /**< */,
- xcb_xkb_get_device_info_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_get_device_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
-int
-xcb_xkb_set_device_info_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_set_device_info_request_t *_aux = (xcb_xkb_set_device_info_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
- unsigned int i;
- unsigned int xcb_tmp_len;
-
- xcb_block_len += sizeof(xcb_xkb_set_device_info_request_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* btnActions */
- xcb_block_len += _aux->nBtns * sizeof(xcb_xkb_action_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_action_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
- /* leds */
- for(i=0; i<_aux->nDeviceLedFBs; i++) {
- xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp);
- xcb_block_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_align_to = ALIGNOF(xcb_xkb_device_led_info_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_device_info_checked
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t firstBtn
- ** @param uint8_t nBtns
- ** @param uint16_t change
- ** @param uint16_t nDeviceLedFBs
- ** @param const xcb_xkb_action_t *btnActions
- ** @param const xcb_xkb_device_led_info_t *leds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_device_info_checked (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t firstBtn /**< */,
- uint8_t nBtns /**< */,
- uint16_t change /**< */,
- uint16_t nDeviceLedFBs /**< */,
- const xcb_xkb_action_t *btnActions /**< */,
- const xcb_xkb_device_led_info_t *leds /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_DEVICE_INFO,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_device_info_request_t xcb_out;
- unsigned int i;
- unsigned int xcb_tmp_len;
- char *xcb_tmp;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.firstBtn = firstBtn;
- xcb_out.nBtns = nBtns;
- xcb_out.change = change;
- xcb_out.nDeviceLedFBs = nDeviceLedFBs;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_action_t btnActions */
- xcb_parts[4].iov_base = (char *) btnActions;
- xcb_parts[4].iov_len = nBtns * sizeof(xcb_xkb_action_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_xkb_device_led_info_t leds */
- xcb_parts[6].iov_base = (char *) leds;
- xcb_parts[6].iov_len = 0;
- xcb_tmp = (char *)leds;
- for(i=0; i<nDeviceLedFBs; i++) {
- xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp);
- xcb_parts[6].iov_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_void_cookie_t xcb_xkb_set_device_info
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_device_spec_t deviceSpec
- ** @param uint8_t firstBtn
- ** @param uint8_t nBtns
- ** @param uint16_t change
- ** @param uint16_t nDeviceLedFBs
- ** @param const xcb_xkb_action_t *btnActions
- ** @param const xcb_xkb_device_led_info_t *leds
- ** @returns xcb_void_cookie_t
- **
- *****************************************************************************/
-
-xcb_void_cookie_t
-xcb_xkb_set_device_info (xcb_connection_t *c /**< */,
- xcb_xkb_device_spec_t deviceSpec /**< */,
- uint8_t firstBtn /**< */,
- uint8_t nBtns /**< */,
- uint16_t change /**< */,
- uint16_t nDeviceLedFBs /**< */,
- const xcb_xkb_action_t *btnActions /**< */,
- const xcb_xkb_device_led_info_t *leds /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 6,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_DEVICE_INFO,
- /* isvoid */ 1
- };
-
- struct iovec xcb_parts[8];
- xcb_void_cookie_t xcb_ret;
- xcb_xkb_set_device_info_request_t xcb_out;
- unsigned int i;
- unsigned int xcb_tmp_len;
- char *xcb_tmp;
-
- xcb_out.deviceSpec = deviceSpec;
- xcb_out.firstBtn = firstBtn;
- xcb_out.nBtns = nBtns;
- xcb_out.change = change;
- xcb_out.nDeviceLedFBs = nDeviceLedFBs;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_action_t btnActions */
- xcb_parts[4].iov_base = (char *) btnActions;
- xcb_parts[4].iov_len = nBtns * sizeof(xcb_xkb_action_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- /* xcb_xkb_device_led_info_t leds */
- xcb_parts[6].iov_base = (char *) leds;
- xcb_parts[6].iov_len = 0;
- xcb_tmp = (char *)leds;
- for(i=0; i<nDeviceLedFBs; i++) {
- xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp);
- xcb_parts[6].iov_len += xcb_tmp_len;
- xcb_tmp += xcb_tmp_len;
- }
- xcb_parts[7].iov_base = 0;
- xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-int
-xcb_xkb_set_debugging_flags_sizeof (const void *_buffer /**< */)
-{
- char *xcb_tmp = (char *)_buffer;
- const xcb_xkb_set_debugging_flags_request_t *_aux = (xcb_xkb_set_debugging_flags_request_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_xkb_set_debugging_flags_request_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* message */
- xcb_block_len += _aux->msgLength * sizeof(xcb_xkb_string8_t);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(xcb_xkb_string8_t);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_debugging_flags_cookie_t xcb_xkb_set_debugging_flags
- **
- ** @param xcb_connection_t *c
- ** @param uint16_t msgLength
- ** @param uint32_t affectFlags
- ** @param uint32_t flags
- ** @param uint32_t affectCtrls
- ** @param uint32_t ctrls
- ** @param const xcb_xkb_string8_t *message
- ** @returns xcb_xkb_set_debugging_flags_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_debugging_flags_cookie_t
-xcb_xkb_set_debugging_flags (xcb_connection_t *c /**< */,
- uint16_t msgLength /**< */,
- uint32_t affectFlags /**< */,
- uint32_t flags /**< */,
- uint32_t affectCtrls /**< */,
- uint32_t ctrls /**< */,
- const xcb_xkb_string8_t *message /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_DEBUGGING_FLAGS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[6];
- xcb_xkb_set_debugging_flags_cookie_t xcb_ret;
- xcb_xkb_set_debugging_flags_request_t xcb_out;
-
- xcb_out.msgLength = msgLength;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.affectFlags = affectFlags;
- xcb_out.flags = flags;
- xcb_out.affectCtrls = affectCtrls;
- xcb_out.ctrls = ctrls;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_string8_t message */
- xcb_parts[4].iov_base = (char *) message;
- xcb_parts[4].iov_len = msgLength * sizeof(xcb_xkb_string8_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_debugging_flags_cookie_t xcb_xkb_set_debugging_flags_unchecked
- **
- ** @param xcb_connection_t *c
- ** @param uint16_t msgLength
- ** @param uint32_t affectFlags
- ** @param uint32_t flags
- ** @param uint32_t affectCtrls
- ** @param uint32_t ctrls
- ** @param const xcb_xkb_string8_t *message
- ** @returns xcb_xkb_set_debugging_flags_cookie_t
- **
- *****************************************************************************/
-
-xcb_xkb_set_debugging_flags_cookie_t
-xcb_xkb_set_debugging_flags_unchecked (xcb_connection_t *c /**< */,
- uint16_t msgLength /**< */,
- uint32_t affectFlags /**< */,
- uint32_t flags /**< */,
- uint32_t affectCtrls /**< */,
- uint32_t ctrls /**< */,
- const xcb_xkb_string8_t *message /**< */)
-{
- static const xcb_protocol_request_t xcb_req = {
- /* count */ 4,
- /* ext */ &xcb_xkb_id,
- /* opcode */ XCB_XKB_SET_DEBUGGING_FLAGS,
- /* isvoid */ 0
- };
-
- struct iovec xcb_parts[6];
- xcb_xkb_set_debugging_flags_cookie_t xcb_ret;
- xcb_xkb_set_debugging_flags_request_t xcb_out;
-
- xcb_out.msgLength = msgLength;
- memset(xcb_out.pad0, 0, 2);
- xcb_out.affectFlags = affectFlags;
- xcb_out.flags = flags;
- xcb_out.affectCtrls = affectCtrls;
- xcb_out.ctrls = ctrls;
-
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_xkb_string8_t message */
- xcb_parts[4].iov_base = (char *) message;
- xcb_parts[4].iov_len = msgLength * sizeof(xcb_xkb_string8_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
-
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
-}
-
-
-/*****************************************************************************
- **
- ** xcb_xkb_set_debugging_flags_reply_t * xcb_xkb_set_debugging_flags_reply
- **
- ** @param xcb_connection_t *c
- ** @param xcb_xkb_set_debugging_flags_cookie_t cookie
- ** @param xcb_generic_error_t **e
- ** @returns xcb_xkb_set_debugging_flags_reply_t *
- **
- *****************************************************************************/
-
-xcb_xkb_set_debugging_flags_reply_t *
-xcb_xkb_set_debugging_flags_reply (xcb_connection_t *c /**< */,
- xcb_xkb_set_debugging_flags_cookie_t cookie /**< */,
- xcb_generic_error_t **e /**< */)
-{
- return (xcb_xkb_set_debugging_flags_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
-}
-
diff --git a/src/3rdparty/xcb/qt_attribution.json b/src/3rdparty/xcb/qt_attribution.json
index 30b9af3818..a04e1acdc5 100644
--- a/src/3rdparty/xcb/qt_attribution.json
+++ b/src/3rdparty/xcb/qt_attribution.json
@@ -1,24 +1,14 @@
{
- "Id": "xcb",
- "Name": "XCB",
+ "Id": "xcb-xinput",
+ "Name": "XCB-XInput",
"QDocModule": "qtgui",
- "QtUsage": "Optionally used in xcb platform plugin if configured with -qt-xcb.",
-
- "Description": "Selected xcb libraries.",
+ "QtUsage": "Used in XCB platform plugin if xcb-xinput was not present on the system
+ during Qt configuration or -bundled-xcb-xinput switch was used. To force using xcb-xinput from
+ the system, pass -no-bundled-xcb-xinput.",
+ "Description": "XInput 2 extension for XCB (The X protocol C-language Binding) library.",
"Homepage": "https://xcb.freedesktop.org/",
"License": "MIT License",
"LicenseId": "MIT",
"LicenseFile": "LICENSE",
- "Copyright": "Copyright © 2000 Keith Packard
-Copyright © 2006 Jamey Sharp
-Copyright © 2007-2008 Vincent Torri <vtorri@univ-evry.fr>
-Copyright © 2007 Bart Massey
-Copyright © 2008-2009 Julien Danjou <julien@danjou.info>
-Copyright © 2008 Arnaud Fontaine <arnau@debian.org>
-Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
-Copyright © 2008 Ian Osgood <iano@quirkster.com>
-Copyright © 2008 Jamey Sharp <jamey@minilop.net>
-Copyright © 2008 Josh Triplett <josh@freedesktop.org>
-Copyright © 2008 Ulrich Eckhardt <doomster@knuut.de>
-"
+ "Copyright": "Copyright (C) Free Software Foundation, Inc."
}
diff --git a/src/3rdparty/xcb/sysinclude/render.h b/src/3rdparty/xcb/sysinclude/render.h
deleted file mode 100644
index 00107aa169..0000000000
--- a/src/3rdparty/xcb/sysinclude/render.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <xcb/render.h>
diff --git a/src/3rdparty/xcb/sysinclude/xcb.h b/src/3rdparty/xcb/sysinclude/xcb.h
deleted file mode 100644
index e637314c29..0000000000
--- a/src/3rdparty/xcb/sysinclude/xcb.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <xcb/xcb.h>
diff --git a/src/3rdparty/xcb/sysinclude/xcbext.h b/src/3rdparty/xcb/sysinclude/xcbext.h
deleted file mode 100644
index c54f14d772..0000000000
--- a/src/3rdparty/xcb/sysinclude/xcbext.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <xcb/xcbext.h>
diff --git a/src/3rdparty/xcb/sysinclude/xproto.h b/src/3rdparty/xcb/sysinclude/xproto.h
deleted file mode 100644
index 671249a4d7..0000000000
--- a/src/3rdparty/xcb/sysinclude/xproto.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <xcb/xproto.h>
diff --git a/src/3rdparty/xcb/xcb-util-image/xcb_image.c b/src/3rdparty/xcb/xcb-util-image/xcb_image.c
deleted file mode 100644
index e426cbd00c..0000000000
--- a/src/3rdparty/xcb/xcb-util-image/xcb_image.c
+++ /dev/null
@@ -1,1011 +0,0 @@
-/* Copyright © 2007 Bart Massey
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or their
- * institutions shall not be used in advertising or otherwise to promote the
- * sale, use or other dealings in this Software without prior written
- * authorization from the authors.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <xcb/xcb.h>
-#include <xcb/shm.h>
-#include <xcb/xcb_aux.h>
-#include "xcb_bitops.h"
-#include "xcb_image.h"
-#define BUILD
-#include "xcb_pixel.h"
-
-
-static xcb_format_t *
-find_format_by_depth (const xcb_setup_t *setup, uint8_t depth)
-{
- xcb_format_t *fmt = xcb_setup_pixmap_formats(setup);
- xcb_format_t *fmtend = fmt + xcb_setup_pixmap_formats_length(setup);
- for(; fmt != fmtend; ++fmt)
- if(fmt->depth == depth)
- return fmt;
- return 0;
-}
-
-
-static xcb_image_format_t
-effective_format(xcb_image_format_t format, uint8_t bpp)
-{
- if (format == XCB_IMAGE_FORMAT_Z_PIXMAP && bpp != 1)
- return format;
- return XCB_IMAGE_FORMAT_XY_PIXMAP;
-}
-
-
-static int
-format_valid (uint8_t depth, uint8_t bpp, uint8_t unit,
- xcb_image_format_t format, uint8_t xpad)
-{
- xcb_image_format_t ef = effective_format(format, bpp);
- if (depth > bpp)
- return 0;
- switch(ef) {
- case XCB_IMAGE_FORMAT_XY_PIXMAP:
- switch(unit) {
- case 8:
- case 16:
- case 32:
- break;
- default:
- return 0;
- }
- if (xpad < bpp)
- return 0;
- switch (xpad) {
- case 8:
- case 16:
- case 32:
- break;
- default:
- return 0;
- }
- break;
- case XCB_IMAGE_FORMAT_Z_PIXMAP:
- switch (bpp) {
- case 4:
- if (unit != 8)
- return 0;
- break;
- case 8:
- case 16:
- case 24:
- case 32:
- if (unit != bpp)
- return 0;
- break;
- default:
- return 0;
- }
- break;
- default:
- return 0;
- }
- return 1;
-}
-
-
-static int
-image_format_valid (xcb_image_t *image) {
- return format_valid(image->depth,
- image->bpp,
- image->unit,
- image->format,
- image->scanline_pad);
-}
-
-
-void
-xcb_image_annotate (xcb_image_t *image)
-{
- xcb_image_format_t ef = effective_format(image->format, image->bpp);
- switch (ef) {
- case XCB_IMAGE_FORMAT_XY_PIXMAP:
- image->stride = xcb_roundup(image->width, image->scanline_pad) >> 3;
- image->size = image->height * image->stride * image->depth;
- break;
- case XCB_IMAGE_FORMAT_Z_PIXMAP:
- image->stride = xcb_roundup((uint32_t)image->width *
- (uint32_t)image->bpp,
- image->scanline_pad) >> 3;
- image->size = image->height * image->stride;
- break;
- default:
- assert(0);
- }
-}
-
-
-xcb_image_t *
-xcb_image_create_native (xcb_connection_t * c,
- uint16_t width,
- uint16_t height,
- xcb_image_format_t format,
- uint8_t depth,
- void * base,
- uint32_t bytes,
- uint8_t * data)
-{
- const xcb_setup_t * setup = xcb_get_setup(c);
- xcb_format_t * fmt;
- xcb_image_format_t ef = format;
-
- if (ef == XCB_IMAGE_FORMAT_Z_PIXMAP && depth == 1)
- ef = XCB_IMAGE_FORMAT_XY_PIXMAP;
- switch (ef) {
- case XCB_IMAGE_FORMAT_XY_BITMAP:
- if (depth != 1)
- return 0;
- /* fall through */
- case XCB_IMAGE_FORMAT_XY_PIXMAP:
- if (depth > 1) {
- fmt = find_format_by_depth(setup, depth);
- if (!fmt)
- return 0;
- }
- return xcb_image_create(width, height, format,
- setup->bitmap_format_scanline_pad,
- depth, depth, setup->bitmap_format_scanline_unit,
- setup->image_byte_order,
- setup->bitmap_format_bit_order,
- base, bytes, data);
- case XCB_IMAGE_FORMAT_Z_PIXMAP:
- fmt = find_format_by_depth(setup, depth);
- if (!fmt)
- return 0;
- return xcb_image_create(width, height, format,
- fmt->scanline_pad,
- fmt->depth, fmt->bits_per_pixel, 0,
- setup->image_byte_order,
- XCB_IMAGE_ORDER_MSB_FIRST,
- base, bytes, data);
- default:
- assert(0);
- }
- assert(0);
-}
-
-
-xcb_image_t *
-xcb_image_create (uint16_t width,
- uint16_t height,
- xcb_image_format_t format,
- uint8_t xpad,
- uint8_t depth,
- uint8_t bpp,
- uint8_t unit,
- xcb_image_order_t byte_order,
- xcb_image_order_t bit_order,
- void * base,
- uint32_t bytes,
- uint8_t * data)
-{
- xcb_image_t * image;
-
- if (unit == 0) {
- switch (format) {
- case XCB_IMAGE_FORMAT_XY_BITMAP:
- case XCB_IMAGE_FORMAT_XY_PIXMAP:
- unit = 32;
- break;
- case XCB_IMAGE_FORMAT_Z_PIXMAP:
- if (bpp == 1) {
- unit = 32;
- break;
- }
- if (bpp < 8) {
- unit = 8;
- break;
- }
- unit = bpp;
- break;
- }
- }
- if (!format_valid(depth, bpp, unit, format, xpad))
- return 0;
- image = malloc(sizeof(*image));
- if (image == 0)
- return 0;
- image->width = width;
- image->height = height;
- image->format = format;
- image->scanline_pad = xpad;
- image->depth = depth;
- image->bpp = bpp;
- image->unit = unit;
- image->plane_mask = xcb_mask(depth);
- image->byte_order = byte_order;
- image->bit_order = bit_order;
- xcb_image_annotate(image);
-
- /*
- * Ways this function can be called:
- * * with data: we fail if bytes isn't
- * large enough, else leave well enough alone.
- * * with base and !data: if bytes is zero, we
- * default; otherwise we fail if bytes isn't
- * large enough, else fill in data
- * * with !base and !data: we malloc storage
- * for the data, save that address as the base,
- * and fail if malloc does.
- *
- * When successful, we establish the invariant that data
- * points at sufficient storage that may have been
- * supplied, and base is set iff it should be
- * auto-freed when the image is destroyed.
- *
- * Except as a special case when base = 0 && data == 0 &&
- * bytes == ~0 we just return the image structure and let
- * the caller deal with getting the allocation right.
- */
- if (!base && !data && bytes == ~0) {
- image->base = 0;
- image->data = 0;
- return image;
- }
- if (!base && data && bytes == 0)
- bytes = image->size;
- image->base = base;
- image->data = data;
- if (!image->data) {
- if (image->base) {
- image->data = image->base;
- } else {
- bytes = image->size;
- image->base = malloc(bytes);
- image->data = image->base;
- }
- }
- if (!image->data || bytes < image->size) {
- free(image);
- return 0;
- }
- return image;
-}
-
-
-void
-xcb_image_destroy (xcb_image_t *image)
-{
- if (image->base)
- free (image->base);
- free (image);
-}
-
-
-xcb_image_t *
-xcb_image_get (xcb_connection_t * conn,
- xcb_drawable_t draw,
- int16_t x,
- int16_t y,
- uint16_t width,
- uint16_t height,
- uint32_t plane_mask,
- xcb_image_format_t format)
-{
- xcb_get_image_cookie_t image_cookie;
- xcb_get_image_reply_t * imrep;
- xcb_image_t * image = 0;
- uint32_t bytes;
- uint8_t * data;
-
- image_cookie = xcb_get_image(conn, format, draw, x, y,
- width, height, plane_mask);
- imrep = xcb_get_image_reply(conn, image_cookie, 0);
- if (!imrep)
- return 0;
- bytes = xcb_get_image_data_length(imrep);
- data = xcb_get_image_data(imrep);
- switch (format) {
- case XCB_IMAGE_FORMAT_XY_PIXMAP:
- plane_mask &= xcb_mask(imrep->depth);
- if (plane_mask != xcb_mask(imrep->depth)) {
- xcb_image_t * tmp_image =
- xcb_image_create_native(conn, width, height, format,
- imrep->depth, 0, 0, 0);
-
- if (!tmp_image) {
- free(imrep);
- return 0;
- }
-
- int i;
- uint32_t rpm = plane_mask;
- uint8_t * src_plane = image->data;
- uint8_t * dst_plane = tmp_image->data;
- uint32_t size = image->height * image->stride;
-
- if (tmp_image->bit_order == XCB_IMAGE_ORDER_MSB_FIRST)
- rpm = xcb_bit_reverse(plane_mask, imrep->depth);
- for (i = 0; i < imrep->depth; i++) {
- if (rpm & 1) {
- memcpy(dst_plane, src_plane, size);
- src_plane += size;
- } else {
- memset(dst_plane, 0, size);
- }
- dst_plane += size;
- }
- tmp_image->plane_mask = plane_mask;
- image = tmp_image;
- free(imrep);
- break;
- }
- /* fall through */
- case XCB_IMAGE_FORMAT_Z_PIXMAP:
- image = xcb_image_create_native(conn, width, height, format,
- imrep->depth, imrep, bytes, data);
- if (!image) {
- free(imrep);
- return 0;
- }
- break;
- default:
- assert(0);
- }
- assert(bytes == image->size);
- return image;
-}
-
-
-xcb_image_t *
-xcb_image_native (xcb_connection_t * c,
- xcb_image_t * image,
- int convert)
-{
- xcb_image_t * tmp_image = 0;
- const xcb_setup_t * setup = xcb_get_setup(c);
- xcb_format_t * fmt = 0;
- xcb_image_format_t ef = effective_format(image->format, image->bpp);
- uint8_t bpp = 1;
-
- if (image->depth > 1 || ef == XCB_IMAGE_FORMAT_Z_PIXMAP) {
- fmt = find_format_by_depth(setup, image->depth);
- /* XXX For now, we don't do depth conversions, even
- for xy-pixmaps */
- if (!fmt)
- return 0;
- bpp = fmt->bits_per_pixel;
- }
- switch (ef) {
- case XCB_IMAGE_FORMAT_XY_PIXMAP:
- if (setup->bitmap_format_scanline_unit != image->unit ||
- setup->bitmap_format_scanline_pad != image->scanline_pad ||
- setup->image_byte_order != image->byte_order ||
- setup->bitmap_format_bit_order != image->bit_order ||
- bpp != image->bpp) {
- if (!convert)
- return 0;
- tmp_image =
- xcb_image_create(image->width, image->height, image->format,
- setup->bitmap_format_scanline_pad,
- image->depth, bpp,
- setup->bitmap_format_scanline_unit,
- setup->image_byte_order,
- setup->bitmap_format_bit_order,
- 0, 0, 0);
- if (!tmp_image)
- return 0;
- }
- break;
- case XCB_IMAGE_FORMAT_Z_PIXMAP:
- if (fmt->scanline_pad != image->scanline_pad ||
- setup->image_byte_order != image->byte_order ||
- bpp != image->bpp) {
- if (!convert)
- return 0;
- tmp_image =
- xcb_image_create(image->width, image->height, image->format,
- fmt->scanline_pad,
- image->depth, bpp, 0,
- setup->image_byte_order,
- XCB_IMAGE_ORDER_MSB_FIRST,
- 0, 0, 0);
- if (!tmp_image)
- return 0;
- }
- break;
- default:
- assert(0);
- }
- if (tmp_image) {
- if (!xcb_image_convert(image, tmp_image)) {
- xcb_image_destroy(tmp_image);
- return 0;
- }
- image = tmp_image;
- }
- return image;
-}
-
-
-xcb_void_cookie_t
-xcb_image_put (xcb_connection_t * conn,
- xcb_drawable_t draw,
- xcb_gcontext_t gc,
- xcb_image_t * image,
- int16_t x,
- int16_t y,
- uint8_t left_pad)
-{
- return xcb_put_image(conn, image->format, draw, gc,
- image->width, image->height,
- x, y, left_pad,
- image->depth,
- image->size,
- image->data);
-}
-
-
-
-/*
- * Shm stuff
- */
-
-xcb_image_t *
-xcb_image_shm_put (xcb_connection_t * conn,
- xcb_drawable_t draw,
- xcb_gcontext_t gc,
- xcb_image_t * image,
- xcb_shm_segment_info_t shminfo,
- int16_t src_x,
- int16_t src_y,
- int16_t dest_x,
- int16_t dest_y,
- uint16_t src_width,
- uint16_t src_height,
- uint8_t send_event)
-{
- if (!xcb_image_native(conn, image, 0))
- return 0;
- if (!shminfo.shmaddr)
- return 0;
- xcb_shm_put_image(conn, draw, gc,
- image->width, image->height,
- src_x, src_y, src_width, src_height,
- dest_x, dest_y,
- image->depth, image->format,
- send_event,
- shminfo.shmseg,
- image->data - shminfo.shmaddr);
- return image;
-}
-
-
-int
-xcb_image_shm_get (xcb_connection_t * conn,
- xcb_drawable_t draw,
- xcb_image_t * image,
- xcb_shm_segment_info_t shminfo,
- int16_t x,
- int16_t y,
- uint32_t plane_mask)
-{
- xcb_shm_get_image_reply_t * setup;
- xcb_shm_get_image_cookie_t cookie;
- xcb_generic_error_t * err = 0;
-
- if (!shminfo.shmaddr)
- return 0;
- cookie = xcb_shm_get_image(conn, draw,
- x, y,
- image->width, image->height,
- plane_mask,
- image->format,
- shminfo.shmseg,
- image->data - shminfo.shmaddr);
- setup = xcb_shm_get_image_reply(conn, cookie, &err);
- if (err) {
- fprintf(stderr, "ShmGetImageReply error %d\n", (int)err->error_code);
- free(err);
- return 0;
- } else {
- free (setup);
- return 1;
- }
-}
-
-
-static uint32_t
-xy_image_byte (xcb_image_t *image, uint32_t x)
-{
- x >>= 3;
- if (image->byte_order == image->bit_order)
- return x;
- switch (image->unit) {
- default:
- case 8:
- return x;
- case 16:
- return x ^ 1;
- case 32:
- return x ^ 3;
- }
-}
-
-static uint32_t
-xy_image_bit (xcb_image_t *image, uint32_t x)
-{
- x &= 7;
- if (image->bit_order == XCB_IMAGE_ORDER_MSB_FIRST)
- x = 7 - x;
- return x;
-}
-
-/* GetPixel/PutPixel */
-
-/* XXX this is the most hideously done cut-and-paste
- to below. Any bugs fixed there should be fixed here
- and vice versa. */
-void
-xcb_image_put_pixel (xcb_image_t *image,
- uint32_t x,
- uint32_t y,
- uint32_t pixel)
-{
- uint8_t *row;
-
- if (x > image->width || y > image->height)
- return;
- row = image->data + (y * image->stride);
- switch (effective_format(image->format, image->bpp)) {
- case XCB_IMAGE_FORMAT_XY_BITMAP:
- case XCB_IMAGE_FORMAT_XY_PIXMAP:
- /* block */ {
- int p;
- uint32_t plane_mask = image->plane_mask;
- uint8_t * plane = row;
- uint32_t byte = xy_image_byte(image, x);
- uint32_t bit = xy_image_bit(image,x);
- uint8_t mask = 1 << bit;
-
- for (p = image->bpp - 1; p >= 0; p--) {
- if ((plane_mask >> p) & 1) {
- uint8_t * bp = plane + byte;
- uint8_t this_bit = ((pixel >> p) & 1) << bit;
- *bp = (*bp & ~mask) | this_bit;
- }
- plane += image->stride * image->height;
- }
- }
- break;
- case XCB_IMAGE_FORMAT_Z_PIXMAP:
- switch (image->bpp) {
- uint32_t mask;
- case 4:
- mask = 0xf;
- pixel &= 0xf;
- if ((x & 1) ==
- (image->byte_order == XCB_IMAGE_ORDER_MSB_FIRST)) {
- pixel <<= 4;
- mask <<= 4;
- }
- row[x >> 1] = (row[x >> 1] & ~mask) | pixel;
- break;
- case 8:
- row[x] = pixel;
- break;
- case 16:
- switch (image->byte_order) {
- case XCB_IMAGE_ORDER_LSB_FIRST:
- row[x << 1] = pixel;
- row[(x << 1) + 1] = pixel >> 8;
- break;
- case XCB_IMAGE_ORDER_MSB_FIRST:
- row[x << 1] = pixel >> 8;
- row[(x << 1) + 1] = pixel;
- break;
- }
- break;
- case 24:
- switch (image->byte_order) {
- case XCB_IMAGE_ORDER_LSB_FIRST:
- row[x * 3] = pixel;
- row[x * 3 + 1] = pixel >> 8;
- row[x * 3 + 2] = pixel >> 16;
- break;
- case XCB_IMAGE_ORDER_MSB_FIRST:
- row[x * 3] = pixel >> 16;
- row[x * 3 + 1] = pixel >> 8;
- row[x * 3 + 2] = pixel;
- break;
- }
- break;
- case 32:
- switch (image->byte_order) {
- case XCB_IMAGE_ORDER_LSB_FIRST:
- row[x << 2] = pixel;
- row[(x << 2) + 1] = pixel >> 8;
- row[(x << 2) + 2] = pixel >> 16;
- row[(x << 2) + 3] = pixel >> 24;
- break;
- case XCB_IMAGE_ORDER_MSB_FIRST:
- row[x << 2] = pixel >> 24;
- row[(x << 2) + 1] = pixel >> 16;
- row[(x << 2) + 2] = pixel >> 8;
- row[(x << 2) + 3] = pixel;
- break;
- }
- break;
- default:
- assert(0);
- }
- break;
- default:
- assert(0);
- }
-}
-
-
-/* XXX this is the most hideously done cut-and-paste
- from above. Any bugs fixed there should be fixed here
- and vice versa. */
-uint32_t
-xcb_image_get_pixel (xcb_image_t *image,
- uint32_t x,
- uint32_t y)
-{
- uint32_t pixel = 0;
- uint8_t *row;
-
- assert(x < image->width && y < image->height);
- row = image->data + (y * image->stride);
- switch (effective_format(image->format, image->bpp)) {
- case XCB_IMAGE_FORMAT_XY_BITMAP:
- case XCB_IMAGE_FORMAT_XY_PIXMAP:
- /* block */ {
- int p;
- uint32_t plane_mask = image->plane_mask;
- uint8_t * plane = row;
- uint32_t byte = xy_image_byte(image, x);
- uint32_t bit = xy_image_bit(image,x);
-
- for (p = image->bpp - 1; p >= 0; p--) {
- pixel <<= 1;
- if ((plane_mask >> p) & 1) {
- uint8_t * bp = plane + byte;
- pixel |= (*bp >> bit) & 1;
- }
- plane += image->stride * image->height;
- }
- }
- return pixel;
- case XCB_IMAGE_FORMAT_Z_PIXMAP:
- switch (image->bpp) {
- case 4:
- if ((x & 1) == (image->byte_order == XCB_IMAGE_ORDER_MSB_FIRST))
- return row[x >> 1] >> 4;
- return row[x >> 1] & 0xf;
- case 8:
- return row[x];
- case 16:
- switch (image->byte_order) {
- case XCB_IMAGE_ORDER_LSB_FIRST:
- pixel = row[x << 1];
- pixel |= row[(x << 1) + 1] << 8;
- break;
- case XCB_IMAGE_ORDER_MSB_FIRST:
- pixel = row[x << 1] << 8;
- pixel |= row[(x << 1) + 1];
- break;
- }
- break;
- case 24:
- switch (image->byte_order) {
- case XCB_IMAGE_ORDER_LSB_FIRST:
- pixel = row[x * 3];
- pixel |= row[x * 3 + 1] << 8;
- pixel |= row[x * 3 + 2] << 16;
- break;
- case XCB_IMAGE_ORDER_MSB_FIRST:
- pixel = row[x * 3] << 16;
- pixel |= row[x * 3 + 1] << 8;
- pixel |= row[x * 3 + 2];
- break;
- }
- break;
- case 32:
- switch (image->byte_order) {
- case XCB_IMAGE_ORDER_LSB_FIRST:
- pixel = row[x << 2];
- pixel |= row[(x << 2) + 1] << 8;
- pixel |= row[(x << 2) + 2] << 16;
- pixel |= row[(x << 2) + 3] << 24;
- break;
- case XCB_IMAGE_ORDER_MSB_FIRST:
- pixel = row[x << 2] << 24;
- pixel |= row[(x << 2) + 1] << 16;
- pixel |= row[(x << 2) + 2] << 8;
- pixel |= row[(x << 2) + 3];
- break;
- }
- break;
- default:
- assert(0);
- }
- return pixel;
- default:
- assert(0);
- }
-}
-
-
-xcb_image_t *
-xcb_image_create_from_bitmap_data (uint8_t * data,
- uint32_t width,
- uint32_t height)
-{
- return xcb_image_create(width, height, XCB_IMAGE_FORMAT_XY_PIXMAP,
- 8, 1, 1, 8,
- XCB_IMAGE_ORDER_LSB_FIRST,
- XCB_IMAGE_ORDER_LSB_FIRST,
- 0, 0, data);
-}
-
-
-/*
- * (Adapted from libX11.)
- *
- * xcb_create_pixmap_from_bitmap_data: Routine to make a pixmap of
- * given depth from user supplied bitmap data.
- * D is any drawable on the same screen that the pixmap will be used in.
- * Data is a pointer to the bit data, and
- * width & height give the size in bits of the pixmap.
- *
- * The following format is assumed for data:
- *
- * format=XY (will use XYPixmap for depth 1 and XYBitmap for larger)
- * bit_order=LSBFirst
- * padding=8
- * bitmap_unit=8
- */
-xcb_pixmap_t
-xcb_create_pixmap_from_bitmap_data (xcb_connection_t * display,
- xcb_drawable_t d,
- uint8_t * data,
- uint32_t width,
- uint32_t height,
- uint32_t depth,
- uint32_t fg,
- uint32_t bg,
- xcb_gcontext_t * gcp)
-{
- xcb_pixmap_t pix;
- xcb_image_t * image;
- xcb_image_t * final_image;
- xcb_gcontext_t gc;
- uint32_t mask = 0;
- xcb_params_gc_t gcv;
-
- image = xcb_image_create_from_bitmap_data(data, width, height);
- if (!image)
- return 0;
- if (depth > 1)
- image->format = XCB_IMAGE_FORMAT_XY_BITMAP;
- final_image = xcb_image_native(display, image, 1);
- if (!final_image) {
- xcb_image_destroy(image);
- return 0;
- }
- pix = xcb_generate_id(display);
- xcb_create_pixmap(display, depth, pix, d, width, height);
- gc = xcb_generate_id(display);
- XCB_AUX_ADD_PARAM(&mask, &gcv, foreground, fg);
- XCB_AUX_ADD_PARAM(&mask, &gcv, background, bg);
- xcb_aux_create_gc(display, gc, pix, mask, &gcv);
- xcb_image_put(display, pix, gc, final_image, 0, 0, 0);
- if (final_image != image)
- xcb_image_destroy(final_image);
- xcb_image_destroy(image);
- if (gcp)
- *gcp = gc;
- else
- xcb_free_gc(display, gc);
- return pix;
-}
-
-
-/* Thanks to Keith Packard <keithp@keithp.com> for this code */
-static void
-swap_image(uint8_t * src,
- uint32_t src_stride,
- uint8_t * dst,
- uint32_t dst_stride,
- uint32_t height,
- uint32_t byteswap,
- int bitswap,
- int nibbleswap)
-{
- while (height--) {
- uint32_t s;
-
- for (s = 0; s < src_stride; s++) {
- uint8_t b;
- uint32_t d = s ^ byteswap;
-
- if (d > dst_stride)
- continue;
-
- b = src[s];
- if (bitswap)
- b = xcb_bit_reverse(b, 8);
- if (nibbleswap)
- b = (b << 4) | (b >> 4);
- dst[d] = b;
- }
- src += src_stride;
- dst += dst_stride;
- }
-}
-
-/* Which order are bytes in (low two bits), given
- * code which accesses an image one byte at a time
- */
-static uint32_t
-byte_order(xcb_image_t *i)
-{
- uint32_t flip = i->byte_order == XCB_IMAGE_ORDER_MSB_FIRST;
-
- switch (i->bpp) {
- default:
- case 8:
- return 0;
- case 16:
- return flip;
- case 32:
- return flip | (flip << 1);
- }
-}
-
-static uint32_t
-bit_order(xcb_image_t *i)
-{
- uint32_t flip = i->byte_order != i->bit_order;
-
- switch (i->unit) {
- default:
- case 8:
- return 0;
- case 16:
- return flip;
- case 32:
- return flip | (flip << 1);
- }
-}
-
-/* Convert from one byte order to another by flipping the
- * low two bits of the byte index along a scanline
- */
-static uint32_t
-conversion_byte_swap(xcb_image_t *src, xcb_image_t *dst)
-{
- xcb_image_format_t ef = effective_format(src->format, src->bpp);
-
- /* src_ef == dst_ef in all callers of this function */
- if (ef == XCB_IMAGE_FORMAT_XY_PIXMAP) {
- return bit_order(src) ^ bit_order(dst);
- } else {
- /* src_bpp == dst_bpp in all callers of this function */
- return byte_order(src) ^ byte_order(dst);
- }
-}
-
-xcb_image_t *
-xcb_image_convert (xcb_image_t * src,
- xcb_image_t * dst)
-{
- xcb_image_format_t ef = effective_format(src->format, src->bpp);
-
- /* Things will go horribly wrong here if a bad
- image is passed in, so we check some things
- up front just to be nice. */
- assert(image_format_valid(src));
- assert(image_format_valid(dst));
-
- /* images must be the same size
- * (yes, we could copy a sub-set)
- */
- if (src->width != dst->width ||
- src->height != dst->height)
- return 0;
-
- if (ef == effective_format(dst->format, dst->bpp) &&
- src->bpp == dst->bpp)
- {
- if (src->unit == dst->unit &&
- src->scanline_pad == dst->scanline_pad &&
- src->byte_order == dst->byte_order &&
- (ef == XCB_IMAGE_FORMAT_Z_PIXMAP ||
- src->bit_order == dst->bit_order)) {
- memcpy(dst->data, src->data, src->size);
- } else {
- int bitswap = 0;
- int nibbleswap = 0;
- uint32_t byteswap = conversion_byte_swap(src, dst);
- uint32_t height = src->height;;
-
- if (ef == XCB_IMAGE_FORMAT_Z_PIXMAP) {
- if (src->bpp == 4 && src->byte_order != dst->byte_order)
- nibbleswap = 1;
- } else {
- if (src->bit_order != dst->bit_order)
- bitswap = 1;
- height *= src->depth;
- }
- swap_image (src->data, src->stride, dst->data, dst->stride,
- height, byteswap, bitswap, nibbleswap);
- }
- }
- else
- {
- uint32_t x;
- uint32_t y;
- /* General case: Slow pixel copy. Should we optimize
- Z24<->Z32 copies of either endianness? */
- for (y = 0; y < src->height; y++) {
- for (x = 0; x < src->width; x++) {
- uint32_t pixel = xcb_image_get_pixel(src, x, y);
- xcb_image_put_pixel(dst, x, y, pixel);
- }
- }
- }
- return dst;
-}
-
-xcb_image_t *
-xcb_image_subimage(xcb_image_t * image,
- uint32_t x,
- uint32_t y,
- uint32_t width,
- uint32_t height,
- void * base,
- uint32_t bytes,
- uint8_t * data)
-{
- int i, j;
- xcb_image_t * result;
-
- if (x + width > image->width)
- return 0;
- if (y + height > image->height)
- return 0;
- result = xcb_image_create(width, height, image->format,
- image->scanline_pad, image->depth,
- image->bpp, image->unit, image->byte_order,
- image->bit_order,
- base, bytes, data);
- if (!result)
- return 0;
- /* XXX FIXME For now, lose on performance. Sorry. */
- for (j = 0; j < height; j++) {
- for (i = 0; i < width; i++) {
- uint32_t pixel = xcb_image_get_pixel(image, x + i, y + j);
- xcb_image_put_pixel(result, i, j, pixel);
- }
- }
- return result;
-}
diff --git a/src/3rdparty/xcb/xcb-util-keysyms/keysyms.c b/src/3rdparty/xcb/xcb-util-keysyms/keysyms.c
deleted file mode 100644
index 7584cccf39..0000000000
--- a/src/3rdparty/xcb/xcb-util-keysyms/keysyms.c
+++ /dev/null
@@ -1,498 +0,0 @@
-/*
- * Copyright © 2008 Ian Osgood <iano@quirkster.com>
- * Copyright © 2008 Jamey Sharp <jamey@minilop.net>
- * Copyright © 2008 Josh Triplett <josh@freedesktop.org>
- * Copyright © 2008 Ulrich Eckhardt <doomster@knuut.de>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or
- * their institutions shall not be used in advertising or otherwise to
- * promote the sale, use or other dealings in this Software without
- * prior written authorization from the authors.
- */
-
-#include <stdlib.h>
-
-#include <xcb/xcb.h>
-#define XK_MISCELLANY
-#define XK_XKB_KEYS
-#define XK_LATIN1
-#define XK_LATIN2
-#define XK_LATIN3
-#define XK_LATIN4
-#define XK_CYRILLIC
-#define XK_GREEK
-#define XK_ARMENIAN
-#include <X11/keysymdef.h>
-
-#include "xcb_keysyms.h"
-
-/* Private declaration */
-enum tag_t {
- TAG_COOKIE,
- TAG_VALUE
-};
-
-struct _XCBKeySymbols
-{
- xcb_connection_t *c;
- enum tag_t tag;
- union {
- xcb_get_keyboard_mapping_cookie_t cookie;
- xcb_get_keyboard_mapping_reply_t *reply;
- } u;
-};
-
-static void xcb_convert_case(xcb_keysym_t sym,
- xcb_keysym_t *lower,
- xcb_keysym_t *upper);
-
-static void xcb_key_symbols_get_reply (xcb_key_symbols_t *syms,
- xcb_generic_error_t **e);
-
-/* public implementation */
-
-xcb_key_symbols_t *
-xcb_key_symbols_alloc (xcb_connection_t *c)
-{
- xcb_key_symbols_t *syms;
- xcb_keycode_t min_keycode;
- xcb_keycode_t max_keycode;
-
- if (!c)
- return NULL;
-
- syms = malloc (sizeof (xcb_key_symbols_t));
- if (!syms)
- return NULL;
-
- syms->c = c;
- syms->tag = TAG_COOKIE;
-
- min_keycode = xcb_get_setup (c)->min_keycode;
- max_keycode = xcb_get_setup (c)->max_keycode;
-
- syms->u.cookie = xcb_get_keyboard_mapping(c,
- min_keycode,
- max_keycode - min_keycode + 1);
-
- return syms;
-}
-
-void
-xcb_key_symbols_free (xcb_key_symbols_t *syms)
-{
- if (syms)
- {
- if (syms->tag == TAG_VALUE)
- free (syms->u.reply);
- free (syms);
- syms = NULL;
- }
-}
-
-/* Use of the 'col' parameter:
-
-A list of KeySyms is associated with each KeyCode. The list is intended
-to convey the set of symbols on the corresponding key. If the list
-(ignoring trailing NoSymbol entries) is a single KeySym ``K'', then the
-list is treated as if it were the list ``K NoSymbol K NoSymbol''. If the
-list (ignoring trailing NoSymbol entries) is a pair of KeySyms ``K1
-K2'', then the list is treated as if it were the list ``K1 K2 K1 K2''.
-If the list (ignoring trailing NoSymbol entries) is a triple of KeySyms
-``K1 K2 K3'', then the list is treated as if it were the list ``K1 K2 K3
-NoSymbol''. When an explicit ``void'' element is desired in the list,
-the value VoidSymbol can be used.
-
-The first four elements of the list are split into two groups of
-KeySyms. Group 1 contains the first and second KeySyms; Group 2 contains
-the third and fourth KeySyms. Within each group, if the second element
-of the group is NoSymbol , then the group should be treated as if the
-second element were the same as the first element, except when the first
-element is an alphabetic KeySym ``K'' for which both lowercase and
-uppercase forms are defined. In that case, the group should be treated
-as if the first element were the lowercase form of ``K'' and the second
-element were the uppercase form of ``K.''
-
-The standard rules for obtaining a KeySym from a KeyPress event make use
-of only the Group 1 and Group 2 KeySyms; no interpretation of other
-KeySyms in the list is given. Which group to use is determined by the
-modifier state. Switching between groups is controlled by the KeySym
-named MODE SWITCH, by attaching that KeySym to some KeyCode and
-attaching that KeyCode to any one of the modifiers Mod1 through Mod5.
-This modifier is called the group modifier. For any KeyCode, Group 1 is
-used when the group modifier is off, and Group 2 is used when the group
-modifier is on.
-
-The Lock modifier is interpreted as CapsLock when the KeySym named
-XK_Caps_Lock is attached to some KeyCode and that KeyCode is attached to
-the Lock modifier. The Lock modifier is interpreted as ShiftLock when
-the KeySym named XK_Shift_Lock is attached to some KeyCode and that
-KeyCode is attached to the Lock modifier. If the Lock modifier could be
-interpreted as both CapsLock and ShiftLock, the CapsLock interpretation
-is used.
-
-The operation of keypad keys is controlled by the KeySym named
-XK_Num_Lock, by attaching that KeySym to some KeyCode and attaching that
-KeyCode to any one of the modifiers Mod1 through Mod5 . This modifier is
-called the numlock modifier. The standard KeySyms with the prefix
-``XK_KP_'' in their name are called keypad KeySyms; these are KeySyms
-with numeric value in the hexadecimal range 0xFF80 to 0xFFBD inclusive.
-In addition, vendor-specific KeySyms in the hexadecimal range 0x11000000
-to 0x1100FFFF are also keypad KeySyms.
-
-Within a group, the choice of KeySym is determined by applying the first
-rule that is satisfied from the following list:
-
-* The numlock modifier is on and the second KeySym is a keypad KeySym. In
- this case, if the Shift modifier is on, or if the Lock modifier is on
- and is interpreted as ShiftLock, then the first KeySym is used,
- otherwise the second KeySym is used.
-
-* The Shift and Lock modifiers are both off. In this case, the first
- KeySym is used.
-
-* The Shift modifier is off, and the Lock modifier is on and is
- interpreted as CapsLock. In this case, the first KeySym is used, but
- if that KeySym is lowercase alphabetic, then the corresponding
- uppercase KeySym is used instead.
-
-* The Shift modifier is on, and the Lock modifier is on and is
- interpreted as CapsLock. In this case, the second KeySym is used, but
- if that KeySym is lowercase alphabetic, then the corresponding
- uppercase KeySym is used instead.
-
-* The Shift modifier is on, or the Lock modifier is on and is
- interpreted as ShiftLock, or both. In this case, the second KeySym is
- used.
-
-*/
-
-xcb_keysym_t xcb_key_symbols_get_keysym (xcb_key_symbols_t *syms,
- xcb_keycode_t keycode,
- int col)
-{
- xcb_keysym_t *keysyms;
- xcb_keysym_t keysym_null = { XCB_NO_SYMBOL };
- xcb_keysym_t lsym;
- xcb_keysym_t usym;
- xcb_keycode_t min_keycode;
- xcb_keycode_t max_keycode;
- int per;
-
- if (!syms)
- return keysym_null;
-
- xcb_key_symbols_get_reply (syms, NULL);
-
- keysyms = xcb_get_keyboard_mapping_keysyms (syms->u.reply);
- min_keycode = xcb_get_setup (syms->c)->min_keycode;
- max_keycode = xcb_get_setup (syms->c)->max_keycode;
-
- per = syms->u.reply->keysyms_per_keycode;
- if ((col < 0) || ((col >= per) && (col > 3)) ||
- (keycode < min_keycode) ||
- (keycode > max_keycode))
- return keysym_null;
-
- keysyms = &keysyms[(keycode - min_keycode) * per];
- if (col < 4)
- {
- if (col > 1)
- {
- while ((per > 2) && (keysyms[per - 1] == XCB_NO_SYMBOL))
- per--;
- if (per < 3)
- col -= 2;
- }
- if ((per <= (col|1)) || (keysyms[col|1] == XCB_NO_SYMBOL))
- {
- xcb_convert_case(keysyms[col&~1], &lsym, &usym);
- if (!(col & 1))
- return lsym;
- else if (usym == lsym)
- return keysym_null;
- else
- return usym;
- }
- }
- return keysyms[col];
-}
-
-xcb_keycode_t *
-xcb_key_symbols_get_keycode(xcb_key_symbols_t *syms,
- xcb_keysym_t keysym)
-{
- xcb_keysym_t ks;
- int j, nresult = 0;
- xcb_keycode_t i, min, max, *result = NULL, *result_np = NULL;
-
- if(syms)
- {
- xcb_key_symbols_get_reply (syms, NULL);
- min = xcb_get_setup(syms->c)->min_keycode;
- max = xcb_get_setup(syms->c)->max_keycode;
-
- for(j = 0; j < syms->u.reply->keysyms_per_keycode; j++)
- for(i = min; i && i <= max; i++)
- {
- ks = xcb_key_symbols_get_keysym(syms, i, j);
- if(ks == keysym)
- {
- nresult++;
- result_np = realloc(result,
- sizeof(xcb_keycode_t) * (nresult + 1));
-
- if(result_np == NULL)
- {
- free(result);
- return NULL;
- }
-
- result = result_np;
- result[nresult - 1] = i;
- result[nresult] = XCB_NO_SYMBOL;
- }
- }
- }
-
- return result;
-}
-
-xcb_keysym_t
-xcb_key_press_lookup_keysym (xcb_key_symbols_t *syms,
- xcb_key_press_event_t *event,
- int col)
-{
- return xcb_key_symbols_get_keysym (syms, event->detail, col);
-}
-
-xcb_keysym_t
-xcb_key_release_lookup_keysym (xcb_key_symbols_t *syms,
- xcb_key_release_event_t *event,
- int col)
-{
- return xcb_key_symbols_get_keysym (syms, event->detail, col);
-}
-
-int
-xcb_refresh_keyboard_mapping (xcb_key_symbols_t *syms,
- xcb_mapping_notify_event_t *event)
-{
- if (event->request == XCB_MAPPING_KEYBOARD && syms) {
- if (syms->tag == TAG_VALUE) {
- xcb_keycode_t min_keycode;
- xcb_keycode_t max_keycode;
-
- if (syms->u.reply) {
- free (syms->u.reply);
- syms->u.reply = NULL;
- }
- syms->tag = TAG_COOKIE;
- min_keycode = xcb_get_setup (syms->c)->min_keycode;
- max_keycode = xcb_get_setup (syms->c)->max_keycode;
-
- syms->u.cookie = xcb_get_keyboard_mapping(syms->c,
- min_keycode,
- max_keycode - min_keycode + 1);
-
- }
- return 1;
- }
- return 0;
-}
-
-
-/* Tests for classes of symbols */
-
-int
-xcb_is_keypad_key (xcb_keysym_t keysym)
-{
- return ((keysym >= XK_KP_Space) && (keysym <= XK_KP_Equal));
-}
-
-int
-xcb_is_private_keypad_key (xcb_keysym_t keysym)
-{
- return ((keysym >= 0x11000000) && (keysym <= 0x1100FFFF));
-}
-
-int
-xcb_is_cursor_key (xcb_keysym_t keysym)
-{
- return ((keysym >= XK_Home) && (keysym <= XK_Select));
-}
-
-int
-xcb_is_pf_key (xcb_keysym_t keysym)
-{
- return ((keysym >= XK_KP_F1) && (keysym <= XK_KP_F4));
-}
-
-int
-xcb_is_function_key (xcb_keysym_t keysym)
-{
- return ((keysym >= XK_F1) && (keysym <= XK_F35));
-}
-
-int
-xcb_is_misc_function_key (xcb_keysym_t keysym)
-{
- return ((keysym >= XK_Select) && (keysym <= XK_Break));
-}
-
-int
-xcb_is_modifier_key (xcb_keysym_t keysym)
-{
- return (((keysym >= XK_Shift_L) && (keysym <= XK_Hyper_R)) ||
- ((keysym >= XK_ISO_Lock) && (keysym <= XK_ISO_Level5_Lock)) ||
- (keysym == XK_Mode_switch) ||
- (keysym == XK_Num_Lock));
-}
-
-/* private functions */
-
-void
-xcb_convert_case(xcb_keysym_t sym,
- xcb_keysym_t *lower,
- xcb_keysym_t *upper)
-{
- *lower = sym;
- *upper = sym;
-
- switch(sym >> 8)
- {
- case 0: /* Latin 1 */
- if ((sym >= XK_A) && (sym <= XK_Z))
- *lower += (XK_a - XK_A);
- else if ((sym >= XK_a) && (sym <= XK_z))
- *upper -= (XK_a - XK_A);
- else if ((sym >= XK_Agrave) && (sym <= XK_Odiaeresis))
- *lower += (XK_agrave - XK_Agrave);
- else if ((sym >= XK_agrave) && (sym <= XK_odiaeresis))
- *upper -= (XK_agrave - XK_Agrave);
- else if ((sym >= XK_Ooblique) && (sym <= XK_Thorn))
- *lower += (XK_oslash - XK_Ooblique);
- else if ((sym >= XK_oslash) && (sym <= XK_thorn))
- *upper -= (XK_oslash - XK_Ooblique);
- break;
- case 1: /* Latin 2 */
- /* Assume the KeySym is a legal value (ignore discontinuities) */
- if (sym == XK_Aogonek)
- *lower = XK_aogonek;
- else if (sym >= XK_Lstroke && sym <= XK_Sacute)
- *lower += (XK_lstroke - XK_Lstroke);
- else if (sym >= XK_Scaron && sym <= XK_Zacute)
- *lower += (XK_scaron - XK_Scaron);
- else if (sym >= XK_Zcaron && sym <= XK_Zabovedot)
- *lower += (XK_zcaron - XK_Zcaron);
- else if (sym == XK_aogonek)
- *upper = XK_Aogonek;
- else if (sym >= XK_lstroke && sym <= XK_sacute)
- *upper -= (XK_lstroke - XK_Lstroke);
- else if (sym >= XK_scaron && sym <= XK_zacute)
- *upper -= (XK_scaron - XK_Scaron);
- else if (sym >= XK_zcaron && sym <= XK_zabovedot)
- *upper -= (XK_zcaron - XK_Zcaron);
- else if (sym >= XK_Racute && sym <= XK_Tcedilla)
- *lower += (XK_racute - XK_Racute);
- else if (sym >= XK_racute && sym <= XK_tcedilla)
- *upper -= (XK_racute - XK_Racute);
- break;
- case 2: /* Latin 3 */
- /* Assume the KeySym is a legal value (ignore discontinuities) */
- if (sym >= XK_Hstroke && sym <= XK_Hcircumflex)
- *lower += (XK_hstroke - XK_Hstroke);
- else if (sym >= XK_Gbreve && sym <= XK_Jcircumflex)
- *lower += (XK_gbreve - XK_Gbreve);
- else if (sym >= XK_hstroke && sym <= XK_hcircumflex)
- *upper -= (XK_hstroke - XK_Hstroke);
- else if (sym >= XK_gbreve && sym <= XK_jcircumflex)
- *upper -= (XK_gbreve - XK_Gbreve);
- else if (sym >= XK_Cabovedot && sym <= XK_Scircumflex)
- *lower += (XK_cabovedot - XK_Cabovedot);
- else if (sym >= XK_cabovedot && sym <= XK_scircumflex)
- *upper -= (XK_cabovedot - XK_Cabovedot);
- break;
- case 3: /* Latin 4 */
- /* Assume the KeySym is a legal value (ignore discontinuities) */
- if (sym >= XK_Rcedilla && sym <= XK_Tslash)
- *lower += (XK_rcedilla - XK_Rcedilla);
- else if (sym >= XK_rcedilla && sym <= XK_tslash)
- *upper -= (XK_rcedilla - XK_Rcedilla);
- else if (sym == XK_ENG)
- *lower = XK_eng;
- else if (sym == XK_eng)
- *upper = XK_ENG;
- else if (sym >= XK_Amacron && sym <= XK_Umacron)
- *lower += (XK_amacron - XK_Amacron);
- else if (sym >= XK_amacron && sym <= XK_umacron)
- *upper -= (XK_amacron - XK_Amacron);
- break;
- case 6: /* Cyrillic */
- /* Assume the KeySym is a legal value (ignore discontinuities) */
- if (sym >= XK_Serbian_DJE && sym <= XK_Serbian_DZE)
- *lower -= (XK_Serbian_DJE - XK_Serbian_dje);
- else if (sym >= XK_Serbian_dje && sym <= XK_Serbian_dze)
- *upper += (XK_Serbian_DJE - XK_Serbian_dje);
- else if (sym >= XK_Cyrillic_YU && sym <= XK_Cyrillic_HARDSIGN)
- *lower -= (XK_Cyrillic_YU - XK_Cyrillic_yu);
- else if (sym >= XK_Cyrillic_yu && sym <= XK_Cyrillic_hardsign)
- *upper += (XK_Cyrillic_YU - XK_Cyrillic_yu);
- break;
- case 7: /* Greek */
- /* Assume the KeySym is a legal value (ignore discontinuities) */
- if (sym >= XK_Greek_ALPHAaccent && sym <= XK_Greek_OMEGAaccent)
- *lower += (XK_Greek_alphaaccent - XK_Greek_ALPHAaccent);
- else if (sym >= XK_Greek_alphaaccent && sym <= XK_Greek_omegaaccent &&
- sym != XK_Greek_iotaaccentdieresis &&
- sym != XK_Greek_upsilonaccentdieresis)
- *upper -= (XK_Greek_alphaaccent - XK_Greek_ALPHAaccent);
- else if (sym >= XK_Greek_ALPHA && sym <= XK_Greek_OMEGA)
- *lower += (XK_Greek_alpha - XK_Greek_ALPHA);
- else if (sym >= XK_Greek_alpha && sym <= XK_Greek_omega &&
- sym != XK_Greek_finalsmallsigma)
- *upper -= (XK_Greek_alpha - XK_Greek_ALPHA);
- break;
- case 0x14: /* Armenian */
- if (sym >= XK_Armenian_AYB && sym <= XK_Armenian_fe) {
- *lower = sym | 1;
- *upper = sym & ~1;
- }
- break;
- }
-}
-
-void
-xcb_key_symbols_get_reply (xcb_key_symbols_t *syms,
- xcb_generic_error_t **e)
-{
- if (!syms)
- return;
-
- if (syms->tag == TAG_COOKIE)
- {
- syms->tag = TAG_VALUE;
- syms->u.reply = xcb_get_keyboard_mapping_reply(syms->c,
- syms->u.cookie,
- e);
- }
-}
diff --git a/src/3rdparty/xcb/xcb-util-renderutil/util.c b/src/3rdparty/xcb/xcb-util-renderutil/util.c
deleted file mode 100644
index 7666c433dd..0000000000
--- a/src/3rdparty/xcb/xcb-util-renderutil/util.c
+++ /dev/null
@@ -1,255 +0,0 @@
-/* Copyright © 2000 Keith Packard
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Keith Packard not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. Keith Packard makes no
- * representations about the suitability of this software for any purpose. It
- * is provided "as is" without express or implied warranty.
- *
- * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "xcb_renderutil.h"
-
-xcb_render_pictvisual_t *
-xcb_render_util_find_visual_format (const xcb_render_query_pict_formats_reply_t *formats,
- const xcb_visualid_t visual)
-{
- xcb_render_pictscreen_iterator_t screens;
- xcb_render_pictdepth_iterator_t depths;
- xcb_render_pictvisual_iterator_t visuals;
- if (!formats)
- return 0;
- for (screens = xcb_render_query_pict_formats_screens_iterator(formats); screens.rem; xcb_render_pictscreen_next(&screens))
- for (depths = xcb_render_pictscreen_depths_iterator(screens.data); depths.rem; xcb_render_pictdepth_next(&depths))
- for (visuals = xcb_render_pictdepth_visuals_iterator(depths.data); visuals.rem; xcb_render_pictvisual_next(&visuals))
- if (visuals.data->visual == visual)
- return visuals.data;
- return 0;
-}
-
-xcb_render_pictforminfo_t *
-xcb_render_util_find_format (const xcb_render_query_pict_formats_reply_t *formats,
- unsigned long mask,
- const xcb_render_pictforminfo_t *ptemplate,
- int count)
-{
- xcb_render_pictforminfo_iterator_t i;
- if (!formats)
- return 0;
- for (i = xcb_render_query_pict_formats_formats_iterator(formats); i.rem; xcb_render_pictforminfo_next(&i))
- {
- if (mask & XCB_PICT_FORMAT_ID)
- if (ptemplate->id != i.data->id)
- continue;
- if (mask & XCB_PICT_FORMAT_TYPE)
- if (ptemplate->type != i.data->type)
- continue;
- if (mask & XCB_PICT_FORMAT_DEPTH)
- if (ptemplate->depth != i.data->depth)
- continue;
- if (mask & XCB_PICT_FORMAT_RED)
- if (ptemplate->direct.red_shift != i.data->direct.red_shift)
- continue;
- if (mask & XCB_PICT_FORMAT_RED_MASK)
- if (ptemplate->direct.red_mask != i.data->direct.red_mask)
- continue;
- if (mask & XCB_PICT_FORMAT_GREEN)
- if (ptemplate->direct.green_shift != i.data->direct.green_shift)
- continue;
- if (mask & XCB_PICT_FORMAT_GREEN_MASK)
- if (ptemplate->direct.green_mask != i.data->direct.green_mask)
- continue;
- if (mask & XCB_PICT_FORMAT_BLUE)
- if (ptemplate->direct.blue_shift != i.data->direct.blue_shift)
- continue;
- if (mask & XCB_PICT_FORMAT_BLUE_MASK)
- if (ptemplate->direct.blue_mask != i.data->direct.blue_mask)
- continue;
- if (mask & XCB_PICT_FORMAT_ALPHA)
- if (ptemplate->direct.alpha_shift != i.data->direct.alpha_shift)
- continue;
- if (mask & XCB_PICT_FORMAT_ALPHA_MASK)
- if (ptemplate->direct.alpha_mask != i.data->direct.alpha_mask)
- continue;
- if (mask & XCB_PICT_FORMAT_COLORMAP)
- if (ptemplate->colormap != i.data->colormap)
- continue;
- if (count-- == 0)
- return i.data;
- }
- return 0;
-}
-
-xcb_render_pictforminfo_t *
-xcb_render_util_find_standard_format (const xcb_render_query_pict_formats_reply_t *formats,
- xcb_pict_standard_t format)
-{
- static const struct {
- xcb_render_pictforminfo_t templ;
- unsigned long mask;
- } standardFormats[] = {
- /* XCB_PICT_STANDARD_ARGB_32 */
- {
- {
- 0, /* id */
- XCB_RENDER_PICT_TYPE_DIRECT, /* type */
- 32, /* depth */
- { 0 }, /* pad */
- { /* direct */
- 16, /* direct.red */
- 0xff, /* direct.red_mask */
- 8, /* direct.green */
- 0xff, /* direct.green_mask */
- 0, /* direct.blue */
- 0xff, /* direct.blue_mask */
- 24, /* direct.alpha */
- 0xff, /* direct.alpha_mask */
- },
- 0, /* colormap */
- },
- XCB_PICT_FORMAT_TYPE |
- XCB_PICT_FORMAT_DEPTH |
- XCB_PICT_FORMAT_RED |
- XCB_PICT_FORMAT_RED_MASK |
- XCB_PICT_FORMAT_GREEN |
- XCB_PICT_FORMAT_GREEN_MASK |
- XCB_PICT_FORMAT_BLUE |
- XCB_PICT_FORMAT_BLUE_MASK |
- XCB_PICT_FORMAT_ALPHA |
- XCB_PICT_FORMAT_ALPHA_MASK,
- },
- /* XCB_PICT_STANDARD_RGB_24 */
- {
- {
- 0, /* id */
- XCB_RENDER_PICT_TYPE_DIRECT, /* type */
- 24, /* depth */
- { 0 }, /* pad */
- { /* direct */
- 16, /* direct.red */
- 0xff, /* direct.red_MASK */
- 8, /* direct.green */
- 0xff, /* direct.green_MASK */
- 0, /* direct.blue */
- 0xff, /* direct.blue_MASK */
- 0, /* direct.alpha */
- 0x00, /* direct.alpha_MASK */
- },
- 0, /* colormap */
- },
- XCB_PICT_FORMAT_TYPE |
- XCB_PICT_FORMAT_DEPTH |
- XCB_PICT_FORMAT_RED |
- XCB_PICT_FORMAT_RED_MASK |
- XCB_PICT_FORMAT_GREEN |
- XCB_PICT_FORMAT_GREEN_MASK |
- XCB_PICT_FORMAT_BLUE |
- XCB_PICT_FORMAT_BLUE_MASK |
- XCB_PICT_FORMAT_ALPHA_MASK,
- },
- /* XCB_PICT_STANDARD_A_8 */
- {
- {
- 0, /* id */
- XCB_RENDER_PICT_TYPE_DIRECT, /* type */
- 8, /* depth */
- { 0 }, /* pad */
- { /* direct */
- 0, /* direct.red */
- 0x00, /* direct.red_MASK */
- 0, /* direct.green */
- 0x00, /* direct.green_MASK */
- 0, /* direct.blue */
- 0x00, /* direct.blue_MASK */
- 0, /* direct.alpha */
- 0xff, /* direct.alpha_MASK */
- },
- 0, /* colormap */
- },
- XCB_PICT_FORMAT_TYPE |
- XCB_PICT_FORMAT_DEPTH |
- XCB_PICT_FORMAT_RED_MASK |
- XCB_PICT_FORMAT_GREEN_MASK |
- XCB_PICT_FORMAT_BLUE_MASK |
- XCB_PICT_FORMAT_ALPHA |
- XCB_PICT_FORMAT_ALPHA_MASK,
- },
- /* XCB_PICT_STANDARD_A_4 */
- {
- {
- 0, /* id */
- XCB_RENDER_PICT_TYPE_DIRECT, /* type */
- 4, /* depth */
- { 0 }, /* pad */
- { /* direct */
- 0, /* direct.red */
- 0x00, /* direct.red_MASK */
- 0, /* direct.green */
- 0x00, /* direct.green_MASK */
- 0, /* direct.blue */
- 0x00, /* direct.blue_MASK */
- 0, /* direct.alpha */
- 0x0f, /* direct.alpha_MASK */
- },
- 0, /* colormap */
- },
- XCB_PICT_FORMAT_TYPE |
- XCB_PICT_FORMAT_DEPTH |
- XCB_PICT_FORMAT_RED_MASK |
- XCB_PICT_FORMAT_GREEN_MASK |
- XCB_PICT_FORMAT_BLUE_MASK |
- XCB_PICT_FORMAT_ALPHA |
- XCB_PICT_FORMAT_ALPHA_MASK,
- },
- /* XCB_PICT_STANDARD_A_1 */
- {
- {
- 0, /* id */
- XCB_RENDER_PICT_TYPE_DIRECT, /* type */
- 1, /* depth */
- { 0 }, /* pad */
- { /* direct */
- 0, /* direct.red */
- 0x00, /* direct.red_MASK */
- 0, /* direct.green */
- 0x00, /* direct.green_MASK */
- 0, /* direct.blue */
- 0x00, /* direct.blue_MASK */
- 0, /* direct.alpha */
- 0x01, /* direct.alpha_MASK */
- },
- 0, /* colormap */
- },
- XCB_PICT_FORMAT_TYPE |
- XCB_PICT_FORMAT_DEPTH |
- XCB_PICT_FORMAT_RED_MASK |
- XCB_PICT_FORMAT_GREEN_MASK |
- XCB_PICT_FORMAT_BLUE_MASK |
- XCB_PICT_FORMAT_ALPHA |
- XCB_PICT_FORMAT_ALPHA_MASK,
- },
- };
-
- if (format < 0 || format >= sizeof(standardFormats) / sizeof(*standardFormats))
- return 0;
-
- return xcb_render_util_find_format (formats,
- standardFormats[format].mask,
- &standardFormats[format].templ,
- 0);
-}
diff --git a/src/3rdparty/xcb/xcb-util-wm/icccm.c b/src/3rdparty/xcb/xcb-util-wm/icccm.c
deleted file mode 100644
index ed623d08d1..0000000000
--- a/src/3rdparty/xcb/xcb-util-wm/icccm.c
+++ /dev/null
@@ -1,845 +0,0 @@
-/*
- * Copyright © 2008 Arnaud Fontaine <arnau@debian.org>
- * Copyright © 2007-2008 Vincent Torri <vtorri@univ-evry.fr>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or
- * their institutions shall not be used in advertising or otherwise to
- * promote the sale, use or other dealings in this Software without
- * prior written authorization from the authors.
- */
-
-#include <stdlib.h>
-#include <limits.h>
-#include <string.h>
-
-#include <xcb/xcb.h>
-
-#include "xcb_icccm.h"
-
-xcb_get_property_cookie_t
-xcb_icccm_get_text_property(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t property)
-{
- return xcb_get_property(c, 0, window, property, XCB_GET_PROPERTY_TYPE_ANY, 0, UINT_MAX);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_text_property_unchecked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t property)
-{
- return xcb_get_property_unchecked(c, 0, window, property, XCB_GET_PROPERTY_TYPE_ANY, 0, UINT_MAX);
-}
-
-uint8_t
-xcb_icccm_get_text_property_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_text_property_reply_t *prop,
- xcb_generic_error_t **e)
-{
- xcb_get_property_reply_t *reply = xcb_get_property_reply(c, cookie, e);
-
- if(!reply || reply->type == XCB_NONE) {
- free(reply);
- return 0;
- }
-
- prop->_reply = reply;
- prop->encoding = prop->_reply->type;
- prop->format = prop->_reply->format;
- prop->name_len = xcb_get_property_value_length(prop->_reply);
- prop->name = xcb_get_property_value(prop->_reply);
-
- return 1;
-}
-
-void
-xcb_icccm_get_text_property_reply_wipe(xcb_icccm_get_text_property_reply_t *prop)
-{
- free(prop->_reply);
-}
-
-/* WM_NAME */
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_name_checked(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t encoding, uint8_t format,
- uint32_t name_len, const char *name)
-{
- return xcb_change_property_checked(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_NAME, encoding, format,
- name_len, name);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_name(xcb_connection_t *c, xcb_window_t window, xcb_atom_t encoding,
- uint8_t format, uint32_t name_len, const char *name)
-{
- return xcb_change_property(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_NAME, encoding, format, name_len,
- name);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_name(xcb_connection_t *c,
- xcb_window_t window)
-{
- return xcb_icccm_get_text_property(c, window, XCB_ATOM_WM_NAME);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_name_unchecked(xcb_connection_t *c,
- xcb_window_t window)
-{
- return xcb_icccm_get_text_property_unchecked(c, window, XCB_ATOM_WM_NAME);
-}
-
-uint8_t
-xcb_icccm_get_wm_name_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_text_property_reply_t *prop,
- xcb_generic_error_t **e)
-{
- return xcb_icccm_get_text_property_reply(c, cookie, prop, e);
-}
-
-/* WM_ICON_NAME */
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_icon_name_checked(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t encoding, uint8_t format,
- uint32_t name_len, const char *name)
-{
- return xcb_change_property_checked(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_ICON_NAME, encoding, format,
- name_len, name);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_icon_name(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t encoding, uint8_t format, uint32_t name_len,
- const char *name)
-{
- return xcb_change_property(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_ICON_NAME, encoding, format,
- name_len, name);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_icon_name(xcb_connection_t *c,
- xcb_window_t window)
-{
- return xcb_icccm_get_text_property(c, window, XCB_ATOM_WM_ICON_NAME);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_icon_name_unchecked(xcb_connection_t *c,
- xcb_window_t window)
-{
- return xcb_icccm_get_text_property_unchecked(c, window, XCB_ATOM_WM_ICON_NAME);
-}
-
-uint8_t
-xcb_icccm_get_wm_icon_name_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_text_property_reply_t *prop,
- xcb_generic_error_t **e)
-{
- return xcb_icccm_get_text_property_reply(c, cookie, prop, e);
-}
-
-/* WM_COLORMAP_WINDOWS */
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_colormap_windows_checked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_colormap_windows_atom,
- uint32_t list_len,
- const xcb_window_t *list)
-{
- return xcb_change_property_checked(c, XCB_PROP_MODE_REPLACE, window,
- wm_colormap_windows_atom, XCB_ATOM_WINDOW,
- 32, list_len, list);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_colormap_windows(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_colormap_windows_atom,
- uint32_t list_len,
- const xcb_atom_t *list)
-{
- return xcb_change_property(c, XCB_PROP_MODE_REPLACE, window,
- wm_colormap_windows_atom, XCB_ATOM_WINDOW, 32,
- list_len, list);
-}
-
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_colormap_windows(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_colormap_windows_atom )
-{
- return xcb_get_property(c, 0, window, wm_colormap_windows_atom,
- XCB_ATOM_WINDOW, 0, UINT_MAX);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_colormap_windows_unchecked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_colormap_windows_atom)
-{
- return xcb_get_property_unchecked(c, 0, window, wm_colormap_windows_atom,
- XCB_ATOM_WINDOW, 0, UINT_MAX);
-}
-
-uint8_t
-xcb_icccm_get_wm_colormap_windows_from_reply(xcb_get_property_reply_t *reply,
- xcb_icccm_get_wm_colormap_windows_reply_t *colormap_windows)
-{
- if(!reply || reply->type != XCB_ATOM_WINDOW || reply->format != 32)
- return 0;
-
- colormap_windows->_reply = reply;
- colormap_windows->windows_len = xcb_get_property_value_length(colormap_windows->_reply) / (reply->format / 8);
- colormap_windows->windows = (xcb_window_t *) xcb_get_property_value(colormap_windows->_reply);
-
- return 1;
-}
-
-uint8_t
-xcb_icccm_get_wm_colormap_windows_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_wm_colormap_windows_reply_t *colormap_windows,
- xcb_generic_error_t **e)
-{
- xcb_get_property_reply_t *reply = xcb_get_property_reply(c, cookie, e);
- uint8_t ret = xcb_icccm_get_wm_colormap_windows_from_reply(reply, colormap_windows);
- if(!ret)
- free(reply);
- return ret;
-}
-
-void
-xcb_icccm_get_wm_colormap_windows_reply_wipe(xcb_icccm_get_wm_colormap_windows_reply_t *colormap_windows)
-{
- free(colormap_windows->_reply);
-}
-
-/* WM_CLIENT_MACHINE */
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_client_machine_checked(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t encoding, uint8_t format,
- uint32_t name_len, const char *name)
-{
- return xcb_change_property_checked(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_CLIENT_MACHINE, encoding,
- format, name_len, name);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_client_machine(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t encoding, uint8_t format,
- uint32_t name_len, const char *name)
-{
- return xcb_change_property(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_CLIENT_MACHINE, encoding, format,
- name_len, name);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_client_machine(xcb_connection_t *c,
- xcb_window_t window)
-{
- return xcb_icccm_get_text_property(c, window, XCB_ATOM_WM_CLIENT_MACHINE);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_client_machine_unchecked(xcb_connection_t *c,
- xcb_window_t window)
-{
- return xcb_icccm_get_text_property_unchecked(c, window, XCB_ATOM_WM_CLIENT_MACHINE);
-}
-
-uint8_t
-xcb_icccm_get_wm_client_machine_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_text_property_reply_t *prop,
- xcb_generic_error_t **e)
-{
- return xcb_icccm_get_text_property_reply(c, cookie, prop, e);
-}
-
-/* WM_CLASS */
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_class_checked(xcb_connection_t *c,
- xcb_window_t window,
- uint32_t class_len,
- const char *class)
-{
- return xcb_change_property_checked(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_CLASS, XCB_ATOM_STRING, 8,
- class_len, class);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_class(xcb_connection_t *c,
- xcb_window_t window,
- uint32_t class_len,
- const char *class)
-{
- return xcb_change_property(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_CLASS, XCB_ATOM_STRING, 8,
- class_len, class);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_class(xcb_connection_t *c, xcb_window_t window)
-{
- return xcb_get_property(c, 0, window, XCB_ATOM_WM_CLASS, XCB_ATOM_STRING, 0L, 2048L);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_class_unchecked(xcb_connection_t *c, xcb_window_t window)
-{
- return xcb_get_property_unchecked(c, 0, window, XCB_ATOM_WM_CLASS, XCB_ATOM_STRING, 0L, 2048L);
-}
-
-uint8_t
-xcb_icccm_get_wm_class_from_reply(xcb_icccm_get_wm_class_reply_t *prop,
- xcb_get_property_reply_t *reply)
-{
- if(!reply || reply->type != XCB_ATOM_STRING || reply->format != 8)
- return 0;
-
- prop->_reply = reply;
- prop->instance_name = (char *) xcb_get_property_value(prop->_reply);
-
- int len = xcb_get_property_value_length(prop->_reply);
- /* Ensure there's a C end-of-string at the end of the property.
- Truncate the property if necessary (the spec says there's already
- a 0 in the last position, so this only hurts invalid props). */
- if(len < reply->length * 4)
- prop->instance_name[len] = 0;
- else
- prop->instance_name[len-1] = 0;
-
- int name_len = strlen(prop->instance_name);
- if(name_len == len)
- name_len--;
-
- prop->class_name = prop->instance_name + name_len + 1;
-
- return 1;
-}
-
-uint8_t
-xcb_icccm_get_wm_class_reply(xcb_connection_t *c, xcb_get_property_cookie_t cookie,
- xcb_icccm_get_wm_class_reply_t *prop, xcb_generic_error_t **e)
-{
- xcb_get_property_reply_t *reply = xcb_get_property_reply(c, cookie, e);
- uint8_t ret = xcb_icccm_get_wm_class_from_reply(prop, reply);
- /* if reply parsing failed, free the reply to avoid mem leak */
- if(!ret)
- free(reply);
- return ret;
-}
-
-void
-xcb_icccm_get_wm_class_reply_wipe(xcb_icccm_get_wm_class_reply_t *prop)
-{
- free(prop->_reply);
-}
-
-/* WM_TRANSIENT_FOR */
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_transient_for_checked(xcb_connection_t *c, xcb_window_t window,
- xcb_window_t transient_for_window)
-{
- return xcb_change_property_checked(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_TRANSIENT_FOR,
- XCB_ATOM_WINDOW, 32, 1,
- &transient_for_window);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_transient_for(xcb_connection_t *c, xcb_window_t window,
- xcb_window_t transient_for_window)
-{
- return xcb_change_property(c, XCB_PROP_MODE_REPLACE, window,
- XCB_ATOM_WM_TRANSIENT_FOR, XCB_ATOM_WINDOW, 32,
- 1, &transient_for_window);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_transient_for(xcb_connection_t *c, xcb_window_t window)
-{
- return xcb_get_property(c, 0, window, XCB_ATOM_WM_TRANSIENT_FOR, XCB_ATOM_WINDOW, 0, 1);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_transient_for_unchecked(xcb_connection_t *c, xcb_window_t window)
-{
- return xcb_get_property_unchecked(c, 0, window, XCB_ATOM_WM_TRANSIENT_FOR, XCB_ATOM_WINDOW, 0, 1);
-}
-
-uint8_t
-xcb_icccm_get_wm_transient_for_from_reply(xcb_window_t *prop,
- xcb_get_property_reply_t *reply)
-{
- if(!reply || reply->type != XCB_ATOM_WINDOW || reply->format != 32 || !reply->length)
- return 0;
-
- *prop = *((xcb_window_t *) xcb_get_property_value(reply));
-
- return 1;
-}
-
-uint8_t
-xcb_icccm_get_wm_transient_for_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_window_t *prop,
- xcb_generic_error_t **e)
-{
- xcb_get_property_reply_t *reply = xcb_get_property_reply(c, cookie, e);
- uint8_t ret = xcb_icccm_get_wm_transient_for_from_reply(prop, reply);
- free(reply);
- return ret;
-}
-
-/* WM_SIZE_HINTS */
-
-void
-xcb_icccm_size_hints_set_position(xcb_size_hints_t *hints, int user_specified,
- int32_t x, int32_t y)
-{
- hints->flags &= ~(XCB_ICCCM_SIZE_HINT_US_POSITION | XCB_ICCCM_SIZE_HINT_P_POSITION);
- if (user_specified)
- hints->flags |= XCB_ICCCM_SIZE_HINT_US_POSITION;
- else
- hints->flags |= XCB_ICCCM_SIZE_HINT_P_POSITION;
- hints->x = x;
- hints->y = y;
-}
-
-void
-xcb_icccm_size_hints_set_size(xcb_size_hints_t *hints, int user_specified,
- int32_t width, int32_t height)
-{
- hints->flags &= ~(XCB_ICCCM_SIZE_HINT_US_SIZE | XCB_ICCCM_SIZE_HINT_P_SIZE);
- if (user_specified)
- hints->flags |= XCB_ICCCM_SIZE_HINT_US_SIZE;
- else
- hints->flags |= XCB_ICCCM_SIZE_HINT_P_SIZE;
- hints->width = width;
- hints->height = height;
-}
-
-void
-xcb_icccm_size_hints_set_min_size(xcb_size_hints_t *hints, int32_t min_width,
- int32_t min_height)
-{
- hints->flags |= XCB_ICCCM_SIZE_HINT_P_MIN_SIZE;
- hints->min_width = min_width;
- hints->min_height = min_height;
-}
-
-void
-xcb_icccm_size_hints_set_max_size(xcb_size_hints_t *hints, int32_t max_width,
- int32_t max_height)
-{
- hints->flags |= XCB_ICCCM_SIZE_HINT_P_MAX_SIZE;
- hints->max_width = max_width;
- hints->max_height = max_height;
-}
-
-void
-xcb_icccm_size_hints_set_resize_inc(xcb_size_hints_t *hints, int32_t width_inc,
- int32_t height_inc)
-{
- hints->flags |= XCB_ICCCM_SIZE_HINT_P_RESIZE_INC;
- hints->width_inc = width_inc;
- hints->height_inc = height_inc;
-}
-
-void
-xcb_icccm_size_hints_set_aspect(xcb_size_hints_t *hints, int32_t min_aspect_num,
- int32_t min_aspect_den, int32_t max_aspect_num,
- int32_t max_aspect_den)
-{
- hints->flags |= XCB_ICCCM_SIZE_HINT_P_ASPECT;
- hints->min_aspect_num = min_aspect_num;
- hints->min_aspect_den = min_aspect_den;
- hints->max_aspect_num = max_aspect_num;
- hints->max_aspect_den = max_aspect_den;
-}
-
-void
-xcb_icccm_size_hints_set_base_size(xcb_size_hints_t *hints, int32_t base_width,
- int32_t base_height)
-{
- hints->flags |= XCB_ICCCM_SIZE_HINT_BASE_SIZE;
- hints->base_width = base_width;
- hints->base_height = base_height;
-}
-
-void
-xcb_icccm_size_hints_set_win_gravity(xcb_size_hints_t *hints, xcb_gravity_t win_gravity)
-{
- hints->flags |= XCB_ICCCM_SIZE_HINT_P_WIN_GRAVITY;
- hints->win_gravity = win_gravity;
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_size_hints_checked(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t property, xcb_size_hints_t *hints)
-{
- return xcb_change_property_checked(c, XCB_PROP_MODE_REPLACE, window, property,
- XCB_ATOM_WM_SIZE_HINTS, 32, sizeof(*hints) >> 2,
- hints);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_size_hints(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t property, xcb_size_hints_t *hints)
-{
- return xcb_change_property(c, XCB_PROP_MODE_REPLACE, window, property,
- XCB_ATOM_WM_SIZE_HINTS, 32, sizeof(*hints) >> 2, hints);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_size_hints(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t property)
-{
- return xcb_get_property(c, 0, window, property, XCB_ATOM_WM_SIZE_HINTS, 0L, XCB_ICCCM_NUM_WM_SIZE_HINTS_ELEMENTS);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_size_hints_unchecked(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t property)
-{
- return xcb_get_property_unchecked(c, 0, window, property, XCB_ATOM_WM_SIZE_HINTS,
- 0L, XCB_ICCCM_NUM_WM_SIZE_HINTS_ELEMENTS);
-}
-
-uint8_t
-xcb_icccm_get_wm_size_hints_from_reply(xcb_size_hints_t *hints, xcb_get_property_reply_t *reply)
-{
- uint32_t flags;
- int length;
-
- if(!reply)
- return 0;
-
- if (!(reply->type == XCB_ATOM_WM_SIZE_HINTS &&
- reply->format == 32))
- return 0;
-
- length = xcb_get_property_value_length(reply) / (reply->format / 8);
-
- if(length > XCB_ICCCM_NUM_WM_SIZE_HINTS_ELEMENTS)
- length = XCB_ICCCM_NUM_WM_SIZE_HINTS_ELEMENTS;
-
- memcpy(hints, (xcb_size_hints_t *) xcb_get_property_value (reply),
- length * (reply->format / 8));
-
- flags = (XCB_ICCCM_SIZE_HINT_US_POSITION | XCB_ICCCM_SIZE_HINT_US_SIZE |
- XCB_ICCCM_SIZE_HINT_P_POSITION | XCB_ICCCM_SIZE_HINT_P_SIZE |
- XCB_ICCCM_SIZE_HINT_P_MIN_SIZE | XCB_ICCCM_SIZE_HINT_P_MAX_SIZE |
- XCB_ICCCM_SIZE_HINT_P_RESIZE_INC | XCB_ICCCM_SIZE_HINT_P_ASPECT);
-
- /* NumPropSizeElements = 18 (ICCCM version 1) */
- if(length >= 18)
- flags |= (XCB_ICCCM_SIZE_HINT_BASE_SIZE | XCB_ICCCM_SIZE_HINT_P_WIN_GRAVITY);
- else
- {
- hints->base_width = 0;
- hints->base_height = 0;
- hints->win_gravity = 0;
- }
- /* get rid of unwanted bits */
- hints->flags &= flags;
-
- return 1;
-}
-
-uint8_t
-xcb_icccm_get_wm_size_hints_reply(xcb_connection_t *c, xcb_get_property_cookie_t cookie,
- xcb_size_hints_t *hints, xcb_generic_error_t **e)
-{
- xcb_get_property_reply_t *reply = xcb_get_property_reply(c, cookie, e);
- uint8_t ret = xcb_icccm_get_wm_size_hints_from_reply(hints, reply);
- free(reply);
- return ret;
-}
-
-/* WM_NORMAL_HINTS */
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_normal_hints_checked(xcb_connection_t *c, xcb_window_t window,
- xcb_size_hints_t *hints)
-{
- return xcb_icccm_set_wm_size_hints_checked(c, window, XCB_ATOM_WM_NORMAL_HINTS, hints);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_normal_hints(xcb_connection_t *c, xcb_window_t window,
- xcb_size_hints_t *hints)
-{
- return xcb_icccm_set_wm_size_hints(c, window, XCB_ATOM_WM_NORMAL_HINTS, hints);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_normal_hints(xcb_connection_t *c, xcb_window_t window)
-{
- return xcb_icccm_get_wm_size_hints(c, window, XCB_ATOM_WM_NORMAL_HINTS);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_normal_hints_unchecked(xcb_connection_t *c, xcb_window_t window)
-{
- return xcb_icccm_get_wm_size_hints_unchecked(c, window, XCB_ATOM_WM_NORMAL_HINTS);
-}
-
-uint8_t
-xcb_icccm_get_wm_normal_hints_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_size_hints_t *hints,
- xcb_generic_error_t **e)
-{
- return xcb_icccm_get_wm_size_hints_reply(c, cookie, hints, e);
-}
-
-/* WM_HINTS */
-
-uint32_t
-xcb_icccm_wm_hints_get_urgency(xcb_icccm_wm_hints_t *hints)
-{
- return (hints->flags & XCB_ICCCM_WM_HINT_X_URGENCY);
-}
-
-void
-xcb_icccm_wm_hints_set_input(xcb_icccm_wm_hints_t *hints, uint8_t input)
-{
- hints->input = input;
- hints->flags |= XCB_ICCCM_WM_HINT_INPUT;
-}
-
-void
-xcb_icccm_wm_hints_set_iconic(xcb_icccm_wm_hints_t *hints)
-{
- hints->initial_state = XCB_ICCCM_WM_STATE_ICONIC;
- hints->flags |= XCB_ICCCM_WM_HINT_STATE;
-}
-
-void
-xcb_icccm_wm_hints_set_normal(xcb_icccm_wm_hints_t *hints)
-{
- hints->initial_state = XCB_ICCCM_WM_STATE_NORMAL;
- hints->flags |= XCB_ICCCM_WM_HINT_STATE;
-}
-
-void
-xcb_icccm_wm_hints_set_withdrawn(xcb_icccm_wm_hints_t *hints)
-{
- hints->initial_state = XCB_ICCCM_WM_STATE_WITHDRAWN;
- hints->flags |= XCB_ICCCM_WM_HINT_STATE;
-}
-
-void
-xcb_icccm_wm_hints_set_none(xcb_icccm_wm_hints_t *hints)
-{
- hints->flags &= ~XCB_ICCCM_WM_HINT_STATE;
-}
-
-void
-xcb_icccm_wm_hints_set_icon_pixmap(xcb_icccm_wm_hints_t *hints, xcb_pixmap_t icon_pixmap)
-{
- hints->icon_pixmap = icon_pixmap;
- hints->flags |= XCB_ICCCM_WM_HINT_ICON_PIXMAP;
-}
-
-void
-xcb_icccm_wm_hints_set_icon_mask(xcb_icccm_wm_hints_t *hints, xcb_pixmap_t icon_mask)
-{
- hints->icon_mask = icon_mask;
- hints->flags |= XCB_ICCCM_WM_HINT_ICON_MASK;
-}
-
-void
-xcb_icccm_wm_hints_set_icon_window(xcb_icccm_wm_hints_t *hints, xcb_window_t icon_window)
-{
- hints->icon_window = icon_window;
- hints->flags |= XCB_ICCCM_WM_HINT_ICON_WINDOW;
-}
-
-void
-xcb_icccm_wm_hints_set_window_group(xcb_icccm_wm_hints_t *hints, xcb_window_t window_group)
-{
- hints->window_group = window_group;
- hints->flags |= XCB_ICCCM_WM_HINT_WINDOW_GROUP;
-}
-
-void
-xcb_icccm_wm_hints_set_urgency(xcb_icccm_wm_hints_t *hints)
-{
- hints->flags |= XCB_ICCCM_WM_HINT_X_URGENCY;
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_hints_checked(xcb_connection_t *c, xcb_window_t window,
- xcb_icccm_wm_hints_t *hints)
-{
- return xcb_change_property_checked(c, XCB_PROP_MODE_REPLACE, window, XCB_ATOM_WM_HINTS,
- XCB_ATOM_WM_HINTS, 32, sizeof(*hints) >> 2, hints);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_hints(xcb_connection_t *c, xcb_window_t window,
- xcb_icccm_wm_hints_t *hints)
-{
- return xcb_change_property(c, XCB_PROP_MODE_REPLACE, window, XCB_ATOM_WM_HINTS,
- XCB_ATOM_WM_HINTS, 32, sizeof(*hints) >> 2, hints);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_hints(xcb_connection_t *c,
- xcb_window_t window)
-{
- return xcb_get_property(c, 0, window, XCB_ATOM_WM_HINTS, XCB_ATOM_WM_HINTS, 0L,
- XCB_ICCCM_NUM_WM_HINTS_ELEMENTS);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_hints_unchecked(xcb_connection_t *c,
- xcb_window_t window)
-{
- return xcb_get_property_unchecked(c, 0, window, XCB_ATOM_WM_HINTS, XCB_ATOM_WM_HINTS, 0L,
- XCB_ICCCM_NUM_WM_HINTS_ELEMENTS);
-}
-
-uint8_t
-xcb_icccm_get_wm_hints_from_reply(xcb_icccm_wm_hints_t *hints,
- xcb_get_property_reply_t *reply)
-{
- if(!reply || reply->type != XCB_ATOM_WM_HINTS || reply->format != 32)
- return 0;
-
- int length = xcb_get_property_value_length(reply);
- int num_elem = length / (reply->format / 8);
-
- if(num_elem < XCB_ICCCM_NUM_WM_HINTS_ELEMENTS - 1)
- return 0;
-
- if(length > sizeof(xcb_size_hints_t))
- length = sizeof(xcb_size_hints_t);
-
- memcpy(hints, (xcb_size_hints_t *) xcb_get_property_value(reply), length);
-
- if(num_elem < XCB_ICCCM_NUM_WM_HINTS_ELEMENTS)
- hints->window_group = XCB_NONE;
-
- return 1;
-}
-
-uint8_t
-xcb_icccm_get_wm_hints_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_wm_hints_t *hints,
- xcb_generic_error_t **e)
-{
- xcb_get_property_reply_t *reply = xcb_get_property_reply(c, cookie, e);
- int ret = xcb_icccm_get_wm_hints_from_reply(hints, reply);
- free(reply);
- return ret;
-}
-
-/* WM_PROTOCOLS */
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_protocols_checked(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t wm_protocols, uint32_t list_len,
- xcb_atom_t *list)
-{
- return xcb_change_property_checked(c, XCB_PROP_MODE_REPLACE, window,
- wm_protocols, XCB_ATOM_ATOM, 32, list_len, list);
-}
-
-xcb_void_cookie_t
-xcb_icccm_set_wm_protocols(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t wm_protocols, uint32_t list_len, xcb_atom_t *list)
-{
- return xcb_change_property(c, XCB_PROP_MODE_REPLACE, window, wm_protocols,
- XCB_ATOM_ATOM, 32, list_len, list);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_protocols(xcb_connection_t *c, xcb_window_t window,
- xcb_atom_t wm_protocol_atom)
-{
- return xcb_get_property(c, 0, window, wm_protocol_atom, XCB_ATOM_ATOM, 0, UINT_MAX);
-}
-
-xcb_get_property_cookie_t
-xcb_icccm_get_wm_protocols_unchecked(xcb_connection_t *c,
- xcb_window_t window,
- xcb_atom_t wm_protocol_atom)
-{
- return xcb_get_property_unchecked(c, 0, window, wm_protocol_atom, XCB_ATOM_ATOM, 0,
- UINT_MAX);
-}
-
-uint8_t
-xcb_icccm_get_wm_protocols_from_reply(xcb_get_property_reply_t *reply, xcb_icccm_get_wm_protocols_reply_t *protocols)
-{
- if(!reply || reply->type != XCB_ATOM_ATOM || reply->format != 32)
- return 0;
-
- protocols->_reply = reply;
- protocols->atoms_len = xcb_get_property_value_length(protocols->_reply) / (reply->format / 8);
- protocols->atoms = (xcb_atom_t *) xcb_get_property_value(protocols->_reply);
-
- return 1;
-}
-
-uint8_t
-xcb_icccm_get_wm_protocols_reply(xcb_connection_t *c,
- xcb_get_property_cookie_t cookie,
- xcb_icccm_get_wm_protocols_reply_t *protocols,
- xcb_generic_error_t **e)
-{
- xcb_get_property_reply_t *reply = xcb_get_property_reply(c, cookie, e);
- uint8_t ret = xcb_icccm_get_wm_protocols_from_reply(reply, protocols);
- if(!ret)
- free(reply);
- return ret;
-}
-
-void
-xcb_icccm_get_wm_protocols_reply_wipe(xcb_icccm_get_wm_protocols_reply_t *protocols)
-{
- free(protocols->_reply);
-}
diff --git a/src/3rdparty/xcb/xcb-util/atoms.c b/src/3rdparty/xcb/xcb-util/atoms.c
deleted file mode 100644
index 7b3aec6c0e..0000000000
--- a/src/3rdparty/xcb/xcb-util/atoms.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Rely on vasprintf (GNU extension) instead of vsnprintf if
- possible... */
-#ifdef HAVE_VASPRINTF
-#define _GNU_SOURCE
-#include <stdio.h>
-#endif
-
-#include <xcb/xcb.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include "xcb_atom.h"
-
-static char *makename(const char *fmt, ...)
-{
- char *ret;
- int n;
- va_list ap;
-
-#ifndef HAVE_VASPRINTF
- char *np;
- int size = 64;
-
- /* First allocate 'size' bytes, should be enough usually */
- if((ret = malloc(size)) == NULL)
- return NULL;
-
- while(1)
- {
- va_start(ap, fmt);
- n = vsnprintf(ret, size, fmt, ap);
- va_end(ap);
-
- if(n < 0)
- return NULL;
-
- if(n < size)
- return ret;
-
- size = n + 1;
- if((np = realloc(ret, size)) == NULL)
- {
- free(ret);
- return NULL;
- }
-
- ret = np;
- }
-#else
- va_start(ap, fmt);
- n = vasprintf(&ret, fmt, ap);
- va_end(ap);
-
- if(n < 0)
- return NULL;
-
- return ret;
-#endif
-}
-
-char *xcb_atom_name_by_screen(const char *base, uint8_t screen)
-{
- return makename("%s_S%u", base, screen);
-}
-
-char *xcb_atom_name_by_resource(const char *base, uint32_t resource)
-{
- return makename("%s_R%08X", base, resource);
-}
-
-char *xcb_atom_name_unique(const char *base, uint32_t id)
-{
- if(base)
- return makename("%s_U%lu", base, id);
- else
- return makename("U%lu", id);
-}
diff --git a/src/3rdparty/xcb/xcb-util/event.c b/src/3rdparty/xcb/xcb-util/event.c
deleted file mode 100644
index de8899adcd..0000000000
--- a/src/3rdparty/xcb/xcb-util/event.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * Copyright © 2008-2009 Julien Danjou <julien@danjou.info>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or
- * their institutions shall not be used in advertising or otherwise to
- * promote the sale, use or other dealings in this Software without
- * prior written authorization from the authors.
- */
-
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "xcb_event.h"
-
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#define ssizeof(foo) (ssize_t)sizeof(foo)
-#define countof(foo) (ssizeof(foo) / ssizeof(foo[0]))
-
-static const char *labelError[] =
-{
- "Success",
- "BadRequest",
- "BadValue",
- "BadWindow",
- "BadPixmap",
- "BadAtom",
- "BadCursor",
- "BadFont",
- "BadMatch",
- "BadDrawable",
- "BadAccess",
- "BadAlloc",
- "BadColor",
- "BadGC",
- "BadIDChoice",
- "BadName",
- "BadLength",
- "BadImplementation",
-};
-
-static const char *labelRequest[] =
-{
- "no request",
- "CreateWindow",
- "ChangeWindowAttributes",
- "GetWindowAttributes",
- "DestroyWindow",
- "DestroySubwindows",
- "ChangeSaveSet",
- "ReparentWindow",
- "MapWindow",
- "MapSubwindows",
- "UnmapWindow",
- "UnmapSubwindows",
- "ConfigureWindow",
- "CirculateWindow",
- "GetGeometry",
- "QueryTree",
- "InternAtom",
- "GetAtomName",
- "ChangeProperty",
- "DeleteProperty",
- "GetProperty",
- "ListProperties",
- "SetSelectionOwner",
- "GetSelectionOwner",
- "ConvertSelection",
- "SendEvent",
- "GrabPointer",
- "UngrabPointer",
- "GrabButton",
- "UngrabButton",
- "ChangeActivePointerGrab",
- "GrabKeyboard",
- "UngrabKeyboard",
- "GrabKey",
- "UngrabKey",
- "AllowEvents",
- "GrabServer",
- "UngrabServer",
- "QueryPointer",
- "GetMotionEvents",
- "TranslateCoords",
- "WarpPointer",
- "SetInputFocus",
- "GetInputFocus",
- "QueryKeymap",
- "OpenFont",
- "CloseFont",
- "QueryFont",
- "QueryTextExtents",
- "ListFonts",
- "ListFontsWithInfo",
- "SetFontPath",
- "GetFontPath",
- "CreatePixmap",
- "FreePixmap",
- "CreateGC",
- "ChangeGC",
- "CopyGC",
- "SetDashes",
- "SetClipRectangles",
- "FreeGC",
- "ClearArea",
- "CopyArea",
- "CopyPlane",
- "PolyPoint",
- "PolyLine",
- "PolySegment",
- "PolyRectangle",
- "PolyArc",
- "FillPoly",
- "PolyFillRectangle",
- "PolyFillArc",
- "PutImage",
- "GetImage",
- "PolyText",
- "PolyText",
- "ImageText",
- "ImageText",
- "CreateColormap",
- "FreeColormap",
- "CopyColormapAndFree",
- "InstallColormap",
- "UninstallColormap",
- "ListInstalledColormaps",
- "AllocColor",
- "AllocNamedColor",
- "AllocColorCells",
- "AllocColorPlanes",
- "FreeColors",
- "StoreColors",
- "StoreNamedColor",
- "QueryColors",
- "LookupColor",
- "CreateCursor",
- "CreateGlyphCursor",
- "FreeCursor",
- "RecolorCursor",
- "QueryBestSize",
- "QueryExtension",
- "ListExtensions",
- "ChangeKeyboardMapping",
- "GetKeyboardMapping",
- "ChangeKeyboardControl",
- "GetKeyboardControl",
- "Bell",
- "ChangePointerControl",
- "GetPointerControl",
- "SetScreenSaver",
- "GetScreenSaver",
- "ChangeHosts",
- "ListHosts",
- "SetAccessControl",
- "SetCloseDownMode",
- "KillClient",
- "RotateProperties",
- "ForceScreenSaver",
- "SetPointerMapping",
- "GetPointerMapping",
- "SetModifierMapping",
- "GetModifierMapping",
- "major 120",
- "major 121",
- "major 122",
- "major 123",
- "major 124",
- "major 125",
- "major 126",
- "NoOperation",
-};
-
-static const char *labelEvent[] =
-{
- "error",
- "reply",
- "KeyPress",
- "KeyRelease",
- "ButtonPress",
- "ButtonRelease",
- "MotionNotify",
- "EnterNotify",
- "LeaveNotify",
- "FocusIn",
- "FocusOut",
- "KeymapNotify",
- "Expose",
- "GraphicsExpose",
- "NoExpose",
- "VisibilityNotify",
- "CreateNotify",
- "DestroyNotify",
- "UnmapNotify",
- "MapNotify",
- "MapRequest",
- "ReparentNotify",
- "ConfigureNotify",
- "ConfigureRequest",
- "GravityNotify",
- "ResizeRequest",
- "CirculateNotify",
- "CirculateRequest",
- "PropertyNotify",
- "SelectionClear",
- "SelectionRequest",
- "SelectionNotify",
- "ColormapNotify",
- "ClientMessage",
- "MappingNotify",
-};
-
-const char *
-xcb_event_get_label(uint8_t type)
-{
- if(type < countof(labelEvent))
- return labelEvent[type];
- return NULL;
-}
-
-const char *
-xcb_event_get_error_label(uint8_t type)
-{
- if(type < countof(labelError))
- return labelError[type];
- return NULL;
-}
-
-const char *
-xcb_event_get_request_label(uint8_t type)
-{
- if(type < countof(labelRequest))
- return labelRequest[type];
- return NULL;
-}
diff --git a/src/3rdparty/xcb/xcb-util/xcb_aux.c b/src/3rdparty/xcb/xcb-util/xcb_aux.c
deleted file mode 100644
index c81039885f..0000000000
--- a/src/3rdparty/xcb/xcb-util/xcb_aux.c
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
- * Copyright © 2008 Ian Osgood <iano@quirkster.com>
- * Copyright © 2008 Jamey Sharp <jamey@minilop.net>
- * Copyright © 2008 Josh Triplett <josh@freedesktop.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the names of the authors or
- * their institutions shall not be used in advertising or otherwise to
- * promote the sale, use or other dealings in this Software without
- * prior written authorization from the authors.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <xcb/xcb.h>
-#include "xcb_aux.h"
-
-/* Connection related functions */
-
-uint8_t
-xcb_aux_get_depth (xcb_connection_t *c,
- xcb_screen_t *screen)
-{
- xcb_drawable_t drawable;
- xcb_get_geometry_reply_t *geom;
- int depth = 0;
-
- drawable = screen->root;
- geom = xcb_get_geometry_reply (c, xcb_get_geometry(c, drawable), 0);
-
- if (geom) {
- depth = geom->depth;
- free (geom);
- }
-
- return depth;
-}
-
-uint8_t
-xcb_aux_get_depth_of_visual (xcb_screen_t *screen,
- xcb_visualid_t id)
-{
- xcb_depth_iterator_t i;
- xcb_visualtype_iterator_t j;
- for (i = xcb_screen_allowed_depths_iterator(screen);
- i.rem; xcb_depth_next(&i))
- for (j = xcb_depth_visuals_iterator(i.data);
- j.rem; xcb_visualtype_next(&j))
- if (j.data->visual_id == id)
- return i.data->depth;
- return 0;
-}
-
-xcb_screen_t *
-xcb_aux_get_screen (xcb_connection_t *c,
- int screen)
-{
- xcb_screen_iterator_t i = xcb_setup_roots_iterator(xcb_get_setup(c));
- for (; i.rem; --screen, xcb_screen_next(&i))
- if (screen == 0)
- return i.data;
- return 0;
-}
-
-xcb_visualtype_t *
-xcb_aux_get_visualtype (xcb_connection_t *c,
- int scr,
- xcb_visualid_t vid)
-{
- xcb_screen_t *screen;
- xcb_depth_t *depth;
- xcb_visualtype_iterator_t iter;
- int cur;
-
- screen = xcb_aux_get_screen (c, scr);
- if (!screen) return NULL;
-
- depth = xcb_screen_allowed_depths_iterator(screen).data;
- if (!depth) return NULL;
-
- iter = xcb_depth_visuals_iterator(depth);
- for (cur = 0 ; cur < iter.rem ; xcb_visualtype_next(&iter), ++cur)
- if (vid == iter.data->visual_id)
- return iter.data;
-
- return NULL;
-}
-
-xcb_visualtype_t *
-xcb_aux_find_visual_by_id (xcb_screen_t *screen,
- xcb_visualid_t id)
-{
- xcb_depth_iterator_t i;
- xcb_visualtype_iterator_t j;
- for (i = xcb_screen_allowed_depths_iterator(screen);
- i.rem; xcb_depth_next(&i))
- for (j = xcb_depth_visuals_iterator(i.data);
- j.rem; xcb_visualtype_next(&j))
- if (j.data->visual_id == id)
- return j.data;
- return 0;
-}
-
-xcb_visualtype_t *
-xcb_aux_find_visual_by_attrs (xcb_screen_t *screen,
- int8_t class,
- int8_t depth)
-{
- xcb_depth_iterator_t i;
- xcb_visualtype_iterator_t j;
- for (i = xcb_screen_allowed_depths_iterator(screen);
- i.rem; xcb_depth_next(&i)) {
- if (depth != -1 && i.data->depth != depth)
- continue;
- for (j = xcb_depth_visuals_iterator(i.data);
- j.rem; xcb_visualtype_next(&j))
- if (class == -1 || j.data->_class == class)
- return j.data;
- }
- return 0;
-}
-
-void
-xcb_aux_sync (xcb_connection_t *c)
-{
- free(xcb_get_input_focus_reply(c, xcb_get_input_focus(c), NULL));
-}
-
-/* structs instead of value lists */
-/* TODO: generate the struct types and functions from protocol masks and descriptions */
-
-/* This generic implementation of pack_list depends on:
- a) structs packed to uint32_t size
- b) structs consist of just uint32_t/int32_t fields in the same order as bitmask
-*/
-
-static void
-pack_list( uint32_t mask, const uint32_t *src, uint32_t *dest )
-{
- for ( ; mask; mask >>= 1, src++)
- if (mask & 1)
- *dest++ = *src;
-}
-
-xcb_void_cookie_t
-xcb_aux_create_window (xcb_connection_t *c,
- uint8_t depth,
- xcb_window_t wid,
- xcb_window_t parent,
- int16_t x,
- int16_t y,
- uint16_t width,
- uint16_t height,
- uint16_t border_width,
- uint16_t _class,
- xcb_visualid_t visual,
- uint32_t mask,
- const xcb_params_cw_t *params)
-{
- uint32_t value_list[16];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_create_window(c, depth, wid, parent,
- x, y, width, height, border_width,
- _class, visual, mask, value_list);
-}
-
-xcb_void_cookie_t
-xcb_aux_create_window_checked (xcb_connection_t *c,
- uint8_t depth,
- xcb_window_t wid,
- xcb_window_t parent,
- int16_t x,
- int16_t y,
- uint16_t width,
- uint16_t height,
- uint16_t border_width,
- uint16_t _class,
- xcb_visualid_t visual,
- uint32_t mask,
- const xcb_params_cw_t *params)
-{
- uint32_t value_list[16];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_create_window_checked(c, depth, wid, parent,
- x, y, width, height, border_width,
- _class, visual, mask, value_list);
-}
-
-xcb_void_cookie_t
-xcb_aux_change_window_attributes_checked (xcb_connection_t *c,
- xcb_window_t window,
- uint32_t mask,
- const xcb_params_cw_t *params)
-{
- uint32_t value_list[16];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_change_window_attributes_checked( c, window, mask, value_list );
-}
-
-xcb_void_cookie_t
-xcb_aux_change_window_attributes (xcb_connection_t *c,
- xcb_window_t window,
- uint32_t mask,
- const xcb_params_cw_t *params)
-{
- uint32_t value_list[16];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_change_window_attributes( c, window, mask, value_list );
-}
-
-xcb_void_cookie_t
-xcb_aux_configure_window (xcb_connection_t *c,
- xcb_window_t window,
- uint16_t mask,
- const xcb_params_configure_window_t *params)
-{
- uint32_t value_list[8];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_configure_window( c, window, mask, value_list );
-}
-
-xcb_void_cookie_t
-xcb_aux_create_gc (xcb_connection_t *c,
- xcb_gcontext_t gid,
- xcb_drawable_t drawable,
- uint32_t mask,
- const xcb_params_gc_t *params)
-{
- uint32_t value_list[32];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_create_gc( c, gid, drawable, mask, value_list );
-}
-
-xcb_void_cookie_t
-xcb_aux_create_gc_checked (xcb_connection_t *c,
- xcb_gcontext_t gid,
- xcb_drawable_t drawable,
- uint32_t mask,
- const xcb_params_gc_t *params)
-{
- uint32_t value_list[32];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_create_gc_checked( c, gid, drawable, mask, value_list);
-}
-
-xcb_void_cookie_t
-xcb_aux_change_gc (xcb_connection_t *c,
- xcb_gcontext_t gc,
- uint32_t mask,
- const xcb_params_gc_t *params)
-{
- uint32_t value_list[32];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_change_gc( c, gc, mask, value_list );
-}
-
-xcb_void_cookie_t
-xcb_aux_change_gc_checked (xcb_connection_t *c,
- xcb_gcontext_t gc,
- uint32_t mask,
- const xcb_params_gc_t *params)
-{
- uint32_t value_list[32];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_change_gc_checked( c, gc, mask, value_list );
-}
-
-xcb_void_cookie_t
-xcb_aux_change_keyboard_control (xcb_connection_t *c,
- uint32_t mask,
- const xcb_params_keyboard_t *params)
-{
- uint32_t value_list[16];
- pack_list(mask, (const uint32_t *)params, value_list);
- return xcb_change_keyboard_control( c, mask, value_list );
-}
-
-/* Color related functions */
-
-/* Return true if the given color name can be translated locally,
- in which case load the components. Otherwise, a lookup_color request
- will be needed, so return false. */
-int
-xcb_aux_parse_color(char *color_name,
- uint16_t *red, uint16_t *green, uint16_t *blue)
-{
- int n, r, g, b, i;
- if (!color_name || *color_name != '#')
- return 0;
- /*
- * Excitingly weird RGB parsing code from Xlib.
- */
- n = strlen (color_name);
- color_name++;
- n--;
- if (n != 3 && n != 6 && n != 9 && n != 12)
- return 0;
- n /= 3;
- g = b = 0;
- do {
- r = g;
- g = b;
- b = 0;
- for (i = n; --i >= 0; ) {
- char c = *color_name++;
- b <<= 4;
- if (c >= '0' && c <= '9')
- b |= c - '0';
- else if (c >= 'A' && c <= 'F')
- b |= c - ('A' - 10);
- else if (c >= 'a' && c <= 'f')
- b |= c - ('a' - 10);
- else return 0;
- }
- } while (*color_name != '\0');
- n <<= 2;
- n = 16 - n;
- *red = r << n;
- *green = g << n;
- *blue = b << n;
- return 1;
-}
-
-/* Drawing related functions */
-
-/* Adapted from Xlib */
-xcb_void_cookie_t
-xcb_aux_set_line_attributes_checked (xcb_connection_t *dpy,
- xcb_gcontext_t gc,
- uint16_t linewidth,
- int32_t linestyle,
- int32_t capstyle,
- int32_t joinstyle)
-{
- uint32_t mask = 0;
- xcb_params_gc_t gv;
-
- XCB_AUX_ADD_PARAM(&mask, &gv, line_width, linewidth);
- XCB_AUX_ADD_PARAM(&mask, &gv, line_style, linestyle);
- XCB_AUX_ADD_PARAM(&mask, &gv, cap_style, capstyle);
- XCB_AUX_ADD_PARAM(&mask, &gv, join_style, joinstyle);
- return xcb_aux_change_gc_checked(dpy, gc, mask, &gv);
-}
-
-/* Adapted from Xlib */
-/* XXX It would be wiser for apps just to call
- clear_area() directly. */
-xcb_void_cookie_t
-xcb_aux_clear_window(xcb_connection_t * dpy,
- xcb_window_t w)
-{
- return xcb_clear_area(dpy, 0, w, 0, 0, 0, 0);
-}
diff --git a/src/android/jar/jar.pro b/src/android/jar/jar.pro
index ac6fc79968..24a83d56a1 100644
--- a/src/android/jar/jar.pro
+++ b/src/android/jar/jar.pro
@@ -1,6 +1,7 @@
TARGET = QtAndroid
CONFIG += java
+
DESTDIR = $$[QT_INSTALL_PREFIX/get]/jar
PATHPREFIX = $$PWD/src/org/qtproject/qt5/android/
diff --git a/src/android/java/java.pro b/src/android/java/java.pro
index 9d37eb1026..7f0dfa8a1b 100644
--- a/src/android/java/java.pro
+++ b/src/android/java/java.pro
@@ -1,3 +1,5 @@
+CONFIG += single_arch
+
CONFIG -= qt android_install
javaresources.files = \
diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java
index d3b0600b2f..45941e8ed8 100644
--- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java
+++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java
@@ -1,5 +1,5 @@
/*
- Copyright (c) 2016, BogDan Vatra <bogdan@kde.org>
+ Copyright (c) 2019, BogDan Vatra <bogdan@kde.org>
Contact: http://www.qt.io/licensing/
Commercial License Usage
@@ -63,9 +63,12 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.lang.reflect.Array;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
import dalvik.system.DexClassLoader;
@@ -85,7 +88,6 @@ public abstract class QtLoader {
public static final String ENVIRONMENT_VARIABLES_KEY = "environment.variables";
public static final String APPLICATION_PARAMETERS_KEY = "application.parameters";
public static final String BUNDLED_LIBRARIES_KEY = "bundled.libraries";
- public static final String QT_LIBS_RESOURCE_ID_KEY = "android.app.qt_libs_resource_id";
public static final String BUNDLED_IN_LIB_RESOURCE_ID_KEY = "android.app.bundled_in_lib_resource_id";
public static final String BUNDLED_IN_ASSETS_RESOURCE_ID_KEY = "android.app.bundled_in_assets_resource_id";
public static final String MAIN_LIBRARY_KEY = "main.library";
@@ -153,7 +155,7 @@ public abstract class QtLoader {
// this repository is used to push a new release, and should be used to test your application.
// * unstable - unstable repository, DO NOT use this repository in production,
// this repository is used to push Qt snapshots.
- public String[] m_qtLibs = null; // required qt libs
+ public ArrayList<String> m_qtLibs = null; // required qt libs
public int m_displayDensity = -1;
private ContextWrapper m_context;
protected ComponentInfo m_contextInfo;
@@ -191,6 +193,36 @@ public abstract class QtLoader {
}
// Implement in subclass
+ private final List<String> supportedAbis = Arrays.asList(Build.SUPPORTED_ABIS);
+ private String preferredAbi = null;
+
+ private ArrayList<String> prefferedAbiLibs(String []libs)
+ {
+ HashMap<String, ArrayList<String>> abisLibs = new HashMap<>();
+ for (String lib : libs) {
+ String[] archLib = lib.split(";", 2);
+ if (preferredAbi != null && !archLib[0].equals(preferredAbi))
+ continue;
+ if (!abisLibs.containsKey(archLib[0]))
+ abisLibs.put(archLib[0], new ArrayList<String>());
+ abisLibs.get(archLib[0]).add(archLib[1]);
+ }
+
+ if (preferredAbi != null) {
+ if (abisLibs.containsKey(preferredAbi)) {
+ return abisLibs.get(preferredAbi);
+ }
+ return new ArrayList<String>();
+ }
+
+ for (String abi: supportedAbis) {
+ if (abisLibs.containsKey(abi)) {
+ preferredAbi = abi;
+ return abisLibs.get(abi);
+ }
+ }
+ return new ArrayList<String>();
+ }
// this function is used to load and start the loader
private void loadApplication(Bundle loaderParams)
@@ -218,12 +250,14 @@ public abstract class QtLoader {
// add all bundled Qt libs to loader params
ArrayList<String> libs = new ArrayList<String>();
- if (m_contextInfo.metaData.containsKey("android.app.bundled_libs_resource_id"))
- libs.addAll(Arrays.asList(m_context.getResources().getStringArray(m_contextInfo.metaData.getInt("android.app.bundled_libs_resource_id"))));
+ if (m_contextInfo.metaData.containsKey("android.app.bundled_libs_resource_id")) {
+ int resourceId = m_contextInfo.metaData.getInt("android.app.bundled_libs_resource_id");
+ libs.addAll(prefferedAbiLibs(m_context.getResources().getStringArray(resourceId)));
+ }
String libName = null;
if (m_contextInfo.metaData.containsKey("android.app.lib_name")) {
- libName = m_contextInfo.metaData.getString("android.app.lib_name");
+ libName = m_contextInfo.metaData.getString("android.app.lib_name") + "_" + preferredAbi;
loaderParams.putString(MAIN_LIBRARY_KEY, libName); //main library contains main() function
}
@@ -278,7 +312,7 @@ public abstract class QtLoader {
try {
if (m_service != null) {
Bundle parameters = new Bundle();
- parameters.putStringArray(REQUIRED_MODULES_KEY, m_qtLibs);
+ parameters.putStringArray(REQUIRED_MODULES_KEY, (String[]) m_qtLibs.toArray());
parameters.putString(APPLICATION_TITLE_KEY, getTitle());
parameters.putInt(MINIMUM_MINISTRO_API_KEY, MINISTRO_API_LEVEL);
parameters.putInt(MINIMUM_QT_VERSION_KEY, QT_VERSION);
@@ -464,7 +498,8 @@ public abstract class QtLoader {
// why can't we load the plugins directly from libs ?!?!
String key = BUNDLED_IN_LIB_RESOURCE_ID_KEY;
if (m_contextInfo.metaData.containsKey(key)) {
- String[] list = m_context.getResources().getStringArray(m_contextInfo.metaData.getInt(key));
+ int resourceId = m_contextInfo.metaData.getInt(key);
+ ArrayList<String> list = prefferedAbiLibs(m_context.getResources().getStringArray(resourceId));
for (String bundledImportBinary : list) {
String[] split = bundledImportBinary.split(":");
@@ -603,7 +638,7 @@ public abstract class QtLoader {
if (m_contextInfo.metaData.containsKey("android.app.qt_libs_resource_id")) {
int resourceId = m_contextInfo.metaData.getInt("android.app.qt_libs_resource_id");
- m_qtLibs = m_context.getResources().getStringArray(resourceId);
+ m_qtLibs = prefferedAbiLibs(m_context.getResources().getStringArray(resourceId));
}
if (m_contextInfo.metaData.containsKey("android.app.use_local_qt_libs")
@@ -617,6 +652,7 @@ public abstract class QtLoader {
apkDeployFromSystem = true;
String libsDir = null;
+ String bundledLibsDir = null;
if (apkDeployFromSystem) {
String systemLibsPrefix = SYSTEM_LIB_PATH;
if (m_contextInfo.metaData.containsKey("android.app.system_libs_prefix")) {
@@ -633,8 +669,11 @@ public abstract class QtLoader {
} else {
String nativeLibraryPrefix = m_context.getApplicationInfo().nativeLibraryDir + "/";
File nativeLibraryDir = new File(nativeLibraryPrefix);
- if (nativeLibraryDir.exists() && nativeLibraryDir.isDirectory() && nativeLibraryDir.list().length > 0)
+ if (nativeLibraryDir.exists() && nativeLibraryDir.isDirectory() && nativeLibraryDir.list().length > 0) {
libsDir = nativeLibraryPrefix;
+ bundledLibsDir = nativeLibraryPrefix;
+ }
+
}
if (apkDeployFromSystem && libsDir == null)
@@ -643,8 +682,8 @@ public abstract class QtLoader {
if (m_qtLibs != null) {
String libPrefix = libsDir + "lib";
- for (int i = 0; i < m_qtLibs.length; i++)
- libraryList.add(libPrefix + m_qtLibs[i] + ".so");
+ for (String lib : m_qtLibs)
+ libraryList.add(libPrefix + lib + ".so");
}
if (m_contextInfo.metaData.containsKey("android.app.bundle_local_qt_libs")
@@ -654,22 +693,26 @@ public abstract class QtLoader {
String pluginsPrefix = dataPath + "qt-reserved-files/";
if (libsDir == null)
- throw new Exception("");
+ throw new Exception("Invalid libsDir");
cleanOldCacheIfNecessary(dataPath, pluginsPrefix);
extractBundledPluginsAndImports(pluginsPrefix, libsDir);
if (m_contextInfo.metaData.containsKey(BUNDLED_IN_LIB_RESOURCE_ID_KEY)) {
- String[] extraLibs = m_contextInfo.metaData.getString("android.app.load_local_libs").split(":");
- for (String lib : extraLibs) {
- if (!lib.isEmpty())
- libraryList.add(pluginsPrefix + lib);
+ int resourceId = m_contextInfo.metaData.getInt("android.app.load_local_libs_resource_id");
+ for (String libs : prefferedAbiLibs(m_context.getResources().getStringArray(resourceId))) {
+ for (String lib : libs.split(":")) {
+ if (!lib.isEmpty())
+ libraryList.add(libsDir + lib);
+ }
}
}
ENVIRONMENT_VARIABLES += "\tQML2_IMPORT_PATH=" + pluginsPrefix + "/qml"
+ "\tQML_IMPORT_PATH=" + pluginsPrefix + "/imports"
+ "\tQT_PLUGIN_PATH=" + pluginsPrefix + "/plugins";
+ if (bundledLibsDir != null)
+ ENVIRONMENT_VARIABLES += "\tQT_BUNDLED_LIBS_PATH=" + bundledLibsDir;
}
Bundle loaderParams = new Bundle();
diff --git a/src/android/templates/AndroidManifest.xml b/src/android/templates/AndroidManifest.xml
index aed8a3c888..75da314c2b 100644
--- a/src/android/templates/AndroidManifest.xml
+++ b/src/android/templates/AndroidManifest.xml
@@ -12,7 +12,7 @@
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --">
+ <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density"
android:name="org.qtproject.qt5.android.bindings.QtActivity"
android:label="-- %%INSERT_APP_NAME%% --"
@@ -36,10 +36,11 @@
<meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
<meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
<meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
+
<!-- Run with local libs -->
<meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
<meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs" android:value="-- %%INSERT_LOCAL_LIBS%% --"/>
+ <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
<meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
<meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
<!-- Used to specify custom system library path to run with local system libs -->
diff --git a/src/android/templates/build.gradle b/src/android/templates/build.gradle
index 8d4aa63153..d2da115936 100644
--- a/src/android/templates/build.gradle
+++ b/src/android/templates/build.gradle
@@ -5,7 +5,7 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.2.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/src/android/templates/res/values/libs.xml b/src/android/templates/res/values/libs.xml
index 4009a7785a..db777bf433 100644
--- a/src/android/templates/res/values/libs.xml
+++ b/src/android/templates/res/values/libs.xml
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<array name="qt_sources">
- <item>https://download.qt.io/ministro/android/qt5/qt-5.9</item>
+ <item>https://download.qt.io/ministro/android/qt5/qt-5.14</item>
</array>
<!-- The following is handled automatically by the deployment tool. It should
@@ -12,12 +12,17 @@
</array>
<array name="qt_libs">
- <!-- %%INSERT_QT_LIBS%% -->
+ <!-- %%INSERT_QT_LIBS%% -->
</array>
<array name="bundled_in_lib">
<!-- %%INSERT_BUNDLED_IN_LIB%% -->
</array>
+
+ <array name="load_local_libs">
+ <!-- %%INSERT_LOCAL_LIBS%% -->
+ </array>
+
<array name="bundled_in_assets">
<!-- %%INSERT_BUNDLED_IN_ASSETS%% -->
</array>
diff --git a/src/android/templates/templates.pro b/src/android/templates/templates.pro
index 55387f3af7..9a64251ee3 100644
--- a/src/android/templates/templates.pro
+++ b/src/android/templates/templates.pro
@@ -1,3 +1,5 @@
+CONFIG += single_arch
+
CONFIG -= qt android_install
templates.files = \
diff --git a/src/concurrent/qtconcurrentreducekernel.h b/src/concurrent/qtconcurrentreducekernel.h
index 0fbc40e02e..8f9a938952 100644
--- a/src/concurrent/qtconcurrentreducekernel.h
+++ b/src/concurrent/qtconcurrentreducekernel.h
@@ -52,6 +52,8 @@
#include <QtCore/qthreadpool.h>
#include <QtCore/qvector.h>
+#include <mutex>
+
QT_BEGIN_NAMESPACE
@@ -147,7 +149,7 @@ public:
ReduceResultType &r,
const IntermediateResults<T> &result)
{
- QMutexLocker locker(&mutex);
+ std::unique_lock<QMutex> locker(mutex);
if (!canReduce(result.begin)) {
++resultsMapSize;
resultsMap.insert(result.begin, result);
@@ -161,7 +163,7 @@ public:
// reduce this result
locker.unlock();
reduceResult(reduce, r, result);
- locker.relock();
+ locker.lock();
// reduce all stored results as well
while (!resultsMap.isEmpty()) {
@@ -170,7 +172,7 @@ public:
locker.unlock();
reduceResults(reduce, r, resultsMapCopy);
- locker.relock();
+ locker.lock();
resultsMapSize -= resultsMapCopy.size();
}
@@ -180,7 +182,7 @@ public:
// reduce this result
locker.unlock();
reduceResult(reduce, r, result);
- locker.relock();
+ locker.lock();
// OrderedReduce
progress += result.end - result.begin;
@@ -193,7 +195,7 @@ public:
locker.unlock();
reduceResult(reduce, r, it.value());
- locker.relock();
+ locker.lock();
--resultsMapSize;
progress += it.value().end - it.value().begin;
diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake
index 3a9f8e8c29..d1001ad2af 100644
--- a/src/corelib/Qt6CoreMacros.cmake
+++ b/src/corelib/Qt6CoreMacros.cmake
@@ -497,3 +497,35 @@ function(qt_import_plugins target)
set_property(TARGET "${target}" PROPERTY "QT_PLUGINS_${_plugin_type}" "-")
endforeach()
endfunction()
+
+function(qt6_import_plugins TARGET_NAME)
+ set(_doing "")
+ foreach(_arg ${ARGN})
+ if(_arg STREQUAL "INCLUDE")
+ set(_doing "INCLUDE")
+ elseif(_arg STREQUAL "EXCLUDE")
+ set(_doing "EXCLUDE")
+ elseif(_arg STREQUAL "INCLUDE_BY_TYPE")
+ set(_doing "INCLUDE_BY_TYPE")
+ elseif(_arg STREQUAL "EXCLUDE_BY_TYPE")
+ set(_doing "EXCLUDE_BY_TYPE")
+ else()
+ if(_doing STREQUAL "INCLUDE")
+ set_property(TARGET ${TARGET_NAME} APPEND PROPERTY QT_PLUGINS "${_arg}")
+ elseif(_doing STREQUAL "EXCLUDE")
+ set_property(TARGET ${TARGET_NAME} APPEND PROPERTY QT_NO_PLUGINS "${_arg}")
+ elseif(_doing STREQUAL "INCLUDE_BY_TYPE")
+ string(REGEX REPLACE "[-/]" "_" _plugin_type "${_arg}")
+ set(_doing "INCLUDE_BY_TYPE_PLUGINS")
+ elseif(_doing STREQUAL "INCLUDE_BY_TYPE_PLUGINS")
+ set_property(TARGET ${TARGET_NAME} APPEND PROPERTY "QT_PLUGINS_${_plugin_type}" "${_arg}")
+ elseif(_doing STREQUAL "EXCLUDE_BY_TYPE")
+ string(REGEX REPLACE "[-/]" "_" _plugin_type "${_arg}")
+ set_property(TARGET ${TARGET_NAME} PROPERTY "QT_PLUGINS_${_plugin_type}" -)
+ set(_doing "")
+ else()
+ message(FATAL_ERROR "Unexpected extra argument: \"${_arg}\"")
+ endif()
+ endif()
+ endforeach()
+endfunction()
diff --git a/src/corelib/animation/qpropertyanimation.cpp b/src/corelib/animation/qpropertyanimation.cpp
index a1baa112fc..2a3572d441 100644
--- a/src/corelib/animation/qpropertyanimation.cpp
+++ b/src/corelib/animation/qpropertyanimation.cpp
@@ -85,6 +85,7 @@
#include "qpropertyanimation_p.h"
#include <QtCore/QMutex>
+#include <QtCore/private/qlocking_p.h>
QT_BEGIN_NAMESPACE
@@ -261,7 +262,7 @@ void QPropertyAnimation::updateState(QAbstractAnimation::State newState,
QPropertyAnimation *animToStop = 0;
{
static QBasicMutex mutex;
- QMutexLocker locker(&mutex);
+ auto locker = qt_unique_lock(mutex);
typedef QPair<QObject *, QByteArray> QPropertyAnimationPair;
typedef QHash<QPropertyAnimationPair, QPropertyAnimation*> QPropertyAnimationHash;
static QPropertyAnimationHash hash;
diff --git a/src/corelib/animation/qvariantanimation.cpp b/src/corelib/animation/qvariantanimation.cpp
index 01a699c5dc..216c015732 100644
--- a/src/corelib/animation/qvariantanimation.cpp
+++ b/src/corelib/animation/qvariantanimation.cpp
@@ -43,6 +43,7 @@
#include <QtCore/qrect.h>
#include <QtCore/qline.h>
#include <QtCore/qmutex.h>
+#include <QtCore/private/qlocking_p.h>
#include <algorithm>
@@ -426,7 +427,7 @@ void QVariantAnimation::registerInterpolator(QVariantAnimation::Interpolator fun
// in such an order that we get here with interpolators == NULL,
// to continue causes the app to crash on exit with a SEGV
if (interpolators) {
- QMutexLocker locker(&registeredInterpolatorsMutex);
+ const auto locker = qt_scoped_lock(registeredInterpolatorsMutex);
if (int(interpolationType) >= interpolators->count())
interpolators->resize(int(interpolationType) + 1);
interpolators->replace(interpolationType, func);
@@ -443,7 +444,7 @@ QVariantAnimation::Interpolator QVariantAnimationPrivate::getInterpolator(int in
{
{
QInterpolatorVector *interpolators = registeredInterpolators();
- QMutexLocker locker(&registeredInterpolatorsMutex);
+ const auto locker = qt_scoped_lock(registeredInterpolatorsMutex);
QVariantAnimation::Interpolator ret = 0;
if (interpolationType < interpolators->count()) {
ret = interpolators->at(interpolationType);
diff --git a/src/corelib/codecs/qicucodec.cpp b/src/corelib/codecs/qicucodec.cpp
index 101c3a3278..b9f1a814fa 100644
--- a/src/corelib/codecs/qicucodec.cpp
+++ b/src/corelib/codecs/qicucodec.cpp
@@ -42,8 +42,10 @@
#include "qtextcodec_p.h"
#include "qutfcodec_p.h"
#include "qlatincodec_p.h"
+#if QT_CONFIG(codecs)
#include "qtsciicodec_p.h"
#include "qisciicodec_p.h"
+#endif
#include "qsimplecodec_p.h"
#include "private/qcoreglobaldata_p.h"
#include "qdebug.h"
diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
index 8639e4f2f0..14f9abc28a 100644
--- a/src/corelib/codecs/qtextcodec.cpp
+++ b/src/corelib/codecs/qtextcodec.cpp
@@ -47,6 +47,7 @@
#include "qendian.h"
#include "qfile.h"
#include "qlist.h"
+#include <private/qlocking_p.h>
#include "qstringlist.h"
#include "qvarlengtharray.h"
#if !defined(QT_BOOTSTRAPPED)
@@ -86,7 +87,7 @@
#endif // icu
#endif // QT_BOOTSTRAPPED
-#include "qmutex.h"
+#include <mutex>
#include <stdlib.h>
#include <ctype.h>
@@ -100,8 +101,13 @@ QT_BEGIN_NAMESPACE
typedef QList<QTextCodec*>::ConstIterator TextCodecListConstIt;
typedef QList<QByteArray>::ConstIterator ByteArrayListConstIt;
-Q_GLOBAL_STATIC_WITH_ARGS(QMutex, textCodecsMutex, (QMutex::Recursive));
-QMutex *qTextCodecsMutex() { return textCodecsMutex(); }
+Q_GLOBAL_STATIC(QRecursiveMutex, textCodecsMutex);
+
+class TextCodecsMutexLocker {
+ using Lock = decltype(qt_unique_lock(std::declval<QRecursiveMutex&>()));
+ // ### FIXME: this is used when textCodecsMutex already == nullptr
+ const Lock lock = qt_unique_lock(textCodecsMutex());
+};
#if !QT_CONFIG(icu)
static char qtolower(char c)
@@ -162,7 +168,7 @@ static QTextCodec *setupLocaleMapper()
QTextCodec *locale = nullptr;
{
- QMutexLocker locker(textCodecsMutex());
+ const TextCodecsMutexLocker locker;
if (globalData->allCodecs.isEmpty())
setup();
}
@@ -477,7 +483,7 @@ QTextCodec::ConverterState::~ConverterState()
*/
QTextCodec::QTextCodec()
{
- QMutexLocker locker(textCodecsMutex());
+ const TextCodecsMutexLocker locker;
QCoreGlobalData *globalInstance = QCoreGlobalData::instance();
if (globalInstance->allCodecs.isEmpty())
@@ -501,7 +507,7 @@ QTextCodec::~QTextCodec()
globalData->codecForLocale.testAndSetRelaxed(this, nullptr);
- QMutexLocker locker(textCodecsMutex());
+ const TextCodecsMutexLocker locker;
globalData->allCodecs.removeOne(this);
@@ -534,7 +540,7 @@ QTextCodec *QTextCodec::codecForName(const QByteArray &name)
if (name.isEmpty())
return nullptr;
- QMutexLocker locker(textCodecsMutex());
+ const TextCodecsMutexLocker locker;
QCoreGlobalData *globalData = QCoreGlobalData::instance();
if (!globalData)
@@ -578,7 +584,7 @@ QTextCodec *QTextCodec::codecForName(const QByteArray &name)
*/
QTextCodec* QTextCodec::codecForMib(int mib)
{
- QMutexLocker locker(textCodecsMutex());
+ const TextCodecsMutexLocker locker;
QCoreGlobalData *globalData = QCoreGlobalData::instance();
if (!globalData)
@@ -624,7 +630,7 @@ QTextCodec* QTextCodec::codecForMib(int mib)
*/
QList<QByteArray> QTextCodec::availableCodecs()
{
- QMutexLocker locker(textCodecsMutex());
+ const TextCodecsMutexLocker locker;
QCoreGlobalData *globalData = QCoreGlobalData::instance();
if (globalData->allCodecs.isEmpty())
@@ -656,7 +662,7 @@ QList<int> QTextCodec::availableMibs()
#if QT_CONFIG(icu)
return QIcuCodec::availableMibs();
#else
- QMutexLocker locker(textCodecsMutex());
+ const TextCodecsMutexLocker locker;
QCoreGlobalData *globalData = QCoreGlobalData::instance();
if (globalData->allCodecs.isEmpty())
@@ -706,9 +712,8 @@ QTextCodec* QTextCodec::codecForLocale()
QTextCodec *codec = globalData->codecForLocale.loadAcquire();
if (!codec) {
#if QT_CONFIG(icu)
- textCodecsMutex()->lock();
+ const TextCodecsMutexLocker locker;
codec = QIcuCodec::defaultCodecUnlocked();
- textCodecsMutex()->unlock();
#else
// setupLocaleMapper locks as necessary
codec = setupLocaleMapper();
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
index f1f1f0641f..ef05d227cc 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
@@ -1004,11 +1004,17 @@
"condition": "features.textcodec",
"output": [ "publicFeature", "feature" ]
},
+ "easingcurve": {
+ "label": "Easing curve",
+ "purpose": "Provides easing curve.",
+ "section": "Utilities",
+ "output": [ "publicFeature" ]
+ },
"animation": {
"label": "Animation",
"purpose": "Provides a framework for animations.",
"section": "Utilities",
- "condition": "features.properties",
+ "condition": "features.properties && features.easingcurve",
"output": [ "publicFeature", "feature" ]
},
"statemachine": {
@@ -1035,6 +1041,25 @@
"section": "Utilities",
"output": [ "privateFeature" ]
},
+ "jalalicalendar": {
+ "label": "QJalaliCalendar",
+ "purpose": "Support the Jalali (Persian) calendar",
+ "section": "Utilities",
+ "output": [ "publicFeature" ]
+ },
+ "hijricalendar": {
+ "label": "QHijriCalendar",
+ "purpose": "Generic basis for Islamic calendars, providing shared locale data",
+ "section": "Utilities",
+ "output": [ "privateFeature" ]
+ },
+ "islamiccivilcalendar": {
+ "label": "QIslamicCivilCalendar",
+ "purpose": "Support the Islamic Civil calendar",
+ "section": "Utilities",
+ "condition": "features.hijricalendar",
+ "output": [ "publicFeature" ]
+ },
"timezone": {
"label": "QTimeZone",
"purpose": "Provides support for time-zone handling.",
@@ -1101,6 +1126,17 @@
"type": "error",
"condition": "!tests.atomicfptr",
"message": "detected a std::atomic implementation that fails for function pointers. Please apply the patch corresponding to your Standard Library vendor, found in qtbase/config.tests/atomicfptr"
+ },
+ {
+ "type": "error",
+ "condition": [
+ "config.unix || config.integrity",
+ "!features.poll_ppoll",
+ "!features.poll_pollts",
+ "!features.poll_poll",
+ "!features.poll_select"
+ ],
+ "message": "Qt requires poll(), ppoll(), poll_ts() or select() on this platform"
}
],
diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro
index b9bcc70e17..121db51eb5 100644
--- a/src/corelib/corelib.pro
+++ b/src/corelib/corelib.pro
@@ -12,6 +12,7 @@ CONFIG += qt_tracepoints
CONFIG += $$MODULE_CONFIG
DEFINES += $$MODULE_DEFINES
+android: DEFINES += LIBS_SUFFIX='\\"_$${QT_ARCH}.so\\"'
DEFINES += QT_NO_USING_NAMESPACE QT_NO_FOREACH
msvc:equals(QT_ARCH, i386): QMAKE_LFLAGS += /BASE:0x67000000
diff --git a/src/corelib/doc/snippets/cmake-macros/examples.cmake b/src/corelib/doc/snippets/cmake-macros/examples.cmake
index bba082586f..ea7da56ec7 100644
--- a/src/corelib/doc/snippets/cmake-macros/examples.cmake
+++ b/src/corelib/doc/snippets/cmake-macros/examples.cmake
@@ -24,3 +24,14 @@ add_dependencies(myapp resources)
#! [qt5_generate_moc]
qt5_generate_moc(main.cpp main.moc TARGET myapp)
#! [qt5_generate_moc]
+
+#! [qt5_import_plugins]
+add_executable(myapp main.cpp)
+target_link_libraries(myapp Qt5::Gui Qt5::Sql)
+qt5_import_plugins(myapp
+ INCLUDE Qt5::QCocoaIntegrationPlugin
+ EXCLUDE Qt5::QMinimalIntegrationPlugin
+ INCLUDE_BY_TYPE imageformats Qt5::QGifPlugin Qt5::QJpegPlugin
+ EXCLUDE_BY_TYPE sqldrivers
+)
+#! [qt5_import_plugins]
diff --git a/src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp b/src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp
index 79af776ce4..e3c3005c33 100644
--- a/src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_io_qurl.cpp
@@ -183,7 +183,7 @@ QUrl url("http://qt-project.org/support/file.html");
//! [19]
//! [20]
- qDebug() << QUrl("file:file.txt").toLocalFile(); // "file:file.txt"
- qDebug() << QUrl("file:/home/user/file.txt").toLocalFile(); // "file:///home/user/file.txt"
+ qDebug() << QUrl("file:file.txt").toLocalFile(); // "file.txt"
+ qDebug() << QUrl("file:/home/user/file.txt").toLocalFile(); // "/home/user/file.txt"
qDebug() << QUrl("file.txt").toLocalFile(); // ""; wasn't a local file as it had no scheme
//! [20]
diff --git a/src/corelib/doc/src/cmake-macros.qdoc b/src/corelib/doc/src/cmake-macros.qdoc
index 7fb133020f..7c0443fba7 100644
--- a/src/corelib/doc/src/cmake-macros.qdoc
+++ b/src/corelib/doc/src/cmake-macros.qdoc
@@ -212,3 +212,72 @@ when scanning the source files with \c{moc}.
\snippet cmake-macros/examples.cmake qt5_generate_moc
*/
+
+
+/*!
+\page qtcore-cmake-qt5-import-plugins.html
+\ingroup cmake-macros-qtcore
+
+\title qt5_import_plugins
+
+\brief Specifies a custom set of plugins to import for a static Qt build
+
+\section1 Synopsis
+
+\badcode
+qt5_import_plugins(target
+ [INCLUDE plugin ...]
+ [EXCLUDE plugin ...]
+ [INCLUDE_BY_TYPE plugin_type plugin ...]
+ [EXCLUDE_BY_TYPE plugin_type])
+\endcode
+
+\section1 Description
+
+Specifies a custom set of plugins to import. The optional arguments:
+\c INCLUDE, \c EXCLUDE, \c INCLUDE_BY_TYPE, and \c EXCLUDE_BY_TYPE,
+can be used more than once.
+
+This CMake command was introduced in Qt 5.14.
+
+\list
+\li \c INCLUDE -- can be used to specify a list of plugins to import.
+\li \c EXCLUDE -- can be used to specify a list of plugins to exclude.
+\li \c INCLUDE_BY_TYPE -- can be used to override the list of plugins to
+ import for a certain plugin type.
+\li \c EXCLUDE_BY_TYPE -- can be used to specify a plugin type to exclude;
+ then no plugins of that type are imported.
+\endlist
+
+Qt provides plugin types such as \c imageformats, \c platforms,
+and \c sqldrivers.
+
+If \c qt5_import_plugins() isn't called, the target automatically links against
+a sane set of default plugins, for each Qt module that the target is linked
+against. For more information, see
+\l{CMake target_link_libraries Documentation}{target_link_libraries}.
+
+Each plugin comes with a C++ stub file that automatically
+initializes the plugin. Consequently, any target that links against a plugin
+has this C++ file added to its \c SOURCES.
+
+\note This macro imports plugins from static Qt builds only.
+On shared builds, it does nothing.
+
+\section1 Example
+
+\snippet cmake-macros/examples.cmake qt5_import_plugins
+
+In the snippet above, the following occurs with the executable \c myapp:
+
+\list
+\li The \c Qt5::QCocoaIntegrationPlugin is imported into myapp.
+\li The \c Qt5::QMinimalIntegrationPlugin plugin is
+ excluded from being automatically imported into myapp.
+\li The default list of plugins for \c imageformats is
+ overridden to only include Qt5::QGifPlugin and Qt5::QJpegPlugin.
+\li All \c sqldrivers plugins are excluded from automatic importing.
+\endlist
+
+*/
+
diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h
index 10458e41d7..2e58dabf5f 100644
--- a/src/corelib/global/qconfig-bootstrapped.h
+++ b/src/corelib/global/qconfig-bootstrapped.h
@@ -79,12 +79,16 @@
#define QT_NO_DATASTREAM
#define QT_FEATURE_datestring 1
#define QT_FEATURE_datetimeparser -1
+#define QT_FEATURE_easingcurve -1
#define QT_FEATURE_etw -1
#define QT_FEATURE_getauxval (QT_HAS_INCLUDE(<sys/auxv.h>) ? 1 : -1)
#define QT_FEATURE_getentropy -1
#define QT_NO_GEOM_VARIANT
+#define QT_FEATURE_hijricalendar -1
#define QT_FEATURE_iconv -1
#define QT_FEATURE_icu -1
+#define QT_FEATURE_islamiccivilcalendar -1
+#define QT_FEATURE_jalalicalendar -1
#define QT_FEATURE_journald -1
#define QT_FEATURE_futimens -1
#define QT_FEATURE_futimes -1
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index a8ed8ca6fd..2b1a40cf4c 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -52,6 +52,7 @@
#include <private/qlocale_tools_p.h>
#include <qmutex.h>
+#include <QtCore/private/qlocking_p.h>
#include <stdlib.h>
#include <limits.h>
@@ -88,6 +89,11 @@
# include <sys/systeminfo.h>
#endif
+#if defined(Q_OS_DARWIN) && QT_HAS_INCLUDE(<IOKit/IOKitLib.h>)
+# include <IOKit/IOKitLib.h>
+# include <private/qcore_mac_p.h>
+#endif
+
#ifdef Q_OS_UNIX
#include <sys/utsname.h>
#include <private/qcore_unix_p.h>
@@ -1194,11 +1200,14 @@ bool qSharedBuild() noexcept
the application is compiled (32 or 64).
*/
+#if QT_DEPRECATED_SINCE(5, 9)
/*!
\deprecated
\variable QSysInfo::WindowsVersion
\brief the version of the Windows operating system on which the
application is run.
+
+ Use QOperatingSystemVersion::current() instead.
*/
/*!
@@ -1206,6 +1215,8 @@ bool qSharedBuild() noexcept
\fn QSysInfo::WindowsVersion QSysInfo::windowsVersion()
\since 4.4
+ Use QOperatingSystemVersion::current() instead.
+
Returns the version of the Windows operating system on which the
application is run, or WV_None if the operating system is not
Windows.
@@ -1216,16 +1227,21 @@ bool qSharedBuild() noexcept
\variable QSysInfo::MacintoshVersion
\brief the version of the Macintosh operating system on which
the application is run.
+
+ Use QOperatingSystemVersion::current() instead.
*/
/*!
\deprecated
\fn QSysInfo::MacVersion QSysInfo::macVersion()
+ Use QOperatingSystemVersion::current() instead.
+
Returns the version of Darwin (\macos or iOS) on which the
application is run, or MV_None if the operating system
is not a version of Darwin.
*/
+#endif
/*!
\enum QSysInfo::Endian
@@ -1236,10 +1252,13 @@ bool qSharedBuild() noexcept
the platform's byte order.
*/
+#if QT_DEPRECATED_SINCE(5, 9)
/*!
\deprecated
\enum QSysInfo::WinVersion
+ Use the versions defined in QOperatingSystemVersion instead.
+
This enum provides symbolic names for the various versions of the
Windows operating system. On Windows, the
QSysInfo::WindowsVersion variable gives the version of the system
@@ -1297,6 +1316,8 @@ bool qSharedBuild() noexcept
\deprecated
\enum QSysInfo::MacVersion
+ Use the versions defined in QOperatingSystemVersion instead.
+
This enum provides symbolic names for the various versions of the
Darwin operating system, covering both \macos and iOS. The
QSysInfo::MacintoshVersion variable gives the version of the
@@ -1367,6 +1388,7 @@ bool qSharedBuild() noexcept
\sa WinVersion
*/
+#endif
/*!
\macro Q_OS_DARWIN
@@ -2996,20 +3018,19 @@ enum {
*/
QByteArray QSysInfo::machineUniqueId()
{
-#ifdef Q_OS_BSD4
+#if defined(Q_OS_DARWIN) && QT_HAS_INCLUDE(<IOKit/IOKitLib.h>)
+ char uuid[UuidStringLen + 1];
+ io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice"));
+ QCFString stringRef = (CFStringRef)IORegistryEntryCreateCFProperty(service, CFSTR(kIOPlatformUUIDKey), kCFAllocatorDefault, 0);
+ CFStringGetCString(stringRef, uuid, sizeof(uuid), kCFStringEncodingMacRoman);
+ return QByteArray(uuid);
+#elif defined(Q_OS_BSD4) && defined(KERN_HOSTUUID)
char uuid[UuidStringLen + 1];
size_t uuidlen = sizeof(uuid);
-# ifdef KERN_HOSTUUID
int name[] = { CTL_KERN, KERN_HOSTUUID };
if (sysctl(name, sizeof name / sizeof name[0], &uuid, &uuidlen, nullptr, 0) == 0
&& uuidlen == sizeof(uuid))
return QByteArray(uuid, uuidlen - 1);
-
-# else
- // Darwin: no fixed value, we need to search by name
- if (sysctlbyname("kern.uuid", uuid, &uuidlen, nullptr, 0) == 0 && uuidlen == sizeof(uuid))
- return QByteArray(uuid, uuidlen - 1);
-# endif
#elif defined(Q_OS_UNIX)
// The modern name on Linux is /etc/machine-id, but that path is
// unlikely to exist on non-Linux (non-systemd) systems. The old
@@ -3347,7 +3368,7 @@ static QBasicMutex environmentMutex;
*/
void qTzSet()
{
- QMutexLocker locker(&environmentMutex);
+ const auto locker = qt_scoped_lock(environmentMutex);
#if defined(Q_OS_WIN)
_tzset();
#else
@@ -3361,7 +3382,7 @@ void qTzSet()
*/
time_t qMkTime(struct tm *when)
{
- QMutexLocker locker(&environmentMutex);
+ const auto locker = qt_scoped_lock(environmentMutex);
return mktime(when);
}
@@ -3393,7 +3414,7 @@ time_t qMkTime(struct tm *when)
*/
QByteArray qgetenv(const char *varName)
{
- QMutexLocker locker(&environmentMutex);
+ const auto locker = qt_scoped_lock(environmentMutex);
#ifdef Q_CC_MSVC
size_t requiredSize = 0;
QByteArray buffer;
@@ -3461,7 +3482,7 @@ QByteArray qgetenv(const char *varName)
QString qEnvironmentVariable(const char *varName, const QString &defaultValue)
{
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
- QMutexLocker locker(&environmentMutex);
+ const auto locker = qt_scoped_lock(environmentMutex);
QVarLengthArray<wchar_t, 32> wname(int(strlen(varName)) + 1);
for (int i = 0; i < wname.size(); ++i) // wname.size() is correct: will copy terminating null
wname[i] = uchar(varName[i]);
@@ -3509,7 +3530,7 @@ QString qEnvironmentVariable(const char *varName)
*/
bool qEnvironmentVariableIsEmpty(const char *varName) noexcept
{
- QMutexLocker locker(&environmentMutex);
+ const auto locker = qt_scoped_lock(environmentMutex);
#ifdef Q_CC_MSVC
// we provide a buffer that can only hold the empty string, so
// when the env.var isn't empty, we'll get an ERANGE error (buffer
@@ -3548,7 +3569,7 @@ int qEnvironmentVariableIntValue(const char *varName, bool *ok) noexcept
static const int MaxDigitsForOctalInt =
(std::numeric_limits<uint>::digits + NumBinaryDigitsPerOctalDigit - 1) / NumBinaryDigitsPerOctalDigit;
- QMutexLocker locker(&environmentMutex);
+ const auto locker = qt_scoped_lock(environmentMutex);
#ifdef Q_CC_MSVC
// we provide a buffer that can hold any int value:
char buffer[MaxDigitsForOctalInt + 2]; // +1 for NUL +1 for optional '-'
@@ -3613,7 +3634,7 @@ int qEnvironmentVariableIntValue(const char *varName, bool *ok) noexcept
*/
bool qEnvironmentVariableIsSet(const char *varName) noexcept
{
- QMutexLocker locker(&environmentMutex);
+ const auto locker = qt_scoped_lock(environmentMutex);
#ifdef Q_CC_MSVC
size_t requiredSize = 0;
(void)getenv_s(&requiredSize, 0, 0, varName);
@@ -3643,7 +3664,7 @@ bool qEnvironmentVariableIsSet(const char *varName) noexcept
*/
bool qputenv(const char *varName, const QByteArray& value)
{
- QMutexLocker locker(&environmentMutex);
+ const auto locker = qt_scoped_lock(environmentMutex);
#if defined(Q_CC_MSVC)
return _putenv_s(varName, value.constData()) == 0;
#elif (defined(_POSIX_VERSION) && (_POSIX_VERSION-0) >= 200112L) || defined(Q_OS_HAIKU)
@@ -3674,7 +3695,7 @@ bool qputenv(const char *varName, const QByteArray& value)
*/
bool qunsetenv(const char *varName)
{
- QMutexLocker locker(&environmentMutex);
+ const auto locker = qt_scoped_lock(environmentMutex);
#if defined(Q_CC_MSVC)
return _putenv_s(varName, "") == 0;
#elif (defined(_POSIX_VERSION) && (_POSIX_VERSION-0) >= 200112L) || defined(Q_OS_BSD4) || defined(Q_OS_HAIKU)
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 736378508f..7db7dba9b5 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -383,6 +383,14 @@ typedef double qreal;
#define QT_DEPRECATED_VERSION_5(minor) QT_DEPRECATED_VERSION_5_##minor
#define QT_DEPRECATED_VERSION(major, minor) QT_DEPRECATED_VERSION_##major(minor)
+#ifdef __cplusplus
+// A tag to help mark stuff deprecated (cf. QStringViewLiteral)
+namespace QtPrivate {
+enum class Deprecated_t {};
+constexpr Q_DECL_UNUSED Deprecated_t Deprecated = {};
+}
+#endif
+
/*
The Qt modules' export macros.
The options are:
@@ -843,10 +851,6 @@ Q_CORE_EXPORT void qt_assert(const char *assertion, const char *file, int line)
# endif
#endif
-#if defined(QT_NO_DEBUG) && !defined(QT_PAINT_DEBUG)
-#define QT_NO_PAINT_DEBUG
-#endif
-
#ifndef Q_CC_MSVC
Q_NORETURN
#endif
diff --git a/src/corelib/global/qglobalstatic.h b/src/corelib/global/qglobalstatic.h
index 7a7d65ed76..e56fe1dbcb 100644
--- a/src/corelib/global/qglobalstatic.h
+++ b/src/corelib/global/qglobalstatic.h
@@ -98,6 +98,7 @@ enum GuardValues {
QT_END_NAMESPACE
#include <QtCore/qmutex.h>
+#include <mutex>
QT_BEGIN_NAMESPACE
#define Q_GLOBAL_STATIC_INTERNAL(ARGS) \
@@ -107,7 +108,7 @@ QT_BEGIN_NAMESPACE
static QBasicMutex mutex; \
int x = guard.loadAcquire(); \
if (Q_UNLIKELY(x >= QtGlobalStatic::Uninitialized)) { \
- QMutexLocker locker(&mutex); \
+ const std::lock_guard<QBasicMutex> locker(mutex); \
if (guard.loadRelaxed() == QtGlobalStatic::Uninitialized) { \
d = new Type ARGS; \
static struct Cleanup { \
diff --git a/src/corelib/global/qhooks.cpp b/src/corelib/global/qhooks.cpp
index 020dee3710..79f9b7d6c2 100644
--- a/src/corelib/global/qhooks.cpp
+++ b/src/corelib/global/qhooks.cpp
@@ -67,7 +67,7 @@ quintptr Q_CORE_EXPORT qtHookData[] = {
// The required sizes and offsets are tested in tests/auto/other/toolsupport.
// When this fails and the change was intentional, adjust the test and
// adjust this value here.
- 17
+ 18
};
Q_STATIC_ASSERT(QHooks::LastHookIndex == sizeof(qtHookData) / sizeof(qtHookData[0]));
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index e82939dcd9..2b271ef5be 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -322,8 +322,10 @@ QLibraryInfo::buildDate()
#elif defined(Q_CC_MSVC)
# if _MSC_VER < 1910
# define COMPILER_STRING "MSVC 2015"
-# elif _MSC_VER < 2000
+# elif _MSC_VER < 1917
# define COMPILER_STRING "MSVC 2017"
+# elif _MSC_VER < 2000
+# define COMPILER_STRING "MSVC 2019"
# else
# define COMPILER_STRING "MSVC _MSC_VER " QT_STRINGIFY(_MSC_VER)
# endif
diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp
index f635a84e21..a97a496290 100644
--- a/src/corelib/global/qlogging.cpp
+++ b/src/corelib/global/qlogging.cpp
@@ -49,6 +49,7 @@
#include "qvarlengtharray.h"
#include "qdebug.h"
#include "qmutex.h"
+#include <QtCore/private/qlocking_p.h>
#include "qloggingcategory.h"
#ifndef QT_BOOTSTRAPPED
#include "qelapsedtimer.h"
@@ -1375,7 +1376,7 @@ QString qFormatLogMessage(QtMsgType type, const QMessageLogContext &context, con
{
QString message;
- QMutexLocker lock(&QMessagePattern::mutex);
+ const auto locker = qt_scoped_lock(QMessagePattern::mutex);
QMessagePattern *pattern = qMessagePattern();
if (!pattern) {
@@ -2091,7 +2092,7 @@ QtMsgHandler qInstallMsgHandler(QtMsgHandler h)
void qSetMessagePattern(const QString &pattern)
{
- QMutexLocker lock(&QMessagePattern::mutex);
+ const auto locker = qt_scoped_lock(QMessagePattern::mutex);
if (!qMessagePattern()->fromEnvironment)
qMessagePattern()->setPattern(pattern);
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index f5f7176670..810c55709c 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -1754,6 +1754,15 @@ public:
ChecksumItuV41
};
+ enum class HighDpiScaleFactorRoundingPolicy {
+ Unset,
+ Round,
+ Ceil,
+ Floor,
+ RoundPreferFloor,
+ PassThrough
+ };
+
#ifndef Q_QDOC
// NOTE: Generally, do not add QT_Q_ENUM if a corresponding Q_Q_FLAG exists.
QT_Q_ENUM(ScrollBarPolicy)
@@ -1840,6 +1849,7 @@ public:
QT_Q_ENUM(MouseEventSource)
QT_Q_FLAG(MouseEventFlag)
QT_Q_ENUM(ChecksumType)
+ QT_Q_ENUM(HighDpiScaleFactorRoundingPolicy)
QT_Q_ENUM(TabFocusBehavior)
#endif // Q_DOC
diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index 0ff6be2049..886aedb4f3 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -3275,3 +3275,25 @@
\value ChecksumItuV41 Checksum calculation based on ITU-V.41.
*/
+
+/*!
+ \enum Qt::HighDpiScaleFactorRoundingPolicy
+ \since 5.14
+
+ This enum describes the possible High-DPI scale factor rounding policies, which
+ decide how non-integer scale factors (such as Windows 150%) are handled.
+
+ The active policy is set by calling QGuiApplication::setHighDdpiScaleFactorRoundingPolicy() before
+ the application object is created, or by setting the QT_SCALE_FACTOR_ROUNDING_POLICY
+ environment variable.
+
+ \sa QGuiApplication::setHighDdpiScaleFactorRoundingPolicy()
+ \sa AA_EnableHighDpiScaling.
+
+ \omitvalue Unset
+ \value Round Round up for .5 and above.
+ \value Ceil Always round up.
+ \value Floor Always round down.
+ \value RoundPreferFloor Round up for .75 and above.
+ \value PassThrough Don't round.
+*/
diff --git a/src/corelib/global/qoperatingsystemversion.cpp b/src/corelib/global/qoperatingsystemversion.cpp
index 9084ad933c..ded86cbc4e 100644
--- a/src/corelib/global/qoperatingsystemversion.cpp
+++ b/src/corelib/global/qoperatingsystemversion.cpp
@@ -444,6 +444,14 @@ const QOperatingSystemVersion QOperatingSystemVersion::MacOSMojave =
QOperatingSystemVersion(QOperatingSystemVersion::MacOS, 10, 14);
/*!
+ \variable QOperatingSystemVersion::MacOSCatalina
+ \brief a version corresponding to macOS Catalina (version 10.15).
+ \since 5.12.5
+ */
+const QOperatingSystemVersion QOperatingSystemVersion::MacOSCatalina =
+ QOperatingSystemVersion(QOperatingSystemVersion::MacOS, 10, 15);
+
+/*!
\variable QOperatingSystemVersion::AndroidJellyBean
\brief a version corresponding to Android Jelly Bean (version 4.1, API level 16).
\since 5.9
diff --git a/src/corelib/global/qoperatingsystemversion.h b/src/corelib/global/qoperatingsystemversion.h
index 75c54b60df..879bd379b0 100644
--- a/src/corelib/global/qoperatingsystemversion.h
+++ b/src/corelib/global/qoperatingsystemversion.h
@@ -72,6 +72,7 @@ public:
static const QOperatingSystemVersion MacOSSierra;
static const QOperatingSystemVersion MacOSHighSierra;
static const QOperatingSystemVersion MacOSMojave;
+ static const QOperatingSystemVersion MacOSCatalina;
static const QOperatingSystemVersion AndroidJellyBean;
static const QOperatingSystemVersion AndroidJellyBean_MR1;
diff --git a/src/corelib/global/qsystemdetection.h b/src/corelib/global/qsystemdetection.h
index 4ebbe16ead..a020788b11 100644
--- a/src/corelib/global/qsystemdetection.h
+++ b/src/corelib/global/qsystemdetection.h
@@ -240,17 +240,23 @@
# if !defined(__MAC_10_14)
# define __MAC_10_14 101400
# endif
+# if !defined(__MAC_10_15)
+# define __MAC_10_15 101500
+# endif
# if !defined(MAC_OS_X_VERSION_10_11)
-# define MAC_OS_X_VERSION_10_11 101100
+# define MAC_OS_X_VERSION_10_11 __MAC_10_11
# endif
# if !defined(MAC_OS_X_VERSION_10_12)
-# define MAC_OS_X_VERSION_10_12 101200
+# define MAC_OS_X_VERSION_10_12 __MAC_10_12
# endif
# if !defined(MAC_OS_X_VERSION_10_13)
-# define MAC_OS_X_VERSION_10_13 101300
+# define MAC_OS_X_VERSION_10_13 __MAC_10_13
# endif
# if !defined(MAC_OS_X_VERSION_10_14)
-# define MAC_OS_X_VERSION_10_14 101400
+# define MAC_OS_X_VERSION_10_14 __MAC_10_14
+# endif
+# if !defined(MAC_OS_X_VERSION_10_15)
+# define MAC_OS_X_VERSION_10_15 __MAC_10_15
# endif
#
# if !defined(__IPHONE_10_0)
diff --git a/src/corelib/io/forkfd_qt.cpp b/src/corelib/io/forkfd_qt.cpp
index 80d1cd54d7..cf44874153 100644
--- a/src/corelib/io/forkfd_qt.cpp
+++ b/src/corelib/io/forkfd_qt.cpp
@@ -37,37 +37,12 @@
**
****************************************************************************/
-// these might be defined via precompiled headers
-#include <QtCore/qatomic.h>
+#include <QtCore/qglobal.h>
#define FORKFD_NO_SPAWNFD
-
#if defined(QT_NO_DEBUG) && !defined(NDEBUG)
# define NDEBUG
#endif
-typedef QT_PREPEND_NAMESPACE(QBasicAtomicInt) ffd_atomic_int;
-#define ffd_atomic_pointer(type) QT_PREPEND_NAMESPACE(QBasicAtomicPointer<type>)
-
-QT_BEGIN_NAMESPACE
-
-#define FFD_ATOMIC_INIT(val) Q_BASIC_ATOMIC_INITIALIZER(val)
-
-#define FFD_ATOMIC_RELAXED Relaxed
-#define FFD_ATOMIC_ACQUIRE Acquire
-#define FFD_ATOMIC_RELEASE Release
-
-#define FFD_CONCAT(x, y) x ## y
-
-#define ffd_atomic_load(ptr,order) (ptr)->FFD_CONCAT(load, order)()
-#define ffd_atomic_store(ptr,val,order) (ptr)->FFD_CONCAT(store, order)(val)
-#define ffd_atomic_exchange(ptr,val,order) (ptr)->FFD_CONCAT(fetchAndStore, order)(val)
-#define ffd_atomic_compare_exchange(ptr,expected,desired,order1,order2) \
- (ptr)->FFD_CONCAT(testAndSet, order1)(*expected, desired, *expected)
-#define ffd_atomic_add_fetch(ptr,val,order) ((ptr)->FFD_CONCAT(fetchAndAdd, order)(val) + val)
-
-QT_END_NAMESPACE
-
-extern "C" {
+#include <forkfd.h>
#include "../../3rdparty/forkfd/forkfd.c"
-}
diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp
index a5a3bc8b3e..a6f8b45ea3 100644
--- a/src/corelib/io/qfileinfo.cpp
+++ b/src/corelib/io/qfileinfo.cpp
@@ -256,10 +256,9 @@ QDateTime &QFileInfoPrivate::getFileTime(QAbstractFileEngine::FileTime request)
\snippet code/src_corelib_io_qfileinfo.cpp 0
- On Windows, symlinks (shortcuts) are \c .lnk files. The reported
- size() is that of the symlink (not the link's target), and
- opening a symlink using QFile opens the \c .lnk file. For
- example:
+ On Windows, shortcuts are \c .lnk files. The reported size() is that of
+ the shortcut (not the link's target), and opening a shortcut using QFile
+ opens the \c .lnk file. For example:
\snippet code/src_corelib_io_qfileinfo.cpp 1
@@ -1036,7 +1035,7 @@ bool QFileInfo::isBundle() const
}
/*!
- Returns \c true if this object points to a symbolic link;
+ Returns \c true if this object points to a symbolic link or shortcut;
otherwise returns \c false.
Symbolic links exist on Unix (including \macos and iOS) and Windows
@@ -1066,6 +1065,61 @@ bool QFileInfo::isSymLink() const
}
/*!
+ Returns \c true if this object points to a symbolic link;
+ otherwise returns \c false.
+
+ Symbolic links exist on Unix (including \macos and iOS) and Windows
+ (NTFS-symlink) and are typically created by the \c{ln -s} or \c{mklink}
+ commands, respectively.
+
+ Unix handles symlinks transparently. Opening a symbolic link effectively
+ opens the \l{symLinkTarget()}{link's target}.
+
+ In contrast to isSymLink(), false will be returned for shortcuts
+ (\c *.lnk files) on Windows. Use QFileInfo::isShortcut() instead.
+
+ \note If the symlink points to a non existing file, exists() returns
+ false.
+
+ \sa isFile(), isDir(), isShortcut(), symLinkTarget()
+*/
+
+bool QFileInfo::isSymbolicLink() const
+{
+ Q_D(const QFileInfo);
+ return d->checkAttribute<bool>(
+ QFileSystemMetaData::LegacyLinkType,
+ [d]() { return d->metaData.isLink(); },
+ [d]() { return d->getFileFlags(QAbstractFileEngine::LinkType); });
+}
+
+/*!
+ Returns \c true if this object points to a shortcut;
+ otherwise returns \c false.
+
+ Shortcuts only exist on Windows and are typically \c .lnk files.
+ For instance, true will be returned for shortcuts (\c *.lnk files) on
+ Windows, but false will be returned on Unix (including \macos and iOS).
+
+ The shortcut (.lnk) files are treated as regular files. Opening those will
+ open the \c .lnk file itself. In order to open the file a shortcut
+ references to, it must uses symLinkTarget() on a shortcut.
+
+ \note Even if a shortcut (broken shortcut) points to a non existing file,
+ isShortcut() returns true.
+
+ \sa isFile(), isDir(), isSymbolicLink(), symLinkTarget()
+*/
+bool QFileInfo::isShortcut() const
+{
+ Q_D(const QFileInfo);
+ return d->checkAttribute<bool>(
+ QFileSystemMetaData::LegacyLinkType,
+ [d]() { return d->metaData.isLnkFile(); },
+ [d]() { return d->getFileFlags(QAbstractFileEngine::LinkType); });
+}
+
+/*!
Returns \c true if the object points to a directory or to a symbolic
link to a directory, and that directory is the root directory; otherwise
returns \c false.
diff --git a/src/corelib/io/qfileinfo.h b/src/corelib/io/qfileinfo.h
index 111517325d..3ac028085a 100644
--- a/src/corelib/io/qfileinfo.h
+++ b/src/corelib/io/qfileinfo.h
@@ -111,6 +111,8 @@ public:
bool isFile() const;
bool isDir() const;
bool isSymLink() const;
+ bool isSymbolicLink() const;
+ bool isShortcut() const;
bool isRoot() const;
bool isBundle() const;
diff --git a/src/corelib/io/qfileselector.cpp b/src/corelib/io/qfileselector.cpp
index b1c2d84cdb..7adaafea18 100644
--- a/src/corelib/io/qfileselector.cpp
+++ b/src/corelib/io/qfileselector.cpp
@@ -44,7 +44,7 @@
#include <QtCore/QFile>
#include <QtCore/QDir>
#include <QtCore/QMutex>
-#include <QtCore/QMutexLocker>
+#include <QtCore/private/qlocking_p.h>
#include <QtCore/QUrl>
#include <QtCore/QFileInfo>
#include <QtCore/QLocale>
@@ -312,7 +312,7 @@ void QFileSelector::setExtraSelectors(const QStringList &list)
QStringList QFileSelector::allSelectors() const
{
Q_D(const QFileSelector);
- QMutexLocker locker(&sharedDataMutex);
+ const auto locker = qt_scoped_lock(sharedDataMutex);
QFileSelectorPrivate::updateSelectors();
return d->extras + sharedData->staticSelectors;
}
@@ -364,7 +364,7 @@ QStringList QFileSelectorPrivate::platformSelectors()
void QFileSelectorPrivate::addStatics(const QStringList &statics)
{
- QMutexLocker locker(&sharedDataMutex);
+ const auto locker = qt_scoped_lock(sharedDataMutex);
sharedData->preloadedStatics << statics;
sharedData->staticSelectors.clear();
}
diff --git a/src/corelib/io/qfilesystemwatcher_win.cpp b/src/corelib/io/qfilesystemwatcher_win.cpp
index bdbd3ba868..1d42dbfc70 100644
--- a/src/corelib/io/qfilesystemwatcher_win.cpp
+++ b/src/corelib/io/qfilesystemwatcher_win.cpp
@@ -48,6 +48,7 @@
#include <qdatetime.h>
#include <qdir.h>
#include <qtextstream.h>
+#include <private/qlocking_p.h>
#include <qt_windows.h>
@@ -423,7 +424,7 @@ QStringList QWindowsFileSystemWatcherEngine::addPaths(const QStringList &paths,
end = threads.constEnd();
for(jt = threads.constBegin(); jt != end; ++jt) {
thread = *jt;
- QMutexLocker locker(&(thread->mutex));
+ const auto locker = qt_scoped_lock(thread->mutex);
const auto hit = thread->handleForDir.find(QFileSystemWatcherPathKey(absolutePath));
if (hit != thread->handleForDir.end() && hit.value().flags < flags) {
@@ -478,7 +479,7 @@ QStringList QWindowsFileSystemWatcherEngine::addPaths(const QStringList &paths,
// now look for a thread to insert
bool found = false;
for (QWindowsFileSystemWatcherEngineThread *thread : qAsConst(threads)) {
- QMutexLocker locker(&(thread->mutex));
+ const auto locker = qt_scoped_lock(thread->mutex);
if (thread->handles.count() < MAXIMUM_WAIT_OBJECTS) {
DEBUG() << "Added handle" << handle.handle << "for" << absolutePath << "to watch" << fileInfo.absoluteFilePath()
<< "to existing thread " << thread;
@@ -554,7 +555,7 @@ QStringList QWindowsFileSystemWatcherEngine::removePaths(const QStringList &path
if (*jt == 0)
continue;
- QMutexLocker locker(&(thread->mutex));
+ auto locker = qt_unique_lock(thread->mutex);
QWindowsFileSystemWatcherEngine::Handle handle = thread->handleForDir.value(QFileSystemWatcherPathKey(absolutePath));
if (handle.handle == INVALID_HANDLE_VALUE) {
@@ -587,7 +588,7 @@ QStringList QWindowsFileSystemWatcherEngine::removePaths(const QStringList &path
locker.unlock();
thread->stop();
thread->wait();
- locker.relock();
+ locker.lock();
// We can't delete the thread until the mutex locker is
// out of scope
}
@@ -652,13 +653,13 @@ static QString msgFindNextFailed(const QWindowsFileSystemWatcherEngineThread::Pa
void QWindowsFileSystemWatcherEngineThread::run()
{
- QMutexLocker locker(&mutex);
+ auto locker = qt_unique_lock(mutex);
forever {
QVector<HANDLE> handlesCopy = handles;
locker.unlock();
DEBUG() << "QWindowsFileSystemWatcherThread" << this << "waiting on" << handlesCopy.count() << "handles";
DWORD r = WaitForMultipleObjects(handlesCopy.count(), handlesCopy.constData(), false, INFINITE);
- locker.relock();
+ locker.lock();
do {
if (r == WAIT_OBJECT_0) {
int m = msg;
diff --git a/src/corelib/io/qloggingregistry.cpp b/src/corelib/io/qloggingregistry.cpp
index 7849dfd14c..e8eb18b4c1 100644
--- a/src/corelib/io/qloggingregistry.cpp
+++ b/src/corelib/io/qloggingregistry.cpp
@@ -41,6 +41,7 @@
#include <QtCore/qfile.h>
#include <QtCore/qlibraryinfo.h>
+#include <QtCore/private/qlocking_p.h>
#include <QtCore/qstandardpaths.h>
#include <QtCore/qtextstream.h>
#include <QtCore/qdir.h>
@@ -356,7 +357,7 @@ void QLoggingRegistry::initializeRules()
*/
void QLoggingRegistry::registerCategory(QLoggingCategory *cat, QtMsgType enableForLevel)
{
- QMutexLocker locker(&registryMutex);
+ const auto locker = qt_scoped_lock(registryMutex);
if (!categories.contains(cat)) {
categories.insert(cat, enableForLevel);
@@ -370,7 +371,7 @@ void QLoggingRegistry::registerCategory(QLoggingCategory *cat, QtMsgType enableF
*/
void QLoggingRegistry::unregisterCategory(QLoggingCategory *cat)
{
- QMutexLocker locker(&registryMutex);
+ const auto locker = qt_scoped_lock(registryMutex);
categories.remove(cat);
}
@@ -413,7 +414,7 @@ void QLoggingRegistry::updateRules()
QLoggingCategory::CategoryFilter
QLoggingRegistry::installFilter(QLoggingCategory::CategoryFilter filter)
{
- QMutexLocker locker(&registryMutex);
+ const auto locker = qt_scoped_lock(registryMutex);
if (!filter)
filter = defaultCategoryFilter;
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp
index 951fc4ccaa..0c80daa024 100644
--- a/src/corelib/io/qprocess_unix.cpp
+++ b/src/corelib/io/qprocess_unix.cpp
@@ -89,6 +89,7 @@ QT_END_NAMESPACE
#include "qprocess_p.h"
#include "qstandardpaths.h"
#include "private/qcore_unix_p.h"
+#include "private/qlocking_p.h"
#ifdef Q_OS_MAC
#include <private/qcore_mac_p.h>
@@ -404,7 +405,7 @@ void QProcessPrivate::startProcess()
// CFBundle is not reentrant, since CFBundleCreate might return a reference
// to a cached bundle object. Protect the bundle calls with a mutex lock.
static QBasicMutex cfbundleMutex;
- QMutexLocker lock(&cfbundleMutex);
+ const auto locker = qt_scoped_lock(cfbundleMutex);
QCFType<CFBundleRef> bundle = CFBundleCreate(0, url);
// 'executableURL' can be either relative or absolute ...
QCFType<CFURLRef> executableURL = CFBundleCopyExecutableURL(bundle);
diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp
index 52b746d04a..22c22ce711 100644
--- a/src/corelib/io/qresource.cpp
+++ b/src/corelib/io/qresource.cpp
@@ -42,7 +42,7 @@
#include "qresource_p.h"
#include "qresource_iterator_p.h"
#include "qset.h"
-#include "qmutex.h"
+#include <private/qlocking_p.h>
#include "qdebug.h"
#include "qlocale.h"
#include "qglobal.h"
@@ -203,8 +203,8 @@ struct QResourceGlobalData
};
Q_GLOBAL_STATIC(QResourceGlobalData, resourceGlobalData)
-static inline QRecursiveMutex *resourceMutex()
-{ return &resourceGlobalData->resourceMutex; }
+static inline QRecursiveMutex &resourceMutex()
+{ return resourceGlobalData->resourceMutex; }
static inline ResourceList *resourceList()
{ return &resourceGlobalData->resourceList; }
@@ -337,7 +337,7 @@ bool
QResourcePrivate::load(const QString &file)
{
related.clear();
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
const ResourceList *list = resourceList();
QString cleaned = cleanPath(file);
for(int i = 0; i < list->size(); ++i) {
@@ -392,7 +392,7 @@ QResourcePrivate::ensureInitialized() const
if(path.startsWith(QLatin1Char('/'))) {
that->load(path.toString());
} else {
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
QStringList searchPaths = *resourceSearchPaths();
searchPaths << QLatin1String("");
for(int i = 0; i < searchPaths.size(); ++i) {
@@ -688,7 +688,7 @@ QResource::addSearchPath(const QString &path)
path.toLocal8Bit().data());
return;
}
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
resourceSearchPaths()->prepend(path);
}
@@ -706,7 +706,7 @@ QResource::addSearchPath(const QString &path)
QStringList
QResource::searchPaths()
{
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
return *resourceSearchPaths();
}
#endif
@@ -950,7 +950,7 @@ Q_CORE_EXPORT bool qRegisterResourceData(int version, const unsigned char *tree,
{
if (resourceGlobalData.isDestroyed())
return false;
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
ResourceList *list = resourceList();
if (version >= 0x01 && version <= 0x3) {
bool found = false;
@@ -977,7 +977,7 @@ Q_CORE_EXPORT bool qUnregisterResourceData(int version, const unsigned char *tre
if (resourceGlobalData.isDestroyed())
return false;
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
if (version >= 0x01 && version <= 0x3) {
QResourceRoot res(version, tree, name, data);
ResourceList *list = resourceList();
@@ -1198,7 +1198,7 @@ QResource::registerResource(const QString &rccFilename, const QString &resourceR
QDynamicFileResourceRoot *root = new QDynamicFileResourceRoot(r);
if(root->registerSelf(rccFilename)) {
root->ref.ref();
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
resourceList()->append(root);
return true;
}
@@ -1222,7 +1222,7 @@ QResource::unregisterResource(const QString &rccFilename, const QString &resourc
{
QString r = qt_resource_fixResourceRoot(resourceRoot);
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
ResourceList *list = resourceList();
for(int i = 0; i < list->size(); ++i) {
QResourceRoot *res = list->at(i);
@@ -1269,7 +1269,7 @@ QResource::registerResource(const uchar *rccData, const QString &resourceRoot)
QDynamicBufferResourceRoot *root = new QDynamicBufferResourceRoot(r);
if (root->registerSelf(rccData, -1)) {
root->ref.ref();
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
resourceList()->append(root);
return true;
}
@@ -1293,7 +1293,7 @@ QResource::unregisterResource(const uchar *rccData, const QString &resourceRoot)
{
QString r = qt_resource_fixResourceRoot(resourceRoot);
- QMutexLocker lock(resourceMutex());
+ const auto locker = qt_scoped_lock(resourceMutex());
ResourceList *list = resourceList();
for(int i = 0; i < list->size(); ++i) {
QResourceRoot *res = list->at(i);
diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp
index accde01f16..4a119a1e2f 100644
--- a/src/corelib/io/qsettings.cpp
+++ b/src/corelib/io/qsettings.cpp
@@ -47,6 +47,7 @@
#include "qdir.h"
#include "qfileinfo.h"
#include "qmutex.h"
+#include "private/qlocking_p.h"
#include "qlibraryinfo.h"
#include "qtemporaryfile.h"
#include "qstandardpaths.h"
@@ -210,7 +211,7 @@ QConfFile *QConfFile::fromName(const QString &fileName, bool _userPerms)
ConfFileCache *unusedCache = unusedCacheFunc();
QConfFile *confFile = 0;
- QMutexLocker locker(&settingsGlobalMutex);
+ const auto locker = qt_scoped_lock(settingsGlobalMutex);
if (!(confFile = usedHash->value(absPath))) {
if ((confFile = unusedCache->take(absPath)))
@@ -225,7 +226,7 @@ QConfFile *QConfFile::fromName(const QString &fileName, bool _userPerms)
void QConfFile::clearCache()
{
- QMutexLocker locker(&settingsGlobalMutex);
+ const auto locker = qt_scoped_lock(settingsGlobalMutex);
unusedCacheFunc()->clear();
}
@@ -937,7 +938,7 @@ void QConfFileSettingsPrivate::initFormat()
#endif
if (format > QSettings::IniFormat) {
- QMutexLocker locker(&settingsGlobalMutex);
+ const auto locker = qt_scoped_lock(settingsGlobalMutex);
const CustomFormatVector *customFormatVector = customFormatVectorFunc();
int i = (int)format - (int)QSettings::CustomFormat1;
@@ -1052,11 +1053,11 @@ static QString make_user_path()
}
#endif // !Q_OS_WIN
-static void initDefaultPaths(QMutexLocker *locker)
+static std::unique_lock<QBasicMutex> initDefaultPaths(std::unique_lock<QBasicMutex> locker)
{
PathHash *pathHash = pathHashFunc();
- locker->unlock();
+ locker.unlock();
/*
QLibraryInfo::location() uses QSettings, so in order to
@@ -1065,7 +1066,7 @@ static void initDefaultPaths(QMutexLocker *locker)
*/
QString systemPath = QLibraryInfo::location(QLibraryInfo::SettingsPath) + QLatin1Char('/');
- locker->relock();
+ locker.lock();
if (pathHash->isEmpty()) {
/*
Lazy initialization of pathHash. We initialize the
@@ -1096,6 +1097,8 @@ static void initDefaultPaths(QMutexLocker *locker)
#endif
#endif // Q_OS_WIN
}
+
+ return locker;
}
static Path getPath(QSettings::Format format, QSettings::Scope scope)
@@ -1103,10 +1106,10 @@ static Path getPath(QSettings::Format format, QSettings::Scope scope)
Q_ASSERT((int)QSettings::NativeFormat == 0);
Q_ASSERT((int)QSettings::IniFormat == 1);
- QMutexLocker locker(&settingsGlobalMutex);
+ auto locker = qt_unique_lock(settingsGlobalMutex);
PathHash *pathHash = pathHashFunc();
if (pathHash->isEmpty())
- initDefaultPaths(&locker);
+ locker = initDefaultPaths(std::move(locker));
Path result = pathHash->value(pathHashKey(format, scope));
if (!result.path.isEmpty())
@@ -1120,7 +1123,7 @@ static Path getPath(QSettings::Format format, QSettings::Scope scope)
// Note: Suitable only for autotests.
void Q_AUTOTEST_EXPORT clearDefaultPaths()
{
- QMutexLocker locker(&settingsGlobalMutex);
+ const auto locker = qt_scoped_lock(settingsGlobalMutex);
pathHashFunc()->clear();
}
#endif // QT_BUILD_INTERNAL && Q_XDG_PLATFORM && !QT_NO_STANDARDPATHS
@@ -1200,7 +1203,7 @@ QConfFileSettingsPrivate::QConfFileSettingsPrivate(const QString &fileName,
QConfFileSettingsPrivate::~QConfFileSettingsPrivate()
{
- QMutexLocker locker(&settingsGlobalMutex);
+ const auto locker = qt_scoped_lock(settingsGlobalMutex);
ConfFileHash *usedHash = usedHashFunc();
ConfFileCache *unusedCache = unusedCacheFunc();
@@ -1239,7 +1242,7 @@ void QConfFileSettingsPrivate::remove(const QString &key)
QSettingsKey theKey(key, caseSensitivity);
QSettingsKey prefix(key + QLatin1Char('/'), caseSensitivity);
- QMutexLocker locker(&confFile->mutex);
+ const auto locker = qt_scoped_lock(confFile->mutex);
ensureSectionParsed(confFile, theKey);
ensureSectionParsed(confFile, prefix);
@@ -1267,7 +1270,7 @@ void QConfFileSettingsPrivate::set(const QString &key, const QVariant &value)
QConfFile *confFile = confFiles.at(0);
QSettingsKey theKey(key, caseSensitivity, nextPosition++);
- QMutexLocker locker(&confFile->mutex);
+ const auto locker = qt_scoped_lock(confFile->mutex);
confFile->removedKeys.remove(theKey);
confFile->addedKeys.insert(theKey, value);
}
@@ -1279,7 +1282,7 @@ bool QConfFileSettingsPrivate::get(const QString &key, QVariant *value) const
bool found = false;
for (auto confFile : qAsConst(confFiles)) {
- QMutexLocker locker(&confFile->mutex);
+ const auto locker = qt_scoped_lock(confFile->mutex);
if (!confFile->addedKeys.isEmpty()) {
j = confFile->addedKeys.constFind(theKey);
@@ -1312,7 +1315,7 @@ QStringList QConfFileSettingsPrivate::children(const QString &prefix, ChildSpec
int startPos = prefix.size();
for (auto confFile : qAsConst(confFiles)) {
- QMutexLocker locker(&confFile->mutex);
+ const auto locker = qt_scoped_lock(confFile->mutex);
if (thePrefix.isEmpty())
ensureAllSectionsParsed(confFile);
@@ -1351,7 +1354,7 @@ void QConfFileSettingsPrivate::clear()
// Note: First config file is always the most specific.
QConfFile *confFile = confFiles.at(0);
- QMutexLocker locker(&confFile->mutex);
+ const auto locker = qt_scoped_lock(confFile->mutex);
ensureAllSectionsParsed(confFile);
confFile->addedKeys.clear();
confFile->removedKeys = confFile->originalKeys;
@@ -1363,7 +1366,7 @@ void QConfFileSettingsPrivate::sync()
// error we just try to go on and make the best of it
for (auto confFile : qAsConst(confFiles)) {
- QMutexLocker locker(&confFile->mutex);
+ const auto locker = qt_scoped_lock(confFile->mutex);
syncConfFile(confFile);
}
}
@@ -3521,10 +3524,10 @@ void QSettings::setUserIniPath(const QString &dir)
*/
void QSettings::setPath(Format format, Scope scope, const QString &path)
{
- QMutexLocker locker(&settingsGlobalMutex);
+ auto locker = qt_unique_lock(settingsGlobalMutex);
PathHash *pathHash = pathHashFunc();
if (pathHash->isEmpty())
- initDefaultPaths(&locker);
+ locker = initDefaultPaths(std::move(locker));
pathHash->insert(pathHashKey(format, scope), Path(path + QDir::separator(), true));
}
@@ -3604,7 +3607,7 @@ QSettings::Format QSettings::registerFormat(const QString &extension, ReadFunc r
Q_ASSERT(caseSensitivity == Qt::CaseSensitive);
#endif
- QMutexLocker locker(&settingsGlobalMutex);
+ const auto locker = qt_scoped_lock(settingsGlobalMutex);
CustomFormatVector *customFormatVector = customFormatVectorFunc();
int index = customFormatVector->size();
if (index == 16) // the QSettings::Format enum has room for 16 custom formats
diff --git a/src/corelib/itemmodels/qabstractitemmodel.cpp b/src/corelib/itemmodels/qabstractitemmodel.cpp
index e19d9479f8..47151a4aba 100644
--- a/src/corelib/itemmodels/qabstractitemmodel.cpp
+++ b/src/corelib/itemmodels/qabstractitemmodel.cpp
@@ -1898,10 +1898,17 @@ bool QAbstractItemModel::clearItemData(const QModelIndex &index)
*/
bool QAbstractItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)
{
- bool b = true;
- for (QMap<int, QVariant>::ConstIterator it = roles.begin(); it != roles.end(); ++it)
- b = b && setData(index, it.value(), it.key());
- return b;
+ // ### Qt 6: Consider change the semantics of this function,
+ // or deprecating/removing it altogether.
+ //
+ // For instance, it should try setting *all* the data
+ // in \a roles, and not bail out at the first setData that returns
+ // false. It should also have a transactional approach.
+ for (auto it = roles.begin(), e = roles.end(); it != e; ++it) {
+ if (!setData(index, it.value(), it.key()))
+ return false;
+ }
+ return true;
}
/*!
diff --git a/src/corelib/kernel/qcore_mac.cpp b/src/corelib/kernel/qcore_mac.cpp
index b048576f5b..e59835be48 100644
--- a/src/corelib/kernel/qcore_mac.cpp
+++ b/src/corelib/kernel/qcore_mac.cpp
@@ -44,6 +44,7 @@
#include "qpair.h"
#include "qmutex.h"
#include "qvarlengtharray.h"
+#include "private/qlocking_p.h"
QT_BEGIN_NAMESPACE
@@ -135,7 +136,7 @@ os_log_type_t AppleUnifiedLogger::logTypeForMessageType(QtMsgType msgType)
os_log_t AppleUnifiedLogger::cachedLog(const QString &subsystem, const QString &category)
{
static QBasicMutex mutex;
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
static QHash<QPair<QString, QString>, os_log_t> logs;
const auto cacheKey = qMakePair(subsystem, category);
diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h
index 447dcd9cbe..3266dc10a8 100644
--- a/src/corelib/kernel/qcore_mac_p.h
+++ b/src/corelib/kernel/qcore_mac_p.h
@@ -86,8 +86,14 @@ template <typename T, typename U, U (*RetainFunction)(U), void (*ReleaseFunction
class QAppleRefCounted
{
public:
- QAppleRefCounted(const T &t = T()) : value(t) {}
- QAppleRefCounted(QAppleRefCounted &&other) : value(other.value) { other.value = T(); }
+ QAppleRefCounted() : value() {}
+ QAppleRefCounted(const T &t) : value(t) {}
+ QAppleRefCounted(T &&t) noexcept(std::is_nothrow_move_constructible<T>::value)
+ : value(std::move(t)) {}
+ QAppleRefCounted(QAppleRefCounted &&other)
+ noexcept(std::is_nothrow_move_assignable<T>::value &&
+ std::is_nothrow_move_constructible<T>::value)
+ : value(qExchange(other.value, T())) {}
QAppleRefCounted(const QAppleRefCounted &other) : value(other.value) { if (value) RetainFunction(value); }
~QAppleRefCounted() { if (value) ReleaseFunction(value); }
operator T() const { return value; }
@@ -96,6 +102,8 @@ public:
QAppleRefCounted &operator=(const QAppleRefCounted &other)
{ QAppleRefCounted copy(other); swap(copy); return *this; }
QAppleRefCounted &operator=(QAppleRefCounted &&other)
+ noexcept(std::is_nothrow_move_assignable<T>::value &&
+ std::is_nothrow_move_constructible<T>::value)
{ QAppleRefCounted moved(std::move(other)); swap(moved); return *this; }
T *operator&() { return &value; }
protected:
diff --git a/src/corelib/kernel/qcore_unix.cpp b/src/corelib/kernel/qcore_unix.cpp
index 18c031f137..ff0c957770 100644
--- a/src/corelib/kernel/qcore_unix.cpp
+++ b/src/corelib/kernel/qcore_unix.cpp
@@ -132,8 +132,10 @@ static inline int qt_ppoll(struct pollfd *fds, nfds_t nfds, const struct timespe
return ::ppoll(fds, nfds, timeout_ts, nullptr);
#elif QT_CONFIG(poll_poll)
return ::poll(fds, nfds, timespecToMillisecs(timeout_ts));
-#else
+#elif QT_CONFIG(poll_select)
return qt_poll(fds, nfds, timeout_ts);
+#else
+ // configure.json reports an error when everything is not available
#endif
}
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index 2feeae5394..1ecef00a2d 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -55,6 +55,7 @@
#include <qfileinfo.h>
#include <qmutex.h>
#include <private/qloggingregistry_p.h>
+#include <qscopeguard.h>
#include <qstandardpaths.h>
#ifndef QT_NO_QOBJECT
#include <qthread.h>
@@ -70,6 +71,7 @@
#include <private/qfactoryloader_p.h>
#include <private/qfunctions_p.h>
#include <private/qlocale_p.h>
+#include <private/qlocking_p.h>
#include <private/qhooks_p.h>
#ifndef QT_NO_QOBJECT
@@ -294,7 +296,7 @@ void qAddPreRoutine(QtStartUpFunction p)
// Due to C++11 parallel dynamic initialization, this can be called
// from multiple threads.
- QMutexLocker locker(&globalRoutinesMutex);
+ const auto locker = qt_scoped_lock(globalRoutinesMutex);
list->prepend(p); // in case QCoreApplication is re-created, see qt_call_pre_routines
}
@@ -303,7 +305,7 @@ void qAddPostRoutine(QtCleanUpFunction p)
QVFuncList *list = postRList();
if (!list)
return;
- QMutexLocker locker(&globalRoutinesMutex);
+ const auto locker = qt_scoped_lock(globalRoutinesMutex);
list->prepend(p);
}
@@ -312,7 +314,7 @@ void qRemovePostRoutine(QtCleanUpFunction p)
QVFuncList *list = postRList();
if (!list)
return;
- QMutexLocker locker(&globalRoutinesMutex);
+ const auto locker = qt_scoped_lock(globalRoutinesMutex);
list->removeAll(p);
}
@@ -323,7 +325,7 @@ static void qt_call_pre_routines()
QVFuncList list;
{
- QMutexLocker locker(&globalRoutinesMutex);
+ const auto locker = qt_scoped_lock(globalRoutinesMutex);
// Unlike qt_call_post_routines, we don't empty the list, because
// Q_COREAPP_STARTUP_FUNCTION is a macro, so the user expects
// the function to be executed every time QCoreApplication is created.
@@ -342,7 +344,7 @@ void Q_CORE_EXPORT qt_call_post_routines()
QVFuncList list;
{
// extract the current list and make the stored list empty
- QMutexLocker locker(&globalRoutinesMutex);
+ const auto locker = qt_scoped_lock(globalRoutinesMutex);
qSwap(*postRList, list);
}
@@ -522,7 +524,7 @@ void QCoreApplicationPrivate::cleanupThreadData()
#endif
// need to clear the state of the mainData, just in case a new QCoreApplication comes along.
- QMutexLocker locker(&threadData->postEventList.mutex);
+ const auto locker = qt_scoped_lock(threadData->postEventList.mutex);
for (int i = 0; i < threadData->postEventList.size(); ++i) {
const QPostEvent &pe = threadData->postEventList.at(i);
if (pe.event) {
@@ -1705,7 +1707,7 @@ void QCoreApplicationPrivate::sendPostedEvents(QObject *receiver, int event_type
++data->postEventList.recursion;
- QMutexLocker locker(&data->postEventList.mutex);
+ auto locker = qt_unique_lock(data->postEventList.mutex);
// by default, we assume that the event dispatcher can go to sleep after
// processing all events. if any new events are posted while we send
@@ -1821,13 +1823,8 @@ void QCoreApplicationPrivate::sendPostedEvents(QObject *receiver, int event_type
// for the next event.
const_cast<QPostEvent &>(pe).event = 0;
- struct MutexUnlocker
- {
- QMutexLocker &m;
- MutexUnlocker(QMutexLocker &m) : m(m) { m.unlock(); }
- ~MutexUnlocker() { m.relock(); }
- };
- MutexUnlocker unlocker(locker);
+ locker.unlock();
+ const auto relocker = qScopeGuard([&locker] { locker.lock(); });
QScopedPointer<QEvent> event_deleter(e); // will delete the event (with the mutex unlocked)
@@ -1864,7 +1861,7 @@ void QCoreApplicationPrivate::sendPostedEvents(QObject *receiver, int event_type
void QCoreApplication::removePostedEvents(QObject *receiver, int eventType)
{
QThreadData *data = receiver ? receiver->d_func()->threadData : QThreadData::current();
- QMutexLocker locker(&data->postEventList.mutex);
+ auto locker = qt_unique_lock(data->postEventList.mutex);
// the QObject destructor calls this function directly. this can
// happen while the event loop is in the middle of posting events,
@@ -1927,7 +1924,7 @@ void QCoreApplicationPrivate::removePostedEvent(QEvent * event)
QThreadData *data = QThreadData::current();
- QMutexLocker locker(&data->postEventList.mutex);
+ const auto locker = qt_scoped_lock(data->postEventList.mutex);
if (data->postEventList.size() == 0) {
#if defined(QT_DEBUG)
diff --git a/src/corelib/kernel/qcoreapplication_win.cpp b/src/corelib/kernel/qcoreapplication_win.cpp
index 3f22c309ff..37c43dee4f 100644
--- a/src/corelib/kernel/qcoreapplication_win.cpp
+++ b/src/corelib/kernel/qcoreapplication_win.cpp
@@ -47,6 +47,7 @@
#ifndef QT_NO_QOBJECT
#include "qmutex.h"
#include <private/qthread_p.h>
+#include <private/qlocking_p.h>
#endif
#include "qtextstream.h"
#include <ctype.h>
@@ -919,7 +920,7 @@ void QCoreApplicationPrivate::removePostedTimerEvent(QObject *object, int timerI
{
QThreadData *data = object->d_func()->threadData;
- QMutexLocker locker(&data->postEventList.mutex);
+ const auto locker = qt_scoped_lock(data->postEventList.mutex);
if (data->postEventList.size() == 0)
return;
for (int i = 0; i < data->postEventList.size(); ++i) {
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index c15d740f9e..87623f304a 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -100,7 +100,7 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA
QEventDispatcherWin32Private::QEventDispatcherWin32Private()
: threadId(GetCurrentThreadId()), interrupt(false), internalHwnd(0),
- wakeUps(0), activateNotifiersPosted(false),
+ getMessageHook(0), wakeUps(0), activateNotifiersPosted(false),
winEventNotifierActivatedEvent(NULL)
{
}
@@ -245,9 +245,6 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA
case WM_QT_SENDPOSTEDEVENTS:
Q_ASSERT(d != 0);
- // Allow posting WM_QT_SENDPOSTEDEVENTS message.
- d->wakeUps.storeRelaxed(0);
-
// We send posted events manually, if the window procedure was invoked
// by the foreign event loop (e.g. from the native modal dialog).
q->sendPostedEvents();
@@ -257,9 +254,9 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA
return DefWindowProc(hwnd, message, wp, lp);
}
-static inline UINT inputTimerMask()
+static inline UINT inputQueueMask()
{
- UINT result = QS_TIMER | QS_INPUT | QS_RAWINPUT;
+ UINT result = QS_ALLEVENTS;
// QTBUG 28513, QTBUG-29097, QTBUG-29435: QS_TOUCH, QS_POINTER became part of
// QS_INPUT in Windows Kit 8. They should not be used when running on pre-Windows 8.
#if WINVER > 0x0601
@@ -269,6 +266,25 @@ static inline UINT inputTimerMask()
return result;
}
+LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp)
+{
+ QEventDispatcherWin32 *q = qobject_cast<QEventDispatcherWin32 *>(QAbstractEventDispatcher::instance());
+ Q_ASSERT(q != 0);
+ QEventDispatcherWin32Private *d = q->d_func();
+ MSG *msg = reinterpret_cast<MSG *>(lp);
+ static const UINT mask = inputQueueMask();
+
+ if (HIWORD(GetQueueStatus(mask)) == 0 && wp == PM_REMOVE) {
+ // Allow posting WM_QT_SENDPOSTEDEVENTS message.
+ d->wakeUps.storeRelaxed(0);
+ if (!(msg->hwnd == d->internalHwnd && msg->message == WM_QT_SENDPOSTEDEVENTS)) {
+ PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS,
+ WMWP_QT_TOFOREIGNLOOP, 0);
+ }
+ }
+ return d->getMessageHook ? CallNextHookEx(0, code, wp, lp) : 0;
+}
+
// Provide class name and atom for the message window used by
// QEventDispatcherWin32Private via Q_GLOBAL_STATIC shared between threads.
struct QWindowsMessageWindowClassContext
@@ -447,6 +463,14 @@ void QEventDispatcherWin32::createInternalHwnd()
return;
d->internalHwnd = qt_create_internal_window(this);
+ // setup GetMessage hook needed to drive our posted events
+ d->getMessageHook = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC) qt_GetMessageHook, NULL, GetCurrentThreadId());
+ if (Q_UNLIKELY(!d->getMessageHook)) {
+ int errorCode = GetLastError();
+ qFatal("Qt: INTERNAL ERROR: failed to install GetMessage hook: %d, %ls",
+ errorCode, qUtf16Printable(qt_error_string(errorCode)));
+ }
+
// start all normal timers
for (int i = 0; i < d->timerVec.count(); ++i)
d->registerTimer(d->timerVec.at(i));
@@ -499,7 +523,6 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
bool canWait;
bool retVal = false;
- bool needWM_QT_SENDPOSTEDEVENTS = false;
do {
DWORD waitRet = 0;
DWORD nCount = 0;
@@ -549,11 +572,8 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
if (haveMessage) {
if (d->internalHwnd == msg.hwnd && msg.message == WM_QT_SENDPOSTEDEVENTS) {
// Set result to 'true', if the message was sent by wakeUp().
- if (msg.wParam == WMWP_QT_FROMWAKEUP) {
- d->wakeUps.storeRelaxed(0);
+ if (msg.wParam == WMWP_QT_FROMWAKEUP)
retVal = true;
- }
- needWM_QT_SENDPOSTEDEVENTS = true;
continue;
}
if (msg.message == WM_TIMER) {
@@ -573,22 +593,10 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
}
if (!filterNativeEvent(QByteArrayLiteral("windows_generic_MSG"), &msg, 0)) {
- // Post WM_QT_SENDPOSTEDEVENTS before calling external code,
- // as it can start a foreign event loop.
- if (needWM_QT_SENDPOSTEDEVENTS) {
- needWM_QT_SENDPOSTEDEVENTS = false;
- PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS,
- WMWP_QT_TOFOREIGNLOOP, 0);
- }
TranslateMessage(&msg);
DispatchMessage(&msg);
}
} else if (waitRet - WAIT_OBJECT_0 < nCount) {
- if (needWM_QT_SENDPOSTEDEVENTS) {
- needWM_QT_SENDPOSTEDEVENTS = false;
- PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS,
- WMWP_QT_TOFOREIGNLOOP, 0);
- }
activateEventNotifiers();
} else {
// nothing todo so break
@@ -606,21 +614,12 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
waitRet = MsgWaitForMultipleObjectsEx(nCount, pHandles, INFINITE, QS_ALLINPUT, MWMO_ALERTABLE | MWMO_INPUTAVAILABLE);
emit awake();
if (waitRet - WAIT_OBJECT_0 < nCount) {
- if (needWM_QT_SENDPOSTEDEVENTS) {
- needWM_QT_SENDPOSTEDEVENTS = false;
- PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS,
- WMWP_QT_TOFOREIGNLOOP, 0);
- }
activateEventNotifiers();
retVal = true;
}
}
} while (canWait);
- if (needWM_QT_SENDPOSTEDEVENTS)
- PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS,
- WMWP_QT_TOFOREIGNLOOP, 0);
-
return retVal;
}
@@ -1004,6 +1003,10 @@ void QEventDispatcherWin32::closingDown()
d->timerDict.clear();
d->closingDown = true;
+
+ if (d->getMessageHook)
+ UnhookWindowsHookEx(d->getMessageHook);
+ d->getMessageHook = 0;
}
bool QEventDispatcherWin32::event(QEvent *e)
diff --git a/src/corelib/kernel/qeventdispatcher_win_p.h b/src/corelib/kernel/qeventdispatcher_win_p.h
index 697c07f912..e6620178d8 100644
--- a/src/corelib/kernel/qeventdispatcher_win_p.h
+++ b/src/corelib/kernel/qeventdispatcher_win_p.h
@@ -113,6 +113,7 @@ protected:
private:
friend LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp);
+ friend LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int, WPARAM, LPARAM);
};
struct QSockNot {
@@ -166,6 +167,7 @@ public:
// internal window handle used for socketnotifiers/timers/etc
HWND internalHwnd;
+ HHOOK getMessageHook;
// for controlling when to send posted events
QAtomicInt wakeUps;
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index acb1f54bdf..cc396d9239 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -814,6 +814,7 @@ int QMetaObjectPrivate::indexOfConstructor(const QMetaObject *m, const QByteArra
}
/*!
+ \fn int QMetaObjectPrivate::signalOffset(const QMetaObject *m)
\internal
\since 5.0
@@ -823,14 +824,6 @@ int QMetaObjectPrivate::indexOfConstructor(const QMetaObject *m, const QByteArra
Similar to QMetaObject::methodOffset(), but non-signal methods are
excluded.
*/
-int QMetaObjectPrivate::signalOffset(const QMetaObject *m)
-{
- Q_ASSERT(m != 0);
- int offset = 0;
- for (m = m->d.superdata; m; m = m->d.superdata)
- offset += priv(m->d.data)->signalCount;
- return offset;
-}
/*!
\internal
@@ -1542,21 +1535,14 @@ bool QMetaObject::invokeMethodImpl(QObject *object, QtPrivate::QSlotObjectBase *
return false;
}
- // args and typesCopy will be deallocated by ~QMetaCallEvent() using free()
- void **args = static_cast<void **>(calloc(1, sizeof(void *)));
- Q_CHECK_PTR(args);
-
- int *types = static_cast<int *>(calloc(1, sizeof(int)));
- Q_CHECK_PTR(types);
-
- QCoreApplication::postEvent(object, new QMetaCallEvent(slot, 0, -1, 1, types, args));
+ QCoreApplication::postEvent(object, new QMetaCallEvent(slot, 0, -1, 1));
} else if (type == Qt::BlockingQueuedConnection) {
#if QT_CONFIG(thread)
if (currentThread == objectThread)
qWarning("QMetaObject::invokeMethod: Dead lock detected");
QSemaphore semaphore;
- QCoreApplication::postEvent(object, new QMetaCallEvent(slot, 0, -1, 0, 0, argv, &semaphore));
+ QCoreApplication::postEvent(object, new QMetaCallEvent(slot, 0, -1, argv, &semaphore));
semaphore.acquire();
#endif // QT_CONFIG(thread)
} else {
@@ -2310,42 +2296,31 @@ bool QMetaMethod::invoke(QObject *object,
return false;
}
- int nargs = 1; // include return type
- void **args = (void **) malloc(paramCount * sizeof(void *));
- Q_CHECK_PTR(args);
- int *types = (int *) malloc(paramCount * sizeof(int));
- Q_CHECK_PTR(types);
- types[0] = 0; // return type
- args[0] = 0;
+ QScopedPointer<QMetaCallEvent> event(new QMetaCallEvent(idx_offset, idx_relative, callFunction, 0, -1, paramCount));
+ int *types = event->types();
+ void **args = event->args();
+ int argIndex = 0;
for (int i = 1; i < paramCount; ++i) {
types[i] = QMetaType::type(typeNames[i]);
if (types[i] == QMetaType::UnknownType && param[i]) {
// Try to register the type and try again before reporting an error.
- int index = nargs - 1;
- void *argv[] = { &types[i], &index };
+ void *argv[] = { &types[i], &argIndex };
QMetaObject::metacall(object, QMetaObject::RegisterMethodArgumentMetaType,
idx_relative + idx_offset, argv);
if (types[i] == -1) {
qWarning("QMetaMethod::invoke: Unable to handle unregistered datatype '%s'",
typeNames[i]);
- for (int x = 1; x < i; ++x) {
- if (types[x] && args[x])
- QMetaType::destroy(types[x], args[x]);
- }
- free(types);
- free(args);
return false;
}
}
if (types[i] != QMetaType::UnknownType) {
args[i] = QMetaType::create(types[i], param[i]);
- ++nargs;
+ ++argIndex;
}
}
- QCoreApplication::postEvent(object, new QMetaCallEvent(idx_offset, idx_relative, callFunction,
- 0, -1, nargs, types, args));
+ QCoreApplication::postEvent(object, event.take());
} else { // blocking queued connection
#if QT_CONFIG(thread)
QThread *currentThread = QThread::currentThread();
@@ -2358,7 +2333,7 @@ bool QMetaMethod::invoke(QObject *object,
QSemaphore semaphore;
QCoreApplication::postEvent(object, new QMetaCallEvent(idx_offset, idx_relative, callFunction,
- 0, -1, 0, 0, param, &semaphore));
+ 0, -1, param, &semaphore));
semaphore.acquire();
#endif // QT_CONFIG(thread)
}
diff --git a/src/corelib/kernel/qmetaobject_p.h b/src/corelib/kernel/qmetaobject_p.h
index 0cd9da2eac..56e3d6cb44 100644
--- a/src/corelib/kernel/qmetaobject_p.h
+++ b/src/corelib/kernel/qmetaobject_p.h
@@ -208,7 +208,13 @@ struct QMetaObjectPrivate
static int indexOfConstructor(const QMetaObject *m, const QByteArray &name,
int argc, const QArgumentType *types);
Q_CORE_EXPORT static QMetaMethod signal(const QMetaObject *m, int signal_index);
- Q_CORE_EXPORT static int signalOffset(const QMetaObject *m);
+ static inline int signalOffset(const QMetaObject *m) {
+ Q_ASSERT(m != nullptr);
+ int offset = 0;
+ for (m = m->d.superdata; m; m = m->d.superdata)
+ offset += reinterpret_cast<const QMetaObjectPrivate*>(m->d.data)->signalCount;
+ return offset;
+ }
Q_CORE_EXPORT static int absoluteSignalCount(const QMetaObject *m);
Q_CORE_EXPORT static int signalIndex(const QMetaMethod &m);
static bool checkConnectArgs(int signalArgc, const QArgumentType *signalTypes,
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index 754f5a13e4..356a675517 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -47,7 +47,9 @@
#include "qstringlist.h"
#include "qvector.h"
#include "qlocale.h"
+#if QT_CONFIG(easingcurve)
#include "qeasingcurve.h"
+#endif
#include "quuid.h"
#include "qvariant.h"
#include "qdatastream.h"
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index 44cce73359..94a32cec02 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -94,6 +94,13 @@ inline Q_DECL_CONSTEXPR int qMetaTypeId();
#define QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(F)\
F(VoidStar, 31, void*) \
+#if QT_CONFIG(easingcurve)
+#define QT_FOR_EACH_STATIC_EASINGCURVE(F)\
+ F(QEasingCurve, 29, QEasingCurve)
+#else
+#define QT_FOR_EACH_STATIC_EASINGCURVE(F)
+#endif
+
#if QT_CONFIG(itemmodel)
#define QT_FOR_EACH_STATIC_ITEMMODEL_CLASS(F)\
F(QModelIndex, 42, QModelIndex) \
@@ -122,7 +129,7 @@ inline Q_DECL_CONSTEXPR int qMetaTypeId();
F(QPoint, 25, QPoint) \
F(QPointF, 26, QPointF) \
F(QRegExp, 27, QRegExp) \
- F(QEasingCurve, 29, QEasingCurve) \
+ QT_FOR_EACH_STATIC_EASINGCURVE(F) \
F(QUuid, 30, QUuid) \
F(QVariant, 41, QVariant) \
F(QRegularExpression, 44, QRegularExpression) \
diff --git a/src/corelib/kernel/qmetatype_p.h b/src/corelib/kernel/qmetatype_p.h
index fa7208369a..d743d5a5c7 100644
--- a/src/corelib/kernel/qmetatype_p.h
+++ b/src/corelib/kernel/qmetatype_p.h
@@ -206,7 +206,9 @@ template<> struct TypeDefinition<QCborArray> { static const bool IsAvailable = f
template<> struct TypeDefinition<QCborMap> { static const bool IsAvailable = false; };
template<> struct TypeDefinition<QCborSimpleType> { static const bool IsAvailable = false; };
template<> struct TypeDefinition<QCborValue> { static const bool IsAvailable = false; };
+#if QT_CONFIG(easingcurve)
template<> struct TypeDefinition<QEasingCurve> { static const bool IsAvailable = false; };
+#endif
template<> struct TypeDefinition<QJsonArray> { static const bool IsAvailable = false; };
template<> struct TypeDefinition<QJsonDocument> { static const bool IsAvailable = false; };
template<> struct TypeDefinition<QJsonObject> { static const bool IsAvailable = false; };
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index d364ae1087..ef28c0164c 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -233,10 +233,6 @@ QObjectPrivate::~QObjectPrivate()
if (metaObject) metaObject->objectDestroyed(q_ptr);
-#ifndef QT_NO_USERDATA
- if (extraData)
- qDeleteAll(extraData->userData);
-#endif
delete extraData;
}
@@ -511,25 +507,85 @@ QAbstractMetaCallEvent::~QAbstractMetaCallEvent()
/*!
\internal
*/
-QMetaCallEvent::QMetaCallEvent(ushort method_offset, ushort method_relative, QObjectPrivate::StaticMetaCallFunction callFunction,
+inline void QMetaCallEvent::allocArgs()
+{
+ if (!d.nargs_)
+ return;
+
+ constexpr size_t each = sizeof(void*) + sizeof(int);
+ void *const memory = d.nargs_ * each > sizeof(prealloc_) ?
+ calloc(d.nargs_, each) : prealloc_;
+
+ Q_CHECK_PTR(memory);
+ d.args_ = static_cast<void **>(memory);
+}
+
+/*!
+ \internal
+
+ Used for blocking queued connections, just passes \a args through without
+ allocating any memory.
+ */
+QMetaCallEvent::QMetaCallEvent(ushort method_offset, ushort method_relative,
+ QObjectPrivate::StaticMetaCallFunction callFunction,
const QObject *sender, int signalId,
- int nargs, int *types, void **args, QSemaphore *semaphore)
+ void **args, QSemaphore *semaphore)
: QAbstractMetaCallEvent(sender, signalId, semaphore),
- slotObj_(nullptr), nargs_(nargs), types_(types), args_(args),
- callFunction_(callFunction), method_offset_(method_offset), method_relative_(method_relative)
-{ }
+ d({nullptr, args, callFunction, 0, method_offset, method_relative}),
+ prealloc_()
+{
+}
/*!
\internal
+
+ Used for blocking queued connections, just passes \a args through without
+ allocating any memory.
*/
-QMetaCallEvent::QMetaCallEvent(QtPrivate::QSlotObjectBase *slotO, const QObject *sender, int signalId,
- int nargs, int *types, void **args, QSemaphore *semaphore)
+QMetaCallEvent::QMetaCallEvent(QtPrivate::QSlotObjectBase *slotO,
+ const QObject *sender, int signalId,
+ void **args, QSemaphore *semaphore)
: QAbstractMetaCallEvent(sender, signalId, semaphore),
- slotObj_(slotO), nargs_(nargs), types_(types), args_(args),
- callFunction_(nullptr), method_offset_(0), method_relative_(ushort(-1))
+ d({slotO, args, nullptr, 0, 0, ushort(-1)}),
+ prealloc_()
{
- if (slotObj_)
- slotObj_->ref();
+ if (d.slotObj_)
+ d.slotObj_->ref();
+}
+
+/*!
+ \internal
+
+ Allocates memory for \a nargs; code creating an event needs to initialize
+ the void* and int arrays by accessing \a args() and \a types(), respectively.
+ */
+QMetaCallEvent::QMetaCallEvent(ushort method_offset, ushort method_relative,
+ QObjectPrivate::StaticMetaCallFunction callFunction,
+ const QObject *sender, int signalId,
+ int nargs)
+ : QAbstractMetaCallEvent(sender, signalId),
+ d({nullptr, nullptr, callFunction, nargs, method_offset, method_relative}),
+ prealloc_()
+{
+ allocArgs();
+}
+
+/*!
+ \internal
+
+ Allocates memory for \a nargs; code creating an event needs to initialize
+ the void* and int arrays by accessing \a args() and \a types(), respectively.
+ */
+QMetaCallEvent::QMetaCallEvent(QtPrivate::QSlotObjectBase *slotO,
+ const QObject *sender, int signalId,
+ int nargs)
+ : QAbstractMetaCallEvent(sender, signalId),
+ d({slotO, nullptr, nullptr, nargs, 0, ushort(-1)}),
+ prealloc_()
+{
+ if (d.slotObj_)
+ d.slotObj_->ref();
+ allocArgs();
}
/*!
@@ -537,16 +593,17 @@ QMetaCallEvent::QMetaCallEvent(QtPrivate::QSlotObjectBase *slotO, const QObject
*/
QMetaCallEvent::~QMetaCallEvent()
{
- if (types_) {
- for (int i = 0; i < nargs_; ++i) {
- if (types_[i] && args_[i])
- QMetaType::destroy(types_[i], args_[i]);
+ if (d.nargs_) {
+ int *typeIDs = types();
+ for (int i = 0; i < d.nargs_; ++i) {
+ if (typeIDs[i] && d.args_[i])
+ QMetaType::destroy(typeIDs[i], d.args_[i]);
}
- free(types_);
- free(args_);
+ if (reinterpret_cast<void*>(d.args_) != reinterpret_cast<void*>(prealloc_))
+ free(d.args_);
}
- if (slotObj_)
- slotObj_->destroyIfLastRef();
+ if (d.slotObj_)
+ d.slotObj_->destroyIfLastRef();
}
/*!
@@ -554,12 +611,13 @@ QMetaCallEvent::~QMetaCallEvent()
*/
void QMetaCallEvent::placeMetaCall(QObject *object)
{
- if (slotObj_) {
- slotObj_->call(object, args_);
- } else if (callFunction_ && method_offset_ <= object->metaObject()->methodOffset()) {
- callFunction_(object, QMetaObject::InvokeMetaMethod, method_relative_, args_);
+ if (d.slotObj_) {
+ d.slotObj_->call(object, d.args_);
+ } else if (d.callFunction_ && d.method_offset_ <= object->metaObject()->methodOffset()) {
+ d.callFunction_(object, QMetaObject::InvokeMetaMethod, d.method_relative_, d.args_);
} else {
- QMetaObject::metacall(object, QMetaObject::InvokeMetaMethod, method_offset_ + method_relative_, args_);
+ QMetaObject::metacall(object, QMetaObject::InvokeMetaMethod,
+ d.method_offset_ + d.method_relative_, d.args_);
}
}
@@ -3643,12 +3701,25 @@ static void queued_activate(QObject *sender, int signal, QObjectPrivate::Connect
int nargs = 1; // include return type
while (argumentTypes[nargs-1])
++nargs;
- int *types = (int *) malloc(nargs*sizeof(int));
- Q_CHECK_PTR(types);
- void **args = (void **) malloc(nargs*sizeof(void *));
- Q_CHECK_PTR(args);
+
+ QBasicMutexLocker locker(signalSlotLock(c->receiver.loadRelaxed()));
+ if (!c->receiver.loadRelaxed()) {
+ // the connection has been disconnected before we got the lock
+ return;
+ }
+ if (c->isSlotObject)
+ c->slotObj->ref();
+ locker.unlock();
+
+ QMetaCallEvent *ev = c->isSlotObject ?
+ new QMetaCallEvent(c->slotObj, sender, signal, nargs) :
+ new QMetaCallEvent(c->method_offset, c->method_relative, c->callFunction, sender, signal, nargs);
+
+ void **args = ev->args();
+ int *types = ev->types();
+
types[0] = 0; // return type
- args[0] = 0; // return value
+ args[0] = nullptr; // return value
if (nargs > 1) {
for (int n = 1; n < nargs; ++n)
@@ -3658,20 +3729,16 @@ static void queued_activate(QObject *sender, int signal, QObjectPrivate::Connect
args[n] = QMetaType::create(types[n], argv[n]);
}
- QBasicMutexLocker locker(signalSlotLock(c->receiver.loadRelaxed()));
+ locker.relock();
+ if (c->isSlotObject)
+ c->slotObj->destroyIfLastRef();
if (!c->receiver.loadRelaxed()) {
- // the connection has been disconnected before we got the lock
+ // the connection has been disconnected while we were unlocked
locker.unlock();
- for (int n = 1; n < nargs; ++n)
- QMetaType::destroy(types[n], args[n]);
- free(types);
- free(args);
+ delete ev;
return;
}
- QMetaCallEvent *ev = c->isSlotObject ?
- new QMetaCallEvent(c->slotObj, sender, signal, nargs, types, args) :
- new QMetaCallEvent(c->method_offset, c->method_relative, c->callFunction, sender, signal, nargs, types, args);
QCoreApplication::postEvent(c->receiver.loadRelaxed(), ev);
}
@@ -3772,8 +3839,9 @@ void doActivate(QObject *sender, int signal_index, void **argv)
if (!c->receiver.loadAcquire())
continue;
QMetaCallEvent *ev = c->isSlotObject ?
- new QMetaCallEvent(c->slotObj, sender, signal_index, 0, 0, argv, &semaphore) :
- new QMetaCallEvent(c->method_offset, c->method_relative, c->callFunction, sender, signal_index, 0, 0, argv, &semaphore);
+ new QMetaCallEvent(c->slotObj, sender, signal_index, argv, &semaphore) :
+ new QMetaCallEvent(c->method_offset, c->method_relative, c->callFunction,
+ sender, signal_index, argv, &semaphore);
QCoreApplication::postEvent(receiver, ev);
}
semaphore.acquire();
@@ -4188,58 +4256,6 @@ void QObject::dumpObjectInfo() const
}
}
-#ifndef QT_NO_USERDATA
-static QBasicAtomicInteger<uint> user_data_registration = Q_BASIC_ATOMIC_INITIALIZER(0);
-
-/*!
- \internal
- */
-uint QObject::registerUserData()
-{
- return user_data_registration.fetchAndAddRelaxed(1);
-}
-
-/*!
- \fn QObjectUserData::QObjectUserData()
- \internal
- */
-
-/*!
- \internal
- */
-QObjectUserData::~QObjectUserData()
-{
-}
-
-/*!
- \internal
- */
-void QObject::setUserData(uint id, QObjectUserData* data)
-{
- Q_D(QObject);
- if (!d->extraData)
- d->extraData = new QObjectPrivate::ExtraData;
-
- if (d->extraData->userData.size() <= (int) id)
- d->extraData->userData.resize((int) id + 1);
- d->extraData->userData[id] = data;
-}
-
-/*!
- \internal
- */
-QObjectUserData* QObject::userData(uint id) const
-{
- Q_D(const QObject);
- if (!d->extraData)
- return 0;
- if ((int)id < d->extraData->userData.size())
- return d->extraData->userData.at(id);
- return 0;
-}
-
-#endif // QT_NO_USERDATA
-
#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug dbg, const QObject *o)
@@ -5096,7 +5112,7 @@ bool QObject::disconnectImpl(const QObject *sender, void **signal, const QObject
}
if (!senderMetaObject) {
qWarning("QObject::disconnect: signal not found in %s", sender->metaObject()->className());
- return QMetaObject::Connection(0);
+ return false;
}
signal_index += QMetaObjectPrivate::signalOffset(senderMetaObject);
}
diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h
index 540b8b32c1..296552c2f2 100644
--- a/src/corelib/kernel/qobject.h
+++ b/src/corelib/kernel/qobject.h
@@ -78,12 +78,6 @@ class QRegExp;
#if QT_CONFIG(regularexpression)
class QRegularExpression;
#endif
-#if !QT_DEPRECATED_SINCE(5, 14) || QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
-# define QT_NO_USERDATA
-#endif
-#ifndef QT_NO_USERDATA
-class QObjectUserData;
-#endif
struct QDynamicMetaObjectData;
typedef QList<QObject*> QObjectList;
@@ -408,15 +402,6 @@ public:
QList<QByteArray> dynamicPropertyNames() const;
#endif // QT_NO_PROPERTIES
-#ifndef QT_NO_USERDATA
- QT_DEPRECATED_VERSION_5_14
- static uint registerUserData();
- QT_DEPRECATED_VERSION_X_5_14("Use setProperty()")
- void setUserData(uint id, QObjectUserData* data);
- QT_DEPRECATED_VERSION_X_5_14("Use property()")
- QObjectUserData* userData(uint id) const;
-#endif // QT_NO_USERDATA
-
Q_SIGNALS:
void destroyed(QObject * = nullptr);
void objectNameChanged(const QString &objectName, QPrivateSignal);
@@ -485,15 +470,6 @@ inline QMetaObject::Connection QObject::connect(const QObject *asender, const ch
inline const QMetaObject *qt_getQtMetaObject() noexcept
{ return &QObject::staticQtMetaObject; }
-#ifndef QT_NO_USERDATA
-class Q_CORE_EXPORT QObjectUserData {
- Q_DISABLE_COPY(QObjectUserData)
-public:
- QObjectUserData() = default;
- virtual ~QObjectUserData();
-};
-#endif
-
#if QT_DEPRECATED_SINCE(5, 0)
template<typename T>
inline QT_DEPRECATED T qFindChild(const QObject *o, const QString &name = QString())
diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h
index 95ffc1b2e8..d19d10b47c 100644
--- a/src/corelib/kernel/qobject_p.h
+++ b/src/corelib/kernel/qobject_p.h
@@ -113,9 +113,6 @@ public:
struct ExtraData
{
ExtraData() {}
- #ifndef QT_NO_USERDATA
- QVector<QObjectUserData *> userData;
- #endif
QList<QByteArray> propertyNames;
QVector<QVariant> propertyValues;
QVector<int> runningTimers;
@@ -509,29 +506,47 @@ private:
class Q_CORE_EXPORT QMetaCallEvent : public QAbstractMetaCallEvent
{
public:
- QMetaCallEvent(ushort method_offset, ushort method_relative, QObjectPrivate::StaticMetaCallFunction callFunction , const QObject *sender, int signalId,
- int nargs = 0, int *types = nullptr, void **args = nullptr, QSemaphore *semaphore = nullptr);
- /*! \internal
- \a signalId is in the signal index range (see QObjectPrivate::signalIndex()).
- */
- QMetaCallEvent(QtPrivate::QSlotObjectBase *slotObj, const QObject *sender, int signalId,
- int nargs = 0, int *types = nullptr, void **args = nullptr, QSemaphore *semaphore = nullptr);
+ // blocking queued with semaphore - args always owned by caller
+ QMetaCallEvent(ushort method_offset, ushort method_relative,
+ QObjectPrivate::StaticMetaCallFunction callFunction,
+ const QObject *sender, int signalId,
+ void **args, QSemaphore *semaphore);
+ QMetaCallEvent(QtPrivate::QSlotObjectBase *slotObj,
+ const QObject *sender, int signalId,
+ void **args, QSemaphore *semaphore);
+
+ // queued - args allocated by event, copied by caller
+ QMetaCallEvent(ushort method_offset, ushort method_relative,
+ QObjectPrivate::StaticMetaCallFunction callFunction,
+ const QObject *sender, int signalId,
+ int nargs);
+ QMetaCallEvent(QtPrivate::QSlotObjectBase *slotObj,
+ const QObject *sender, int signalId,
+ int nargs);
~QMetaCallEvent() override;
- inline int id() const { return method_offset_ + method_relative_; }
- inline void **args() const { return args_; }
+ inline int id() const { return d.method_offset_ + d.method_relative_; }
+ inline const void * const* args() const { return d.args_; }
+ inline void ** args() { return d.args_; }
+ inline const int *types() const { return reinterpret_cast<int*>(d.args_ + d.nargs_); }
+ inline int *types() { return reinterpret_cast<int*>(d.args_ + d.nargs_); }
virtual void placeMetaCall(QObject *object) override;
private:
- QtPrivate::QSlotObjectBase *slotObj_;
- int nargs_;
- int *types_;
- void **args_;
- QObjectPrivate::StaticMetaCallFunction callFunction_;
- ushort method_offset_;
- ushort method_relative_;
+ inline void allocArgs();
+
+ struct Data {
+ QtPrivate::QSlotObjectBase *slotObj_;
+ void **args_;
+ QObjectPrivate::StaticMetaCallFunction callFunction_;
+ int nargs_;
+ ushort method_offset_;
+ ushort method_relative_;
+ } d;
+ // preallocate enough space for three arguments
+ char prealloc_[3*(sizeof(void*) + sizeof(int))];
};
class QBoolBlocker
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index 1cd812ee0b..f7fa47c801 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -46,7 +46,9 @@
#include "qdebug.h"
#include "qmap.h"
#include "qdatetime.h"
+#if QT_CONFIG(easingcurve)
#include "qeasingcurve.h"
+#endif
#include "qlist.h"
#if QT_CONFIG(regularexpression)
#include "qregularexpression.h"
@@ -2194,7 +2196,7 @@ QVariant::QVariant(const QTime &val)
QVariant::QVariant(const QDateTime &val)
: d(DateTime)
{ v_construct<QDateTime>(&d, val); }
-#ifndef QT_BOOTSTRAPPED
+#if QT_CONFIG(easingcurve)
QVariant::QVariant(const QEasingCurve &val)
: d(EasingCurve)
{ v_construct<QEasingCurve>(&d, val); }
@@ -2471,7 +2473,9 @@ static const ushort mapIdFromQt3ToCurrent[MapFromThreeCount] =
QVariant::Pen,
QVariant::LongLong,
QVariant::ULongLong,
+#if QT_CONFIG(easingcurve)
QVariant::EasingCurve
+#endif
};
/*!
@@ -2788,7 +2792,7 @@ QDateTime QVariant::toDateTime() const
\sa canConvert(int targetTypeId), convert()
*/
-#ifndef QT_BOOTSTRAPPED
+#if QT_CONFIG(easingcurve)
QEasingCurve QVariant::toEasingCurve() const
{
return qVariantToHelper<QEasingCurve>(d, handlerManager);
diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h
index 39b7e4c0ce..e7d3d9c835 100644
--- a/src/corelib/kernel/qvariant.h
+++ b/src/corelib/kernel/qvariant.h
@@ -66,7 +66,9 @@ class QBitArray;
class QDataStream;
class QDate;
class QDateTime;
+#if QT_CONFIG(easingcurve)
class QEasingCurve;
+#endif
class QLine;
class QLineF;
class QLocale;
@@ -162,7 +164,9 @@ class Q_CORE_EXPORT QVariant
RegExp = QMetaType::QRegExp,
RegularExpression = QMetaType::QRegularExpression,
Hash = QMetaType::QVariantHash,
+#if QT_CONFIG(easingcurve)
EasingCurve = QMetaType::QEasingCurve,
+#endif
Uuid = QMetaType::QUuid,
#if QT_CONFIG(itemmodel)
ModelIndex = QMetaType::QModelIndex,
@@ -254,7 +258,9 @@ class Q_CORE_EXPORT QVariant
#endif // QT_CONFIG(regularexpression)
#ifndef QT_BOOTSTRAPPED
QVariant(const QUrl &url);
+#if QT_CONFIG(easingcurve)
QVariant(const QEasingCurve &easing);
+#endif
QVariant(const QUuid &uuid);
QVariant(const QJsonValue &jsonValue);
QVariant(const QJsonObject &jsonObject);
@@ -328,7 +334,9 @@ class Q_CORE_EXPORT QVariant
#endif // QT_CONFIG(regularexpression)
#ifndef QT_BOOTSTRAPPED
QUrl toUrl() const;
+#if QT_CONFIG(easingcurve)
QEasingCurve toEasingCurve() const;
+#endif
QUuid toUuid() const;
QJsonValue toJsonValue() const;
QJsonObject toJsonObject() const;
diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp
index 84fcc53d52..44d5513163 100644
--- a/src/corelib/plugin/qlibrary_unix.cpp
+++ b/src/corelib/plugin/qlibrary_unix.cpp
@@ -52,6 +52,10 @@
# include <private/qcore_mac_p.h>
#endif
+#ifdef Q_OS_ANDROID
+# include <private/qjnihelpers_p.h>
+#endif
+
QT_BEGIN_NAMESPACE
static QString qdlerror()
@@ -96,6 +100,9 @@ QStringList QLibraryPrivate::suffixes_sys(const QString& fullVersion)
suffixes << QLatin1String(".so.%1").arg(fullVersion);
} else {
suffixes << QLatin1String(".so");
+# ifdef Q_OS_ANDROID
+ suffixes << QStringLiteral(LIBS_SUFFIX);
+# endif
}
#endif
# ifdef Q_OS_MAC
@@ -157,9 +164,12 @@ bool QLibraryPrivate::load_sys()
// Do not unload the library during dlclose(). Consequently, the
// library's specific static variables are not reinitialized if the
// library is reloaded with dlopen() at a later time.
-#if defined(RTLD_NODELETE) && !defined(Q_OS_ANDROID)
+#if defined(RTLD_NODELETE)
if (loadHints & QLibrary::PreventUnloadHint) {
- dlFlags |= RTLD_NODELETE;
+# ifdef Q_OS_ANDROID // RTLD_NODELETE flag is supported by Android 23+
+ if (QtAndroidPrivate::androidSdkVersion() > 22)
+# endif
+ dlFlags |= RTLD_NODELETE;
}
#endif
@@ -219,7 +229,14 @@ bool QLibraryPrivate::load_sys()
} else {
attempt = path + prefixes.at(prefix) + name + suffixes.at(suffix);
}
+
pHnd = dlopen(QFile::encodeName(attempt), dlFlags);
+#ifdef Q_OS_ANDROID
+ if (!pHnd) {
+ auto attemptFromBundle = attempt;
+ pHnd = dlopen(QFile::encodeName(attemptFromBundle.replace(QLatin1Char('/'), QLatin1Char('_'))), dlFlags);
+ }
+#endif
if (!pHnd && fileName.startsWith(QLatin1Char('/')) && QFile::exists(attempt)) {
// We only want to continue if dlopen failed due to that the shared library did not exist.
diff --git a/src/corelib/serialization/qcborvalue.cpp b/src/corelib/serialization/qcborvalue.cpp
index ba616c0a7d..9053618014 100644
--- a/src/corelib/serialization/qcborvalue.cpp
+++ b/src/corelib/serialization/qcborvalue.cpp
@@ -915,7 +915,7 @@ void QCborContainerPrivate::replaceAt_complex(Element &e, const QCborValue &valu
// in qstring.cpp
void qt_to_latin1_unchecked(uchar *dst, const ushort *uc, qsizetype len);
-Q_NEVER_INLINE void QCborContainerPrivate::appendAsciiString(const QString &s)
+Q_NEVER_INLINE void QCborContainerPrivate::appendAsciiString(QStringView s)
{
qsizetype len = s.size();
QtCbor::Element e;
@@ -926,7 +926,7 @@ Q_NEVER_INLINE void QCborContainerPrivate::appendAsciiString(const QString &s)
char *ptr = data.data() + e.value + sizeof(ByteData);
uchar *l = reinterpret_cast<uchar *>(ptr);
- const ushort *uc = (const ushort *)s.unicode();
+ const ushort *uc = (const ushort *)s.utf16();
qt_to_latin1_unchecked(l, uc, len);
}
@@ -1646,13 +1646,23 @@ QCborValue::QCborValue(const QByteArray &ba)
container->ref.storeRelaxed(1);
}
+#if QT_STRINGVIEW_LEVEL < 2
/*!
Creates a QCborValue with string value \a s. The value can later be
retrieved using toString().
\sa toString(), isString(), isByteArray()
*/
-QCborValue::QCborValue(const QString &s)
+QCborValue::QCborValue(const QString &s) : QCborValue(qToStringViewIgnoringNull(s)) {}
+#endif
+
+/*!
+ Creates a QCborValue with string value \a s. The value can later be
+ retrieved using toString().
+
+ \sa toString(), isString(), isByteArray()
+*/
+QCborValue::QCborValue(QStringView s)
: n(0), container(new QCborContainerPrivate), t(String)
{
container->append(s);
diff --git a/src/corelib/serialization/qcborvalue.h b/src/corelib/serialization/qcborvalue.h
index f542e44c47..f79fc572c4 100644
--- a/src/corelib/serialization/qcborvalue.h
+++ b/src/corelib/serialization/qcborvalue.h
@@ -143,7 +143,10 @@ public:
QCborValue(QCborSimpleType st) : t(type_helper(st)) {}
QCborValue(const QByteArray &ba);
+#if QT_STRINGVIEW_LEVEL < 2
QCborValue(const QString &s);
+#endif
+ QCborValue(QStringView s);
QCborValue(QLatin1String s);
#ifndef QT_NO_CAST_FROM_ASCII
QT_ASCII_CAST_WARN QCborValue(const char *s) : QCborValue(QString::fromUtf8(s)) {}
diff --git a/src/corelib/serialization/qcborvalue_p.h b/src/corelib/serialization/qcborvalue_p.h
index 4050d18fa9..590c2d6e05 100644
--- a/src/corelib/serialization/qcborvalue_p.h
+++ b/src/corelib/serialization/qcborvalue_p.h
@@ -245,13 +245,21 @@ public:
appendByteData(s.latin1(), s.size(), QCborValue::String,
QtCbor::Element::StringIsAscii);
}
- void appendAsciiString(const QString &s);
+ void appendAsciiString(QStringView s);
+
+#if QT_STRINGVIEW_LEVEL < 2
void append(const QString &s)
{
+ append(qToStringViewIgnoringNull(s));
+ }
+#endif
+
+ void append(QStringView s)
+ {
if (QtPrivate::isAscii(s))
appendAsciiString(s);
else
- appendByteData(reinterpret_cast<const char *>(s.constData()), s.size() * 2,
+ appendByteData(reinterpret_cast<const char *>(s.utf16()), s.size() * 2,
QCborValue::String, QtCbor::Element::StringIsUtf16);
}
void append(const QCborValue &v)
@@ -345,33 +353,41 @@ public:
return e;
}
- bool stringEqualsElement(qsizetype idx, QLatin1String s) const
+ static int compareUtf8(const QtCbor::ByteData *b, const QLatin1String &s)
{
- const auto &e = elements.at(idx);
- if (e.type != QCborValue::String)
- return false;
-
- const QtCbor::ByteData *b = byteData(idx);
- if (!b)
- return s.isEmpty();
+ return QUtf8::compareUtf8(b->byte(), b->len, s);
+ }
- if (e.flags & QtCbor::Element::StringIsUtf16)
- return QtPrivate::compareStrings(b->asStringView(), s) == 0;
- return QUtf8::compareUtf8(b->byte(), b->len, s) == 0;
+ static int compareUtf8(const QtCbor::ByteData *b, QStringView s)
+ {
+ return QUtf8::compareUtf8(b->byte(), b->len, s.data(), s.size());
}
- bool stringEqualsElement(qsizetype idx, const QString &s) const
+
+ template<typename String>
+ int stringCompareElement(const QtCbor::Element &e, String s) const
{
- const auto &e = elements.at(idx);
if (e.type != QCborValue::String)
- return false;
+ return int(e.type) - int(QCborValue::String);
- const QtCbor::ByteData *b = byteData(idx);
+ const QtCbor::ByteData *b = byteData(e);
if (!b)
- return s.isEmpty();
+ return s.isEmpty() ? 0 : -1;
if (e.flags & QtCbor::Element::StringIsUtf16)
- return QtPrivate::compareStrings(b->asStringView(), s) == 0;
- return QUtf8::compareUtf8(b->byte(), b->len, s.data(), s.size()) == 0;
+ return QtPrivate::compareStrings(b->asStringView(), s);
+ return compareUtf8(b, s);
+ }
+
+ template<typename String>
+ bool stringEqualsElement(const QtCbor::Element &e, String s) const
+ {
+ return stringCompareElement(e, s) == 0;
+ }
+
+ template<typename String>
+ bool stringEqualsElement(qsizetype idx, String s) const
+ {
+ return stringEqualsElement(elements.at(idx), s);
}
static int compareElement_helper(const QCborContainerPrivate *c1, QtCbor::Element e1,
diff --git a/src/corelib/serialization/qdatastream.cpp b/src/corelib/serialization/qdatastream.cpp
index b3330d6cea..5082a8cb0d 100644
--- a/src/corelib/serialization/qdatastream.cpp
+++ b/src/corelib/serialization/qdatastream.cpp
@@ -566,6 +566,7 @@ void QDataStream::setByteOrder(ByteOrder bo)
\value Qt_5_12 Version 18 (Qt 5.12)
\value Qt_5_13 Version 19 (Qt 5.13)
\value Qt_5_14 Same as Qt_5_13
+ \value Qt_5_15 Same as Qt_5_13
\omitvalue Qt_DefaultCompiledVersion
\sa setVersion(), version()
diff --git a/src/corelib/serialization/qjsonvalue.h b/src/corelib/serialization/qjsonvalue.h
index 430fa06c0f..8ade18509b 100644
--- a/src/corelib/serialization/qjsonvalue.h
+++ b/src/corelib/serialization/qjsonvalue.h
@@ -177,9 +177,9 @@ class Q_CORE_EXPORT QJsonValueRef
{
public:
QJsonValueRef(QJsonArray *array, int idx)
- : a(array), is_object(false), index(idx) {}
+ : a(array), is_object(false), index(static_cast<uint>(idx)) {}
QJsonValueRef(QJsonObject *object, int idx)
- : o(object), is_object(true), index(idx) {}
+ : o(object), is_object(true), index(static_cast<uint>(idx)) {}
inline operator QJsonValue() const { return toValue(); }
QJsonValueRef &operator = (const QJsonValue &val);
diff --git a/src/corelib/text/qchar.cpp b/src/corelib/text/qchar.cpp
index 0c190c6a3d..7dd353b4ba 100644
--- a/src/corelib/text/qchar.cpp
+++ b/src/corelib/text/qchar.cpp
@@ -572,6 +572,7 @@ QT_BEGIN_NAMESPACE
\value Null A QChar with this value isNull().
\value Tabulation Character tabulation.
\value LineFeed
+ \value FormFeed
\value CarriageReturn
\value Space
\value Nbsp Non-breaking space.
diff --git a/src/corelib/text/qchar.h b/src/corelib/text/qchar.h
index e028a24c24..f67a7ea90a 100644
--- a/src/corelib/text/qchar.h
+++ b/src/corelib/text/qchar.h
@@ -78,6 +78,7 @@ public:
Null = 0x0000,
Tabulation = 0x0009,
LineFeed = 0x000a,
+ FormFeed = 0x000c,
CarriageReturn = 0x000d,
Space = 0x0020,
Nbsp = 0x00a0,
diff --git a/src/corelib/text/qlocale.cpp b/src/corelib/text/qlocale.cpp
index 5685d87c85..91e393e343 100644
--- a/src/corelib/text/qlocale.cpp
+++ b/src/corelib/text/qlocale.cpp
@@ -72,6 +72,10 @@
# include <time.h>
#endif
+#include "private/qcalendarbackend_p.h"
+#include "private/qgregoriancalendar_p.h"
+#include "qcalendar.h"
+
QT_BEGIN_NAMESPACE
#ifndef QT_NO_SYSTEMLOCALE
@@ -341,8 +345,10 @@ QByteArray QLocalePrivate::bcp47Name(char separator) const
return localeId.withLikelySubtagsRemoved().name(separator);
}
-static const QLocaleData *findLocaleDataById(const QLocaleId &localeId)
+static const QLocaleData *findLocaleDataById(const QLocaleId &lid)
{
+ QLocaleId localeId = lid.withLikelySubtagsAdded();
+
const uint idx = locale_index[localeId.language_id];
const QLocaleData *data = locale_data + idx;
@@ -443,6 +449,12 @@ const QLocaleData *QLocaleData::findLocaleData(QLocale::Language language, QLoca
return locale_data + idx;
}
+uint QLocaleData::findLocaleOffset(QLocale::Language language, QLocale::Script script,
+ QLocale::Country country)
+{
+ return findLocaleData(language, script, country) - locale_data;
+}
+
static bool parse_locale_tag(const QString &input, int &i, QString *result,
const QString &separators)
{
@@ -550,6 +562,16 @@ static const QLocaleData *findLocaleData(const QString &name)
return QLocaleData::findLocaleData(lang, script, cntry);
}
+static uint findLocaleOffset(const QString &name)
+{
+ QLocale::Language lang;
+ QLocale::Script script;
+ QLocale::Country cntry;
+ QLocalePrivate::getLangAndCountry(name, lang, script, cntry);
+
+ return QLocaleData::findLocaleOffset(lang, script, cntry);
+}
+
QString qt_readEscapedFormatString(QStringView format, int *idx)
{
int &i = *idx;
@@ -617,8 +639,8 @@ static QLocale::NumberOptions default_number_options = QLocale::DefaultNumberOpt
static const QLocaleData *const c_data = locale_data;
static QLocalePrivate *c_private()
{
- static QLocalePrivate c_locale =
- { c_data, Q_BASIC_ATOMIC_INITIALIZER(1), QLocale::OmitGroupSeparator };
+ static QLocalePrivate c_locale{
+ c_data, Q_BASIC_ATOMIC_INITIALIZER(1), 0, QLocale::OmitGroupSeparator };
return &c_locale;
}
@@ -803,9 +825,11 @@ static QLocalePrivate *localePrivateByName(const QString &name)
{
if (name == QLatin1String("C"))
return c_private();
+ // TODO: Remove this version, and use offset everywhere
const QLocaleData *data = findLocaleData(name);
- return QLocalePrivate::create(data, data->m_language_id == QLocale::C ?
- QLocale::OmitGroupSeparator : QLocale::DefaultNumberOptions);
+ return QLocalePrivate::create(data, findLocaleOffset(name),
+ data->m_language_id == QLocale::C
+ ? QLocale::OmitGroupSeparator : QLocale::DefaultNumberOptions);
}
static QLocalePrivate *findLocalePrivate(QLocale::Language language, QLocale::Script script,
@@ -814,7 +838,9 @@ static QLocalePrivate *findLocalePrivate(QLocale::Language language, QLocale::Sc
if (language == QLocale::C)
return c_private();
+ // TODO: Remove pointer, use index instead
const QLocaleData *data = QLocaleData::findLocaleData(language, script, country);
+ const uint offset = QLocaleData::findLocaleOffset(language, script, country);
QLocale::NumberOptions numberOptions = QLocale::DefaultNumberOptions;
@@ -823,7 +849,7 @@ static QLocalePrivate *findLocalePrivate(QLocale::Language language, QLocale::Sc
numberOptions = default_number_options;
data = defaultData();
}
- return QLocalePrivate::create(data, numberOptions);
+ return QLocalePrivate::create(data, offset, numberOptions);
}
@@ -1957,7 +1983,7 @@ QString QLocale::toString(qulonglong i) const
QString QLocale::toString(const QDate &date, const QString &format) const
{
- return d->dateTimeToString(format, QDateTime(), date, QTime(), this);
+ return QCalendar().dateTimeToString(format, QDateTime(), date, QTime(), *this);
}
#endif
@@ -1972,7 +1998,7 @@ QString QLocale::toString(const QDate &date, const QString &format) const
*/
QString QLocale::toString(const QDate &date, QStringView format) const
{
- return d->dateTimeToString(format, QDateTime(), date, QTime(), this);
+ return QCalendar().dateTimeToString(format, QDateTime(), date, QTime(), *this);
}
/*!
@@ -2027,7 +2053,7 @@ static bool timeFormatContainsAP(QStringView format)
*/
QString QLocale::toString(const QTime &time, const QString &format) const
{
- return d->dateTimeToString(format, QDateTime(), QDate(), time, this);
+ return QCalendar().dateTimeToString(format, QDateTime(), QDate(), time, *this);
}
#endif
@@ -2042,7 +2068,7 @@ QString QLocale::toString(const QTime &time, const QString &format) const
*/
QString QLocale::toString(const QTime &time, QStringView format) const
{
- return d->dateTimeToString(format, QDateTime(), QDate(), time, this);
+ return QCalendar().dateTimeToString(format, QDateTime(), QDate(), time, *this);
}
#if QT_STRINGVIEW_LEVEL < 2
@@ -2058,7 +2084,7 @@ QString QLocale::toString(const QTime &time, QStringView format) const
QString QLocale::toString(const QDateTime &dateTime, const QString &format) const
{
- return d->dateTimeToString(format, dateTime, QDate(), QTime(), this);
+ return QCalendar().dateTimeToString(format, dateTime, QDate(), QTime(), *this);
}
#endif
@@ -2073,7 +2099,58 @@ QString QLocale::toString(const QDateTime &dateTime, const QString &format) cons
*/
QString QLocale::toString(const QDateTime &dateTime, QStringView format) const
{
- return d->dateTimeToString(format, dateTime, QDate(), QTime(), this);
+ return QCalendar().dateTimeToString(format, dateTime, QDate(), QTime(), *this);
+}
+
+QString QLocale::toString(const QDate &date, QStringView format, QCalendar cal) const
+{
+ return cal.dateTimeToString(format, QDateTime(), date, QTime(), *this);
+}
+
+QString QLocale::toString(const QDate &date, QLocale::FormatType format, QCalendar cal) const
+{
+ if (!date.isValid())
+ return QString();
+
+#ifndef QT_NO_SYSTEMLOCALE
+ if (cal.isGregorian() && d->m_data == systemData()) {
+ QVariant res = systemLocale()->query(format == LongFormat
+ ? QSystemLocale::DateToStringLong
+ : QSystemLocale::DateToStringShort,
+ date);
+ if (!res.isNull())
+ return res.toString();
+ }
+#endif
+
+ QString format_str = dateFormat(format);
+ return toString(date, format_str, cal);
+}
+
+QString QLocale::toString(const QDateTime &dateTime, QLocale::FormatType format,
+ QCalendar cal) const
+{
+ if (!dateTime.isValid())
+ return QString();
+
+#ifndef QT_NO_SYSTEMLOCALE
+ if (cal.isGregorian() && d->m_data == systemData()) {
+ QVariant res = systemLocale()->query(format == LongFormat
+ ? QSystemLocale::DateTimeToStringLong
+ : QSystemLocale::DateTimeToStringShort,
+ dateTime);
+ if (!res.isNull())
+ return res.toString();
+ }
+#endif
+
+ const QString format_str = dateTimeFormat(format);
+ return toString(dateTime, format_str, cal);
+}
+
+QString QLocale::toString(const QDateTime &dateTime, QStringView format, QCalendar cal) const
+{
+ return cal.dateTimeToString(format, dateTime, QDate(), QTime(), *this);
}
/*!
@@ -2232,6 +2309,7 @@ QString QLocale::dateTimeFormat(FormatType format) const
return dateFormat(format) + QLatin1Char(' ') + timeFormat(format);
}
+#if QT_CONFIG(datestring)
/*!
\since 4.4
@@ -2243,12 +2321,19 @@ QString QLocale::dateTimeFormat(FormatType format) const
\sa timeFormat(), toDate(), toDateTime(), QTime::fromString()
*/
-#if QT_CONFIG(datestring)
QTime QLocale::toTime(const QString &string, FormatType format) const
{
return toTime(string, timeFormat(format));
}
-#endif
+
+/*!
+ \since 5.14
+ \overload
+*/
+QTime QLocale::toTime(const QString &string, FormatType format, QCalendar cal) const
+{
+ return toTime(string, timeFormat(format), cal);
+}
/*!
\since 4.4
@@ -2261,12 +2346,19 @@ QTime QLocale::toTime(const QString &string, FormatType format) const
\sa dateFormat(), toTime(), toDateTime(), QDate::fromString()
*/
-#if QT_CONFIG(datestring)
QDate QLocale::toDate(const QString &string, FormatType format) const
{
return toDate(string, dateFormat(format));
}
-#endif
+
+/*!
+ \since 5.14
+ \overload
+*/
+QDate QLocale::toDate(const QString &string, FormatType format, QCalendar cal) const
+{
+ return toDate(string, dateFormat(format), cal);
+}
/*!
\since 4.4
@@ -2279,13 +2371,19 @@ QDate QLocale::toDate(const QString &string, FormatType format) const
\sa dateTimeFormat(), toTime(), toDate(), QDateTime::fromString()
*/
-
-#if QT_CONFIG(datestring)
QDateTime QLocale::toDateTime(const QString &string, FormatType format) const
{
return toDateTime(string, dateTimeFormat(format));
}
-#endif
+
+/*!
+ \since 5.14
+ \overload
+*/
+QDateTime QLocale::toDateTime(const QString &string, FormatType format, QCalendar cal) const
+{
+ return toDateTime(string, dateTimeFormat(format), cal);
+}
/*!
\since 4.4
@@ -2298,22 +2396,30 @@ QDateTime QLocale::toDateTime(const QString &string, FormatType format) const
\sa timeFormat(), toDate(), toDateTime(), QTime::fromString()
*/
-#if QT_CONFIG(datestring)
QTime QLocale::toTime(const QString &string, const QString &format) const
{
+ return toTime(string, format, QCalendar());
+}
+
+/*!
+ \since 5.14
+ \overload
+*/
+QTime QLocale::toTime(const QString &string, const QString &format, QCalendar cal) const
+{
QTime time;
#if QT_CONFIG(datetimeparser)
- QDateTimeParser dt(QVariant::Time, QDateTimeParser::FromString);
+ QDateTimeParser dt(QVariant::Time, QDateTimeParser::FromString, cal);
dt.setDefaultLocale(*this);
if (dt.parseFormat(format))
dt.fromString(string, 0, &time);
#else
+ Q_UNUSED(cal);
Q_UNUSED(string);
Q_UNUSED(format);
#endif
return time;
}
-#endif
/*!
\since 4.4
@@ -2329,22 +2435,30 @@ QTime QLocale::toTime(const QString &string, const QString &format) const
\sa dateFormat(), toTime(), toDateTime(), QDate::fromString()
*/
-#if QT_CONFIG(datestring)
QDate QLocale::toDate(const QString &string, const QString &format) const
{
+ return toDate(string, format, QCalendar());
+}
+
+/*!
+ \since 5.14
+ \overload
+*/
+QDate QLocale::toDate(const QString &string, const QString &format, QCalendar cal) const
+{
QDate date;
#if QT_CONFIG(datetimeparser)
- QDateTimeParser dt(QVariant::Date, QDateTimeParser::FromString);
+ QDateTimeParser dt(QVariant::Date, QDateTimeParser::FromString, cal);
dt.setDefaultLocale(*this);
if (dt.parseFormat(format))
dt.fromString(string, &date, 0);
#else
Q_UNUSED(string);
Q_UNUSED(format);
+ Q_UNUSED(cal);
#endif
return date;
}
-#endif
/*!
\since 4.4
@@ -2360,25 +2474,33 @@ QDate QLocale::toDate(const QString &string, const QString &format) const
\sa dateTimeFormat(), toTime(), toDate(), QDateTime::fromString()
*/
-#if QT_CONFIG(datestring)
QDateTime QLocale::toDateTime(const QString &string, const QString &format) const
{
+ return toDateTime(string, format, QCalendar());
+}
+
+/*!
+ \since 5.14
+ \overload
+*/
+QDateTime QLocale::toDateTime(const QString &string, const QString &format, QCalendar cal) const
+{
#if QT_CONFIG(datetimeparser)
QTime time;
QDate date;
- QDateTimeParser dt(QVariant::DateTime, QDateTimeParser::FromString);
+ QDateTimeParser dt(QVariant::DateTime, QDateTimeParser::FromString, cal);
dt.setDefaultLocale(*this);
if (dt.parseFormat(format) && dt.fromString(string, &date, &time))
return QDateTime(date, time);
#else
Q_UNUSED(string);
Q_UNUSED(format);
+ Q_UNUSED(cal);
#endif
return QDateTime(QDate(), QTime(-1, -1, -1));
}
-#endif
-
+#endif // datestring
/*!
\since 4.1
@@ -2623,38 +2745,7 @@ QList<QLocale::Country> QLocale::countriesForLanguage(Language language)
*/
QString QLocale::monthName(int month, FormatType type) const
{
- if (month < 1 || month > 12)
- return QString();
-
-#ifndef QT_NO_SYSTEMLOCALE
- if (d->m_data == systemData()) {
- QVariant res = systemLocale()->query(type == LongFormat
- ? QSystemLocale::MonthNameLong
- : QSystemLocale::MonthNameShort,
- month);
- if (!res.isNull())
- return res.toString();
- }
-#endif
-
- quint32 idx, size;
- switch (type) {
- case QLocale::LongFormat:
- idx = d->m_data->m_long_month_names_idx;
- size = d->m_data->m_long_month_names_size;
- break;
- case QLocale::ShortFormat:
- idx = d->m_data->m_short_month_names_idx;
- size = d->m_data->m_short_month_names_size;
- break;
- case QLocale::NarrowFormat:
- idx = d->m_data->m_narrow_month_names_idx;
- size = d->m_data->m_narrow_month_names_size;
- break;
- default:
- return QString();
- }
- return getLocaleListData(months_data + idx, size, month - 1);
+ return QCalendar().monthName(*this, month, QCalendar::Unspecified, type);
}
/*!
@@ -2670,110 +2761,221 @@ QString QLocale::monthName(int month, FormatType type) const
*/
QString QLocale::standaloneMonthName(int month, FormatType type) const
{
- if (month < 1 || month > 12)
- return QString();
+ return QCalendar().standaloneMonthName(*this, month, QCalendar::Unspecified, type);
+}
-#ifndef QT_NO_SYSTEMLOCALE
- if (d->m_data == systemData()) {
- QVariant res = systemLocale()->query(type == LongFormat
- ? QSystemLocale::StandaloneMonthNameLong
- : QSystemLocale::StandaloneMonthNameShort,
- month);
- if (!res.isNull())
- return res.toString();
+/*!
+ \since 4.2
+
+ Returns the localized name of the \a day (where 1 represents
+ Monday, 2 represents Tuesday and so on), in the format specified
+ by \a type.
+
+ \sa monthName(), standaloneDayName()
+*/
+QString QLocale::dayName(int day, FormatType type) const
+{
+ return QCalendar().weekDayName(*this, day, type);
+}
+
+/*!
+ \since 4.5
+
+ Returns the localized name of the \a day (where 1 represents
+ Monday, 2 represents Tuesday and so on) that is used as a
+ standalone text, in the format specified by \a type.
+
+ If the locale information does not specify the standalone day
+ name then return value is the same as in dayName().
+
+ \sa dayName(), standaloneMonthName()
+*/
+QString QLocale::standaloneDayName(int day, FormatType type) const
+{
+ return QCalendar().standaloneWeekDayName(*this, day, type);
+}
+
+// Calendar look-up of month and day names:
+
+/*!
+ \internal
+ */
+
+static QString rawMonthName(const QCalendarLocale &localeData,
+ const ushort *monthsData, int month,
+ QLocale::FormatType type)
+{
+ quint32 idx, size;
+ switch (type) {
+ case QLocale::LongFormat:
+ idx = localeData.m_long.index;
+ size = localeData.m_long.size;
+ break;
+ case QLocale::ShortFormat:
+ idx = localeData.m_short.index;
+ size = localeData.m_short.size;
+ break;
+ case QLocale::NarrowFormat:
+ idx = localeData.m_narrow.index;
+ size = localeData.m_narrow.size;
+ break;
+ default:
+ return QString();
}
-#endif
+ return getLocaleListData(monthsData + idx, size, month - 1);
+}
+
+/*!
+ \internal
+ */
+static QString rawStandaloneMonthName(const QCalendarLocale &localeData,
+ const ushort *monthsData, int month,
+ QLocale::FormatType type)
+{
quint32 idx, size;
switch (type) {
case QLocale::LongFormat:
- idx = d->m_data->m_standalone_long_month_names_idx;
- size = d->m_data->m_standalone_long_month_names_size;
+ idx = localeData.m_standalone_long.index;
+ size = localeData.m_standalone_long.size;
break;
case QLocale::ShortFormat:
- idx = d->m_data->m_standalone_short_month_names_idx;
- size = d->m_data->m_standalone_short_month_names_size;
+ idx = localeData.m_standalone_short.index;
+ size = localeData.m_standalone_short.size;
break;
case QLocale::NarrowFormat:
- idx = d->m_data->m_standalone_narrow_month_names_idx;
- size = d->m_data->m_standalone_narrow_month_names_size;
+ idx = localeData.m_standalone_narrow.index;
+ size = localeData.m_standalone_narrow.size;
break;
default:
return QString();
}
- QString name = getLocaleListData(months_data + idx, size, month - 1);
- if (name.isEmpty())
- return monthName(month, type);
- return name;
+ QString name = getLocaleListData(monthsData + idx, size, month - 1);
+ return name.isEmpty() ? rawMonthName(localeData, monthsData, month, type) : name;
}
/*!
- \since 4.2
-
- Returns the localized name of the \a day (where 1 represents
- Monday, 2 represents Tuesday and so on), in the format specified
- by \a type.
+ \internal
+ */
- \sa monthName(), standaloneDayName()
-*/
-QString QLocale::dayName(int day, FormatType type) const
+static QString rawWeekDayName(const QLocaleData *data, const int day,
+ QLocale::FormatType type)
{
- if (day < 1 || day > 7)
+ quint32 idx, size;
+ switch (type) {
+ case QLocale::LongFormat:
+ idx = data->m_long_day_names_idx;
+ size = data->m_long_day_names_size;
+ break;
+ case QLocale::ShortFormat:
+ idx = data->m_short_day_names_idx;
+ size = data->m_short_day_names_size;
+ break;
+ case QLocale::NarrowFormat:
+ idx = data->m_narrow_day_names_idx;
+ size = data->m_narrow_day_names_size;
+ break;
+ default:
return QString();
-
-#ifndef QT_NO_SYSTEMLOCALE
- if (d->m_data == systemData()) {
- QVariant res = systemLocale()->query(type == LongFormat
- ? QSystemLocale::DayNameLong
- : QSystemLocale::DayNameShort,
- day);
- if (!res.isNull())
- return res.toString();
}
-#endif
- if (day == 7)
- day = 0;
+ return getLocaleListData(days_data + idx, size, day == 7 ? 0 : day);
+}
+/*!
+ \internal
+ */
+
+static QString rawStandaloneWeekDayName(const QLocaleData *data, const int day,
+ QLocale::FormatType type)
+{
quint32 idx, size;
switch (type) {
case QLocale::LongFormat:
- idx = d->m_data->m_long_day_names_idx;
- size = d->m_data->m_long_day_names_size;
+ idx = data->m_standalone_long_day_names_idx;
+ size = data->m_standalone_long_day_names_size;
break;
case QLocale::ShortFormat:
- idx = d->m_data->m_short_day_names_idx;
- size = d->m_data->m_short_day_names_size;
+ idx = data->m_standalone_short_day_names_idx;
+ size = data->m_standalone_short_day_names_size;
break;
case QLocale::NarrowFormat:
- idx = d->m_data->m_narrow_day_names_idx;
- size = d->m_data->m_narrow_day_names_size;
+ idx = data->m_standalone_narrow_day_names_idx;
+ size = data->m_standalone_narrow_day_names_size;
break;
default:
return QString();
}
- return getLocaleListData(days_data + idx, size, day);
+ QString name = getLocaleListData(days_data + idx, size, day == 7 ? 0 : day);
+ if (name.isEmpty())
+ return rawWeekDayName(data, day, type);
+ return name;
}
-/*!
- \since 4.5
+// Refugees from qcalendar.cpp that need functions above:
- Returns the localized name of the \a day (where 1 represents
- Monday, 2 represents Tuesday and so on) that is used as a
- standalone text, in the format specified by \a type.
+QString QCalendarBackend::monthName(const QLocale &locale, int month, int,
+ QLocale::FormatType format) const
+{
+ Q_ASSERT(month >= 1 && month <= maxMonthsInYear());
+ return rawMonthName(localeMonthIndexData()[locale.d->m_data_offset],
+ localeMonthData(), month, format);
+}
- If the locale information does not specify the standalone day
- name then return value is the same as in dayName().
+QString QGregorianCalendar::monthName(const QLocale &locale, int month, int year,
+ QLocale::FormatType format) const
+{
+#ifndef QT_NO_SYSTEMLOCALE
+ if (locale.d->m_data == systemData()) {
+ Q_ASSERT(month >= 1 && month <= 12);
+ QVariant res = systemLocale()->query(format == QLocale::LongFormat
+ ? QSystemLocale::MonthNameLong
+ : QSystemLocale::MonthNameShort,
+ month);
+ if (!res.isNull())
+ return res.toString();
+ }
+#endif
- \sa dayName(), standaloneMonthName()
-*/
-QString QLocale::standaloneDayName(int day, FormatType type) const
+ return QCalendarBackend::monthName(locale, month, year, format);
+}
+
+QString QCalendarBackend::standaloneMonthName(const QLocale &locale, int month, int,
+ QLocale::FormatType format) const
+{
+ Q_ASSERT(month >= 1 && month <= maxMonthsInYear());
+ return rawStandaloneMonthName(localeMonthIndexData()[locale.d->m_data_offset],
+ localeMonthData(), month, format);
+}
+
+QString QGregorianCalendar::standaloneMonthName(const QLocale &locale, int month, int year,
+ QLocale::FormatType format) const
+{
+#ifndef QT_NO_SYSTEMLOCALE
+ if (locale.d->m_data == systemData()) {
+ Q_ASSERT(month >= 1 && month <= 12);
+ QVariant res = systemLocale()->query(format == QLocale::LongFormat
+ ? QSystemLocale::StandaloneMonthNameLong
+ : QSystemLocale::StandaloneMonthNameShort,
+ month);
+ if (!res.isNull())
+ return res.toString();
+ }
+#endif
+
+ return QCalendarBackend::standaloneMonthName(locale, month, year, format);
+}
+
+// Most calendars share the common week-day naming, modulo locale.
+// Calendars that don't must override these methods.
+QString QCalendarBackend::weekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format) const
{
if (day < 1 || day > 7)
return QString();
#ifndef QT_NO_SYSTEMLOCALE
- if (d->m_data == systemData()) {
- QVariant res = systemLocale()->query(type == LongFormat
+ if (locale.d->m_data == systemData()) {
+ QVariant res = systemLocale()->query(format == QLocale::LongFormat
? QSystemLocale::DayNameLong
: QSystemLocale::DayNameShort,
day);
@@ -2781,32 +2983,32 @@ QString QLocale::standaloneDayName(int day, FormatType type) const
return res.toString();
}
#endif
- if (day == 7)
- day = 0;
- quint32 idx, size;
- switch (type) {
- case QLocale::LongFormat:
- idx = d->m_data->m_standalone_long_day_names_idx;
- size = d->m_data->m_standalone_long_day_names_size;
- break;
- case QLocale::ShortFormat:
- idx = d->m_data->m_standalone_short_day_names_idx;
- size = d->m_data->m_standalone_short_day_names_size;
- break;
- case QLocale::NarrowFormat:
- idx = d->m_data->m_standalone_narrow_day_names_idx;
- size = d->m_data->m_standalone_narrow_day_names_size;
- break;
- default:
+ return rawWeekDayName(locale.d->m_data, day, format);
+}
+
+QString QCalendarBackend::standaloneWeekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format) const
+{
+ if (day < 1 || day > 7)
return QString();
+
+#ifndef QT_NO_SYSTEMLOCALE
+ if (locale.d->m_data == systemData()) {
+ QVariant res = systemLocale()->query(format == QLocale::LongFormat
+ ? QSystemLocale::DayNameLong
+ : QSystemLocale::DayNameShort,
+ day);
+ if (!res.isNull())
+ return res.toString();
}
- QString name = getLocaleListData(days_data + idx, size, day);
- if (name.isEmpty())
- return dayName(day == 0 ? 7 : day, type);
- return name;
+#endif
+
+ return rawStandaloneWeekDayName(locale.d->m_data, day, format);
}
+// End of this block of qcalendar.cpp refugees. (One more follows.)
+
/*!
\since 4.8
@@ -3010,10 +3212,11 @@ QString QLocale::pmText() const
return getLocaleData(pm_data + d->m_data->m_pm_idx, d->m_data->m_pm_size);
}
+// Another intrusion from QCalendar, using some of the tools above:
-QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &datetime,
- const QDate &dateOnly, const QTime &timeOnly,
- const QLocale *q) const
+QString QCalendarBackend::dateTimeToString(QStringView format, const QDateTime &datetime,
+ const QDate &dateOnly, const QTime &timeOnly,
+ const QLocale &locale) const
{
QDate date;
QTime time;
@@ -3035,6 +3238,15 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
}
QString result;
+ int year = 0, month = 0, day = 0;
+ if (formatDate) {
+ const auto parts = julianDayToDate(date.toJulianDay());
+ if (!parts.isValid())
+ return QString();
+ year = parts.year;
+ month = parts.month;
+ day = parts.day;
+ }
int i = 0;
while (i < format.size()) {
@@ -3057,15 +3269,14 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
switch (repeat) {
case 4: {
- const int yr = date.year();
- const int len = (yr < 0) ? 5 : 4;
- result.append(m_data->longLongToString(yr, -1, 10, len,
- QLocaleData::ZeroPadded));
+ const int len = (year < 0) ? 5 : 4;
+ result.append(locale.d->m_data->longLongToString(year, -1, 10, len,
+ QLocaleData::ZeroPadded));
break;
}
case 2:
- result.append(m_data->longLongToString(date.year() % 100, -1, 10, 2,
- QLocaleData::ZeroPadded));
+ result.append(locale.d->m_data->longLongToString(year % 100, -1, 10, 2,
+ QLocaleData::ZeroPadded));
break;
default:
repeat = 1;
@@ -3079,17 +3290,17 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
repeat = qMin(repeat, 4);
switch (repeat) {
case 1:
- result.append(m_data->longLongToString(date.month()));
+ result.append(locale.d->m_data->longLongToString(month));
break;
case 2:
- result.append(m_data->longLongToString(date.month(), -1, 10, 2,
- QLocaleData::ZeroPadded));
+ result.append(locale.d->m_data->longLongToString(month, -1, 10, 2,
+ QLocaleData::ZeroPadded));
break;
case 3:
- result.append(q->monthName(date.month(), QLocale::ShortFormat));
+ result.append(monthName(locale, month, year, QLocale::ShortFormat));
break;
case 4:
- result.append(q->monthName(date.month(), QLocale::LongFormat));
+ result.append(monthName(locale, month, year, QLocale::LongFormat));
break;
}
break;
@@ -3099,17 +3310,19 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
repeat = qMin(repeat, 4);
switch (repeat) {
case 1:
- result.append(m_data->longLongToString(date.day()));
+ result.append(locale.d->m_data->longLongToString(day));
break;
case 2:
- result.append(m_data->longLongToString(date.day(), -1, 10, 2,
- QLocaleData::ZeroPadded));
+ result.append(locale.d->m_data->longLongToString(day, -1, 10, 2,
+ QLocaleData::ZeroPadded));
break;
case 3:
- result.append(q->dayName(date.dayOfWeek(), QLocale::ShortFormat));
+ result.append(locale.dayName(
+ dayOfWeek(date.toJulianDay()), QLocale::ShortFormat));
break;
case 4:
- result.append(q->dayName(date.dayOfWeek(), QLocale::LongFormat));
+ result.append(locale.dayName(
+ dayOfWeek(date.toJulianDay()), QLocale::LongFormat));
break;
}
break;
@@ -3133,11 +3346,11 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
switch (repeat) {
case 1:
- result.append(m_data->longLongToString(hour));
+ result.append(locale.d->m_data->longLongToString(hour));
break;
case 2:
- result.append(m_data->longLongToString(hour, -1, 10, 2,
- QLocaleData::ZeroPadded));
+ result.append(locale.d->m_data->longLongToString(hour, -1, 10, 2,
+ QLocaleData::ZeroPadded));
break;
}
break;
@@ -3147,11 +3360,11 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
repeat = qMin(repeat, 2);
switch (repeat) {
case 1:
- result.append(m_data->longLongToString(time.hour()));
+ result.append(locale.d->m_data->longLongToString(time.hour()));
break;
case 2:
- result.append(m_data->longLongToString(time.hour(), -1, 10, 2,
- QLocaleData::ZeroPadded));
+ result.append(locale.d->m_data->longLongToString(time.hour(), -1, 10, 2,
+ QLocaleData::ZeroPadded));
break;
}
break;
@@ -3161,11 +3374,11 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
repeat = qMin(repeat, 2);
switch (repeat) {
case 1:
- result.append(m_data->longLongToString(time.minute()));
+ result.append(locale.d->m_data->longLongToString(time.minute()));
break;
case 2:
- result.append(m_data->longLongToString(time.minute(), -1, 10, 2,
- QLocaleData::ZeroPadded));
+ result.append(locale.d->m_data->longLongToString(time.minute(), -1, 10, 2,
+ QLocaleData::ZeroPadded));
break;
}
break;
@@ -3175,11 +3388,11 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
repeat = qMin(repeat, 2);
switch (repeat) {
case 1:
- result.append(m_data->longLongToString(time.second()));
+ result.append(locale.d->m_data->longLongToString(time.second()));
break;
case 2:
- result.append(m_data->longLongToString(time.second(), -1, 10, 2,
- QLocaleData::ZeroPadded));
+ result.append(locale.d->m_data->longLongToString(time.second(), -1, 10, 2,
+ QLocaleData::ZeroPadded));
break;
}
break;
@@ -3187,13 +3400,15 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
case 'a':
used = true;
repeat = format.mid(i + 1).startsWith(QLatin1Char('p')) ? 2 : 1;
- result.append(time.hour() < 12 ? q->amText().toLower() : q->pmText().toLower());
+ result.append(time.hour() < 12 ? locale.amText().toLower()
+ : locale.pmText().toLower());
break;
case 'A':
used = true;
repeat = format.mid(i + 1).startsWith(QLatin1Char('P')) ? 2 : 1;
- result.append(time.hour() < 12 ? q->amText().toUpper() : q->pmText().toUpper());
+ result.append(time.hour() < 12 ? locale.amText().toUpper()
+ : locale.pmText().toUpper());
break;
case 'z':
@@ -3202,15 +3417,14 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
// note: the millisecond component is treated like the decimal part of the seconds
// so ms == 2 is always printed as "002", but ms == 200 can be either "2" or "200"
- result.append(m_data->longLongToString(time.msec(), -1, 10, 3,
- QLocaleData::ZeroPadded));
+ result.append(locale.d->m_data->longLongToString(time.msec(), -1, 10, 3,
+ QLocaleData::ZeroPadded));
if (repeat == 1) {
- if (result.endsWith(zero()))
+ if (result.endsWith(locale.d->zero()))
result.chop(1);
- if (result.endsWith(zero()))
+ if (result.endsWith(locale.d->zero()))
result.chop(1);
}
-
break;
case 't':
@@ -3233,6 +3447,8 @@ QString QLocalePrivate::dateTimeToString(QStringView format, const QDateTime &da
return result;
}
+// End of QCalendar intrustions
+
QString QLocaleData::doubleToString(double d, int precision, DoubleForm form,
int width, unsigned flags) const
{
diff --git a/src/corelib/text/qlocale.h b/src/corelib/text/qlocale.h
index 09de830ca3..87966b266b 100644
--- a/src/corelib/text/qlocale.h
+++ b/src/corelib/text/qlocale.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -47,7 +47,7 @@
QT_BEGIN_NAMESPACE
-
+class QCalendar;
class QDataStream;
class QDate;
class QDateTime;
@@ -1013,6 +1013,14 @@ public:
QString toString(const QDate &date, FormatType format = LongFormat) const;
QString toString(const QTime &time, FormatType format = LongFormat) const;
QString toString(const QDateTime &dateTime, FormatType format = LongFormat) const;
+ /* Removing default value for `format' is done intentionally,
+ * after all tests we will remove non-calendar-aware version of these functions,
+ * and add a default value for both calendar instance, and format
+ */
+ QString toString(const QDate &date, QStringView formatStr, QCalendar cal) const;
+ QString toString(const QDate &date, FormatType format, QCalendar cal) const;
+ QString toString(const QDateTime &dateTime, FormatType format, QCalendar cal) const;
+ QString toString(const QDateTime &dateTime, QStringView formatStr, QCalendar cal) const;
QString dateFormat(FormatType format = LongFormat) const;
QString timeFormat(FormatType format = LongFormat) const;
@@ -1024,6 +1032,13 @@ public:
QDate toDate(const QString &string, const QString &format) const;
QTime toTime(const QString &string, const QString &format) const;
QDateTime toDateTime(const QString &string, const QString &format) const;
+ // Calendar-aware API
+ QDate toDate(const QString &string, FormatType format, QCalendar cal) const;
+ QTime toTime(const QString &string, FormatType format, QCalendar cal) const;
+ QDateTime toDateTime(const QString &string, FormatType format, QCalendar cal) const;
+ QDate toDate(const QString &string, const QString &format, QCalendar cal) const;
+ QTime toTime(const QString &string, const QString &format, QCalendar cal) const;
+ QDateTime toDateTime(const QString &string, const QString &format, QCalendar cal) const;
#endif
// ### Qt 5: We need to return QString from these function since
@@ -1108,6 +1123,8 @@ private:
QLocale(QLocalePrivate &dd);
friend class QLocalePrivate;
friend class QSystemLocale;
+ friend class QCalendarBackend;
+ friend class QGregorianCalendar;
friend Q_CORE_EXPORT uint qHash(const QLocale &key, uint seed) noexcept;
QSharedDataPointer<QLocalePrivate> d;
diff --git a/src/corelib/text/qlocale_data_p.h b/src/corelib/text/qlocale_data_p.h
index 2c351a3fb1..b846f0b768 100644
--- a/src/corelib/text/qlocale_data_p.h
+++ b/src/corelib/text/qlocale_data_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -77,7 +77,7 @@ static const int ImperialMeasurementSystemsCount =
// GENERATED PART STARTS HERE
/*
- This part of the file was generated on 2019-05-09 from the
+ This part of the file was generated on 2019-05-27 from the
Common Locale Data Repository v35.1
http://www.unicode.org/cldr/
@@ -1270,593 +1270,593 @@ static const quint16 locale_index[] = {
};
static const QLocaleData locale_data[] = {
- // lang script terr dec group list prcnt zero minus plus exp quotOpn quotEnd altQtOpn altQtEnd lpStart lpMid lpEnd lpTwo sDtFmt lDtFmt sTmFmt lTmFmt ssMonth slMonth snMonth sMonth lMonth nMonth ssDays slDays snDays sDays lDays nDays am pm byte siQuant iecQuant currISO currSym currDsply currFmt currFmtNeg endoLang endoCntry curDgt curRnd dow1st wknd+ wknd-
- { 1, 0, 0, 46, 44, 59, 37, 48, 45, 43, 101, 34, 34, 39, 39, 0,6 , 0,6 , 0,6 , 0,6 , 0,10 , 10,17 , 0,8 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 158,27 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 99,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 0,7 , 0,4 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // C/AnyScript/AnyCountry
- { 3, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 35,18 , 18,7 , 25,12 , 185,48 , 233,111 , 134,24 , 185,48 , 233,111 , 134,24 , 113,28 , 141,55 , 85,14 , 113,28 , 141,55 , 85,14 , 2,2 , 2,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,2 , 7,24 , 4,4 , 4,0 , 0,6 , 6,10 , 2, 1, 7, 6, 7 }, // Oromo/Latin/Ethiopia
- { 3, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 35,18 , 37,5 , 8,10 , 185,48 , 233,111 , 344,24 , 185,48 , 233,111 , 134,24 , 113,28 , 141,55 , 196,14 , 113,28 , 141,55 , 196,14 , 2,2 , 2,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 0,7 , 4,4 , 4,0 , 0,6 , 16,8 , 2, 1, 7, 6, 7 }, // Oromo/Latin/Kenya
- { 4, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Afar/Latin/Ethiopia
- { 5, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 53,10 , 80,17 , 37,5 , 8,10 , 416,59 , 475,92 , 134,24 , 416,59 , 475,92 , 134,24 , 210,28 , 238,58 , 296,14 , 210,28 , 238,58 , 296,14 , 4,3 , 4,3 , 49,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 31,67 , 4,4 , 4,0 , 24,9 , 33,11 , 2, 1, 7, 6, 7 }, // Afrikaans/Latin/South Africa
- { 5, 7, 148, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 53,10 , 97,16 , 18,7 , 25,12 , 416,59 , 475,92 , 134,24 , 416,59 , 475,92 , 134,24 , 210,28 , 238,58 , 296,14 , 210,28 , 238,58 , 296,14 , 4,3 , 4,3 , 49,5 , 5,17 , 22,23 , {78,65,68}, 6,1 , 98,55 , 4,4 , 4,0 , 24,9 , 44,7 , 2, 1, 1, 6, 7 }, // Afrikaans/Latin/Namibia
- { 6, 7, 2, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 14,9 , 14,9 , 113,6 , 10,17 , 18,7 , 42,13 , 567,50 , 617,78 , 695,27 , 567,50 , 617,78 , 695,27 , 310,28 , 338,58 , 396,15 , 411,28 , 338,58 , 396,15 , 7,11 , 7,10 , 54,4 , 5,17 , 22,23 , {65,76,76}, 7,4 , 153,45 , 13,5 , 4,0 , 51,5 , 56,8 , 0, 0, 1, 6, 7 }, // Albanian/Latin/Albania
- { 6, 7, 127, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 14,9 , 14,9 , 113,6 , 10,17 , 37,5 , 8,10 , 567,50 , 617,78 , 695,27 , 567,50 , 617,78 , 695,27 , 310,28 , 338,58 , 396,15 , 411,28 , 338,58 , 396,15 , 7,11 , 7,10 , 54,4 , 5,17 , 22,23 , {77,75,68}, 11,3 , 198,54 , 13,5 , 4,0 , 51,5 , 64,18 , 2, 1, 1, 6, 7 }, // Albanian/Latin/Macedonia
- { 6, 7, 257, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 14,9 , 14,9 , 113,6 , 10,17 , 37,5 , 8,10 , 567,50 , 617,78 , 695,27 , 567,50 , 617,78 , 695,27 , 310,28 , 338,58 , 396,15 , 411,28 , 338,58 , 396,15 , 7,11 , 7,10 , 54,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 252,21 , 13,5 , 4,0 , 51,5 , 82,6 , 2, 1, 1, 6, 7 }, // Albanian/Latin/Kosovo
- { 7, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 23,6 , 23,6 , 29,9 , 38,8 , 119,10 , 63,17 , 18,7 , 25,12 , 722,46 , 768,61 , 829,24 , 722,46 , 768,61 , 829,24 , 439,27 , 466,28 , 494,14 , 439,27 , 466,28 , 494,14 , 18,3 , 17,4 , 58,3 , 61,23 , 22,23 , {69,84,66}, 15,2 , 273,34 , 4,4 , 4,0 , 88,4 , 92,5 , 2, 1, 7, 6, 7 }, // Amharic/Ethiopic/Ethiopia
- { 8, 1, 64, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {69,71,80}, 17,5 , 307,81 , 13,5 , 4,0 , 97,7 , 104,3 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Egypt
- { 8, 1, 3, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 952,71 , 952,71 , 1023,24 , 952,71 , 952,71 , 1023,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {68,90,68}, 22,5 , 388,102 , 13,5 , 4,0 , 97,7 , 107,7 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Algeria
- { 8, 1, 17, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {66,72,68}, 27,5 , 490,91 , 13,5 , 4,0 , 97,7 , 114,7 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Bahrain
- { 8, 1, 42, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {88,65,70}, 32,4 , 581,112 , 13,5 , 4,0 , 97,7 , 121,4 , 0, 0, 1, 6, 7 }, // Arabic/Arabic/Chad
- { 8, 1, 48, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 37,5 , 8,10 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {75,77,70}, 36,2 , 693,105 , 13,5 , 4,0 , 97,7 , 125,9 , 0, 0, 1, 6, 7 }, // Arabic/Arabic/Comoros
- { 8, 1, 59, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {68,74,70}, 38,3 , 798,84 , 13,5 , 4,0 , 97,7 , 134,6 , 0, 0, 6, 6, 7 }, // Arabic/Arabic/Djibouti
- { 8, 1, 67, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {69,82,78}, 41,3 , 882,91 , 13,5 , 4,0 , 97,7 , 140,7 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Eritrea
- { 8, 1, 103, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 1047,92 , 1047,92 , 1139,24 , 1163,92 , 1047,92 , 1139,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {73,81,68}, 44,5 , 973,84 , 13,5 , 4,0 , 97,7 , 147,6 , 0, 0, 6, 5, 6 }, // Arabic/Arabic/Iraq
- { 8, 1, 105, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 55,4 , 59,9 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {73,76,83}, 49,1 , 1057,133 , 13,5 , 4,0 , 97,7 , 153,7 , 2, 1, 7, 5, 6 }, // Arabic/Arabic/Israel
- { 8, 1, 109, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 1047,92 , 1047,92 , 1139,24 , 1047,92 , 1047,92 , 1139,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {74,79,68}, 50,5 , 1190,84 , 13,5 , 4,0 , 97,7 , 160,6 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Jordan
- { 8, 1, 115, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {75,87,68}, 55,5 , 1274,84 , 13,5 , 4,0 , 97,7 , 166,6 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Kuwait
- { 8, 1, 119, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 1047,92 , 1047,92 , 1139,24 , 1047,92 , 1047,92 , 1139,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {76,66,80}, 60,5 , 1358,84 , 13,5 , 4,0 , 97,7 , 172,5 , 0, 0, 1, 6, 7 }, // Arabic/Arabic/Lebanon
- { 8, 1, 122, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {76,89,68}, 65,5 , 1442,88 , 13,5 , 4,0 , 97,7 , 177,5 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Libya
- { 8, 1, 136, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 1255,72 , 1255,72 , 1327,24 , 1255,72 , 1255,72 , 1327,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {77,82,85}, 70,4 , 1530,112 , 13,5 , 4,0 , 97,7 , 182,9 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Mauritania
- { 8, 1, 145, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 37,5 , 8,10 , 1351,70 , 1351,70 , 1421,24 , 1351,70 , 1351,70 , 1421,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {77,65,68}, 74,5 , 1642,87 , 13,5 , 4,0 , 97,7 , 191,6 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Morocco
- { 8, 1, 162, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {79,77,82}, 79,5 , 1729,77 , 13,5 , 4,0 , 97,7 , 197,5 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Oman
- { 8, 1, 165, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 1047,92 , 1047,92 , 1139,24 , 1047,92 , 1047,92 , 1139,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {73,76,83}, 49,1 , 1057,133 , 13,5 , 4,0 , 97,7 , 202,18 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Palestinian Territories
- { 8, 1, 175, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {81,65,82}, 84,5 , 1806,70 , 13,5 , 4,0 , 97,7 , 220,3 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Qatar
- { 8, 1, 186, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,65,82}, 89,5 , 1876,77 , 13,5 , 4,0 , 97,7 , 223,24 , 2, 1, 7, 5, 6 }, // Arabic/Arabic/Saudi Arabia
- { 8, 1, 194, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,79,83}, 94,1 , 1953,77 , 13,5 , 4,0 , 97,7 , 247,7 , 0, 0, 1, 6, 7 }, // Arabic/Arabic/Somalia
- { 8, 1, 201, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,68,71}, 95,4 , 2030,91 , 13,5 , 4,0 , 97,7 , 254,7 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Sudan
- { 8, 1, 207, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 1047,92 , 1047,92 , 1139,24 , 1047,92 , 1047,92 , 1139,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,89,80}, 99,5 , 2121,77 , 13,5 , 4,0 , 97,7 , 261,5 , 0, 0, 6, 5, 6 }, // Arabic/Arabic/Syria
- { 8, 1, 216, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 952,71 , 952,71 , 1023,24 , 952,71 , 952,71 , 1023,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {84,78,68}, 104,5 , 2198,95 , 13,5 , 4,0 , 97,7 , 266,4 , 3, 0, 1, 6, 7 }, // Arabic/Arabic/Tunisia
- { 8, 1, 223, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {65,69,68}, 109,5 , 2293,91 , 13,5 , 4,0 , 97,7 , 270,24 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/United Arab Emirates
- { 8, 1, 236, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {77,65,68}, 74,5 , 1642,87 , 13,5 , 4,0 , 97,7 , 294,15 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Western Sahara
- { 8, 1, 237, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {89,69,82}, 114,5 , 2384,70 , 13,5 , 4,0 , 97,7 , 309,5 , 0, 0, 7, 5, 6 }, // Arabic/Arabic/Yemen
- { 8, 1, 254, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,83,80}, 119,1 , 2454,132 , 13,5 , 4,0 , 97,7 , 314,12 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/South Sudan
- { 8, 1, 260, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 853,75 , 853,75 , 928,24 , 853,75 , 853,75 , 928,24 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 13,5 , 4,0 , 326,23 , 349,6 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/World
- { 9, 10, 11, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 65,7 , 65,7 , 156,8 , 164,20 , 37,5 , 8,10 , 1445,48 , 1493,94 , 1587,24 , 1445,48 , 1611,106 , 1587,24 , 574,28 , 602,62 , 664,14 , 574,28 , 602,62 , 664,14 , 0,2 , 0,2 , 135,6 , 141,17 , 22,23 , {65,77,68}, 120,1 , 2586,46 , 13,5 , 4,0 , 355,7 , 362,8 , 2, 0, 1, 6, 7 }, // Armenian/Armenian/Armenia
- { 10, 11, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 72,9 , 72,9 , 184,8 , 192,18 , 68,7 , 75,12 , 1717,64 , 1781,89 , 1870,24 , 1717,64 , 1781,89 , 1870,24 , 678,32 , 710,58 , 768,14 , 678,32 , 710,58 , 768,14 , 22,9 , 22,7 , 158,4 , 162,37 , 22,23 , {73,78,82}, 121,1 , 2632,43 , 8,5 , 4,0 , 370,7 , 377,4 , 2, 1, 7, 7, 7 }, // Assamese/Bengali/India
- { 12, 7, 15, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 81,8 , 81,8 , 156,8 , 210,17 , 37,5 , 8,10 , 1894,48 , 1942,77 , 158,27 , 1894,48 , 2019,77 , 158,27 , 782,27 , 809,67 , 99,14 , 782,27 , 809,67 , 99,14 , 0,2 , 0,2 , 199,4 , 5,17 , 22,23 , {65,90,78}, 122,1 , 2675,58 , 13,5 , 4,0 , 381,10 , 391,10 , 2, 1, 1, 6, 7 }, // Azerbaijani/Latin/Azerbaijan
- { 12, 1, 102, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 6, 5, 5 }, // Azerbaijani/Arabic/Iran
- { 12, 2, 15, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 156,8 , 210,17 , 37,5 , 8,10 , 2096,48 , 2144,77 , 158,27 , 2096,48 , 2221,77 , 158,27 , 876,27 , 903,67 , 99,14 , 876,27 , 903,67 , 99,14 , 31,2 , 29,2 , 45,4 , 5,17 , 22,23 , {65,90,78}, 122,1 , 2733,12 , 13,5 , 4,0 , 401,10 , 411,10 , 2, 1, 1, 6, 7 }, // Azerbaijani/Cyrillic/Azerbaijan
- { 13, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Bashkir/Cyrillic/Russia
- { 14, 7, 197, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8220, 8221, 0,6 , 0,6 , 89,9 , 89,9 , 227,6 , 233,36 , 37,5 , 87,12 , 2298,60 , 2358,93 , 2451,24 , 2298,60 , 2358,93 , 2451,24 , 970,28 , 998,68 , 1066,14 , 970,28 , 998,68 , 1066,14 , 0,2 , 0,2 , 203,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 2745,20 , 13,5 , 4,0 , 421,7 , 428,8 , 2, 1, 1, 6, 7 }, // Basque/Latin/Spain
- { 15, 11, 18, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 98,9 , 98,9 , 269,6 , 192,18 , 18,7 , 25,12 , 2475,90 , 2475,90 , 2565,33 , 2598,77 , 2475,90 , 2565,33 , 1080,37 , 1117,58 , 1175,18 , 1080,37 , 1117,58 , 1175,18 , 0,2 , 0,2 , 158,4 , 5,17 , 22,23 , {66,68,84}, 124,1 , 2765,49 , 0,4 , 4,0 , 436,5 , 441,8 , 2, 1, 7, 6, 7 }, // Bengali/Bengali/Bangladesh
- { 15, 11, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 98,9 , 98,9 , 269,6 , 192,18 , 18,7 , 25,12 , 2475,90 , 2475,90 , 2565,33 , 2598,77 , 2475,90 , 2565,33 , 1080,37 , 1117,58 , 1175,18 , 1080,37 , 1117,58 , 1175,18 , 0,2 , 0,2 , 158,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 2814,43 , 0,4 , 4,0 , 436,5 , 449,4 , 2, 1, 7, 7, 7 }, // Bengali/Bengali/India
- { 16, 31, 25, 46, 44, 59, 37, 3872, 45, 43, 101, 8220, 8221, 8216, 8217, 107,9 , 107,9 , 107,9 , 107,9 , 53,10 , 275,30 , 99,22 , 121,27 , 2675,63 , 2738,191 , 2929,27 , 2956,27 , 2983,132 , 3115,27 , 1193,34 , 1227,79 , 1306,27 , 1193,34 , 1227,79 , 1306,27 , 33,5 , 31,6 , 45,4 , 5,17 , 22,23 , {66,84,78}, 125,3 , 2857,15 , 4,4 , 4,0 , 453,6 , 459,5 , 2, 1, 7, 6, 7 }, // Dzongkha/Tibetan/Bhutan
- { 19, 7, 74, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 97,16 , 37,5 , 8,10 , 3142,63 , 3205,78 , 3283,36 , 3142,63 , 3205,78 , 3283,36 , 1333,33 , 1366,43 , 1409,18 , 1333,33 , 1366,43 , 1409,18 , 38,4 , 37,4 , 210,7 , 217,17 , 22,23 , {69,85,82}, 14,1 , 2872,36 , 13,5 , 4,0 , 464,9 , 473,5 , 2, 1, 1, 6, 7 }, // Breton/Latin/France
- { 20, 2, 33, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 305,12 , 317,22 , 148,9 , 157,14 , 3319,49 , 3368,82 , 3450,24 , 3319,49 , 3368,82 , 3450,24 , 1427,21 , 1448,55 , 1503,14 , 1427,21 , 1448,55 , 1503,14 , 42,6 , 41,6 , 234,7 , 5,17 , 22,23 , {66,71,78}, 128,3 , 2908,47 , 13,5 , 4,0 , 478,9 , 487,8 , 2, 1, 1, 6, 7 }, // Bulgarian/Cyrillic/Bulgaria
- { 21, 25, 147, 46, 44, 4170, 37, 4160, 45, 43, 101, 8220, 8221, 8216, 8217, 123,5 , 123,5 , 128,10 , 128,10 , 339,8 , 347,18 , 171,6 , 177,10 , 3474,43 , 3517,88 , 3605,24 , 3474,43 , 3517,88 , 3605,24 , 1517,54 , 1517,54 , 1571,14 , 1517,54 , 1517,54 , 1571,14 , 48,5 , 47,3 , 241,5 , 5,17 , 22,23 , {77,77,75}, 131,1 , 2955,29 , 13,5 , 4,0 , 495,6 , 495,6 , 0, 0, 7, 6, 7 }, // Burmese/Myanmar/Myanmar
- { 22, 2, 20, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 138,7 , 138,7 , 365,7 , 317,22 , 37,5 , 187,11 , 3629,48 , 3677,95 , 3772,24 , 3796,48 , 3844,98 , 3772,24 , 1585,21 , 1606,56 , 1662,14 , 1585,21 , 1606,56 , 1662,14 , 0,2 , 0,2 , 246,5 , 251,17 , 22,23 , {66,89,78}, 0,2 , 2984,89 , 13,5 , 4,0 , 501,10 , 511,8 , 2, 0, 1, 6, 7 }, // Belarusian/Cyrillic/Belarus
- { 23, 20, 36, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 145,9 , 154,9 , 269,6 , 97,16 , 18,7 , 25,12 , 3942,71 , 3942,71 , 4013,24 , 3942,71 , 3942,71 , 4013,24 , 1676,40 , 1716,46 , 1762,14 , 1676,40 , 1776,47 , 1762,14 , 0,2 , 0,2 , 268,2 , 5,17 , 22,23 , {75,72,82}, 132,1 , 3073,29 , 0,4 , 4,0 , 519,5 , 524,7 , 2, 1, 7, 6, 7 }, // Khmer/Khmer/Cambodia
- { 24, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 269,6 , 372,22 , 55,4 , 59,9 , 4037,60 , 4097,82 , 4179,36 , 4215,93 , 4308,115 , 4179,36 , 1823,28 , 1851,60 , 1911,21 , 1823,28 , 1851,60 , 1911,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 531,6 , 537,7 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Spain
- { 24, 7, 5, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 269,6 , 372,22 , 55,4 , 59,9 , 4037,60 , 4097,82 , 4179,36 , 4215,93 , 4308,115 , 4179,36 , 1823,28 , 1851,60 , 1911,21 , 1823,28 , 1851,60 , 1911,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 531,6 , 544,7 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Andorra
- { 24, 7, 74, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 269,6 , 372,22 , 55,4 , 59,9 , 4037,60 , 4097,82 , 4179,36 , 4215,93 , 4308,115 , 4179,36 , 1823,28 , 1851,60 , 1911,21 , 1823,28 , 1851,60 , 1911,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 531,6 , 551,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/France
- { 24, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 269,6 , 372,22 , 55,4 , 59,9 , 4037,60 , 4097,82 , 4179,36 , 4215,93 , 4308,115 , 4179,36 , 1823,28 , 1851,60 , 1911,21 , 1823,28 , 1851,60 , 1911,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 531,6 , 557,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Italy
- { 25, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 394,8 , 402,13 , 198,6 , 204,11 , 4423,39 , 4462,38 , 158,27 , 4423,39 , 4462,38 , 158,27 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 270,2 , 272,21 , 22,23 , {67,78,89}, 133,1 , 3122,13 , 4,4 , 4,0 , 563,4 , 567,2 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/China
- { 25, 5, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 269,6 , 402,13 , 198,6 , 204,11 , 4423,39 , 4462,38 , 158,27 , 4423,39 , 4462,38 , 158,27 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 270,2 , 272,21 , 22,23 , {72,75,68}, 6,1 , 3135,11 , 4,4 , 4,0 , 563,4 , 569,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Hong Kong
- { 25, 5, 126, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 269,6 , 402,13 , 198,6 , 204,11 , 4423,39 , 4462,38 , 158,27 , 4423,39 , 4462,38 , 158,27 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 270,2 , 272,21 , 22,23 , {77,79,80}, 134,4 , 3146,13 , 4,4 , 4,0 , 563,4 , 578,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Macau
- { 25, 5, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 27,8 , 402,13 , 198,6 , 204,11 , 4423,39 , 4462,38 , 158,27 , 4423,39 , 4462,38 , 158,27 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 270,2 , 272,21 , 22,23 , {83,71,68}, 6,1 , 3159,15 , 4,4 , 4,0 , 563,4 , 587,3 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Singapore
- { 25, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 180,5 , 180,5 , 415,8 , 402,13 , 198,6 , 215,13 , 4423,39 , 4423,39 , 158,27 , 4423,39 , 4423,39 , 158,27 , 1995,21 , 1953,28 , 1981,14 , 1995,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 293,3 , 5,17 , 22,23 , {72,75,68}, 6,1 , 3135,11 , 18,5 , 4,0 , 590,4 , 594,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Hong Kong
- { 25, 6, 126, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 180,5 , 180,5 , 415,8 , 402,13 , 198,6 , 215,13 , 4423,39 , 4423,39 , 158,27 , 4423,39 , 4423,39 , 158,27 , 1995,21 , 1953,28 , 1981,14 , 1995,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 293,3 , 5,17 , 22,23 , {77,79,80}, 134,4 , 3174,13 , 18,5 , 4,0 , 590,4 , 603,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Macau
- { 25, 6, 208, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 175,5 , 175,5 , 394,8 , 423,14 , 198,6 , 215,13 , 4423,39 , 4423,39 , 158,27 , 4423,39 , 4423,39 , 158,27 , 1995,21 , 1953,28 , 1981,14 , 1995,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {84,87,68}, 6,1 , 3187,13 , 13,5 , 4,0 , 590,4 , 612,2 , 2, 0, 7, 6, 7 }, // Chinese/Traditional Han/Taiwan
- { 26, 7, 74, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Corsican/Latin/France
- { 27, 7, 54, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 437,13 , 450,19 , 37,5 , 87,12 , 4500,49 , 4549,94 , 4643,39 , 4500,49 , 4682,98 , 4643,39 , 2016,28 , 2044,58 , 2102,14 , 2016,28 , 2044,58 , 2116,14 , 0,2 , 0,2 , 296,7 , 5,17 , 22,23 , {72,82,75}, 138,2 , 3200,60 , 13,5 , 4,0 , 614,8 , 622,8 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Croatia
- { 27, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 469,9 , 450,19 , 37,5 , 87,12 , 4500,49 , 4549,94 , 4643,39 , 4500,49 , 4682,98 , 4643,39 , 2016,28 , 2044,58 , 2116,14 , 2016,28 , 2044,58 , 2116,14 , 0,2 , 0,2 , 296,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 3260,85 , 13,5 , 4,0 , 614,8 , 630,19 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Bosnia And Herzegowina
- { 28, 7, 57, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 156,8 , 478,17 , 55,4 , 59,9 , 4780,48 , 4828,82 , 158,27 , 4780,48 , 4910,84 , 158,27 , 2130,21 , 2151,49 , 2200,14 , 2130,21 , 2151,49 , 2200,14 , 60,4 , 57,4 , 303,5 , 5,17 , 22,23 , {67,90,75}, 142,2 , 3345,68 , 13,5 , 4,0 , 649,7 , 656,5 , 2, 0, 1, 6, 7 }, // Czech/Latin/Czech Republic
- { 29, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 505,23 , 228,5 , 233,10 , 4994,59 , 5053,84 , 134,24 , 4994,59 , 5053,84 , 134,24 , 2214,28 , 2242,51 , 2293,14 , 2307,35 , 2242,51 , 2293,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 144,3 , 3413,42 , 13,5 , 4,0 , 661,5 , 666,7 , 2, 0, 1, 6, 7 }, // Danish/Latin/Denmark
- { 29, 7, 86, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 505,23 , 228,5 , 233,10 , 4994,59 , 5053,84 , 134,24 , 4994,59 , 5053,84 , 134,24 , 2214,28 , 2242,51 , 2293,14 , 2307,35 , 2242,51 , 2293,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 144,3 , 3413,42 , 13,5 , 4,0 , 661,5 , 673,8 , 2, 0, 1, 6, 7 }, // Danish/Latin/Greenland
- { 30, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 5137,59 , 5196,88 , 134,24 , 5137,59 , 5196,88 , 134,24 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 23,6 , 681,10 , 691,9 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Netherlands
- { 30, 7, 12, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 5137,59 , 5196,88 , 134,24 , 5137,59 , 5196,88 , 134,24 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,87,71}, 147,4 , 3474,55 , 8,5 , 23,6 , 681,10 , 700,5 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Aruba
- { 30, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 538,9 , 97,16 , 37,5 , 8,10 , 5137,59 , 5196,88 , 134,24 , 5137,59 , 5196,88 , 134,24 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 23,6 , 681,10 , 705,6 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Belgium
- { 30, 7, 152, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 5137,59 , 5196,88 , 134,24 , 5137,59 , 5196,88 , 134,24 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 151,4 , 3529,97 , 8,5 , 23,6 , 681,10 , 711,7 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Cura Sao
- { 30, 7, 202, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 5137,59 , 5196,88 , 134,24 , 5137,59 , 5196,88 , 134,24 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {83,82,68}, 6,1 , 3626,58 , 8,5 , 23,6 , 681,10 , 718,8 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Suriname
- { 30, 7, 255, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 5137,59 , 5196,88 , 134,24 , 5137,59 , 5196,88 , 134,24 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3684,61 , 8,5 , 23,6 , 681,10 , 726,19 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Bonaire
- { 30, 7, 256, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 5137,59 , 5196,88 , 134,24 , 5137,59 , 5196,88 , 134,24 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 151,4 , 3529,97 , 8,5 , 23,6 , 681,10 , 745,12 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Sint Maarten
- { 31, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 757,16 , 773,13 , 2, 1, 7, 6, 7 }, // English/Latin/United States
- { 31, 3, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 155,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // English/Deseret/United States
- { 31, 7, 4, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 793,14 , 2, 1, 7, 6, 7 }, // English/Latin/American Samoa
- { 31, 7, 7, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 807,8 , 2, 1, 1, 6, 7 }, // English/Latin/Anguilla
- { 31, 7, 9, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 815,17 , 2, 1, 7, 6, 7 }, // English/Latin/Antigua And Barbuda
- { 31, 7, 13, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 210,9 , 210,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 2436,25 , 0,28 , 28,57 , 2436,25 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 832,18 , 850,9 , 2, 1, 7, 6, 7 }, // English/Latin/Australia
- { 31, 7, 14, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 4,0 , 786,7 , 859,7 , 2, 1, 1, 6, 7 }, // English/Latin/Austria
- { 31, 7, 16, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,83,68}, 6,1 , 3930,53 , 4,4 , 4,0 , 786,7 , 866,7 , 2, 1, 7, 6, 7 }, // English/Latin/Bahamas
- { 31, 7, 19, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,66,68}, 6,1 , 3983,56 , 4,4 , 4,0 , 786,7 , 873,8 , 2, 1, 1, 6, 7 }, // English/Latin/Barbados
- { 31, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 786,7 , 881,7 , 2, 1, 1, 6, 7 }, // English/Latin/Belgium
- { 31, 7, 22, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 553,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,90,68}, 6,1 , 4039,47 , 4,4 , 4,0 , 786,7 , 888,6 , 2, 1, 7, 6, 7 }, // English/Latin/Belize
- { 31, 7, 24, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,77,68}, 6,1 , 4086,53 , 4,4 , 4,0 , 786,7 , 894,7 , 2, 1, 1, 6, 7 }, // English/Latin/Bermuda
- { 31, 7, 28, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 553,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,87,80}, 158,1 , 4139,50 , 4,4 , 4,0 , 786,7 , 901,8 , 2, 1, 7, 6, 7 }, // English/Latin/Botswana
- { 31, 7, 31, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 909,30 , 2, 1, 1, 6, 7 }, // English/Latin/British Indian Ocean Territory
- { 31, 7, 35, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,73,70}, 159,3 , 4189,53 , 4,4 , 4,0 , 786,7 , 939,7 , 0, 0, 1, 6, 7 }, // English/Latin/Burundi
- { 31, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 4242,83 , 4,4 , 4,0 , 786,7 , 946,8 , 0, 0, 1, 6, 7 }, // English/Latin/Cameroon
- { 31, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 53,10 , 35,18 , 18,7 , 25,12 , 5284,59 , 48,86 , 134,24 , 5284,59 , 48,86 , 134,24 , 2461,35 , 28,57 , 85,14 , 2461,35 , 28,57 , 85,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {67,65,68}, 6,1 , 4325,53 , 4,4 , 4,0 , 954,16 , 970,6 , 2, 0, 7, 6, 7 }, // English/Latin/Canada
- { 31, 7, 40, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {75,89,68}, 6,1 , 4378,71 , 4,4 , 4,0 , 786,7 , 976,14 , 2, 1, 1, 6, 7 }, // English/Latin/Cayman Islands
- { 31, 7, 45, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 990,16 , 2, 1, 1, 6, 7 }, // English/Latin/Christmas Island
- { 31, 7, 46, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1006,23 , 2, 1, 1, 6, 7 }, // English/Latin/Cocos Islands
- { 31, 7, 51, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1029,12 , 2, 1, 1, 6, 7 }, // English/Latin/Cook Islands
- { 31, 7, 56, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 4,0 , 786,7 , 1041,6 , 2, 1, 1, 6, 7 }, // English/Latin/Cyprus
- { 31, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 228,5 , 233,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 144,3 , 4511,44 , 13,5 , 4,0 , 786,7 , 1047,7 , 2, 0, 1, 6, 7 }, // English/Latin/Denmark
- { 31, 7, 60, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1054,8 , 2, 1, 7, 6, 7 }, // English/Latin/Dominica
- { 31, 7, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,82,78}, 41,3 , 4555,50 , 4,4 , 4,0 , 786,7 , 1062,7 , 2, 1, 1, 6, 7 }, // English/Latin/Eritrea
- { 31, 7, 70, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {70,75,80}, 119,1 , 4605,74 , 4,4 , 4,0 , 786,7 , 1069,16 , 2, 1, 1, 6, 7 }, // English/Latin/Falkland Islands
- { 31, 7, 72, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {70,74,68}, 6,1 , 4679,47 , 4,4 , 4,0 , 786,7 , 1085,4 , 2, 1, 1, 6, 7 }, // English/Latin/Fiji
- { 31, 7, 73, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 243,4 , 247,9 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 786,7 , 1089,7 , 2, 1, 1, 6, 7 }, // English/Latin/Finland
- { 31, 7, 75, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4726,32 , 4,4 , 4,0 , 786,7 , 1096,8 , 2, 1, 1, 6, 7 }, // English/Latin/Guernsey
- { 31, 7, 80, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,77,68}, 162,1 , 4758,50 , 4,4 , 4,0 , 786,7 , 1104,6 , 2, 1, 1, 6, 7 }, // English/Latin/Gambia
- { 31, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 786,7 , 1110,7 , 2, 1, 1, 6, 7 }, // English/Latin/Germany
- { 31, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,72,83}, 163,3 , 4808,47 , 4,4 , 4,0 , 786,7 , 1117,5 , 2, 1, 1, 6, 7 }, // English/Latin/Ghana
- { 31, 7, 84, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,73,80}, 119,1 , 4855,53 , 4,4 , 4,0 , 786,7 , 1122,9 , 2, 1, 1, 6, 7 }, // English/Latin/Gibraltar
- { 31, 7, 87, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1131,7 , 2, 1, 1, 6, 7 }, // English/Latin/Grenada
- { 31, 7, 89, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1138,4 , 2, 1, 7, 6, 7 }, // English/Latin/Guam
- { 31, 7, 93, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,89,68}, 6,1 , 4908,56 , 4,4 , 4,0 , 786,7 , 1142,6 , 2, 0, 1, 6, 7 }, // English/Latin/Guyana
- { 31, 7, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 415,8 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {72,75,68}, 166,3 , 4964,56 , 4,4 , 4,0 , 786,7 , 1148,19 , 2, 1, 7, 6, 7 }, // English/Latin/Hong Kong
- { 31, 7, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 192,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {73,78,82}, 121,1 , 5020,44 , 8,5 , 4,0 , 786,7 , 1167,5 , 2, 1, 7, 7, 7 }, // English/Latin/India
- { 31, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 97,16 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 4,0 , 786,7 , 1172,7 , 2, 1, 1, 6, 7 }, // English/Latin/Ireland
- { 31, 7, 105, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 55,4 , 59,9 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {73,76,83}, 49,1 , 5064,62 , 4,4 , 4,0 , 786,7 , 1179,6 , 2, 1, 7, 5, 6 }, // English/Latin/Israel
- { 31, 7, 107, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {74,77,68}, 6,1 , 5126,53 , 4,4 , 4,0 , 786,7 , 1185,7 , 2, 1, 7, 6, 7 }, // English/Latin/Jamaica
- { 31, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {75,69,83}, 2,3 , 5179,53 , 4,4 , 4,0 , 786,7 , 1192,5 , 2, 1, 7, 6, 7 }, // English/Latin/Kenya
- { 31, 7, 112, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1197,8 , 2, 1, 1, 6, 7 }, // English/Latin/Kiribati
- { 31, 7, 120, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5232,61 , 4,4 , 4,0 , 786,7 , 1205,7 , 2, 1, 1, 6, 7 }, // English/Latin/Lesotho
- { 31, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {76,82,68}, 6,1 , 5293,53 , 4,4 , 4,0 , 786,7 , 1212,7 , 2, 1, 1, 6, 7 }, // English/Latin/Liberia
- { 31, 7, 126, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,79,80}, 134,4 , 5346,53 , 4,4 , 4,0 , 786,7 , 1219,15 , 2, 1, 7, 6, 7 }, // English/Latin/Macau
- { 31, 7, 128, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,71,65}, 169,2 , 5399,54 , 4,4 , 4,0 , 786,7 , 1234,10 , 0, 0, 1, 6, 7 }, // English/Latin/Madagascar
- { 31, 7, 129, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,87,75}, 171,2 , 5453,53 , 4,4 , 4,0 , 786,7 , 1244,6 , 2, 1, 1, 6, 7 }, // English/Latin/Malawi
- { 31, 7, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,89,82}, 173,2 , 5506,59 , 4,4 , 4,0 , 786,7 , 1250,8 , 2, 1, 1, 6, 7 }, // English/Latin/Malaysia
- { 31, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 4,0 , 786,7 , 1258,5 , 2, 1, 7, 6, 7 }, // English/Latin/Malta
- { 31, 7, 134, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1263,16 , 2, 1, 7, 6, 7 }, // English/Latin/Marshall Islands
- { 31, 7, 137, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,85,82}, 175,2 , 5565,53 , 4,4 , 4,0 , 786,7 , 1279,9 , 2, 0, 1, 6, 7 }, // English/Latin/Mauritius
- { 31, 7, 140, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1288,10 , 2, 1, 1, 6, 7 }, // English/Latin/Micronesia
- { 31, 7, 144, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1298,10 , 2, 1, 1, 6, 7 }, // English/Latin/Montserrat
- { 31, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,65,68}, 6,1 , 5618,53 , 4,4 , 4,0 , 786,7 , 1308,7 , 2, 1, 1, 6, 7 }, // English/Latin/Namibia
- { 31, 7, 149, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1315,5 , 2, 1, 1, 6, 7 }, // English/Latin/Nauru
- { 31, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 23,6 , 786,7 , 1320,11 , 2, 1, 1, 6, 7 }, // English/Latin/Netherlands
- { 31, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 571,7 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1331,11 , 2, 1, 1, 6, 7 }, // English/Latin/New Zealand
- { 31, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,71,78}, 177,1 , 5671,50 , 4,4 , 4,0 , 786,7 , 1342,7 , 2, 1, 1, 6, 7 }, // English/Latin/Nigeria
- { 31, 7, 158, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1349,4 , 2, 1, 1, 6, 7 }, // English/Latin/Niue
- { 31, 7, 159, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1353,14 , 2, 1, 1, 6, 7 }, // English/Latin/Norfolk Island
- { 31, 7, 160, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1367,24 , 2, 1, 1, 6, 7 }, // English/Latin/Northern Mariana Islands
- { 31, 7, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,75,82}, 175,2 , 5721,53 , 4,4 , 4,0 , 786,7 , 1391,8 , 2, 0, 7, 6, 7 }, // English/Latin/Pakistan
- { 31, 7, 164, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1399,5 , 2, 1, 1, 6, 7 }, // English/Latin/Palau
- { 31, 7, 167, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,71,75}, 131,1 , 5774,73 , 4,4 , 4,0 , 786,7 , 1404,16 , 2, 1, 1, 6, 7 }, // English/Latin/Papua New Guinea
- { 31, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 178,1 , 5847,53 , 4,4 , 4,0 , 786,7 , 1420,11 , 2, 1, 7, 6, 7 }, // English/Latin/Philippines
- { 31, 7, 171, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1431,16 , 2, 1, 1, 6, 7 }, // English/Latin/Pitcairn
- { 31, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1447,11 , 2, 1, 7, 6, 7 }, // English/Latin/Puerto Rico
- { 31, 7, 179, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {82,87,70}, 179,2 , 5900,47 , 4,4 , 4,0 , 786,7 , 1458,6 , 0, 0, 1, 6, 7 }, // English/Latin/Rwanda
- { 31, 7, 180, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1464,17 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Kitts And Nevis
- { 31, 7, 181, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1481,9 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Lucia
- { 31, 7, 182, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1490,24 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Vincent And The Grenadines
- { 31, 7, 183, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {87,83,84}, 181,3 , 5947,40 , 4,4 , 4,0 , 786,7 , 1514,5 , 2, 1, 7, 6, 7 }, // English/Latin/Samoa
- { 31, 7, 188, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,67,82}, 184,2 , 5987,59 , 4,4 , 4,0 , 786,7 , 1519,10 , 2, 1, 1, 6, 7 }, // English/Latin/Seychelles
- { 31, 7, 189, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,76,76}, 186,2 , 6046,68 , 4,4 , 4,0 , 786,7 , 1529,12 , 0, 0, 1, 6, 7 }, // English/Latin/Sierra Leone
- { 31, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,71,68}, 6,1 , 6114,56 , 4,4 , 4,0 , 786,7 , 1541,9 , 2, 1, 7, 6, 7 }, // English/Latin/Singapore
- { 31, 7, 192, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 29,7 , 786,7 , 1550,8 , 2, 1, 1, 6, 7 }, // English/Latin/Slovenia
- { 31, 7, 193, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,66,68}, 6,1 , 6170,74 , 4,4 , 4,0 , 786,7 , 1558,15 , 2, 1, 1, 6, 7 }, // English/Latin/Solomon Islands
- { 31, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 578,10 , 553,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5232,61 , 4,4 , 4,0 , 786,7 , 1573,12 , 2, 1, 7, 6, 7 }, // English/Latin/South Africa
- { 31, 7, 199, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,72,80}, 119,1 , 6244,56 , 4,4 , 4,0 , 786,7 , 1585,10 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Helena
- { 31, 7, 201, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,68,71}, 0,0 , 6300,50 , 4,4 , 4,0 , 786,7 , 1595,5 , 2, 1, 6, 5, 6 }, // English/Latin/Sudan
- { 31, 7, 204, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,90,76}, 188,1 , 6350,53 , 4,4 , 4,0 , 786,7 , 1600,8 , 2, 1, 1, 6, 7 }, // English/Latin/Swaziland
- { 31, 7, 205, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 53,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,69,75}, 189,2 , 6403,47 , 13,5 , 4,0 , 786,7 , 1608,6 , 2, 0, 1, 6, 7 }, // English/Latin/Sweden
- { 31, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {67,72,70}, 0,0 , 6450,41 , 8,5 , 36,5 , 786,7 , 1614,11 , 2, 0, 1, 6, 7 }, // English/Latin/Switzerland
- { 31, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,90,83}, 191,3 , 6491,62 , 4,4 , 4,0 , 786,7 , 1625,8 , 2, 0, 1, 6, 7 }, // English/Latin/Tanzania
- { 31, 7, 213, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1633,7 , 2, 1, 1, 6, 7 }, // English/Latin/Tokelau
- { 31, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,79,80}, 194,2 , 6553,49 , 4,4 , 4,0 , 786,7 , 1640,5 , 2, 1, 1, 6, 7 }, // English/Latin/Tonga
- { 31, 7, 215, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,84,68}, 6,1 , 6602,80 , 4,4 , 4,0 , 786,7 , 1645,17 , 2, 1, 7, 6, 7 }, // English/Latin/Trinidad And Tobago
- { 31, 7, 219, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1662,22 , 2, 1, 1, 6, 7 }, // English/Latin/Turks And Caicos Islands
- { 31, 7, 220, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1684,6 , 2, 1, 1, 6, 7 }, // English/Latin/Tuvalu
- { 31, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,71,88}, 196,3 , 6682,56 , 4,4 , 4,0 , 786,7 , 1690,6 , 0, 0, 1, 6, 7 }, // English/Latin/Uganda
- { 31, 7, 223, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,69,68}, 199,3 , 6738,55 , 4,4 , 4,0 , 786,7 , 1696,20 , 2, 1, 6, 5, 6 }, // English/Latin/United Arab Emirates
- { 31, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 210,9 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 6793,47 , 4,4 , 4,0 , 1716,15 , 1731,14 , 2, 1, 1, 6, 7 }, // English/Latin/United Kingdom
- { 31, 7, 226, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1745,21 , 2, 1, 7, 6, 7 }, // English/Latin/United States Minor Outlying Islands
- { 31, 7, 229, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {86,85,86}, 202,2 , 6840,44 , 4,4 , 4,0 , 786,7 , 1766,7 , 0, 0, 1, 6, 7 }, // English/Latin/Vanuatu
- { 31, 7, 233, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1773,22 , 2, 1, 1, 6, 7 }, // English/Latin/British Virgin Islands
- { 31, 7, 234, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1795,19 , 2, 1, 7, 6, 7 }, // English/Latin/United States Virgin Islands
- { 31, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,77,87}, 131,1 , 6884,50 , 4,4 , 4,0 , 786,7 , 1814,6 , 2, 1, 1, 6, 7 }, // English/Latin/Zambia
- { 31, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 415,8 , 553,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1820,8 , 2, 1, 7, 6, 7 }, // English/Latin/Zimbabwe
- { 31, 7, 249, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1828,12 , 2, 1, 1, 6, 7 }, // English/Latin/Diego Garcia
- { 31, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4726,32 , 4,4 , 4,0 , 786,7 , 1840,11 , 2, 1, 1, 6, 7 }, // English/Latin/Isle Of Man
- { 31, 7, 252, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4726,32 , 4,4 , 4,0 , 786,7 , 1851,6 , 2, 1, 1, 6, 7 }, // English/Latin/Jersey
- { 31, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,83,80}, 119,1 , 6934,68 , 4,4 , 4,0 , 786,7 , 1857,11 , 2, 1, 1, 6, 7 }, // English/Latin/South Sudan
- { 31, 7, 256, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,78,71}, 151,4 , 7002,95 , 4,4 , 4,0 , 786,7 , 1868,12 , 2, 1, 1, 6, 7 }, // English/Latin/Sint Maarten
- { 31, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 4,0 , 786,7 , 1880,5 , 2, 1, 1, 6, 7 }, // English/Latin/World
- { 31, 7, 261, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 13,5 , 4,0 , 786,7 , 1885,6 , 2, 1, 1, 6, 7 }, // English/Latin/Europe
- { 32, 7, 260, 44, 160, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 219,9 , 219,9 , 588,8 , 596,26 , 37,5 , 256,25 , 5343,48 , 5391,91 , 134,24 , 5343,48 , 5391,91 , 134,24 , 2496,21 , 2517,51 , 2568,14 , 2496,21 , 2517,51 , 2568,14 , 70,3 , 67,3 , 308,6 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 41,6 , 4,0 , 1891,9 , 1900,5 , 2, 1, 1, 6, 7 }, // Esperanto/Latin/World
- { 33, 7, 68, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 228,8 , 228,8 , 156,8 , 622,18 , 37,5 , 8,10 , 5482,59 , 5541,91 , 5632,24 , 5482,59 , 5541,91 , 5632,24 , 2582,14 , 2596,63 , 2582,14 , 2582,14 , 2596,63 , 2582,14 , 0,2 , 0,2 , 314,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 7097,20 , 13,5 , 4,0 , 1905,5 , 1910,5 , 2, 1, 1, 6, 7 }, // Estonian/Latin/Estonia
- { 34, 7, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 156,8 , 622,18 , 37,5 , 8,10 , 5656,48 , 5704,83 , 134,24 , 5787,59 , 5704,83 , 134,24 , 2659,28 , 2687,74 , 2761,14 , 2775,35 , 2687,74 , 2761,14 , 0,2 , 0,2 , 320,3 , 5,17 , 22,23 , {68,75,75}, 189,2 , 7117,43 , 13,5 , 4,0 , 1915,8 , 1923,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Faroe Islands
- { 34, 7, 58, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 156,8 , 622,18 , 37,5 , 8,10 , 5656,48 , 5704,83 , 134,24 , 5787,59 , 5704,83 , 134,24 , 2659,28 , 2687,74 , 2761,14 , 2775,35 , 2687,74 , 2761,14 , 0,2 , 0,2 , 320,3 , 5,17 , 22,23 , {68,75,75}, 144,3 , 7117,43 , 13,5 , 4,0 , 1915,8 , 666,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Denmark
- { 36, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 640,8 , 478,17 , 243,4 , 247,9 , 5846,69 , 5915,105 , 6020,24 , 6044,93 , 6137,129 , 6020,24 , 2810,21 , 2831,67 , 2898,14 , 2810,21 , 2912,81 , 2898,14 , 73,3 , 70,3 , 323,5 , 328,17 , 345,23 , {69,85,82}, 14,1 , 7160,20 , 13,5 , 4,0 , 1930,5 , 1935,5 , 2, 1, 1, 6, 7 }, // Finnish/Latin/Finland
- { 37, 7, 74, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 1948,6 , 2, 1, 1, 6, 7 }, // French/Latin/France
- { 37, 7, 3, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {68,90,68}, 204,2 , 7180,51 , 13,5 , 4,0 , 1940,8 , 1954,7 , 2, 1, 6, 5, 6 }, // French/Latin/Algeria
- { 37, 7, 21, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 571,7 , 97,16 , 37,5 , 281,23 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 1961,8 , 2, 1, 1, 6, 7 }, // French/Latin/Belgium
- { 37, 7, 23, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 1969,5 , 0, 0, 1, 6, 7 }, // French/Latin/Benin
- { 37, 7, 34, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 1974,12 , 0, 0, 1, 6, 7 }, // French/Latin/Burkina Faso
- { 37, 7, 35, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {66,73,70}, 159,3 , 7290,53 , 13,5 , 4,0 , 1940,8 , 939,7 , 0, 0, 1, 6, 7 }, // French/Latin/Burundi
- { 37, 7, 37, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 76,5 , 73,4 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 1986,8 , 0, 0, 1, 6, 7 }, // French/Latin/Cameroon
- { 37, 7, 38, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8221, 8220, 0,6 , 0,6 , 236,8 , 236,8 , 588,8 , 97,16 , 304,9 , 313,24 , 6414,64 , 6329,85 , 134,24 , 6414,64 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 64,4 , 61,4 , 368,6 , 374,17 , 391,23 , {67,65,68}, 6,1 , 7399,54 , 47,6 , 4,0 , 1994,17 , 970,6 , 2, 0, 7, 6, 7 }, // French/Latin/Canada
- { 37, 7, 41, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2011,25 , 0, 0, 1, 6, 7 }, // French/Latin/Central African Republic
- { 37, 7, 42, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2036,5 , 0, 0, 1, 6, 7 }, // French/Latin/Chad
- { 37, 7, 48, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {75,77,70}, 36,2 , 7453,51 , 13,5 , 4,0 , 1940,8 , 2041,7 , 0, 0, 1, 6, 7 }, // French/Latin/Comoros
- { 37, 7, 49, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {67,68,70}, 209,2 , 7504,53 , 13,5 , 4,0 , 1940,8 , 2048,14 , 2, 1, 1, 6, 7 }, // French/Latin/Congo Kinshasa
- { 37, 7, 50, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2062,17 , 0, 0, 1, 6, 7 }, // French/Latin/Congo Brazzaville
- { 37, 7, 53, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2079,13 , 0, 0, 1, 6, 7 }, // French/Latin/Ivory Coast
- { 37, 7, 59, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {68,74,70}, 38,3 , 7557,57 , 13,5 , 4,0 , 1940,8 , 2092,8 , 0, 0, 6, 6, 7 }, // French/Latin/Djibouti
- { 37, 7, 66, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2100,18 , 0, 0, 1, 6, 7 }, // French/Latin/Equatorial Guinea
- { 37, 7, 76, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2118,16 , 2, 1, 1, 6, 7 }, // French/Latin/French Guiana
- { 37, 7, 77, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,80,70}, 211,4 , 7614,35 , 13,5 , 4,0 , 1940,8 , 2134,19 , 0, 0, 1, 6, 7 }, // French/Latin/French Polynesia
- { 37, 7, 79, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2153,5 , 0, 0, 1, 6, 7 }, // French/Latin/Gabon
- { 37, 7, 88, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2158,10 , 2, 1, 1, 6, 7 }, // French/Latin/Guadeloupe
- { 37, 7, 91, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {71,78,70}, 215,2 , 7649,48 , 13,5 , 4,0 , 1940,8 , 2168,6 , 0, 0, 1, 6, 7 }, // French/Latin/Guinea
- { 37, 7, 94, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {72,84,71}, 217,1 , 7697,57 , 13,5 , 4,0 , 1940,8 , 2174,5 , 2, 1, 1, 6, 7 }, // French/Latin/Haiti
- { 37, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2179,10 , 2, 1, 1, 6, 7 }, // French/Latin/Luxembourg
- { 37, 7, 128, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {77,71,65}, 169,2 , 7754,54 , 13,5 , 4,0 , 1940,8 , 1234,10 , 0, 0, 1, 6, 7 }, // French/Latin/Madagascar
- { 37, 7, 132, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2189,4 , 0, 0, 1, 6, 7 }, // French/Latin/Mali
- { 37, 7, 135, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2193,10 , 2, 1, 1, 6, 7 }, // French/Latin/Martinique
- { 37, 7, 136, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {77,82,85}, 218,2 , 7808,66 , 13,5 , 4,0 , 1940,8 , 2203,10 , 2, 1, 1, 6, 7 }, // French/Latin/Mauritania
- { 37, 7, 137, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {77,85,82}, 175,2 , 7874,63 , 13,5 , 4,0 , 1940,8 , 2213,7 , 2, 0, 1, 6, 7 }, // French/Latin/Mauritius
- { 37, 7, 138, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2220,7 , 2, 1, 1, 6, 7 }, // French/Latin/Mayotte
- { 37, 7, 142, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2227,6 , 2, 1, 1, 6, 7 }, // French/Latin/Monaco
- { 37, 7, 145, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6478,61 , 6329,85 , 134,24 , 6478,61 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 64,4 , 61,4 , 368,6 , 374,17 , 391,23 , {77,65,68}, 0,0 , 7937,54 , 13,5 , 4,0 , 1940,8 , 2233,5 , 2, 1, 1, 6, 7 }, // French/Latin/Morocco
- { 37, 7, 153, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,80,70}, 211,4 , 7614,35 , 13,5 , 4,0 , 1940,8 , 2238,18 , 0, 0, 1, 6, 7 }, // French/Latin/New Caledonia
- { 37, 7, 156, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2256,5 , 0, 0, 1, 6, 7 }, // French/Latin/Niger
- { 37, 7, 176, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2261,10 , 2, 1, 1, 6, 7 }, // French/Latin/Reunion
- { 37, 7, 179, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {82,87,70}, 179,2 , 7991,50 , 13,5 , 4,0 , 1940,8 , 1458,6 , 0, 0, 1, 6, 7 }, // French/Latin/Rwanda
- { 37, 7, 187, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2271,7 , 0, 0, 1, 6, 7 }, // French/Latin/Senegal
- { 37, 7, 188, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {83,67,82}, 184,2 , 8041,71 , 13,5 , 4,0 , 1940,8 , 1519,10 , 2, 1, 1, 6, 7 }, // French/Latin/Seychelles
- { 37, 7, 200, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2278,24 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Pierre And Miquelon
- { 37, 7, 206, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 236,8 , 236,8 , 156,8 , 10,17 , 37,5 , 337,14 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {67,72,70}, 0,0 , 8112,45 , 13,5 , 4,0 , 2302,15 , 2317,6 , 2, 0, 1, 6, 7 }, // French/Latin/Switzerland
- { 37, 7, 207, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {83,89,80}, 220,2 , 8157,51 , 13,5 , 4,0 , 1940,8 , 2323,5 , 0, 0, 6, 5, 6 }, // French/Latin/Syria
- { 37, 7, 212, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2328,4 , 0, 0, 1, 6, 7 }, // French/Latin/Togo
- { 37, 7, 216, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {84,78,68}, 222,2 , 8208,51 , 13,5 , 4,0 , 1940,8 , 2332,7 , 3, 0, 1, 6, 7 }, // French/Latin/Tunisia
- { 37, 7, 229, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {86,85,86}, 202,2 , 8259,51 , 13,5 , 4,0 , 1940,8 , 1766,7 , 0, 0, 1, 6, 7 }, // French/Latin/Vanuatu
- { 37, 7, 235, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,80,70}, 211,4 , 7614,35 , 13,5 , 4,0 , 1940,8 , 2339,16 , 0, 0, 1, 6, 7 }, // French/Latin/Wallis And Futuna Islands
- { 37, 7, 244, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2355,16 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Barthelemy
- { 37, 7, 245, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 6266,63 , 6329,85 , 134,24 , 6266,63 , 6329,85 , 134,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2371,12 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Martin
- { 38, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 339,8 , 97,16 , 37,5 , 8,10 , 6539,48 , 6587,95 , 134,24 , 6539,48 , 6587,95 , 134,24 , 3094,21 , 3115,54 , 85,14 , 3094,21 , 3115,54 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 53,6 , 2383,5 , 2388,8 , 2, 1, 1, 6, 7 }, // Western Frisian/Latin/Netherlands
- { 39, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 244,10 , 244,10 , 119,10 , 648,21 , 37,5 , 8,10 , 6682,61 , 6743,142 , 6885,24 , 6682,61 , 6909,167 , 6885,24 , 3169,28 , 3197,69 , 3266,14 , 3169,28 , 3197,69 , 3266,14 , 81,1 , 77,1 , 414,6 , 5,17 , 22,23 , {71,66,80}, 119,1 , 8310,86 , 4,4 , 4,0 , 2396,8 , 2404,22 , 2, 1, 1, 6, 7 }, // Gaelic/Latin/United Kingdom
- { 40, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 7076,60 , 7136,87 , 7223,24 , 7247,60 , 7307,87 , 7394,36 , 3280,35 , 3315,49 , 3364,14 , 3378,35 , 3413,49 , 3462,21 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 2426,6 , 2432,6 , 2, 1, 1, 6, 7 }, // Galician/Latin/Spain
- { 41, 15, 81, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 171, 187, 0,6 , 0,6 , 261,8 , 261,8 , 156,8 , 696,19 , 37,5 , 8,10 , 7430,48 , 7478,99 , 7577,24 , 7430,48 , 7478,99 , 7577,24 , 3483,28 , 3511,62 , 3573,14 , 3483,28 , 3511,62 , 3573,14 , 0,2 , 0,2 , 420,5 , 425,37 , 22,23 , {71,69,76}, 224,1 , 8396,43 , 13,5 , 4,0 , 2438,7 , 2445,10 , 2, 1, 1, 6, 7 }, // Georgian/Georgian/Georgia
- { 42, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7601,48 , 7649,83 , 134,24 , 7732,60 , 7649,83 , 134,24 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 2455,7 , 2462,11 , 2, 1, 1, 6, 7 }, // German/Latin/Germany
- { 42, 7, 14, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7792,48 , 7840,83 , 134,24 , 7923,59 , 7840,83 , 134,24 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 8,5 , 4,0 , 2473,24 , 2497,10 , 2, 1, 1, 6, 7 }, // German/Latin/Austria
- { 42, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7601,48 , 7649,83 , 134,24 , 7732,60 , 7649,83 , 134,24 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 2455,7 , 2507,7 , 2, 1, 1, 6, 7 }, // German/Latin/Belgium
- { 42, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7792,48 , 7840,83 , 134,24 , 7923,59 , 7840,83 , 134,24 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 2455,7 , 2514,7 , 2, 1, 1, 6, 7 }, // German/Latin/Italy
- { 42, 7, 123, 46, 8217, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7601,48 , 7649,83 , 134,24 , 7732,60 , 7649,83 , 134,24 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {67,72,70}, 0,0 , 8458,58 , 8,5 , 4,0 , 2455,7 , 2521,13 , 2, 0, 1, 6, 7 }, // German/Latin/Liechtenstein
- { 42, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7601,48 , 7649,83 , 134,24 , 7732,60 , 7649,83 , 134,24 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 2455,7 , 2534,9 , 2, 1, 1, 6, 7 }, // German/Latin/Luxembourg
- { 42, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7601,48 , 7649,83 , 134,24 , 7732,60 , 7649,83 , 134,24 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {67,72,70}, 225,3 , 8458,58 , 8,5 , 36,5 , 2543,21 , 2564,7 , 2, 0, 1, 6, 7 }, // German/Latin/Switzerland
- { 43, 16, 85, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 278,9 , 278,9 , 269,6 , 10,17 , 18,7 , 25,12 , 7982,50 , 8032,115 , 8147,24 , 8171,50 , 8221,115 , 8147,24 , 3710,28 , 3738,55 , 3793,14 , 3710,28 , 3738,55 , 3793,14 , 82,4 , 78,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8516,19 , 13,5 , 4,0 , 2571,8 , 2579,6 , 2, 1, 1, 6, 7 }, // Greek/Greek/Greece
- { 43, 16, 56, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 278,9 , 278,9 , 269,6 , 10,17 , 18,7 , 25,12 , 7982,50 , 8032,115 , 8147,24 , 8171,50 , 8221,115 , 8147,24 , 3710,28 , 3738,55 , 3793,14 , 3710,28 , 3738,55 , 3793,14 , 82,4 , 78,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8516,19 , 13,5 , 4,0 , 2571,8 , 2585,6 , 2, 1, 1, 6, 7 }, // Greek/Greek/Cyprus
- { 44, 7, 86, 44, 46, 59, 37, 48, 8722, 43, 101, 187, 171, 8250, 8249, 0,6 , 0,6 , 287,11 , 287,11 , 53,10 , 80,17 , 228,5 , 233,10 , 8336,48 , 8384,96 , 134,24 , 8336,48 , 8384,96 , 134,24 , 3807,28 , 3835,98 , 3933,14 , 3807,28 , 3835,98 , 3933,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {68,75,75}, 144,3 , 8535,62 , 4,4 , 59,5 , 2591,11 , 2602,16 , 2, 0, 1, 6, 7 }, // Greenlandic/Latin/Greenland
- { 45, 7, 168, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,89,71}, 228,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 7, 6, 7 }, // Guarani/Latin/Paraguay
- { 46, 17, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 298,9 , 298,9 , 269,6 , 192,18 , 351,8 , 359,13 , 8480,67 , 8547,87 , 8634,31 , 8480,67 , 8547,87 , 8634,31 , 3947,32 , 3979,53 , 4032,19 , 3947,32 , 3979,53 , 4032,19 , 0,2 , 0,2 , 467,4 , 471,19 , 22,23 , {73,78,82}, 121,1 , 8597,46 , 4,4 , 4,0 , 2618,7 , 2625,4 , 2, 1, 7, 7, 7 }, // Gujarati/Gujarati/India
- { 47, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 307,8 , 307,8 , 269,6 , 715,17 , 37,5 , 8,10 , 8665,48 , 8713,85 , 8798,24 , 8665,48 , 8713,85 , 8798,24 , 4051,28 , 4079,52 , 4131,14 , 4051,28 , 4079,52 , 4131,14 , 86,6 , 82,5 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 8643,12 , 8,5 , 4,0 , 2629,5 , 2634,8 , 2, 1, 1, 6, 7 }, // Hausa/Latin/Nigeria
- { 47, 1, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Hausa/Arabic/Nigeria
- { 47, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 307,8 , 307,8 , 269,6 , 715,17 , 18,7 , 25,12 , 8665,48 , 8713,85 , 8798,24 , 8665,48 , 8713,85 , 8798,24 , 4051,28 , 4079,52 , 4131,14 , 4051,28 , 4079,52 , 4131,14 , 86,6 , 82,5 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 0,7 , 8,5 , 4,0 , 2629,5 , 2642,4 , 2, 1, 1, 6, 7 }, // Hausa/Latin/Ghana
- { 47, 7, 156, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 307,8 , 307,8 , 269,6 , 715,17 , 37,5 , 8,10 , 8665,48 , 8713,85 , 8798,24 , 8665,48 , 8713,85 , 8798,24 , 4051,28 , 4079,52 , 4131,14 , 4051,28 , 4079,52 , 4131,14 , 86,6 , 82,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 8655,36 , 8,5 , 4,0 , 2629,5 , 2646,5 , 0, 0, 1, 6, 7 }, // Hausa/Latin/Niger
- { 48, 18, 105, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 315,6 , 315,6 , 640,8 , 732,18 , 55,4 , 59,9 , 8822,58 , 8880,72 , 158,27 , 8822,58 , 8880,72 , 158,27 , 4145,46 , 4191,65 , 4256,21 , 4145,46 , 4191,65 , 4256,21 , 92,6 , 87,5 , 490,4 , 5,17 , 22,23 , {73,76,83}, 49,1 , 8691,54 , 64,6 , 70,8 , 2651,5 , 2656,5 , 2, 1, 7, 5, 6 }, // Hebrew/Hebrew/Israel
- { 49, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 321,9 , 330,8 , 269,6 , 10,17 , 18,7 , 25,12 , 8952,59 , 9011,73 , 9084,30 , 8952,59 , 9011,73 , 9084,30 , 4277,32 , 4309,53 , 4362,19 , 4277,32 , 4309,53 , 4362,19 , 68,2 , 65,2 , 494,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 8745,42 , 4,4 , 4,0 , 2661,6 , 2667,4 , 2, 1, 7, 7, 7 }, // Hindi/Devanagari/India
- { 50, 7, 98, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 187, 171, 0,6 , 0,6 , 338,8 , 338,8 , 750,13 , 763,19 , 55,4 , 59,9 , 9114,64 , 9178,98 , 9276,25 , 9114,64 , 9178,98 , 9276,25 , 4381,19 , 4400,52 , 4452,17 , 4381,19 , 4400,52 , 4452,17 , 98,3 , 92,3 , 498,4 , 5,17 , 22,23 , {72,85,70}, 229,2 , 8787,46 , 13,5 , 4,0 , 2671,6 , 2677,12 , 2, 0, 1, 6, 7 }, // Hungarian/Latin/Hungary
- { 51, 7, 99, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 192,8 , 192,8 , 640,8 , 622,18 , 37,5 , 8,10 , 9301,59 , 9360,82 , 9442,24 , 9301,59 , 9360,82 , 9442,24 , 4469,35 , 4504,81 , 4585,14 , 4469,35 , 4504,81 , 4585,14 , 101,4 , 95,4 , 502,4 , 5,17 , 22,23 , {73,83,75}, 189,2 , 8833,49 , 13,5 , 4,0 , 2689,8 , 2697,6 , 0, 0, 1, 6, 7 }, // Icelandic/Latin/Iceland
- { 52, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 346,10 , 356,9 , 27,8 , 553,18 , 228,5 , 233,10 , 9466,48 , 9514,87 , 134,24 , 9466,48 , 9514,87 , 134,24 , 4599,28 , 4627,43 , 4670,14 , 4599,28 , 4627,43 , 4670,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,68,82}, 231,2 , 8882,39 , 4,4 , 4,0 , 2703,9 , 2703,9 , 2, 0, 7, 6, 7 }, // Indonesian/Latin/Indonesia
- { 53, 7, 260, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 528,10 , 782,26 , 37,5 , 8,10 , 9601,48 , 9649,93 , 158,27 , 9601,48 , 9649,93 , 9742,24 , 4684,28 , 4712,57 , 4769,14 , 4684,28 , 4712,57 , 4769,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 2712,11 , 2723,5 , 2, 1, 1, 6, 7 }, // Interlingua/Latin/World
- { 55, 44, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Canadian Aboriginal/Canada
- { 55, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Latin/Canada
- { 57, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 365,11 , 244,10 , 119,10 , 97,16 , 37,5 , 8,10 , 9766,62 , 9828,107 , 9935,24 , 9766,62 , 9828,107 , 9935,24 , 4783,37 , 4820,75 , 4895,14 , 4783,37 , 4820,75 , 4895,14 , 105,4 , 99,4 , 506,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8921,31 , 4,4 , 4,0 , 2728,7 , 2735,4 , 2, 1, 1, 6, 7 }, // Irish/Latin/Ireland
- { 58, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 97,16 , 37,5 , 8,10 , 9959,48 , 10007,94 , 10101,24 , 9959,48 , 10007,94 , 10101,24 , 4909,28 , 4937,57 , 4994,14 , 4909,28 , 4937,57 , 4994,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 2739,8 , 2747,6 , 2, 1, 1, 6, 7 }, // Italian/Latin/Italy
- { 58, 7, 184, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 97,16 , 37,5 , 8,10 , 9959,48 , 10007,94 , 10101,24 , 9959,48 , 10007,94 , 10101,24 , 4909,28 , 4937,57 , 4994,14 , 4909,28 , 4937,57 , 4994,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 2739,8 , 2753,10 , 2, 1, 1, 6, 7 }, // Italian/Latin/San Marino
- { 58, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 254,7 , 254,7 , 156,8 , 10,17 , 37,5 , 8,10 , 9959,48 , 10007,94 , 10101,24 , 9959,48 , 10007,94 , 10101,24 , 4909,28 , 4937,57 , 4994,14 , 4909,28 , 4937,57 , 4994,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 0,0 , 8971,53 , 8,5 , 36,5 , 2739,8 , 2763,8 , 2, 0, 1, 6, 7 }, // Italian/Latin/Switzerland
- { 58, 7, 230, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 97,16 , 37,5 , 8,10 , 9959,48 , 10007,94 , 10101,24 , 9959,48 , 10007,94 , 10101,24 , 4909,28 , 4937,57 , 4994,14 , 4909,28 , 4937,57 , 4994,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 2739,8 , 2771,18 , 2, 1, 1, 6, 7 }, // Italian/Latin/Vatican City State
- { 59, 19, 108, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 170,5 , 170,5 , 578,10 , 402,13 , 55,4 , 372,10 , 4423,39 , 4423,39 , 158,27 , 4423,39 , 4423,39 , 158,27 , 5008,14 , 5022,28 , 5008,14 , 5008,14 , 5022,28 , 5008,14 , 109,2 , 103,2 , 512,3 , 5,17 , 22,23 , {74,80,89}, 133,1 , 9024,11 , 4,4 , 4,0 , 2789,3 , 2792,2 , 0, 0, 7, 6, 7 }, // Japanese/Japanese/Japan
- { 60, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 376,10 , 386,9 , 528,10 , 10,17 , 37,5 , 8,10 , 10125,48 , 9514,87 , 134,24 , 10125,48 , 9514,87 , 134,24 , 5050,28 , 5078,41 , 5119,14 , 5050,28 , 5078,41 , 5119,14 , 111,4 , 105,5 , 515,4 , 5,17 , 22,23 , {73,68,82}, 231,2 , 8882,39 , 8,5 , 4,0 , 2794,4 , 2798,9 , 2, 0, 7, 6, 7 }, // Javanese/Latin/Indonesia
- { 61, 21, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 395,12 , 407,11 , 269,6 , 35,18 , 351,8 , 359,13 , 10173,63 , 10236,87 , 10323,31 , 10354,69 , 10236,87 , 10323,31 , 5133,33 , 5166,54 , 5220,20 , 5133,33 , 5166,54 , 5220,20 , 115,9 , 110,7 , 519,8 , 527,35 , 22,23 , {73,78,82}, 121,1 , 9035,49 , 4,4 , 4,0 , 2807,5 , 2812,4 , 2, 1, 7, 7, 7 }, // Kannada/Kannada/India
- { 62, 1, 100, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 10423,72 , 10423,72 , 10495,24 , 10423,72 , 10423,72 , 10495,24 , 5240,50 , 5290,52 , 5342,14 , 5240,50 , 5290,52 , 5342,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9084,23 , 8,5 , 4,0 , 2816,5 , 2821,9 , 2, 1, 7, 7, 7 }, // Kashmiri/Arabic/India
- { 63, 2, 110, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 418,10 , 156,8 , 808,22 , 37,5 , 8,10 , 10519,60 , 10579,83 , 10662,24 , 10519,60 , 10686,83 , 10662,24 , 5356,21 , 5377,56 , 5433,14 , 5356,21 , 5377,56 , 5433,14 , 0,2 , 0,2 , 562,4 , 566,17 , 583,23 , {75,90,84}, 236,1 , 9107,58 , 13,5 , 4,0 , 2830,10 , 2840,9 , 2, 1, 1, 6, 7 }, // Kazakh/Cyrillic/Kazakhstan
- { 64, 7, 179, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 10769,60 , 10829,101 , 158,27 , 10769,60 , 10829,101 , 158,27 , 5447,35 , 5482,84 , 85,14 , 5447,35 , 5482,84 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,87,70}, 179,2 , 0,7 , 8,5 , 4,0 , 2849,11 , 2860,8 , 0, 0, 1, 6, 7 }, // Kinyarwanda/Latin/Rwanda
- { 65, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 428,10 , 428,10 , 269,6 , 830,23 , 37,5 , 8,10 , 10930,48 , 10978,80 , 11058,24 , 11082,59 , 11141,80 , 11058,24 , 5566,38 , 5604,57 , 5661,14 , 5566,38 , 5604,57 , 5661,14 , 124,5 , 117,14 , 562,4 , 606,18 , 22,23 , {75,71,83}, 237,3 , 9165,52 , 13,5 , 4,0 , 2868,8 , 2876,10 , 2, 1, 1, 6, 7 }, // Kirghiz/Cyrillic/Kyrgyzstan
- { 66, 22, 114, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 438,7 , 438,7 , 853,9 , 862,16 , 382,7 , 389,13 , 11221,39 , 11221,39 , 11221,39 , 11221,39 , 11221,39 , 11221,39 , 5675,14 , 5689,28 , 5675,14 , 5675,14 , 5689,28 , 5675,14 , 129,2 , 131,2 , 624,3 , 5,17 , 22,23 , {75,82,87}, 240,1 , 9217,19 , 4,4 , 4,0 , 2886,3 , 2889,4 , 0, 0, 7, 6, 7 }, // Korean/Korean/South Korea
- { 66, 22, 113, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 438,7 , 438,7 , 853,9 , 862,16 , 382,7 , 389,13 , 11221,39 , 11221,39 , 11221,39 , 11221,39 , 11221,39 , 11221,39 , 5675,14 , 5689,28 , 5675,14 , 5675,14 , 5689,28 , 5675,14 , 129,2 , 131,2 , 624,3 , 5,17 , 22,23 , {75,80,87}, 240,1 , 9236,39 , 4,4 , 4,0 , 2886,3 , 2893,11 , 0, 0, 1, 6, 7 }, // Korean/Korean/North Korea
- { 67, 7, 217, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 445,7 , 445,7 , 53,10 , 63,17 , 37,5 , 8,10 , 11260,48 , 11308,88 , 11396,24 , 11260,48 , 11420,101 , 11396,24 , 5717,20 , 5737,42 , 5779,14 , 5717,20 , 5737,42 , 5779,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {84,82,89}, 241,1 , 0,7 , 13,5 , 4,0 , 2904,5 , 2909,7 , 2, 1, 1, 6, 7 }, // Kurdish/Latin/Turkey
- { 68, 7, 35, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 11521,60 , 11581,106 , 158,27 , 11521,60 , 11581,106 , 158,27 , 5793,34 , 5827,89 , 85,14 , 5793,34 , 5827,89 , 85,14 , 131,5 , 133,5 , 45,4 , 5,17 , 22,23 , {66,73,70}, 159,3 , 9275,27 , 0,4 , 4,0 , 2916,8 , 2924,8 , 0, 0, 1, 6, 7 }, // Rundi/Latin/Burundi
- { 69, 23, 117, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 452,9 , 415,8 , 878,19 , 55,4 , 402,24 , 11687,61 , 11748,75 , 158,27 , 11687,61 , 11748,75 , 158,27 , 5916,36 , 5952,57 , 6009,17 , 5916,36 , 5952,57 , 6009,17 , 136,8 , 138,8 , 45,4 , 5,17 , 22,23 , {76,65,75}, 242,1 , 9302,21 , 4,4 , 36,5 , 2932,3 , 2932,3 , 0, 0, 7, 6, 7 }, // Lao/Lao/Laos
- { 71, 7, 118, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 461,8 , 461,8 , 156,8 , 897,26 , 37,5 , 8,10 , 11823,65 , 11888,101 , 134,24 , 11823,65 , 11888,101 , 134,24 , 6026,51 , 6077,72 , 6149,14 , 6163,51 , 6214,72 , 6149,14 , 144,14 , 146,11 , 627,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9323,23 , 13,5 , 4,0 , 2935,8 , 2943,7 , 2, 1, 1, 6, 7 }, // Latvian/Latin/Latvia
- { 72, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 469,9 , 469,9 , 415,8 , 97,16 , 37,5 , 8,10 , 11989,48 , 12037,203 , 12240,24 , 11989,48 , 12037,203 , 12240,24 , 6286,28 , 6314,100 , 6414,14 , 6286,28 , 6314,100 , 6414,14 , 158,8 , 157,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 209,2 , 9346,23 , 13,5 , 4,0 , 2950,7 , 2957,30 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Congo Kinshasa
- { 72, 7, 6, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 469,9 , 469,9 , 415,8 , 97,16 , 37,5 , 8,10 , 11989,48 , 12037,203 , 12240,24 , 11989,48 , 12037,203 , 12240,24 , 6286,28 , 6314,100 , 6414,14 , 6286,28 , 6314,100 , 6414,14 , 158,8 , 157,6 , 45,4 , 5,17 , 22,23 , {65,79,65}, 243,2 , 9369,23 , 13,5 , 4,0 , 2950,7 , 2987,6 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Angola
- { 72, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 469,9 , 469,9 , 415,8 , 97,16 , 37,5 , 8,10 , 11989,48 , 12037,203 , 12240,24 , 11989,48 , 12037,203 , 12240,24 , 6286,28 , 6314,100 , 6414,14 , 6286,28 , 6314,100 , 6414,14 , 158,8 , 157,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9392,23 , 13,5 , 4,0 , 2950,7 , 2993,26 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Central African Republic
- { 72, 7, 50, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 469,9 , 469,9 , 415,8 , 97,16 , 37,5 , 8,10 , 11989,48 , 12037,203 , 12240,24 , 11989,48 , 12037,203 , 12240,24 , 6286,28 , 6314,100 , 6414,14 , 6286,28 , 6314,100 , 6414,14 , 158,8 , 157,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9392,23 , 13,5 , 4,0 , 2950,7 , 3019,5 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Congo Brazzaville
- { 73, 7, 124, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 478,8 , 478,8 , 53,10 , 923,27 , 37,5 , 8,10 , 12264,70 , 12334,96 , 12430,24 , 12264,70 , 12454,98 , 12430,24 , 6428,21 , 6449,89 , 6538,14 , 6428,21 , 6449,89 , 6538,14 , 166,9 , 163,6 , 632,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9415,30 , 13,5 , 4,0 , 3024,8 , 3032,7 , 2, 1, 1, 6, 7 }, // Lithuanian/Latin/Lithuania
- { 74, 2, 127, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 950,7 , 553,18 , 37,5 , 8,10 , 12552,61 , 12613,85 , 12698,24 , 12552,61 , 12613,85 , 12698,24 , 6552,35 , 6587,54 , 1503,14 , 6641,34 , 6587,54 , 1503,14 , 175,10 , 169,8 , 638,5 , 5,17 , 22,23 , {77,75,68}, 245,3 , 9445,56 , 13,5 , 4,0 , 3039,10 , 3049,18 , 2, 1, 1, 6, 7 }, // Macedonian/Cyrillic/Macedonia
- { 75, 7, 128, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 97,16 , 37,5 , 8,10 , 12722,48 , 12770,92 , 134,24 , 12722,48 , 12770,92 , 134,24 , 6675,34 , 6709,60 , 6769,14 , 6675,34 , 6709,60 , 6769,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,71,65}, 169,2 , 9501,13 , 8,5 , 4,0 , 3067,8 , 3075,12 , 0, 0, 1, 6, 7 }, // Malagasy/Latin/Madagascar
- { 76, 7, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 356,9 , 356,9 , 571,7 , 10,17 , 18,7 , 25,12 , 12862,48 , 12910,82 , 12992,24 , 12862,48 , 12910,82 , 12992,24 , 6783,28 , 6811,43 , 6854,14 , 6783,28 , 6811,43 , 6854,14 , 185,2 , 177,3 , 643,4 , 5,17 , 22,23 , {77,89,82}, 173,2 , 9514,39 , 4,4 , 4,0 , 3087,6 , 1250,8 , 2, 1, 1, 6, 7 }, // Malay/Latin/Malaysia
- { 76, 1, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,89,82}, 173,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Malay/Arabic/Malaysia
- { 76, 7, 32, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 356,9 , 356,9 , 571,7 , 957,12 , 18,7 , 25,12 , 12862,48 , 12910,82 , 12992,24 , 12862,48 , 12910,82 , 12992,24 , 6783,28 , 6811,43 , 6854,14 , 6783,28 , 6811,43 , 6854,14 , 185,2 , 177,3 , 643,4 , 5,17 , 22,23 , {66,78,68}, 6,1 , 9553,31 , 8,5 , 4,0 , 3087,6 , 3093,6 , 2, 1, 1, 6, 7 }, // Malay/Latin/Brunei
- { 76, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 356,9 , 356,9 , 571,7 , 10,17 , 18,7 , 25,12 , 12862,48 , 12910,82 , 12992,24 , 12862,48 , 12910,82 , 12992,24 , 6783,28 , 6811,43 , 6854,14 , 6783,28 , 6811,43 , 6854,14 , 185,2 , 177,3 , 643,4 , 5,17 , 22,23 , {83,71,68}, 6,1 , 9584,37 , 4,4 , 4,0 , 3087,6 , 3099,9 , 2, 1, 7, 6, 7 }, // Malay/Latin/Singapore
- { 77, 24, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 486,13 , 499,12 , 269,6 , 969,18 , 18,7 , 25,12 , 13016,62 , 13078,88 , 13166,32 , 13016,62 , 13078,88 , 13166,32 , 6868,41 , 6909,77 , 6986,22 , 6868,41 , 7008,76 , 7084,21 , 0,2 , 0,2 , 647,6 , 653,27 , 22,23 , {73,78,82}, 121,1 , 9621,40 , 4,4 , 4,0 , 3108,6 , 3114,6 , 2, 1, 7, 7, 7 }, // Malayalam/Malayalam/India
- { 78, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 511,8 , 519,7 , 119,10 , 987,23 , 37,5 , 8,10 , 13198,48 , 13246,86 , 13332,36 , 13198,48 , 13246,86 , 13368,24 , 7105,28 , 7133,63 , 7196,21 , 7105,28 , 7133,63 , 7217,20 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9661,27 , 4,4 , 4,0 , 3120,5 , 1258,5 , 2, 1, 7, 6, 7 }, // Maltese/Latin/Malta
- { 79, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 426,4 , 25,12 , 13392,59 , 13451,133 , 13584,24 , 13392,59 , 13451,133 , 13584,24 , 7237,27 , 7264,47 , 7311,14 , 7237,27 , 7264,47 , 7311,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,90,68}, 6,1 , 9688,41 , 8,5 , 4,0 , 3125,5 , 3130,8 , 2, 1, 1, 6, 7 }, // Maori/Latin/New Zealand
- { 80, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 526,9 , 526,9 , 269,6 , 192,18 , 18,7 , 25,12 , 13608,66 , 13674,86 , 13760,32 , 13608,66 , 13674,86 , 13760,32 , 7325,32 , 7357,53 , 4362,19 , 7325,32 , 7357,53 , 4362,19 , 187,5 , 180,4 , 494,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9729,43 , 4,4 , 4,0 , 3138,5 , 2667,4 , 2, 1, 7, 7, 7 }, // Marathi/Devanagari/India
- { 82, 2, 143, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1010,10 , 1020,16 , 37,5 , 87,12 , 13792,99 , 13891,192 , 14083,38 , 13792,99 , 14121,192 , 14083,38 , 7410,21 , 7431,43 , 7410,21 , 7410,21 , 7474,43 , 7410,21 , 192,4 , 184,4 , 562,4 , 680,17 , 22,23 , {77,78,84}, 248,1 , 9772,25 , 8,5 , 4,0 , 3143,6 , 3149,6 , 2, 0, 1, 6, 7 }, // Mongolian/Cyrillic/Mongolia
- { 82, 8, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 249,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Mongolian/Mongolian/China
- { 84, 13, 150, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 535,5 , 0,6 , 540,7 , 540,7 , 227,6 , 63,17 , 37,5 , 8,10 , 14313,85 , 14313,85 , 14398,53 , 14313,85 , 14313,85 , 14451,52 , 7517,33 , 7550,54 , 7604,18 , 7517,33 , 7550,54 , 7604,18 , 196,9 , 188,7 , 494,4 , 697,19 , 22,23 , {78,80,82}, 252,4 , 9797,49 , 8,5 , 4,0 , 3155,6 , 3161,5 , 2, 1, 7, 6, 7 }, // Nepali/Devanagari/Nepal
- { 84, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 535,5 , 0,6 , 540,7 , 540,7 , 227,6 , 63,17 , 18,7 , 25,12 , 14313,85 , 14313,85 , 14398,53 , 14313,85 , 14313,85 , 14451,52 , 7517,33 , 7550,54 , 7604,18 , 7517,33 , 7550,54 , 7604,18 , 196,9 , 188,7 , 494,4 , 697,19 , 22,23 , {73,78,82}, 121,1 , 9846,49 , 8,5 , 4,0 , 3155,6 , 2667,4 , 2, 1, 7, 7, 7 }, // Nepali/Devanagari/India
- { 85, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 478,17 , 228,5 , 233,10 , 5656,48 , 14503,83 , 134,24 , 5787,59 , 14503,83 , 134,24 , 2307,35 , 2242,51 , 2293,14 , 2307,35 , 2242,51 , 2293,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 189,2 , 9895,44 , 8,5 , 4,0 , 3166,12 , 3178,5 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Norway
- { 85, 7, 203, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 478,17 , 228,5 , 233,10 , 5656,48 , 14503,83 , 134,24 , 5787,59 , 14503,83 , 134,24 , 2307,35 , 2242,51 , 2293,14 , 2307,35 , 2242,51 , 2293,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 189,2 , 9895,44 , 8,5 , 4,0 , 3166,12 , 3183,21 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands
- { 86, 7, 74, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Occitan/Latin/France
- { 87, 26, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 547,8 , 555,7 , 547,6 , 35,18 , 18,7 , 25,12 , 14586,86 , 14586,86 , 14672,32 , 14586,86 , 14586,86 , 14672,32 , 7622,33 , 7655,54 , 7709,18 , 7622,33 , 7655,54 , 7709,18 , 0,2 , 0,2 , 716,5 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9939,43 , 4,4 , 4,0 , 3204,5 , 3209,4 , 2, 1, 7, 7, 7 }, // Oriya/Oriya/India
- { 88, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 46,6 , 46,6 , 562,9 , 571,8 , 394,8 , 1036,20 , 55,4 , 430,11 , 14704,68 , 14772,69 , 158,27 , 14841,69 , 14841,69 , 14910,24 , 7727,39 , 7727,39 , 85,14 , 7727,39 , 7727,39 , 85,14 , 205,4 , 195,4 , 721,5 , 5,17 , 22,23 , {65,70,78}, 256,1 , 9982,25 , 13,5 , 4,0 , 3213,4 , 3217,9 , 0, 0, 6, 4, 5 }, // Pashto/Arabic/Afghanistan
- { 88, 1, 163, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 46,6 , 46,6 , 562,9 , 571,8 , 394,8 , 1036,20 , 18,7 , 25,12 , 14704,68 , 14772,69 , 158,27 , 14841,69 , 14841,69 , 14910,24 , 7727,39 , 7727,39 , 85,14 , 7727,39 , 7727,39 , 85,14 , 205,4 , 195,4 , 721,5 , 5,17 , 22,23 , {80,75,82}, 175,2 , 10007,52 , 13,5 , 4,0 , 3213,4 , 3226,7 , 2, 0, 7, 6, 7 }, // Pashto/Arabic/Pakistan
- { 89, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 579,7 , 579,7 , 586,8 , 594,7 , 394,8 , 97,16 , 55,4 , 430,11 , 14934,70 , 14934,70 , 15004,24 , 15028,74 , 15028,74 , 15004,24 , 7766,49 , 7766,49 , 7815,14 , 7766,49 , 7766,49 , 7815,14 , 209,9 , 199,8 , 726,4 , 730,44 , 22,23 , {73,82,82}, 257,4 , 10059,37 , 78,5 , 4,0 , 3233,5 , 3238,5 , 0, 0, 6, 5, 5 }, // Persian/Arabic/Iran
- { 89, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 579,7 , 579,7 , 586,8 , 594,7 , 394,8 , 97,16 , 55,4 , 430,11 , 15102,68 , 15102,68 , 14910,24 , 15170,62 , 15102,68 , 14910,24 , 7766,49 , 7766,49 , 7815,14 , 7766,49 , 7766,49 , 7815,14 , 209,9 , 199,8 , 726,4 , 730,44 , 22,23 , {65,70,78}, 256,1 , 10096,55 , 8,5 , 4,0 , 3243,3 , 3217,9 , 0, 0, 6, 4, 5 }, // Persian/Arabic/Afghanistan
- { 90, 7, 172, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 163,7 , 163,7 , 495,10 , 10,17 , 37,5 , 8,10 , 15232,48 , 15280,97 , 15377,24 , 15232,48 , 15401,99 , 15500,24 , 7829,34 , 7863,59 , 7922,14 , 7829,34 , 7863,59 , 7936,14 , 0,2 , 0,2 , 303,5 , 5,17 , 22,23 , {80,76,78}, 261,2 , 10151,77 , 13,5 , 4,0 , 3246,6 , 3252,6 , 2, 1, 1, 6, 7 }, // Polish/Latin/Poland
- { 91, 7, 30, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 254,7 , 254,7 , 119,10 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 7950,28 , 7978,79 , 8057,14 , 7950,28 , 7978,79 , 8057,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,82,76}, 263,2 , 10228,54 , 8,5 , 4,0 , 3258,9 , 3267,6 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Brazil
- { 91, 7, 6, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {65,79,65}, 243,2 , 10282,54 , 13,5 , 4,0 , 3258,9 , 3273,6 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Angola
- { 91, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {67,86,69}, 265,1 , 10336,69 , 13,5 , 4,0 , 3258,9 , 3279,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Cape Verde
- { 91, 7, 62, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 10405,81 , 13,5 , 4,0 , 3258,9 , 3289,11 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/East Timor
- { 91, 7, 66, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 10486,59 , 13,5 , 4,0 , 3258,9 , 3300,16 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Equatorial Guinea
- { 91, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {88,79,70}, 206,3 , 10545,62 , 13,5 , 4,0 , 3258,9 , 3316,12 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Guinea Bissau
- { 91, 7, 125, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3258,9 , 3328,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Luxembourg
- { 91, 7, 126, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 18,7 , 25,12 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {77,79,80}, 134,4 , 10607,53 , 13,5 , 4,0 , 3258,9 , 3338,19 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Macau
- { 91, 7, 146, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {77,90,78}, 266,3 , 10660,66 , 13,5 , 4,0 , 3258,9 , 3357,10 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Mozambique
- { 91, 7, 173, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3367,17 , 3384,8 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Portugal
- { 91, 7, 185, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {83,84,78}, 269,2 , 10726,92 , 13,5 , 4,0 , 3258,9 , 3392,19 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Sao Tome And Principe
- { 91, 7, 206, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 15524,48 , 15572,89 , 134,24 , 15524,48 , 15572,89 , 134,24 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {67,72,70}, 225,3 , 10818,45 , 13,5 , 4,0 , 3258,9 , 3411,5 , 2, 0, 1, 6, 7 }, // Portuguese/Latin/Switzerland
- { 92, 4, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 601,9 , 601,9 , 269,6 , 10,17 , 18,7 , 25,12 , 15661,50 , 15711,68 , 15779,28 , 15661,50 , 15711,68 , 15779,28 , 8120,36 , 8156,57 , 8213,23 , 8120,36 , 8156,57 , 8213,23 , 226,6 , 215,6 , 774,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 10863,39 , 4,4 , 4,0 , 3416,6 , 3422,4 , 2, 1, 7, 7, 7 }, // Punjabi/Gurmukhi/India
- { 92, 1, 163, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 553,18 , 18,7 , 25,12 , 15807,67 , 15807,67 , 158,27 , 15807,67 , 15807,67 , 158,27 , 8236,37 , 8236,37 , 85,14 , 8236,37 , 8236,37 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,75,82}, 271,1 , 10902,13 , 41,6 , 4,0 , 3426,6 , 3226,7 , 2, 0, 7, 6, 7 }, // Punjabi/Arabic/Pakistan
- { 93, 7, 169, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 15874,48 , 15922,88 , 158,27 , 15874,48 , 15922,88 , 158,27 , 8273,28 , 8301,53 , 8354,14 , 8273,28 , 8301,53 , 8354,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {80,69,78}, 272,2 , 0,7 , 8,5 , 4,0 , 3432,8 , 3440,4 , 2, 1, 7, 6, 7 }, // Quechua/Latin/Peru
- { 93, 7, 26, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 15874,48 , 15922,88 , 158,27 , 15874,48 , 15922,88 , 158,27 , 8273,28 , 8301,53 , 8354,14 , 8273,28 , 8301,53 , 8354,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {66,79,66}, 274,2 , 0,7 , 8,5 , 4,0 , 3432,8 , 3444,7 , 2, 1, 1, 6, 7 }, // Quechua/Latin/Bolivia
- { 93, 7, 63, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 15874,48 , 15922,88 , 158,27 , 15874,48 , 15922,88 , 158,27 , 8273,28 , 8301,53 , 8354,14 , 8273,28 , 8301,53 , 8354,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 8,5 , 4,0 , 3432,8 , 3451,7 , 2, 1, 1, 6, 7 }, // Quechua/Latin/Ecuador
- { 94, 7, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 339,8 , 1056,28 , 37,5 , 8,10 , 16010,67 , 16077,92 , 16169,24 , 16010,67 , 16077,92 , 16169,24 , 8368,23 , 8391,56 , 8447,14 , 8368,23 , 8391,56 , 8447,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 225,3 , 10915,46 , 13,5 , 4,0 , 3458,9 , 3467,6 , 2, 0, 1, 6, 7 }, // Romansh/Latin/Switzerland
- { 95, 7, 177, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 610,8 , 610,8 , 495,10 , 10,17 , 37,5 , 8,10 , 16193,60 , 16253,98 , 16351,24 , 16193,60 , 16253,98 , 16351,24 , 8461,34 , 8495,48 , 3080,14 , 8461,34 , 8495,48 , 3080,14 , 64,4 , 61,4 , 778,4 , 5,17 , 22,23 , {82,79,78}, 276,3 , 10961,57 , 13,5 , 4,0 , 3473,6 , 3479,7 , 2, 1, 1, 6, 7 }, // Romanian/Latin/Romania
- { 95, 7, 141, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 610,8 , 610,8 , 495,10 , 10,17 , 37,5 , 8,10 , 16193,60 , 16253,98 , 16351,24 , 16193,60 , 16253,98 , 16351,24 , 8543,28 , 8495,48 , 8571,16 , 8543,28 , 8495,48 , 8571,16 , 64,4 , 61,4 , 778,4 , 5,17 , 22,23 , {77,68,76}, 279,1 , 11018,69 , 13,5 , 4,0 , 3473,6 , 3486,17 , 2, 1, 1, 6, 7 }, // Romanian/Latin/Moldova
- { 96, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 16375,62 , 11141,80 , 11058,24 , 16437,62 , 16499,82 , 11058,24 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {82,85,66}, 123,1 , 11087,89 , 13,5 , 4,0 , 3503,7 , 3510,6 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Russia
- { 96, 2, 20, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 16375,62 , 11141,80 , 11058,24 , 16437,62 , 16499,82 , 11058,24 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {66,89,78}, 0,2 , 11176,94 , 13,5 , 4,0 , 3503,7 , 511,8 , 2, 0, 1, 6, 7 }, // Russian/Cyrillic/Belarus
- { 96, 2, 110, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 16375,62 , 11141,80 , 11058,24 , 16437,62 , 16499,82 , 11058,24 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {75,90,84}, 236,1 , 11270,83 , 13,5 , 4,0 , 3503,7 , 3516,9 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Kazakhstan
- { 96, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 16375,62 , 11141,80 , 11058,24 , 16437,62 , 16499,82 , 11058,24 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {75,71,83}, 237,3 , 11353,82 , 13,5 , 4,0 , 3503,7 , 3525,8 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Kyrgyzstan
- { 96, 2, 141, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 16375,62 , 11141,80 , 11058,24 , 16437,62 , 16499,82 , 11058,24 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {77,68,76}, 279,1 , 11435,79 , 13,5 , 4,0 , 3503,7 , 3533,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Moldova
- { 96, 2, 222, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 16375,62 , 11141,80 , 11058,24 , 16437,62 , 16499,82 , 11058,24 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {85,65,72}, 280,1 , 11514,92 , 13,5 , 4,0 , 3503,7 , 3540,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Ukraine
- { 98, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 16581,48 , 16629,91 , 16720,24 , 16581,48 , 16629,91 , 16720,24 , 8684,28 , 8712,66 , 8778,14 , 8684,28 , 8712,66 , 8778,14 , 232,2 , 221,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 11606,25 , 4,4 , 36,5 , 3547,5 , 3552,22 , 0, 0, 1, 6, 7 }, // Sango/Latin/Central African Republic
- { 99, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Sanskrit/Devanagari/India
- { 100, 2, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 16744,48 , 16792,81 , 12698,24 , 16744,48 , 16792,81 , 12698,24 , 8792,28 , 8820,52 , 8872,14 , 8792,28 , 8820,52 , 8872,14 , 234,9 , 223,8 , 782,7 , 5,17 , 22,23 , {82,83,68}, 0,0 , 11631,58 , 13,5 , 4,0 , 3574,6 , 3580,6 , 0, 0, 1, 6, 7 }, // Serbian/Cyrillic/Serbia
- { 100, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 16873,50 , 16923,81 , 9742,24 , 17004,48 , 16923,81 , 9742,24 , 8886,26 , 8912,57 , 2102,14 , 8886,26 , 8912,57 , 2102,14 , 243,11 , 231,8 , 296,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 11689,174 , 13,5 , 4,0 , 3586,6 , 630,19 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Bosnia And Herzegowina
- { 100, 7, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 17052,58 , 16923,81 , 9742,24 , 17052,58 , 16923,81 , 9742,24 , 8969,33 , 8912,57 , 2102,14 , 8969,33 , 8912,57 , 2102,14 , 243,11 , 231,8 , 296,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 11863,23 , 13,5 , 4,0 , 3586,6 , 3592,9 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Montenegro
- { 100, 7, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 17004,48 , 16923,81 , 9742,24 , 17004,48 , 16923,81 , 9742,24 , 9002,28 , 9030,54 , 2102,14 , 9002,28 , 9030,54 , 2102,14 , 254,9 , 231,8 , 296,7 , 5,17 , 22,23 , {82,83,68}, 0,0 , 11886,58 , 13,5 , 4,0 , 3586,6 , 3601,6 , 0, 0, 1, 6, 7 }, // Serbian/Latin/Serbia
- { 100, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 17110,50 , 16792,81 , 12698,24 , 16744,48 , 16792,81 , 12698,24 , 9084,26 , 9110,55 , 8872,14 , 9084,26 , 9110,55 , 8872,14 , 263,11 , 223,8 , 782,7 , 5,17 , 22,23 , {66,65,77}, 281,2 , 11944,174 , 13,5 , 4,0 , 3574,6 , 3607,19 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Bosnia And Herzegowina
- { 100, 2, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 17110,50 , 16792,81 , 12698,24 , 17110,50 , 16792,81 , 12698,24 , 8792,28 , 9110,55 , 8872,14 , 8792,28 , 9110,55 , 8872,14 , 263,11 , 223,8 , 782,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12118,23 , 13,5 , 4,0 , 3574,6 , 3626,9 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Montenegro
- { 100, 2, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 17110,50 , 16792,81 , 12698,24 , 17110,50 , 16792,81 , 12698,24 , 8792,28 , 8820,52 , 8872,14 , 8792,28 , 8820,52 , 8872,14 , 234,9 , 223,8 , 782,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12118,23 , 13,5 , 4,0 , 3574,6 , 3635,6 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Kosovo
- { 100, 7, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 17052,58 , 16923,81 , 9742,24 , 17052,58 , 16923,81 , 9742,24 , 8969,33 , 9030,54 , 2102,14 , 8969,33 , 9030,54 , 2102,14 , 254,9 , 231,8 , 296,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 11863,23 , 13,5 , 4,0 , 3586,6 , 3641,6 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Kosovo
- { 101, 2, 81, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 618,9 , 618,9 , 156,8 , 1111,23 , 37,5 , 8,10 , 17160,63 , 17223,82 , 11058,24 , 17305,60 , 17365,86 , 11058,24 , 9165,28 , 9193,61 , 9254,14 , 9268,28 , 9296,61 , 9254,14 , 274,15 , 239,15 , 45,4 , 5,17 , 22,23 , {71,69,76}, 224,1 , 12141,17 , 8,5 , 4,0 , 3647,4 , 3651,11 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Georgia
- { 101, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 618,9 , 618,9 , 156,8 , 1111,23 , 37,5 , 8,10 , 17160,63 , 17223,82 , 11058,24 , 17305,60 , 17365,86 , 11058,24 , 9165,28 , 9193,61 , 9254,14 , 9268,28 , 9296,61 , 9254,14 , 274,15 , 239,15 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 12158,17 , 8,5 , 4,0 , 3647,4 , 3662,6 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Russia
- { 102, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Southern Sotho/Latin/South Africa
- { 103, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tswana/Latin/South Africa
- { 104, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 17451,48 , 17499,100 , 17599,24 , 17451,48 , 17499,100 , 17599,24 , 9357,28 , 9385,55 , 9440,14 , 9357,28 , 9385,55 , 9440,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 155,3 , 12175,22 , 4,4 , 4,0 , 3668,8 , 1820,8 , 2, 1, 7, 6, 7 }, // Shona/Latin/Zimbabwe
- { 105, 1, 163, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 627,8 , 635,7 , 53,10 , 63,17 , 18,7 , 25,12 , 17623,72 , 17623,72 , 134,24 , 17623,72 , 17623,72 , 134,24 , 9454,35 , 9454,35 , 9489,31 , 9454,35 , 9454,35 , 9489,31 , 289,11 , 254,11 , 789,6 , 795,61 , 22,23 , {80,75,82}, 175,2 , 12197,43 , 8,5 , 4,0 , 3676,4 , 3680,7 , 2, 0, 7, 6, 7 }, // Sindhi/Arabic/Pakistan
- { 106, 32, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 642,9 , 651,8 , 53,10 , 63,17 , 228,5 , 233,10 , 17695,59 , 17754,96 , 17850,32 , 17882,61 , 17754,96 , 17850,32 , 9520,39 , 9559,62 , 9621,19 , 9520,39 , 9559,62 , 9621,19 , 300,5 , 265,4 , 856,5 , 861,42 , 22,23 , {76,75,82}, 283,3 , 12240,58 , 4,4 , 4,0 , 3687,5 , 3692,11 , 2, 1, 1, 6, 7 }, // Sinhala/Sinhala/Sri Lanka
- { 107, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Swati/Latin/South Africa
- { 108, 7, 191, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 659,7 , 1134,10 , 478,17 , 55,4 , 59,9 , 17943,48 , 17991,82 , 9742,24 , 17943,48 , 18073,89 , 9742,24 , 9640,21 , 9661,52 , 9713,14 , 9640,21 , 9661,52 , 9713,14 , 0,2 , 0,2 , 303,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12298,26 , 13,5 , 4,0 , 3703,10 , 3713,9 , 2, 1, 1, 6, 7 }, // Slovak/Latin/Slovakia
- { 109, 7, 192, 44, 46, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 666,8 , 666,8 , 1144,9 , 1153,19 , 37,5 , 8,10 , 18162,59 , 18221,86 , 9742,24 , 18162,59 , 18221,86 , 9742,24 , 9727,35 , 9762,52 , 9814,14 , 9727,35 , 9762,52 , 9814,14 , 60,4 , 269,4 , 54,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12324,28 , 13,5 , 4,0 , 3722,11 , 3733,9 , 2, 1, 1, 6, 7 }, // Slovenian/Latin/Slovenia
- { 110, 7, 194, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 674,9 , 674,9 , 27,8 , 1172,19 , 18,7 , 25,12 , 18307,48 , 18355,92 , 18447,24 , 18307,48 , 18471,189 , 18447,24 , 9828,32 , 9860,47 , 9907,15 , 9828,32 , 9860,47 , 9907,15 , 305,2 , 273,2 , 903,6 , 909,17 , 22,23 , {83,79,83}, 94,1 , 12352,27 , 4,4 , 4,0 , 3742,8 , 3750,10 , 0, 0, 1, 6, 7 }, // Somali/Latin/Somalia
- { 110, 7, 59, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 674,9 , 674,9 , 27,8 , 1172,19 , 18,7 , 25,12 , 18307,48 , 18355,92 , 18447,24 , 18307,48 , 18471,189 , 18447,24 , 9828,32 , 9860,47 , 9907,15 , 9828,32 , 9860,47 , 9907,15 , 305,2 , 273,2 , 903,6 , 909,17 , 22,23 , {68,74,70}, 38,3 , 12379,50 , 4,4 , 4,0 , 3742,8 , 3760,7 , 0, 0, 6, 6, 7 }, // Somali/Latin/Djibouti
- { 110, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 674,9 , 674,9 , 27,8 , 1172,19 , 18,7 , 25,12 , 18307,48 , 18355,92 , 18447,24 , 18307,48 , 18471,189 , 18447,24 , 9828,32 , 9860,47 , 9907,15 , 9828,32 , 9860,47 , 9907,15 , 305,2 , 273,2 , 903,6 , 909,17 , 22,23 , {69,84,66}, 0,2 , 12429,52 , 4,4 , 4,0 , 3742,8 , 3767,8 , 2, 1, 7, 6, 7 }, // Somali/Latin/Ethiopia
- { 110, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 674,9 , 674,9 , 27,8 , 1172,19 , 37,5 , 8,10 , 18307,48 , 18355,92 , 18447,24 , 18307,48 , 18471,189 , 18447,24 , 9828,32 , 9860,47 , 9907,15 , 9828,32 , 9860,47 , 9907,15 , 305,2 , 273,2 , 903,6 , 909,17 , 22,23 , {75,69,83}, 2,3 , 12481,52 , 4,4 , 4,0 , 3742,8 , 1192,5 , 2, 1, 7, 6, 7 }, // Somali/Latin/Kenya
- { 111, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 55,4 , 430,11 , 18660,61 , 18721,89 , 18810,24 , 18660,61 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3775,17 , 2432,6 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Spain
- { 111, 7, 10, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {65,82,83}, 6,1 , 12533,51 , 8,5 , 4,0 , 3792,7 , 3799,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Argentina
- { 111, 7, 22, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {66,90,68}, 6,1 , 12584,52 , 4,4 , 4,0 , 3792,7 , 3808,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Belize
- { 111, 7, 26, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {66,79,66}, 274,2 , 12636,35 , 4,4 , 4,0 , 3792,7 , 3444,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Bolivia
- { 111, 7, 30, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {66,82,76}, 263,2 , 12671,52 , 4,4 , 4,0 , 3792,7 , 3267,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Brazil
- { 111, 7, 43, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 339,8 , 669,27 , 37,5 , 8,10 , 18660,61 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,76,80}, 6,1 , 12723,45 , 4,4 , 36,5 , 3792,7 , 3814,5 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Chile
- { 111, 7, 47, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 571,7 , 669,27 , 18,7 , 25,12 , 18660,61 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 4769,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,79,80}, 6,1 , 12768,54 , 8,5 , 4,0 , 3792,7 , 3819,8 , 2, 0, 7, 6, 7 }, // Spanish/Latin/Colombia
- { 111, 7, 52, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,82,67}, 286,1 , 12822,67 , 4,4 , 4,0 , 3792,7 , 3827,10 , 2, 0, 1, 6, 7 }, // Spanish/Latin/Costa Rica
- { 111, 7, 55, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {67,85,80}, 6,1 , 12889,42 , 4,4 , 4,0 , 3792,7 , 3837,4 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Cuba
- { 111, 7, 61, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 18,7 , 25,12 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {68,79,80}, 287,3 , 12931,54 , 4,4 , 83,6 , 3792,7 , 3841,20 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Dominican Republic
- { 111, 7, 63, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12985,70 , 4,4 , 36,5 , 3792,7 , 3451,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ecuador
- { 111, 7, 65, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12985,70 , 4,4 , 4,0 , 3792,7 , 3861,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/El Salvador
- { 111, 7, 66, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 55,4 , 430,11 , 18660,61 , 18721,89 , 18810,24 , 18660,61 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 13055,92 , 4,4 , 4,0 , 3792,7 , 3872,17 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Equatorial Guinea
- { 111, 7, 90, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 571,7 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {71,84,81}, 290,1 , 13147,30 , 18,5 , 4,0 , 3792,7 , 3889,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Guatemala
- { 111, 7, 96, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 1191,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {72,78,76}, 279,1 , 13177,60 , 4,4 , 4,0 , 3792,7 , 3898,8 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Honduras
- { 111, 7, 139, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 27,8 , 669,27 , 55,4 , 59,9 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {77,88,78}, 6,1 , 13237,48 , 47,6 , 4,0 , 3906,17 , 3923,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Mexico
- { 111, 7, 155, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {78,73,79}, 291,2 , 13285,69 , 4,4 , 4,0 , 3792,7 , 3929,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Nicaragua
- { 111, 7, 166, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 1218,8 , 669,27 , 18,7 , 25,12 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,65,66}, 293,3 , 13354,54 , 4,4 , 4,0 , 3792,7 , 3938,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Panama
- { 111, 7, 168, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18660,61 , 18721,89 , 18810,24 , 18660,61 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,89,71}, 296,3 , 13408,61 , 8,5 , 23,6 , 3792,7 , 3944,8 , 0, 0, 7, 6, 7 }, // Spanish/Latin/Paraguay
- { 111, 7, 169, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 571,7 , 669,27 , 37,5 , 8,10 , 18894,60 , 15922,88 , 18810,24 , 18954,60 , 19014,88 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,69,78}, 272,2 , 13469,43 , 8,5 , 4,0 , 3792,7 , 3440,4 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Peru
- { 111, 7, 170, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 18,7 , 25,12 , 18660,61 , 18721,89 , 18810,24 , 18660,61 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,72,80}, 178,1 , 13512,48 , 13,5 , 4,0 , 3792,7 , 3952,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Philippines
- { 111, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 1218,8 , 669,27 , 18,7 , 25,12 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12985,70 , 4,4 , 4,0 , 3792,7 , 1447,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Puerto Rico
- { 111, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 415,8 , 669,27 , 18,7 , 25,12 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12985,70 , 89,7 , 4,0 , 3792,7 , 3961,14 , 2, 1, 7, 6, 7 }, // Spanish/Latin/United States
- { 111, 7, 227, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18894,60 , 15922,88 , 18810,24 , 18954,60 , 19014,88 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,89,85}, 6,1 , 13560,48 , 8,5 , 4,0 , 3792,7 , 3975,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Uruguay
- { 111, 7, 231, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 18,7 , 25,12 , 18660,61 , 18721,89 , 18810,24 , 18660,61 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {86,69,83}, 299,4 , 13608,58 , 4,4 , 36,5 , 3792,7 , 3982,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Venezuela
- { 111, 7, 238, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 55,4 , 430,11 , 18660,61 , 18721,89 , 18810,24 , 18660,61 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3792,7 , 3991,8 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Canary Islands
- { 111, 7, 246, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 18834,60 , 18721,89 , 18810,24 , 18834,60 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 4,0 , 3999,23 , 4022,13 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Latin America
- { 111, 7, 250, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 55,4 , 430,11 , 18660,61 , 18721,89 , 18810,24 , 18660,61 , 18721,89 , 18810,24 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3792,7 , 4035,15 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ceuta And Melilla
- { 113, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 690,8 , 690,8 , 119,10 , 10,17 , 37,5 , 8,10 , 19102,48 , 19150,84 , 134,24 , 19102,48 , 19150,84 , 134,24 , 10010,60 , 10010,60 , 85,14 , 10010,60 , 10010,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {84,90,83}, 191,3 , 13666,67 , 8,5 , 4,0 , 4050,9 , 1625,8 , 2, 0, 1, 6, 7 }, // Swahili/Latin/Tanzania
- { 113, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 690,8 , 690,8 , 119,10 , 10,17 , 37,5 , 8,10 , 19102,48 , 19150,84 , 134,24 , 19102,48 , 19150,84 , 134,24 , 10010,60 , 10010,60 , 85,14 , 10010,60 , 10010,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {67,68,70}, 209,2 , 13733,55 , 8,5 , 4,0 , 4050,9 , 4059,32 , 2, 1, 1, 6, 7 }, // Swahili/Latin/Congo Kinshasa
- { 113, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 690,8 , 690,8 , 119,10 , 10,17 , 37,5 , 8,10 , 19102,48 , 19150,84 , 134,24 , 19102,48 , 19150,84 , 134,24 , 10010,60 , 10010,60 , 85,14 , 10010,60 , 10010,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {75,69,83}, 2,3 , 13788,58 , 8,5 , 4,0 , 4050,9 , 1192,5 , 2, 1, 7, 6, 7 }, // Swahili/Latin/Kenya
- { 113, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 690,8 , 690,8 , 119,10 , 10,17 , 37,5 , 8,10 , 19102,48 , 19150,84 , 134,24 , 19102,48 , 19150,84 , 134,24 , 10010,60 , 10010,60 , 85,14 , 10010,60 , 10010,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {85,71,88}, 196,3 , 13846,61 , 8,5 , 4,0 , 4050,9 , 1690,6 , 0, 0, 1, 6, 7 }, // Swahili/Latin/Uganda
- { 114, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 698,9 , 698,9 , 53,10 , 97,16 , 228,5 , 441,16 , 19234,59 , 19293,86 , 134,24 , 19234,59 , 19293,86 , 134,24 , 10070,29 , 10099,50 , 2293,14 , 10070,29 , 10099,50 , 2293,14 , 307,2 , 275,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 189,2 , 13907,45 , 13,5 , 4,0 , 4091,7 , 4098,7 , 2, 0, 1, 6, 7 }, // Swedish/Latin/Sweden
- { 114, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 698,9 , 698,9 , 528,10 , 97,16 , 228,5 , 441,16 , 19234,59 , 19293,86 , 134,24 , 19234,59 , 19293,86 , 134,24 , 10070,29 , 10099,50 , 2293,14 , 10070,29 , 10099,50 , 2293,14 , 307,2 , 275,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 4091,7 , 1089,7 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Finland
- { 114, 7, 248, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 698,9 , 698,9 , 53,10 , 97,16 , 228,5 , 441,16 , 19234,59 , 19293,86 , 134,24 , 19234,59 , 19293,86 , 134,24 , 10070,29 , 10099,50 , 2293,14 , 10070,29 , 10099,50 , 2293,14 , 307,2 , 275,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 4091,7 , 4105,5 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Aland Islands
- { 115, 7, 106, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Sardinian/Latin/Italy
- { 116, 2, 209, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 553,18 , 37,5 , 8,10 , 10930,48 , 19379,71 , 11058,24 , 10930,48 , 19379,71 , 11058,24 , 10149,28 , 10177,55 , 10232,14 , 10149,28 , 10177,55 , 10232,14 , 309,7 , 277,7 , 45,4 , 5,17 , 22,23 , {84,74,83}, 303,4 , 13952,19 , 13,5 , 4,0 , 4110,6 , 4116,10 , 2, 1, 1, 6, 7 }, // Tajik/Cyrillic/Tajikistan
- { 117, 27, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 707,13 , 707,13 , 269,6 , 192,18 , 382,7 , 457,12 , 19450,58 , 19508,86 , 19594,31 , 19450,58 , 19508,86 , 19594,31 , 10246,39 , 10285,49 , 10334,20 , 10246,39 , 10285,49 , 10334,20 , 316,8 , 284,8 , 977,7 , 5,17 , 22,23 , {73,78,82}, 121,1 , 13971,49 , 8,5 , 4,0 , 4126,5 , 4131,7 , 2, 1, 7, 7, 7 }, // Tamil/Tamil/India
- { 117, 27, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 707,13 , 707,13 , 269,6 , 192,18 , 382,7 , 457,12 , 19450,58 , 19508,86 , 19594,31 , 19450,58 , 19508,86 , 19594,31 , 10246,39 , 10285,49 , 10334,20 , 10246,39 , 10285,49 , 10334,20 , 316,8 , 284,8 , 977,7 , 5,17 , 22,23 , {77,89,82}, 173,2 , 14020,61 , 8,5 , 4,0 , 4126,5 , 4138,7 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Malaysia
- { 117, 27, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 707,13 , 707,13 , 269,6 , 192,18 , 382,7 , 457,12 , 19450,58 , 19508,86 , 19594,31 , 19450,58 , 19508,86 , 19594,31 , 10246,39 , 10285,49 , 10334,20 , 10246,39 , 10285,49 , 10334,20 , 316,8 , 284,8 , 977,7 , 5,17 , 22,23 , {83,71,68}, 6,1 , 14081,61 , 8,5 , 4,0 , 4126,5 , 4145,11 , 2, 1, 7, 6, 7 }, // Tamil/Tamil/Singapore
- { 117, 27, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 707,13 , 707,13 , 269,6 , 192,18 , 37,5 , 8,10 , 19450,58 , 19508,86 , 19594,31 , 19450,58 , 19508,86 , 19594,31 , 10246,39 , 10285,49 , 10334,20 , 10246,39 , 10285,49 , 10334,20 , 316,8 , 284,8 , 977,7 , 5,17 , 22,23 , {76,75,82}, 307,3 , 14142,49 , 8,5 , 4,0 , 4126,5 , 4156,6 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Sri Lanka
- { 118, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 720,9 , 720,9 , 495,10 , 1226,23 , 55,4 , 59,9 , 19625,62 , 19687,81 , 158,27 , 19625,62 , 19687,81 , 158,27 , 10354,36 , 10390,56 , 10446,14 , 10354,36 , 10390,56 , 10446,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 14191,21 , 0,4 , 4,0 , 4162,5 , 3510,6 , 2, 1, 1, 6, 7 }, // Tatar/Cyrillic/Russia
- { 119, 28, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 729,11 , 729,11 , 339,8 , 1249,18 , 18,7 , 25,12 , 19768,62 , 19830,86 , 19916,31 , 19768,62 , 19830,86 , 19916,31 , 10460,32 , 10492,60 , 10552,18 , 10460,32 , 10492,60 , 10552,18 , 0,2 , 0,2 , 984,7 , 991,29 , 22,23 , {73,78,82}, 121,1 , 14212,26 , 4,4 , 4,0 , 4167,6 , 4173,8 , 2, 1, 7, 7, 7 }, // Telugu/Telugu/India
- { 120, 30, 211, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 123,5 , 123,5 , 740,8 , 748,7 , 269,6 , 1267,19 , 37,5 , 469,28 , 19947,63 , 20010,98 , 19947,63 , 19947,63 , 20010,98 , 19947,63 , 10570,23 , 10593,68 , 10661,16 , 10570,23 , 10593,68 , 10661,16 , 324,10 , 292,10 , 1020,4 , 5,17 , 22,23 , {84,72,66}, 310,1 , 14238,16 , 4,4 , 4,0 , 4181,3 , 4181,3 , 2, 1, 7, 6, 7 }, // Thai/Thai/Thailand
- { 121, 31, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1286,23 , 18,7 , 25,12 , 2675,63 , 20108,159 , 158,27 , 2675,63 , 20267,147 , 158,27 , 10677,51 , 10728,79 , 10807,27 , 10677,51 , 10728,79 , 10807,27 , 334,7 , 302,8 , 45,4 , 5,17 , 22,23 , {67,78,89}, 311,1 , 14254,13 , 8,5 , 4,0 , 4184,8 , 4192,6 , 2, 1, 7, 6, 7 }, // Tibetan/Tibetan/China
- { 121, 31, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1286,23 , 18,7 , 25,12 , 2675,63 , 20108,159 , 158,27 , 2675,63 , 20267,147 , 158,27 , 10677,51 , 10728,79 , 10807,27 , 10677,51 , 10728,79 , 10807,27 , 334,7 , 302,8 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 14267,19 , 8,5 , 4,0 , 4184,8 , 4198,7 , 2, 1, 7, 7, 7 }, // Tibetan/Tibetan/India
- { 122, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1309,23 , 18,7 , 25,12 , 20414,36 , 20450,54 , 20504,24 , 20414,36 , 20450,54 , 20504,24 , 10834,21 , 10855,29 , 10884,14 , 10834,21 , 10855,29 , 10898,14 , 341,7 , 310,7 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,2 , 14286,16 , 4,4 , 4,0 , 4205,4 , 92,5 , 2, 1, 7, 6, 7 }, // Tigrinya/Ethiopic/Ethiopia
- { 122, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1309,23 , 18,7 , 25,12 , 20414,36 , 20450,54 , 20504,24 , 20414,36 , 20450,54 , 20504,24 , 10834,21 , 10855,29 , 10898,14 , 10834,21 , 10855,29 , 10898,14 , 341,7 , 310,7 , 45,4 , 5,17 , 22,23 , {69,82,78}, 41,3 , 0,7 , 4,4 , 4,0 , 4205,4 , 4209,4 , 2, 1, 1, 6, 7 }, // Tigrinya/Ethiopic/Eritrea
- { 123, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 755,8 , 755,8 , 755,8 , 755,8 , 269,6 , 97,16 , 18,7 , 25,12 , 20528,51 , 20579,87 , 20666,24 , 20528,51 , 20579,87 , 20666,24 , 10912,29 , 10941,60 , 11001,14 , 10912,29 , 10941,60 , 11001,14 , 348,10 , 317,6 , 1024,5 , 1029,59 , 1088,65 , {84,79,80}, 194,2 , 14302,41 , 13,5 , 4,0 , 4213,13 , 1640,5 , 2, 1, 1, 6, 7 }, // Tongan/Latin/Tonga
- { 124, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tsonga/Latin/South Africa
- { 125, 7, 217, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 763,8 , 763,8 , 1332,9 , 1341,16 , 37,5 , 8,10 , 20690,48 , 20738,75 , 20813,24 , 20690,48 , 20738,75 , 20813,24 , 11015,28 , 11043,54 , 11097,14 , 11015,28 , 11043,54 , 11097,14 , 358,2 , 323,2 , 199,4 , 5,17 , 22,23 , {84,82,89}, 241,1 , 14343,40 , 4,4 , 4,0 , 4226,6 , 4232,7 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Turkey
- { 125, 7, 56, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 763,8 , 763,8 , 1332,9 , 1341,16 , 18,7 , 25,12 , 20690,48 , 20738,75 , 20813,24 , 20690,48 , 20738,75 , 20813,24 , 11015,28 , 11043,54 , 11097,14 , 11015,28 , 11043,54 , 11097,14 , 358,2 , 323,2 , 199,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 4,4 , 4,0 , 4226,6 , 4239,6 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Cyprus
- { 126, 7, 218, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8220, 8221, 0,6 , 0,6 , 771,8 , 771,8 , 495,10 , 1341,16 , 37,5 , 8,10 , 20837,50 , 20887,77 , 20964,24 , 20988,51 , 21039,77 , 20964,24 , 11111,28 , 11139,54 , 11193,14 , 11207,28 , 11235,54 , 11193,14 , 360,13 , 325,14 , 1153,4 , 5,17 , 22,23 , {84,77,84}, 312,3 , 14383,49 , 13,5 , 4,0 , 4245,12 , 4257,12 , 2, 1, 1, 6, 7 }, // Turkmen/Latin/Turkmenistan
- { 128, 1, 44, 46, 44, 59, 37, 48, 45, 43, 101, 187, 171, 8250, 8249, 0,6 , 0,6 , 200,10 , 210,9 , 53,10 , 1357,17 , 18,7 , 25,12 , 21116,84 , 21116,84 , 158,27 , 21116,84 , 21116,84 , 158,27 , 11289,21 , 11310,55 , 11365,14 , 11289,21 , 11310,55 , 11365,14 , 373,12 , 339,12 , 45,4 , 5,17 , 22,23 , {67,78,89}, 133,1 , 14432,40 , 4,4 , 4,0 , 4269,8 , 4277,5 , 2, 1, 7, 6, 7 }, // Uighur/Arabic/China
- { 129, 2, 222, 44, 160, 59, 37, 48, 45, 43, 1077, 171, 187, 8222, 8220, 0,6 , 0,6 , 138,7 , 138,7 , 156,8 , 1374,22 , 37,5 , 8,10 , 21200,48 , 21248,95 , 21343,24 , 21367,67 , 21434,87 , 21521,24 , 1427,21 , 11379,56 , 11435,14 , 1427,21 , 11379,56 , 11435,14 , 385,2 , 351,2 , 1157,5 , 680,17 , 22,23 , {85,65,72}, 280,1 , 14472,49 , 13,5 , 4,0 , 4282,10 , 4292,7 , 2, 1, 1, 6, 7 }, // Ukrainian/Cyrillic/Ukraine
- { 130, 1, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 779,10 , 789,9 , 269,6 , 1396,18 , 18,7 , 25,12 , 21545,68 , 21545,68 , 134,24 , 21545,68 , 21545,68 , 134,24 , 11449,36 , 11449,36 , 85,14 , 11449,36 , 11449,36 , 85,14 , 0,2 , 0,2 , 1162,4 , 1166,20 , 22,23 , {80,75,82}, 175,2 , 14521,49 , 4,4 , 4,0 , 4299,4 , 3226,7 , 2, 0, 7, 6, 7 }, // Urdu/Arabic/Pakistan
- { 130, 1, 100, 1643, 1644, 59, 37, 1776, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 798,6 , 798,6 , 269,6 , 1396,18 , 18,7 , 25,12 , 21545,68 , 21545,68 , 134,24 , 21545,68 , 21545,68 , 134,24 , 11449,36 , 11449,36 , 85,14 , 11449,36 , 11449,36 , 85,14 , 0,2 , 0,2 , 1162,4 , 1166,20 , 22,23 , {73,78,82}, 121,1 , 14570,42 , 8,5 , 4,0 , 4299,4 , 4303,5 , 2, 1, 7, 7, 7 }, // Urdu/Arabic/India
- { 131, 7, 228, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8217, 8216, 0,6 , 0,6 , 804,8 , 804,8 , 27,8 , 1414,18 , 37,5 , 430,11 , 21613,48 , 21661,75 , 21736,24 , 21760,48 , 21808,75 , 21736,24 , 11485,32 , 11517,61 , 11578,14 , 11485,32 , 11517,61 , 11578,14 , 387,2 , 353,2 , 199,4 , 5,17 , 22,23 , {85,90,83}, 315,4 , 14612,58 , 13,5 , 4,0 , 4308,6 , 4314,11 , 2, 0, 1, 6, 7 }, // Uzbek/Latin/Uzbekistan
- { 131, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 394,8 , 1432,33 , 55,4 , 430,11 , 21883,47 , 15102,68 , 158,27 , 21883,47 , 15102,68 , 158,27 , 11592,21 , 7766,49 , 85,14 , 11592,21 , 7766,49 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {65,70,78}, 256,1 , 14670,13 , 13,5 , 4,0 , 4325,6 , 3217,9 , 0, 0, 6, 4, 5 }, // Uzbek/Arabic/Afghanistan
- { 131, 2, 228, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 696,19 , 37,5 , 87,12 , 21930,48 , 21978,71 , 11058,24 , 21930,48 , 21978,71 , 11058,24 , 11613,28 , 11641,53 , 11694,14 , 11613,28 , 11641,53 , 11694,14 , 389,2 , 355,2 , 45,4 , 5,17 , 22,23 , {85,90,83}, 319,3 , 14683,49 , 13,5 , 4,0 , 4331,7 , 4338,10 , 2, 0, 1, 6, 7 }, // Uzbek/Cyrillic/Uzbekistan
- { 132, 7, 232, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 812,8 , 812,8 , 119,10 , 192,18 , 37,5 , 8,10 , 22049,75 , 22124,99 , 158,27 , 22223,75 , 22298,99 , 158,27 , 11708,33 , 11741,55 , 11796,21 , 11708,33 , 11741,55 , 11796,21 , 391,2 , 357,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 322,1 , 14732,33 , 13,5 , 4,0 , 4348,10 , 4358,8 , 0, 0, 1, 6, 7 }, // Vietnamese/Latin/Vietnam
- { 133, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1465,23 , 37,5 , 8,10 , 22397,48 , 22445,74 , 22519,24 , 22543,48 , 22445,74 , 22519,24 , 11817,21 , 11838,43 , 11881,14 , 11895,28 , 11838,43 , 11881,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 4366,7 , 0,0 , 2, 1, 1, 6, 7 }, // Volapuk/Latin/World
- { 134, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 820,11 , 831,10 , 27,8 , 10,17 , 37,5 , 8,10 , 22591,52 , 22643,87 , 22730,26 , 22756,59 , 22643,87 , 22730,26 , 11923,29 , 11952,77 , 12029,15 , 12044,30 , 11952,77 , 12029,15 , 393,2 , 359,2 , 1186,7 , 5,17 , 22,23 , {71,66,80}, 119,1 , 14765,92 , 4,4 , 4,0 , 4373,7 , 4380,16 , 2, 1, 1, 6, 7 }, // Welsh/Latin/United Kingdom
- { 135, 7, 187, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 528,10 , 1488,17 , 37,5 , 8,10 , 22815,47 , 22862,84 , 158,27 , 22815,47 , 22862,84 , 158,27 , 12074,28 , 12102,50 , 12074,28 , 12074,28 , 12102,50 , 12074,28 , 395,3 , 361,3 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 14857,65 , 8,5 , 4,0 , 4396,5 , 4401,8 , 0, 0, 1, 6, 7 }, // Wolof/Latin/Senegal
- { 136, 7, 195, 46, 160, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 22946,48 , 22994,91 , 158,27 , 22946,48 , 22994,91 , 158,27 , 12152,28 , 12180,61 , 85,14 , 12152,28 , 12180,61 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 14922,79 , 4,4 , 4,0 , 4409,8 , 4417,15 , 2, 1, 7, 6, 7 }, // Xhosa/Latin/South Africa
- { 137, 18, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 841,9 , 841,9 , 27,8 , 1505,19 , 37,5 , 8,10 , 23085,58 , 23143,92 , 158,27 , 23143,92 , 23143,92 , 158,27 , 12241,54 , 12241,54 , 85,14 , 12241,54 , 12241,54 , 85,14 , 398,11 , 364,10 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 41,6 , 4,0 , 4432,6 , 4438,5 , 2, 1, 1, 6, 7 }, // Yiddish/Hebrew/World
- { 138, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 1524,16 , 497,3 , 8,10 , 23235,40 , 23275,73 , 23348,27 , 23375,55 , 23430,121 , 23348,27 , 12295,33 , 12328,44 , 12372,14 , 12295,33 , 12386,69 , 12372,14 , 409,5 , 374,5 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 15001,35 , 4,4 , 4,0 , 4443,10 , 4453,19 , 2, 1, 1, 6, 7 }, // Yoruba/Latin/Nigeria
- { 138, 7, 23, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 1524,16 , 497,3 , 8,10 , 23551,41 , 23592,74 , 23666,27 , 23693,56 , 23749,134 , 23666,27 , 12455,33 , 12488,44 , 12532,14 , 12455,33 , 12546,69 , 12532,14 , 414,5 , 379,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15036,34 , 4,4 , 4,0 , 4443,10 , 4472,16 , 0, 0, 1, 6, 7 }, // Yoruba/Latin/Benin
- { 140, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 850,9 , 859,8 , 547,6 , 35,18 , 37,5 , 8,10 , 23883,48 , 23931,91 , 134,24 , 23883,48 , 23931,91 , 24022,24 , 12615,28 , 12643,74 , 12717,14 , 12615,28 , 12643,74 , 12717,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 15070,67 , 4,4 , 4,0 , 4488,7 , 4495,17 , 2, 1, 7, 6, 7 }, // Zulu/Latin/South Africa
- { 141, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 478,17 , 37,5 , 441,16 , 5656,48 , 14503,83 , 134,24 , 24046,59 , 14503,83 , 134,24 , 12731,28 , 12759,51 , 2293,14 , 12810,28 , 12759,51 , 2293,14 , 419,9 , 384,11 , 45,4 , 5,17 , 22,23 , {78,79,75}, 189,2 , 9895,44 , 13,5 , 4,0 , 4512,7 , 4519,5 , 2, 0, 1, 6, 7 }, // Norwegian Nynorsk/Latin/Norway
- { 142, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 8216, 8217, 0,6 , 0,6 , 163,7 , 163,7 , 1540,11 , 450,19 , 37,5 , 8,10 , 8336,48 , 24105,83 , 9742,24 , 8336,48 , 24105,83 , 9742,24 , 2016,28 , 2044,58 , 2102,14 , 2016,28 , 2044,58 , 2116,14 , 428,10 , 395,7 , 296,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 15137,170 , 13,5 , 4,0 , 4524,8 , 630,19 , 2, 1, 1, 6, 7 }, // Bosnian/Latin/Bosnia And Herzegowina
- { 142, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 24188,48 , 24236,83 , 12698,24 , 24188,48 , 24236,83 , 12698,24 , 12838,28 , 12866,56 , 8872,14 , 12838,28 , 12866,56 , 8872,14 , 234,9 , 402,7 , 45,4 , 5,17 , 22,23 , {66,65,77}, 281,2 , 15307,151 , 13,5 , 4,0 , 4532,8 , 3607,19 , 2, 1, 1, 6, 7 }, // Bosnian/Cyrillic/Bosnia And Herzegowina
- { 143, 29, 131, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,86,82}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 5, 6, 7 }, // Divehi/Thaana/Maldives
- { 144, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 80,17 , 37,5 , 8,10 , 24319,102 , 24421,140 , 158,27 , 24319,102 , 24421,140 , 158,27 , 12922,30 , 12952,57 , 85,14 , 12922,30 , 12952,57 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 119,1 , 0,7 , 4,4 , 4,0 , 4540,5 , 4545,12 , 2, 1, 1, 6, 7 }, // Manx/Latin/Isle Of Man
- { 145, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 97,16 , 37,5 , 8,10 , 24561,46 , 24607,130 , 158,27 , 24561,46 , 24607,130 , 158,27 , 13009,28 , 13037,61 , 85,14 , 13009,28 , 13037,61 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 119,1 , 0,7 , 4,4 , 4,0 , 4557,8 , 4565,14 , 2, 1, 1, 6, 7 }, // Cornish/Latin/United Kingdom
- { 146, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1551,8 , 1559,18 , 18,7 , 25,12 , 24737,48 , 24785,192 , 158,27 , 24737,48 , 24785,192 , 158,27 , 13098,28 , 13126,49 , 13175,14 , 13098,28 , 13126,49 , 13175,14 , 438,2 , 409,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 15458,17 , 4,4 , 4,0 , 4579,4 , 4583,5 , 2, 1, 1, 6, 7 }, // Akan/Latin/Ghana
- { 147, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1577,6 , 97,16 , 18,7 , 25,12 , 24977,88 , 24977,88 , 158,27 , 24977,88 , 24977,88 , 158,27 , 13189,49 , 13189,49 , 13238,20 , 13189,49 , 13189,49 , 13238,20 , 187,5 , 411,5 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 15475,13 , 8,5 , 4,0 , 4588,6 , 2667,4 , 2, 1, 7, 7, 7 }, // Konkani/Devanagari/India
- { 148, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Ga/Latin/Ghana
- { 149, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 867,9 , 690,8 , 269,6 , 10,17 , 37,5 , 8,10 , 25065,48 , 25113,87 , 25200,24 , 25065,48 , 25113,87 , 25200,24 , 13258,33 , 13291,58 , 85,14 , 13258,33 , 13291,58 , 85,14 , 440,7 , 416,7 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 15488,12 , 4,4 , 4,0 , 4594,10 , 4604,8 , 2, 1, 1, 6, 7 }, // Igbo/Latin/Nigeria
- { 150, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 25224,48 , 25272,189 , 25461,24 , 25224,48 , 25272,189 , 25461,24 , 13349,28 , 13377,74 , 13451,14 , 13349,28 , 13377,74 , 13451,14 , 447,9 , 423,7 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15500,23 , 4,4 , 4,0 , 4612,7 , 1192,5 , 2, 1, 7, 6, 7 }, // Kamba/Latin/Kenya
- { 151, 33, 103, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,81,68}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 6, 5, 6 }, // Syriac/Syriac/Iraq
- { 152, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Blin/Ethiopic/Eritrea
- { 153, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Geez/Ethiopic/Ethiopia
- { 155, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Sidamo/Latin/Ethiopia
- { 156, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Atsam/Latin/Nigeria
- { 157, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Tigre/Ethiopic/Eritrea
- { 158, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Jju/Latin/Nigeria
- { 159, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 1583,27 , 37,5 , 8,10 , 25485,48 , 25533,77 , 25610,24 , 25485,48 , 25533,77 , 25610,24 , 13465,28 , 13493,50 , 3080,14 , 13465,28 , 13493,50 , 3080,14 , 456,2 , 430,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 8,5 , 4,0 , 4619,6 , 4625,6 , 2, 1, 1, 6, 7 }, // Friulian/Latin/Italy
- { 160, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Venda/Latin/South Africa
- { 161, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 876,11 , 887,10 , 547,6 , 1610,23 , 500,12 , 512,17 , 25634,48 , 25682,87 , 25769,24 , 25634,48 , 25682,87 , 25769,24 , 13543,28 , 13571,44 , 13615,14 , 13543,28 , 13571,44 , 13615,14 , 458,3 , 432,5 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 15523,37 , 4,4 , 4,0 , 4631,6 , 4637,12 , 2, 1, 1, 6, 7 }, // Ewe/Latin/Ghana
- { 161, 7, 212, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 876,11 , 887,10 , 547,6 , 1610,23 , 37,5 , 8,10 , 25634,48 , 25682,87 , 25769,24 , 25634,48 , 25682,87 , 25769,24 , 13543,28 , 13571,44 , 13615,14 , 13543,28 , 13571,44 , 13615,14 , 458,3 , 432,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15560,106 , 4,4 , 4,0 , 4631,6 , 4649,11 , 0, 0, 1, 6, 7 }, // Ewe/Latin/Togo
- { 162, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Walamo/Ethiopic/Ethiopia
- { 163, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 269,6 , 10,17 , 18,7 , 25,12 , 25793,59 , 25852,95 , 158,27 , 25793,59 , 25852,95 , 158,27 , 13629,21 , 13650,57 , 85,14 , 13629,21 , 13650,57 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 4,4 , 4,0 , 4660,14 , 4674,19 , 2, 1, 7, 6, 7 }, // Hawaiian/Latin/United States
- { 164, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Tyap/Latin/Nigeria
- { 165, 7, 129, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,87,75}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Nyanja/Latin/Malawi
- { 166, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 897,9 , 906,8 , 547,6 , 35,18 , 18,7 , 25,12 , 25947,48 , 25995,88 , 26083,38 , 25947,48 , 25995,88 , 25947,48 , 13707,28 , 13735,55 , 13707,28 , 13707,28 , 13735,55 , 13707,28 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 178,1 , 15666,58 , 4,4 , 4,0 , 4693,8 , 4701,9 , 2, 1, 7, 6, 7 }, // Filipino/Latin/Philippines
- { 167, 7, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7601,48 , 26121,86 , 134,24 , 7601,48 , 26121,86 , 134,24 , 13790,28 , 13818,63 , 3668,14 , 13790,28 , 13818,63 , 3668,14 , 461,12 , 437,11 , 45,4 , 5,17 , 22,23 , {67,72,70}, 225,3 , 15724,55 , 13,5 , 4,0 , 4710,16 , 4726,7 , 2, 0, 1, 6, 7 }, // Swiss German/Latin/Switzerland
- { 167, 7, 74, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7601,48 , 26121,86 , 134,24 , 7601,48 , 26121,86 , 134,24 , 13790,28 , 13818,63 , 3668,14 , 13790,28 , 13818,63 , 3668,14 , 461,12 , 437,11 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 4710,16 , 4733,10 , 2, 1, 1, 6, 7 }, // Swiss German/Latin/France
- { 167, 7, 123, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 7601,48 , 26121,86 , 134,24 , 7601,48 , 26121,86 , 134,24 , 13790,28 , 13818,63 , 3668,14 , 13790,28 , 13818,63 , 3668,14 , 461,12 , 437,11 , 45,4 , 5,17 , 22,23 , {67,72,70}, 225,3 , 15724,55 , 13,5 , 4,0 , 4710,16 , 4743,13 , 2, 0, 1, 6, 7 }, // Swiss German/Latin/Liechtenstein
- { 168, 34, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 26207,38 , 26207,38 , 158,27 , 26207,38 , 26207,38 , 158,27 , 13881,21 , 13902,28 , 13930,14 , 13881,21 , 13902,28 , 13930,14 , 473,2 , 448,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 311,1 , 0,7 , 8,5 , 4,0 , 4756,3 , 4759,2 , 2, 1, 7, 6, 7 }, // Sichuan Yi/Yi/China
- { 169, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Kpelle/Latin/Liberia
- { 170, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 461,8 , 461,8 , 365,7 , 1633,23 , 529,10 , 539,19 , 26245,59 , 26304,85 , 134,24 , 26245,59 , 26304,85 , 134,24 , 13944,28 , 13972,65 , 3668,14 , 13944,28 , 13972,65 , 3668,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 15779,15 , 13,5 , 4,0 , 4761,14 , 4775,11 , 2, 1, 1, 6, 7 }, // Low German/Latin/Germany
- { 170, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 461,8 , 461,8 , 365,7 , 1633,23 , 529,10 , 539,19 , 26245,59 , 26304,85 , 134,24 , 26245,59 , 26304,85 , 134,24 , 13944,28 , 13972,65 , 3668,14 , 13944,28 , 13972,65 , 3668,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 15779,15 , 13,5 , 4,0 , 4761,14 , 4786,12 , 2, 1, 1, 6, 7 }, // Low German/Latin/Netherlands
- { 171, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // South Ndebele/Latin/South Africa
- { 172, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Northern Sotho/Latin/South Africa
- { 173, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 53,10 , 63,17 , 37,5 , 8,10 , 26389,59 , 26448,145 , 26593,24 , 26389,59 , 26448,145 , 26593,24 , 14037,33 , 14070,75 , 14145,14 , 14037,33 , 14070,75 , 14145,14 , 475,11 , 450,13 , 45,4 , 5,17 , 22,23 , {78,79,75}, 189,2 , 15794,63 , 13,5 , 4,0 , 4798,15 , 4813,5 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Norway
- { 173, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 495,10 , 97,16 , 37,5 , 8,10 , 26617,60 , 26448,145 , 26593,24 , 26617,60 , 26448,145 , 26593,24 , 14159,21 , 14180,70 , 14250,14 , 14159,21 , 14180,70 , 14250,14 , 486,2 , 463,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 15857,23 , 13,5 , 4,0 , 4798,15 , 4818,6 , 2, 1, 1, 6, 7 }, // Northern Sami/Latin/Finland
- { 173, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 53,10 , 63,17 , 37,5 , 8,10 , 26389,59 , 26448,145 , 26593,24 , 26389,59 , 26448,145 , 26593,24 , 14037,33 , 14070,75 , 14145,14 , 14037,33 , 14070,75 , 14145,14 , 475,11 , 450,13 , 45,4 , 5,17 , 22,23 , {83,69,75}, 189,2 , 15880,63 , 13,5 , 4,0 , 4798,15 , 4824,6 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Sweden
- { 174, 7, 208, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {84,87,68}, 323,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Taroko/Latin/Taiwan
- { 175, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 26677,48 , 26725,88 , 26813,24 , 26677,48 , 26725,88 , 26813,24 , 14264,28 , 14292,62 , 14354,14 , 14264,28 , 14292,62 , 14354,14 , 488,6 , 465,3 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15943,24 , 4,4 , 4,0 , 4830,8 , 1192,5 , 2, 1, 7, 6, 7 }, // Gusii/Latin/Kenya
- { 176, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 26837,48 , 26885,221 , 27106,24 , 26837,48 , 26885,221 , 27106,24 , 14368,28 , 14396,105 , 14501,14 , 14368,28 , 14396,105 , 14501,14 , 494,10 , 468,10 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15943,24 , 4,4 , 4,0 , 4838,7 , 1192,5 , 2, 1, 7, 6, 7 }, // Taita/Latin/Kenya
- { 177, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15967,26 , 13,5 , 4,0 , 4845,6 , 4401,8 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Senegal
- { 177, 7, 34, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15967,26 , 13,5 , 4,0 , 4845,6 , 4851,14 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Burkina Faso
- { 177, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 15993,25 , 13,5 , 4,0 , 4845,6 , 4865,8 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Cameroon
- { 177, 7, 80, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {71,77,68}, 162,1 , 16018,20 , 13,5 , 4,0 , 4845,6 , 4873,6 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Gambia
- { 177, 7, 83, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 0,7 , 13,5 , 4,0 , 4845,6 , 4879,5 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Ghana
- { 177, 7, 91, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {71,78,70}, 215,2 , 0,7 , 13,5 , 4,0 , 4845,6 , 4884,4 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Guinea
- { 177, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15967,26 , 13,5 , 4,0 , 4845,6 , 4888,12 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Guinea Bissau
- { 177, 7, 121, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 16038,23 , 13,5 , 4,0 , 4845,6 , 4900,9 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Liberia
- { 177, 7, 136, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {77,82,85}, 218,2 , 16061,22 , 13,5 , 4,0 , 4845,6 , 4909,8 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Mauritania
- { 177, 7, 156, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15967,26 , 13,5 , 4,0 , 4845,6 , 4917,6 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Niger
- { 177, 7, 157, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 16083,23 , 13,5 , 4,0 , 4845,6 , 4923,9 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Nigeria
- { 177, 7, 189, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 27130,48 , 27178,77 , 27255,24 , 27130,48 , 27178,77 , 27255,24 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {83,76,76}, 186,2 , 16106,25 , 13,5 , 4,0 , 4845,6 , 4932,11 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Sierra Leone
- { 177, 134, 91, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,78,70}, 215,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Fulah/Adlam/Guinea
- { 178, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 27279,48 , 27327,185 , 27512,24 , 27279,48 , 27327,185 , 27512,24 , 14616,28 , 14644,63 , 14707,14 , 14616,28 , 14644,63 , 14707,14 , 510,6 , 485,8 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16131,23 , 4,4 , 4,0 , 4943,6 , 1192,5 , 2, 1, 7, 6, 7 }, // Kikuyu/Latin/Kenya
- { 179, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 27536,48 , 27584,173 , 27757,24 , 27536,48 , 27584,173 , 27757,24 , 14721,28 , 14749,105 , 14854,14 , 14721,28 , 14749,105 , 14854,14 , 516,7 , 493,5 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16154,25 , 4,4 , 4,0 , 4949,8 , 1192,5 , 2, 1, 7, 6, 7 }, // Samburu/Latin/Kenya
- { 180, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 669,27 , 37,5 , 8,10 , 27781,48 , 27829,88 , 134,24 , 27781,48 , 27829,88 , 134,24 , 14868,28 , 14896,55 , 14951,14 , 14868,28 , 14896,55 , 14951,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,90,78}, 266,3 , 16179,28 , 0,4 , 4,0 , 4957,4 , 3357,10 , 2, 1, 7, 6, 7 }, // Sena/Latin/Mozambique
- { 181, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 27917,52 , 27969,112 , 28081,24 , 27917,52 , 27969,112 , 28081,24 , 14965,28 , 14993,50 , 15043,14 , 14965,28 , 14993,50 , 15043,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 155,3 , 16207,24 , 4,4 , 4,0 , 4961,10 , 1820,8 , 2, 1, 7, 6, 7 }, // North Ndebele/Latin/Zimbabwe
- { 182, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 28105,39 , 28144,194 , 28338,24 , 28105,39 , 28144,194 , 28338,24 , 15057,29 , 15086,65 , 15151,14 , 15057,29 , 15086,65 , 15151,14 , 523,8 , 498,7 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16231,25 , 4,4 , 4,0 , 4971,9 , 1625,8 , 2, 0, 1, 6, 7 }, // Rombo/Latin/Tanzania
- { 183, 9, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 28362,48 , 28410,81 , 28491,24 , 28362,48 , 28410,81 , 28491,24 , 15165,30 , 15195,47 , 85,14 , 15165,30 , 15195,47 , 85,14 , 531,6 , 505,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16256,21 , 0,4 , 4,0 , 4980,7 , 4987,6 , 2, 1, 1, 6, 7 }, // Tachelhit/Tifinagh/Morocco
- { 183, 7, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 28515,48 , 28563,81 , 28644,24 , 28515,48 , 28563,81 , 28644,24 , 15242,30 , 15272,48 , 85,14 , 15242,30 , 15272,48 , 85,14 , 537,6 , 513,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16277,21 , 0,4 , 4,0 , 4993,10 , 5003,6 , 2, 1, 1, 6, 7 }, // Tachelhit/Latin/Morocco
- { 184, 7, 3, 44, 160, 59, 37, 48, 45, 43, 122, 171, 187, 8220, 8221, 0,6 , 0,6 , 914,12 , 926,11 , 415,8 , 97,16 , 18,7 , 25,12 , 28668,48 , 28716,82 , 28798,24 , 28822,48 , 28870,84 , 28954,24 , 15320,28 , 15348,34 , 15382,14 , 15396,30 , 15426,51 , 15477,14 , 543,7 , 521,9 , 1193,7 , 1200,21 , 22,23 , {68,90,68}, 204,2 , 16298,53 , 0,4 , 4,0 , 5009,9 , 5018,8 , 2, 1, 6, 5, 6 }, // Kabyle/Latin/Algeria
- { 185, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 28978,48 , 29026,152 , 134,24 , 28978,48 , 29026,152 , 134,24 , 15491,28 , 15519,74 , 15593,14 , 15491,28 , 15519,74 , 15593,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16351,26 , 4,4 , 4,0 , 5026,10 , 1690,6 , 0, 0, 1, 6, 7 }, // Nyankole/Latin/Uganda
- { 186, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 29178,48 , 29226,254 , 29480,24 , 29178,48 , 29226,254 , 29480,24 , 15607,28 , 15635,82 , 15717,14 , 15607,28 , 15635,82 , 15717,14 , 550,7 , 530,7 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16377,29 , 0,4 , 4,0 , 5036,6 , 5042,10 , 2, 0, 1, 6, 7 }, // Bena/Latin/Tanzania
- { 187, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19102,48 , 29504,87 , 134,24 , 19102,48 , 29504,87 , 134,24 , 15731,28 , 15759,62 , 15821,14 , 15731,28 , 15759,62 , 15821,14 , 557,5 , 537,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16406,27 , 4,4 , 4,0 , 5052,8 , 1625,8 , 2, 0, 1, 6, 7 }, // Vunjo/Latin/Tanzania
- { 188, 7, 132, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 29591,47 , 29638,92 , 29730,24 , 29591,47 , 29638,92 , 29730,24 , 15835,28 , 15863,44 , 15907,14 , 15835,28 , 15863,44 , 15907,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16433,24 , 4,4 , 4,0 , 5060,9 , 2189,4 , 0, 0, 1, 6, 7 }, // Bambara/Latin/Mali
- { 188, 75, 132, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Bambara/Nko/Mali
- { 189, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 29754,48 , 29802,207 , 30009,24 , 29754,48 , 29802,207 , 30009,24 , 15921,28 , 15949,64 , 16013,14 , 15921,28 , 15949,64 , 16013,14 , 562,2 , 546,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15943,24 , 4,4 , 4,0 , 5069,6 , 1192,5 , 2, 1, 7, 6, 7 }, // Embu/Latin/Kenya
- { 190, 12, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 937,9 , 946,8 , 547,6 , 35,18 , 18,7 , 25,12 , 30033,36 , 30069,58 , 30127,24 , 30033,36 , 30069,58 , 30127,24 , 16027,28 , 16055,49 , 16104,14 , 16027,28 , 16055,49 , 16104,14 , 564,3 , 548,6 , 1221,6 , 5,17 , 22,23 , {85,83,68}, 6,1 , 16457,25 , 4,4 , 4,0 , 5075,3 , 5078,15 , 2, 1, 7, 6, 7 }, // Cherokee/Cherokee/United States
- { 191, 7, 137, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 30151,47 , 30198,68 , 30266,24 , 30151,47 , 30198,68 , 30266,24 , 16118,27 , 16145,48 , 16193,14 , 16118,27 , 16145,48 , 16193,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,85,82}, 175,2 , 16482,21 , 41,6 , 4,0 , 5093,14 , 5107,5 , 2, 0, 1, 6, 7 }, // Morisyen/Latin/Mauritius
- { 192, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19102,48 , 30290,264 , 134,24 , 19102,48 , 30290,264 , 134,24 , 16207,28 , 16235,133 , 15151,14 , 16207,28 , 16235,133 , 15151,14 , 567,4 , 554,5 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16406,27 , 4,4 , 4,0 , 5112,10 , 1625,8 , 2, 0, 1, 6, 7 }, // Makonde/Latin/Tanzania
- { 193, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 30554,83 , 30637,111 , 30748,24 , 30554,83 , 30637,111 , 30748,24 , 16368,36 , 16404,63 , 16467,14 , 16368,36 , 16404,63 , 16467,14 , 571,3 , 559,3 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16503,29 , 41,6 , 4,0 , 5122,8 , 5130,9 , 2, 0, 1, 6, 7 }, // Langi/Latin/Tanzania
- { 194, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 30772,48 , 30820,97 , 134,24 , 30772,48 , 30820,97 , 134,24 , 16481,28 , 16509,66 , 16575,14 , 16481,28 , 16509,66 , 16575,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16532,26 , 0,4 , 4,0 , 5139,7 , 5146,7 , 0, 0, 1, 6, 7 }, // Ganda/Latin/Uganda
- { 195, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 30917,48 , 30965,83 , 31048,24 , 30917,48 , 30965,83 , 31048,24 , 16589,80 , 16589,80 , 85,14 , 16589,80 , 16589,80 , 85,14 , 574,8 , 562,7 , 45,4 , 5,17 , 22,23 , {90,77,87}, 131,1 , 0,7 , 4,4 , 4,0 , 5153,9 , 1814,6 , 2, 1, 1, 6, 7 }, // Bemba/Latin/Zambia
- { 196, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 163,7 , 163,7 , 415,8 , 1656,27 , 37,5 , 8,10 , 31072,48 , 31120,85 , 134,24 , 31072,48 , 31120,85 , 134,24 , 16669,28 , 16697,73 , 16770,14 , 16669,28 , 16784,73 , 16770,14 , 68,2 , 65,2 , 45,4 , 5,17 , 22,23 , {67,86,69}, 265,1 , 16558,43 , 13,5 , 4,0 , 5162,12 , 5174,10 , 2, 1, 1, 6, 7 }, // Kabuverdianu/Latin/Cape Verde
- { 197, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 31205,48 , 31253,86 , 31339,24 , 31205,48 , 31253,86 , 31339,24 , 16857,28 , 16885,51 , 16936,14 , 16857,28 , 16885,51 , 16936,14 , 582,2 , 569,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15943,24 , 4,4 , 4,0 , 5184,6 , 1192,5 , 2, 1, 7, 6, 7 }, // Meru/Latin/Kenya
- { 198, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 31363,49 , 31412,121 , 31533,24 , 31363,49 , 31412,121 , 31533,24 , 16950,28 , 16978,53 , 17031,14 , 16950,28 , 16978,53 , 17031,14 , 584,6 , 571,10 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16601,26 , 4,4 , 4,0 , 5190,8 , 5198,12 , 2, 1, 7, 6, 7 }, // Kalenjin/Latin/Kenya
- { 199, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 0,48 , 31557,136 , 134,24 , 0,48 , 31557,136 , 134,24 , 17045,23 , 17068,92 , 17160,14 , 17045,23 , 17068,92 , 17160,14 , 590,7 , 581,5 , 45,4 , 5,17 , 22,23 , {78,65,68}, 6,1 , 16627,22 , 4,4 , 4,0 , 5210,13 , 5223,8 , 2, 1, 1, 6, 7 }, // Nama/Latin/Namibia
- { 200, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19102,48 , 29504,87 , 134,24 , 19102,48 , 29504,87 , 134,24 , 15731,28 , 15759,62 , 15821,14 , 15731,28 , 15759,62 , 15821,14 , 557,5 , 537,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16406,27 , 4,4 , 4,0 , 5231,9 , 1625,8 , 2, 0, 1, 6, 7 }, // Machame/Latin/Tanzania
- { 201, 7, 82, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 461,8 , 461,8 , 1134,10 , 1683,23 , 37,5 , 8,10 , 31693,59 , 31752,87 , 12992,24 , 31839,48 , 31752,87 , 12992,24 , 17174,28 , 17202,72 , 3668,14 , 17174,28 , 17202,72 , 3668,14 , 597,16 , 586,16 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16649,11 , 13,5 , 4,0 , 5240,6 , 5246,11 , 2, 1, 1, 6, 7 }, // Colognian/Latin/Germany
- { 202, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 31887,51 , 31938,132 , 158,27 , 31887,51 , 31938,132 , 158,27 , 15731,28 , 17274,58 , 15151,14 , 15731,28 , 17274,58 , 15151,14 , 613,9 , 602,6 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16660,25 , 4,4 , 4,0 , 5257,3 , 1192,5 , 2, 1, 7, 6, 7 }, // Masai/Latin/Kenya
- { 202, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 31887,51 , 31938,132 , 158,27 , 31887,51 , 31938,132 , 158,27 , 15731,28 , 17274,58 , 15151,14 , 15731,28 , 17274,58 , 15151,14 , 613,9 , 602,6 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16685,28 , 4,4 , 4,0 , 5257,3 , 5260,8 , 2, 0, 1, 6, 7 }, // Masai/Latin/Tanzania
- { 203, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 30772,48 , 30820,97 , 134,24 , 30772,48 , 30820,97 , 134,24 , 17332,35 , 17367,65 , 17432,14 , 17332,35 , 17367,65 , 17432,14 , 622,6 , 608,6 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16532,26 , 13,5 , 4,0 , 5268,7 , 5146,7 , 0, 0, 1, 6, 7 }, // Soga/Latin/Uganda
- { 204, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 32070,48 , 19150,84 , 134,24 , 32070,48 , 19150,84 , 134,24 , 17446,21 , 17467,75 , 85,14 , 17446,21 , 17467,75 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16713,23 , 4,4 , 96,6 , 5275,7 , 1192,5 , 2, 1, 7, 6, 7 }, // Luyia/Latin/Kenya
- { 205, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 32118,48 , 19150,84 , 134,24 , 32118,48 , 19150,84 , 134,24 , 17542,28 , 10010,60 , 15821,14 , 17542,28 , 10010,60 , 15821,14 , 628,9 , 614,8 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16736,28 , 13,5 , 4,0 , 5282,6 , 5288,8 , 2, 0, 1, 6, 7 }, // Asu/Latin/Tanzania
- { 206, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 32166,48 , 32214,94 , 32308,24 , 32166,48 , 32214,94 , 32308,24 , 17570,28 , 17598,69 , 17667,14 , 17570,28 , 17598,69 , 17667,14 , 637,9 , 622,6 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16764,28 , 4,4 , 4,0 , 5296,6 , 1690,6 , 0, 0, 1, 6, 7 }, // Teso/Latin/Uganda
- { 206, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 32166,48 , 32214,94 , 32308,24 , 32166,48 , 32214,94 , 32308,24 , 17570,28 , 17598,69 , 17667,14 , 17570,28 , 17598,69 , 17667,14 , 637,9 , 622,6 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16792,27 , 4,4 , 4,0 , 5296,6 , 5302,5 , 2, 1, 7, 6, 7 }, // Teso/Latin/Kenya
- { 207, 7, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Saho/Latin/Eritrea
- { 208, 7, 132, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 32332,46 , 32378,88 , 32466,24 , 32332,46 , 32378,88 , 32466,24 , 17681,28 , 17709,53 , 17762,14 , 17681,28 , 17709,53 , 17762,14 , 646,6 , 628,6 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16819,23 , 0,4 , 4,0 , 5307,11 , 5318,5 , 0, 0, 1, 6, 7 }, // Koyra Chiini/Latin/Mali
- { 209, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19102,48 , 29504,87 , 134,24 , 19102,48 , 29504,87 , 134,24 , 15731,28 , 15759,62 , 15821,14 , 15731,28 , 15759,62 , 15821,14 , 557,5 , 537,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16406,27 , 0,4 , 4,0 , 5323,6 , 1625,8 , 2, 0, 1, 6, 7 }, // Rwa/Latin/Tanzania
- { 210, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 32490,48 , 32538,186 , 32724,24 , 32490,48 , 32538,186 , 32724,24 , 17776,28 , 17804,69 , 17873,14 , 17776,28 , 17804,69 , 17873,14 , 652,2 , 634,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16842,23 , 0,4 , 4,0 , 5329,6 , 1192,5 , 2, 1, 7, 6, 7 }, // Luo/Latin/Kenya
- { 211, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 28978,48 , 29026,152 , 134,24 , 28978,48 , 29026,152 , 134,24 , 15491,28 , 15519,74 , 15593,14 , 15491,28 , 15519,74 , 15593,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16351,26 , 4,4 , 4,0 , 5335,6 , 1690,6 , 0, 0, 1, 6, 7 }, // Chiga/Latin/Uganda
- { 212, 7, 145, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 32748,48 , 32796,86 , 32882,24 , 32748,48 , 32796,86 , 32882,24 , 17887,28 , 17915,48 , 17963,14 , 17887,28 , 17915,48 , 17963,14 , 654,9 , 636,10 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16865,22 , 13,5 , 4,0 , 5341,17 , 5358,6 , 2, 1, 1, 6, 7 }, // Central Morocco Tamazight/Latin/Morocco
- { 213, 7, 132, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 32332,46 , 32378,88 , 32466,24 , 32332,46 , 32378,88 , 32466,24 , 17977,28 , 18005,54 , 17762,14 , 17977,28 , 18005,54 , 17762,14 , 646,6 , 628,6 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16819,23 , 0,4 , 4,0 , 5364,15 , 5318,5 , 0, 0, 1, 6, 7 }, // Koyraboro Senni/Latin/Mali
- { 214, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19102,48 , 32906,84 , 134,24 , 19102,48 , 32906,84 , 134,24 , 18059,28 , 18087,63 , 18150,14 , 18059,28 , 18087,63 , 18150,14 , 663,5 , 646,8 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16887,27 , 0,4 , 4,0 , 5379,9 , 1625,8 , 2, 0, 1, 6, 7 }, // Shambala/Latin/Tanzania
- { 215, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 32990,88 , 32990,88 , 33078,31 , 32990,88 , 32990,88 , 33078,31 , 18164,33 , 18197,54 , 18251,19 , 18164,33 , 18197,54 , 18251,19 , 668,3 , 654,6 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 16914,10 , 8,5 , 4,0 , 5388,4 , 2667,4 , 2, 1, 7, 7, 7 }, // Bodo/Devanagari/India
- { 218, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 21930,48 , 11141,80 , 11058,24 , 21930,48 , 11141,80 , 11058,24 , 18270,25 , 18295,45 , 18340,17 , 18270,25 , 18295,45 , 18270,25 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 16924,43 , 13,5 , 4,0 , 5392,7 , 5399,5 , 2, 1, 1, 6, 7 }, // Chechen/Cyrillic/Russia
- { 219, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 954,8 , 954,8 , 1010,10 , 1706,23 , 37,5 , 8,10 , 33109,65 , 33174,117 , 33291,30 , 33109,65 , 33321,117 , 33291,30 , 18357,37 , 18394,68 , 11435,14 , 18357,37 , 18394,68 , 11435,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 16967,44 , 13,5 , 4,0 , 5404,19 , 5423,7 , 2, 1, 1, 6, 7 }, // Church/Cyrillic/Russia
- { 220, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Chuvash/Cyrillic/Russia
- { 230, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 33438,49 , 33487,99 , 33586,24 , 33438,49 , 33487,99 , 33586,24 , 18462,28 , 18490,50 , 18540,14 , 18462,28 , 18490,50 , 18540,14 , 671,5 , 660,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 209,2 , 17011,24 , 0,4 , 4,0 , 5430,8 , 5438,16 , 2, 1, 1, 6, 7 }, // Luba Katanga/Latin/Congo Kinshasa
- { 231, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 962,10 , 962,10 , 156,8 , 622,18 , 37,5 , 8,10 , 33610,48 , 33658,85 , 134,24 , 33743,59 , 33658,85 , 134,24 , 18554,28 , 18582,65 , 3668,14 , 18647,35 , 18582,65 , 3668,14 , 676,5 , 666,8 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 5454,14 , 5468,10 , 2, 1, 1, 6, 7 }, // Luxembourgish/Latin/Luxembourg
- { 236, 7, 21, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Walloon/Latin/Belgium
- { 237, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 33802,48 , 33850,195 , 34045,24 , 33802,48 , 33850,195 , 34045,24 , 18682,28 , 18710,72 , 18782,14 , 18682,28 , 18710,72 , 18782,14 , 681,3 , 674,3 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17035,21 , 0,4 , 4,0 , 5478,5 , 5483,7 , 0, 0, 1, 6, 7 }, // Aghem/Latin/Cameroon
- { 238, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 34069,48 , 34117,90 , 34207,24 , 34069,48 , 34117,90 , 34207,24 , 18796,28 , 18824,70 , 18894,14 , 18796,28 , 18824,70 , 18894,14 , 684,10 , 677,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17056,22 , 13,5 , 4,0 , 5490,5 , 5495,8 , 0, 0, 1, 6, 7 }, // Basaa/Latin/Cameroon
- { 239, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 32332,46 , 32378,88 , 32466,24 , 32332,46 , 32378,88 , 32466,24 , 17977,28 , 18908,53 , 18961,14 , 17977,28 , 18908,53 , 18961,14 , 694,8 , 686,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16819,23 , 0,4 , 4,0 , 5503,10 , 5513,5 , 0, 0, 1, 6, 7 }, // Zarma/Latin/Niger
- { 240, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 34231,49 , 34280,99 , 34379,24 , 34231,49 , 34280,99 , 34379,24 , 18975,28 , 19003,45 , 19048,14 , 18975,28 , 19003,45 , 19048,14 , 702,5 , 696,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 13,5 , 4,0 , 5518,5 , 1986,8 , 0, 0, 1, 6, 7 }, // Duala/Latin/Cameroon
- { 241, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 34403,36 , 34439,82 , 34521,24 , 34403,36 , 34439,82 , 34521,24 , 19062,28 , 19090,50 , 19140,14 , 19062,28 , 19090,50 , 19140,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 17078,23 , 13,5 , 4,0 , 5523,5 , 5528,7 , 0, 0, 1, 6, 7 }, // Jola Fonyi/Latin/Senegal
- { 242, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 34545,50 , 34595,141 , 34736,24 , 34545,50 , 34595,141 , 34736,24 , 19154,30 , 19184,85 , 19269,14 , 19154,30 , 19184,85 , 19269,14 , 707,7 , 702,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17101,23 , 13,5 , 4,0 , 5535,6 , 5541,7 , 0, 0, 1, 6, 7 }, // Ewondo/Latin/Cameroon
- { 243, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 34760,39 , 34799,191 , 158,27 , 34760,39 , 34799,191 , 158,27 , 19283,29 , 19312,45 , 19357,14 , 19283,29 , 19312,45 , 19357,14 , 714,6 , 711,7 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17124,11 , 13,5 , 4,0 , 5548,5 , 5553,7 , 0, 0, 1, 6, 7 }, // Bafia/Latin/Cameroon
- { 244, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 34990,48 , 35038,213 , 35251,24 , 34990,48 , 35038,213 , 35251,24 , 19371,28 , 19399,59 , 19458,14 , 19371,28 , 19399,59 , 19458,14 , 720,8 , 718,10 , 45,4 , 5,17 , 22,23 , {77,90,78}, 266,3 , 0,7 , 41,6 , 4,0 , 5560,5 , 5565,10 , 2, 1, 7, 6, 7 }, // Makhuwa Meetto/Latin/Mozambique
- { 245, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 35275,48 , 35323,139 , 35462,24 , 35275,48 , 35323,139 , 35462,24 , 19472,28 , 19500,74 , 19574,14 , 19472,28 , 19500,74 , 19574,14 , 728,5 , 728,5 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17135,17 , 4,4 , 4,0 , 5575,6 , 5581,7 , 0, 0, 1, 6, 7 }, // Mundang/Latin/Cameroon
- { 246, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 35486,51 , 35537,143 , 158,27 , 35486,51 , 35537,143 , 158,27 , 19588,30 , 19618,89 , 19707,14 , 19588,30 , 19618,89 , 19707,14 , 733,4 , 733,4 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17152,20 , 13,5 , 4,0 , 5588,6 , 5594,7 , 0, 0, 1, 6, 7 }, // Kwasio/Latin/Cameroon
- { 247, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 538,9 , 97,16 , 18,7 , 558,12 , 35680,54 , 35734,96 , 35830,24 , 35680,54 , 35734,96 , 35830,24 , 19721,38 , 19759,79 , 19838,14 , 19721,38 , 19759,79 , 19838,14 , 737,2 , 737,2 , 45,4 , 5,17 , 22,23 , {83,83,80}, 119,1 , 0,7 , 4,4 , 4,0 , 5601,9 , 0,0 , 2, 1, 1, 6, 7 }, // Nuer/Latin/South Sudan
- { 248, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 972,11 , 972,11 , 227,6 , 1729,30 , 37,5 , 8,10 , 35854,50 , 35904,116 , 36020,24 , 35854,50 , 36044,121 , 36020,24 , 19852,21 , 19873,71 , 19944,14 , 19852,21 , 19873,71 , 19944,14 , 739,2 , 739,2 , 1227,5 , 1232,17 , 22,23 , {82,85,66}, 123,1 , 17172,47 , 13,5 , 4,0 , 5610,9 , 5619,9 , 2, 1, 1, 6, 7 }, // Sakha/Cyrillic/Russia
- { 249, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 36165,48 , 36213,117 , 158,27 , 36165,48 , 36213,117 , 158,27 , 19958,28 , 19986,60 , 20046,14 , 19958,28 , 19986,60 , 20046,14 , 741,9 , 741,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 17219,25 , 0,4 , 4,0 , 5628,9 , 5637,9 , 2, 0, 1, 6, 7 }, // Sangu/Latin/Tanzania
- { 251, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 32332,46 , 32378,88 , 32466,24 , 32332,46 , 32378,88 , 32466,24 , 17977,28 , 18005,54 , 17762,14 , 17977,28 , 18005,54 , 17762,14 , 694,8 , 686,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16819,23 , 0,4 , 4,0 , 5646,13 , 5513,5 , 0, 0, 1, 6, 7 }, // Tasawaq/Latin/Niger
- { 252, 35, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 36330,38 , 36368,61 , 158,27 , 36330,38 , 36368,61 , 158,27 , 20060,30 , 20060,30 , 85,14 , 20060,30 , 20060,30 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 17244,15 , 4,4 , 4,0 , 5659,2 , 5661,4 , 2, 1, 1, 6, 7 }, // Vai/Vai/Liberia
- { 252, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 36429,81 , 36429,81 , 158,27 , 36429,81 , 36429,81 , 158,27 , 20090,48 , 20090,48 , 85,14 , 20090,48 , 20090,48 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 17259,20 , 4,4 , 4,0 , 5665,3 , 5668,8 , 2, 1, 1, 6, 7 }, // Vai/Latin/Liberia
- { 253, 7, 206, 44, 8217, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 269,9 , 269,9 , 53,10 , 622,18 , 37,5 , 8,10 , 36510,48 , 36558,99 , 36657,24 , 36510,48 , 36558,99 , 36657,24 , 20138,28 , 20166,53 , 20219,14 , 20138,28 , 20166,53 , 20219,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 0,0 , 0,7 , 41,6 , 4,0 , 5676,6 , 5682,6 , 2, 0, 1, 6, 7 }, // Walser/Latin/Switzerland
- { 254, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 36681,51 , 36732,191 , 158,27 , 36681,51 , 36732,191 , 158,27 , 20233,21 , 20254,71 , 20325,14 , 20233,21 , 20254,71 , 20325,14 , 750,8 , 750,8 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 13,5 , 4,0 , 5688,6 , 5694,7 , 0, 0, 1, 6, 7 }, // Yangben/Latin/Cameroon
- { 256, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 372,22 , 37,5 , 8,10 , 36923,48 , 36971,85 , 37056,24 , 37080,48 , 37128,117 , 37056,24 , 20339,28 , 20367,54 , 3364,14 , 20339,28 , 20367,54 , 3364,14 , 758,12 , 758,11 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 5701,9 , 2432,6 , 2, 1, 1, 6, 7 }, // Asturian/Latin/Spain
- { 257, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 983,11 , 983,11 , 994,16 , 1010,9 , 53,10 , 1559,18 , 37,5 , 8,10 , 37245,174 , 37245,174 , 158,27 , 37245,174 , 37245,174 , 158,27 , 20421,60 , 20421,60 , 20481,25 , 20421,60 , 20421,60 , 20481,25 , 770,8 , 769,13 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17279,12 , 8,5 , 4,0 , 5710,5 , 5715,7 , 0, 0, 1, 6, 7 }, // Ngomba/Latin/Cameroon
- { 258, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 1759,10 , 80,17 , 37,5 , 8,10 , 37419,102 , 37419,102 , 158,27 , 37419,102 , 37419,102 , 158,27 , 20506,54 , 20506,54 , 20560,21 , 20506,54 , 20506,54 , 20560,21 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17291,16 , 41,6 , 4,0 , 5722,4 , 5726,7 , 0, 0, 1, 6, 7 }, // Kako/Latin/Cameroon
- { 259, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1559,18 , 37,5 , 8,10 , 37521,137 , 37658,142 , 37800,36 , 37521,137 , 37658,142 , 37800,36 , 20581,49 , 20581,49 , 20630,21 , 20581,49 , 20581,49 , 20630,21 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17307,12 , 8,5 , 4,0 , 5733,5 , 5738,7 , 0, 0, 1, 6, 7 }, // Meta/Latin/Cameroon
- { 260, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1769,32 , 37,5 , 8,10 , 37836,165 , 37836,165 , 158,27 , 37836,165 , 37836,165 , 158,27 , 20651,111 , 20651,111 , 85,14 , 20651,111 , 20651,111 , 85,14 , 778,9 , 782,8 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17319,16 , 8,5 , 4,0 , 5745,16 , 5761,7 , 0, 0, 1, 6, 7 }, // Ngiemboon/Latin/Cameroon
- { 290, 11, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Manipuri/Bengali/India
- { 309, 100, 232, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 322,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Tai Dam/Tai Viet/Vietnam
- { 312, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Akoose/Latin/Cameroon
- { 313, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 38001,180 , 38001,180 , 158,27 , 38001,180 , 38001,180 , 158,27 , 20762,87 , 20762,87 , 85,14 , 20762,87 , 20762,87 , 20849,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 41,6 , 4,0 , 5768,12 , 5780,22 , 2, 1, 7, 6, 7 }, // Lakota/Latin/United States
- { 314, 9, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 28362,48 , 28410,81 , 28491,24 , 28362,48 , 28410,81 , 28491,24 , 15165,30 , 20863,48 , 85,14 , 15165,30 , 20863,48 , 85,14 , 531,6 , 505,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16256,21 , 0,4 , 4,0 , 5802,8 , 4987,6 , 2, 1, 1, 6, 7 }, // Standard Moroccan Tamazight/Tifinagh/Morocco
- { 315, 7, 43, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,76,80}, 6,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Mapuche/Latin/Chile
- { 316, 1, 103, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 38181,105 , 38181,105 , 38286,24 , 38181,105 , 38181,105 , 38286,24 , 20911,58 , 20911,58 , 20969,14 , 20911,58 , 20911,58 , 20969,14 , 787,3 , 790,3 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 17335,20 , 13,5 , 4,0 , 5810,14 , 5824,5 , 0, 0, 6, 5, 6 }, // Central Kurdish/Arabic/Iraq
- { 316, 1, 102, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 38181,105 , 38181,105 , 38286,24 , 38181,105 , 38181,105 , 38286,24 , 20911,58 , 20911,58 , 20969,14 , 20911,58 , 20911,58 , 20969,14 , 787,3 , 790,3 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 17355,19 , 13,5 , 4,0 , 5810,14 , 5829,5 , 0, 0, 6, 5, 5 }, // Central Kurdish/Arabic/Iran
- { 317, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 113,6 , 622,18 , 55,4 , 59,9 , 38310,48 , 38358,85 , 9742,24 , 38443,60 , 38503,93 , 9742,24 , 20983,28 , 21011,53 , 21064,14 , 20983,28 , 21011,53 , 21064,14 , 790,9 , 793,10 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17374,27 , 13,5 , 4,0 , 5834,14 , 5848,6 , 2, 1, 1, 6, 7 }, // Lower Sorbian/Latin/Germany
- { 318, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 113,6 , 622,18 , 570,12 , 59,9 , 38596,48 , 38644,86 , 9742,24 , 38730,60 , 38790,93 , 9742,24 , 21078,28 , 21106,53 , 21159,14 , 21078,28 , 21106,53 , 21159,14 , 790,9 , 803,9 , 1249,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17401,29 , 13,5 , 4,0 , 5854,15 , 5869,6 , 2, 1, 1, 6, 7 }, // Upper Sorbian/Latin/Germany
- { 319, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Kenyang/Latin/Cameroon
- { 320, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Mohawk/Latin/Canada
- { 321, 75, 91, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,78,70}, 215,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Nko/Nko/Guinea
- { 322, 7, 260, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 1019,8 , 1019,8 , 156,8 , 1801,27 , 37,5 , 8,10 , 38883,48 , 38931,91 , 39022,24 , 38883,48 , 38931,91 , 39022,24 , 21173,28 , 21201,69 , 21270,14 , 21173,28 , 21201,69 , 21270,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 13,5 , 4,0 , 5875,9 , 5884,6 , 2, 1, 1, 6, 7 }, // Prussian/Latin/World
- { 323, 7, 90, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,84,81}, 290,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Kiche/Latin/Guatemala
- { 324, 7, 205, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 189,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 1, 6, 7 }, // Southern Sami/Latin/Sweden
- { 325, 7, 205, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 189,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 1, 6, 7 }, // Lule Sami/Latin/Sweden
- { 326, 7, 73, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 640,8 , 1828,18 , 243,4 , 247,9 , 39046,77 , 39123,140 , 39263,25 , 39046,77 , 39123,140 , 39263,25 , 21284,28 , 21312,70 , 85,14 , 21284,28 , 21382,73 , 21455,14 , 799,3 , 812,3 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17430,11 , 13,5 , 4,0 , 5890,11 , 5901,5 , 2, 1, 1, 6, 7 }, // Inari Sami/Latin/Finland
- { 327, 7, 73, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Skolt Sami/Latin/Finland
- { 328, 7, 13, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {65,85,68}, 326,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Warlpiri/Latin/Australia
- { 346, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 14934,70 , 14934,70 , 158,27 , 14934,70 , 14934,70 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 726,4 , 1254,39 , 22,23 , {73,82,82}, 328,3 , 17441,27 , 8,5 , 4,0 , 5906,7 , 3238,5 , 0, 0, 6, 5, 5 }, // Mazanderani/Arabic/Iran
- { 349, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 39288,77 , 39288,77 , 158,27 , 39288,77 , 39288,77 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 5913,11 , 0,0 , 0, 0, 6, 5, 5 }, // Northern Luri/Arabic/Iran
- { 349, 1, 103, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 39288,77 , 39288,77 , 158,27 , 39288,77 , 39288,77 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 0,7 , 8,5 , 4,0 , 5913,11 , 0,0 , 0, 0, 6, 5, 6 }, // Northern Luri/Arabic/Iraq
- { 357, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 1027,5 , 1027,5 , 394,8 , 423,14 , 198,6 , 215,13 , 4423,39 , 4423,39 , 158,27 , 4423,39 , 4423,39 , 158,27 , 1953,28 , 1953,28 , 1981,14 , 1953,28 , 1953,28 , 1981,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {72,75,68}, 166,3 , 17468,11 , 4,4 , 4,0 , 5924,2 , 5926,14 , 2, 1, 7, 6, 7 }, // Cantonese/Traditional Han/Hong Kong
- { 357, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 1027,5 , 1027,5 , 394,8 , 402,13 , 198,6 , 204,11 , 4423,39 , 4462,38 , 158,27 , 4423,39 , 4462,38 , 158,27 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 133,1 , 3122,13 , 4,4 , 4,0 , 5940,2 , 5942,7 , 2, 1, 7, 6, 7 }, // Cantonese/Simplified Han/China
- { 360, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Ido/Latin/World
- { 361, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Lojban/Latin/World
- { 362, 7, 106, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Sicilian/Latin/Italy
- { 363, 1, 102, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 6, 5, 5 }, // Southern Kurdish/Arabic/Iran
- { 364, 1, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,75,82}, 175,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Western Balochi/Arabic/Pakistan
- { 365, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 897,9 , 906,8 , 547,6 , 35,18 , 18,7 , 25,12 , 39365,46 , 39411,88 , 39499,24 , 39365,46 , 39411,88 , 39499,24 , 21469,25 , 21494,56 , 21550,14 , 21469,25 , 21494,56 , 21550,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,72,80}, 178,1 , 0,7 , 4,4 , 4,0 , 5949,7 , 4701,9 , 2, 1, 7, 6, 7 }, // Cebuano/Latin/Philippines
- { 366, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Erzya/Cyrillic/Russia
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, {0,0,0}, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0, 0, 0, 0, 0 } // trailing 0s
+ // lang script terr dec group list prcnt zero minus plus exp quotOpn quotEnd altQtOpn altQtEnd lpStart lpMid lpEnd lpTwo sDtFmt lDtFmt sTmFmt lTmFmt ssDays slDays snDays sDays lDays nDays am pm byte siQuant iecQuant currISO currSym currDsply currFmt currFmtNeg endoLang endoCntry curDgt curRnd dow1st wknd+ wknd-
+ { 1, 0, 0, 46, 44, 59, 37, 48, 45, 43, 101, 34, 34, 39, 39, 0,6 , 0,6 , 0,6 , 0,6 , 0,10 , 10,17 , 0,8 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 99,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 0,7 , 0,4 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // C/AnyScript/AnyCountry
+ { 3, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 35,18 , 18,7 , 25,12 , 113,28 , 141,55 , 85,14 , 113,28 , 141,55 , 85,14 , 2,2 , 2,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,2 , 7,24 , 4,4 , 4,0 , 0,6 , 6,10 , 2, 1, 7, 6, 7 }, // Oromo/Latin/Ethiopia
+ { 3, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 35,18 , 37,5 , 8,10 , 113,28 , 141,55 , 196,14 , 113,28 , 141,55 , 196,14 , 2,2 , 2,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 0,7 , 4,4 , 4,0 , 0,6 , 16,8 , 2, 1, 7, 6, 7 }, // Oromo/Latin/Kenya
+ { 4, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Afar/Latin/Ethiopia
+ { 5, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 53,10 , 80,17 , 37,5 , 8,10 , 210,28 , 238,58 , 296,14 , 210,28 , 238,58 , 296,14 , 4,3 , 4,3 , 49,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 31,67 , 4,4 , 4,0 , 24,9 , 33,11 , 2, 1, 7, 6, 7 }, // Afrikaans/Latin/South Africa
+ { 5, 7, 148, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 53,10 , 97,16 , 18,7 , 25,12 , 210,28 , 238,58 , 296,14 , 210,28 , 238,58 , 296,14 , 4,3 , 4,3 , 49,5 , 5,17 , 22,23 , {78,65,68}, 6,1 , 98,55 , 4,4 , 4,0 , 24,9 , 44,7 , 2, 1, 1, 6, 7 }, // Afrikaans/Latin/Namibia
+ { 6, 7, 2, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 14,9 , 14,9 , 113,6 , 10,17 , 18,7 , 42,13 , 310,28 , 338,58 , 396,15 , 411,28 , 338,58 , 396,15 , 7,11 , 7,10 , 54,4 , 5,17 , 22,23 , {65,76,76}, 7,4 , 153,45 , 13,5 , 4,0 , 51,5 , 56,8 , 0, 0, 1, 6, 7 }, // Albanian/Latin/Albania
+ { 6, 7, 127, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 14,9 , 14,9 , 113,6 , 10,17 , 37,5 , 8,10 , 310,28 , 338,58 , 396,15 , 411,28 , 338,58 , 396,15 , 7,11 , 7,10 , 54,4 , 5,17 , 22,23 , {77,75,68}, 11,3 , 198,54 , 13,5 , 4,0 , 51,5 , 64,18 , 2, 1, 1, 6, 7 }, // Albanian/Latin/Macedonia
+ { 6, 7, 257, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 14,9 , 14,9 , 113,6 , 10,17 , 37,5 , 8,10 , 310,28 , 338,58 , 396,15 , 411,28 , 338,58 , 396,15 , 7,11 , 7,10 , 54,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 252,21 , 13,5 , 4,0 , 51,5 , 82,6 , 2, 1, 1, 6, 7 }, // Albanian/Latin/Kosovo
+ { 7, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 23,6 , 23,6 , 29,9 , 38,8 , 119,10 , 63,17 , 18,7 , 25,12 , 439,27 , 466,28 , 494,14 , 439,27 , 466,28 , 494,14 , 18,3 , 17,4 , 58,3 , 61,23 , 22,23 , {69,84,66}, 15,2 , 273,34 , 4,4 , 4,0 , 88,4 , 92,5 , 2, 1, 7, 6, 7 }, // Amharic/Ethiopic/Ethiopia
+ { 8, 1, 64, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {69,71,80}, 17,5 , 307,81 , 13,5 , 4,0 , 97,7 , 104,3 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Egypt
+ { 8, 1, 3, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {68,90,68}, 22,5 , 388,102 , 13,5 , 4,0 , 97,7 , 107,7 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Algeria
+ { 8, 1, 17, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {66,72,68}, 27,5 , 490,91 , 13,5 , 4,0 , 97,7 , 114,7 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Bahrain
+ { 8, 1, 42, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {88,65,70}, 32,4 , 581,112 , 13,5 , 4,0 , 97,7 , 121,4 , 0, 0, 1, 6, 7 }, // Arabic/Arabic/Chad
+ { 8, 1, 48, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 37,5 , 8,10 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {75,77,70}, 36,2 , 693,105 , 13,5 , 4,0 , 97,7 , 125,9 , 0, 0, 1, 6, 7 }, // Arabic/Arabic/Comoros
+ { 8, 1, 59, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {68,74,70}, 38,3 , 798,84 , 13,5 , 4,0 , 97,7 , 134,6 , 0, 0, 6, 6, 7 }, // Arabic/Arabic/Djibouti
+ { 8, 1, 67, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {69,82,78}, 41,3 , 882,91 , 13,5 , 4,0 , 97,7 , 140,7 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Eritrea
+ { 8, 1, 103, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {73,81,68}, 44,5 , 973,84 , 13,5 , 4,0 , 97,7 , 147,6 , 0, 0, 6, 5, 6 }, // Arabic/Arabic/Iraq
+ { 8, 1, 105, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 55,4 , 59,9 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {73,76,83}, 49,1 , 1057,133 , 13,5 , 4,0 , 97,7 , 153,7 , 2, 1, 7, 5, 6 }, // Arabic/Arabic/Israel
+ { 8, 1, 109, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {74,79,68}, 50,5 , 1190,84 , 13,5 , 4,0 , 97,7 , 160,6 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Jordan
+ { 8, 1, 115, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {75,87,68}, 55,5 , 1274,84 , 13,5 , 4,0 , 97,7 , 166,6 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Kuwait
+ { 8, 1, 119, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {76,66,80}, 60,5 , 1358,84 , 13,5 , 4,0 , 97,7 , 172,5 , 0, 0, 1, 6, 7 }, // Arabic/Arabic/Lebanon
+ { 8, 1, 122, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {76,89,68}, 65,5 , 1442,88 , 13,5 , 4,0 , 97,7 , 177,5 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Libya
+ { 8, 1, 136, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {77,82,85}, 70,4 , 1530,112 , 13,5 , 4,0 , 97,7 , 182,9 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Mauritania
+ { 8, 1, 145, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 37,5 , 8,10 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {77,65,68}, 74,5 , 1642,87 , 13,5 , 4,0 , 97,7 , 191,6 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Morocco
+ { 8, 1, 162, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {79,77,82}, 79,5 , 1729,77 , 13,5 , 4,0 , 97,7 , 197,5 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Oman
+ { 8, 1, 165, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {73,76,83}, 49,1 , 1057,133 , 13,5 , 4,0 , 97,7 , 202,18 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Palestinian Territories
+ { 8, 1, 175, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {81,65,82}, 84,5 , 1806,70 , 13,5 , 4,0 , 97,7 , 220,3 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Qatar
+ { 8, 1, 186, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,65,82}, 89,5 , 1876,77 , 13,5 , 4,0 , 97,7 , 223,24 , 2, 1, 7, 5, 6 }, // Arabic/Arabic/Saudi Arabia
+ { 8, 1, 194, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,79,83}, 94,1 , 1953,77 , 13,5 , 4,0 , 97,7 , 247,7 , 0, 0, 1, 6, 7 }, // Arabic/Arabic/Somalia
+ { 8, 1, 201, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,68,71}, 95,4 , 2030,91 , 13,5 , 4,0 , 97,7 , 254,7 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Sudan
+ { 8, 1, 207, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,89,80}, 99,5 , 2121,77 , 13,5 , 4,0 , 97,7 , 261,5 , 0, 0, 6, 5, 6 }, // Arabic/Arabic/Syria
+ { 8, 1, 216, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {84,78,68}, 104,5 , 2198,95 , 13,5 , 4,0 , 97,7 , 266,4 , 3, 0, 1, 6, 7 }, // Arabic/Arabic/Tunisia
+ { 8, 1, 223, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {65,69,68}, 109,5 , 2293,91 , 13,5 , 4,0 , 97,7 , 270,24 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/United Arab Emirates
+ { 8, 1, 236, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {77,65,68}, 74,5 , 1642,87 , 13,5 , 4,0 , 97,7 , 294,15 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Western Sahara
+ { 8, 1, 237, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {89,69,82}, 114,5 , 2384,70 , 13,5 , 4,0 , 97,7 , 309,5 , 0, 0, 7, 5, 6 }, // Arabic/Arabic/Yemen
+ { 8, 1, 254, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {83,83,80}, 119,1 , 2454,132 , 13,5 , 4,0 , 97,7 , 314,12 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/South Sudan
+ { 8, 1, 260, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 129,10 , 139,17 , 18,7 , 25,12 , 508,52 , 508,52 , 560,14 , 508,52 , 508,52 , 560,14 , 21,1 , 21,1 , 84,4 , 88,47 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 13,5 , 4,0 , 326,23 , 349,6 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/World
+ { 9, 10, 11, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 65,7 , 65,7 , 156,8 , 164,20 , 37,5 , 8,10 , 574,28 , 602,62 , 664,14 , 574,28 , 602,62 , 664,14 , 0,2 , 0,2 , 135,6 , 141,17 , 22,23 , {65,77,68}, 120,1 , 2586,46 , 13,5 , 4,0 , 355,7 , 362,8 , 2, 0, 1, 6, 7 }, // Armenian/Armenian/Armenia
+ { 10, 11, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 72,9 , 72,9 , 184,8 , 192,18 , 68,7 , 75,12 , 678,32 , 710,58 , 768,14 , 678,32 , 710,58 , 768,14 , 22,9 , 22,7 , 158,4 , 162,37 , 22,23 , {73,78,82}, 121,1 , 2632,43 , 8,5 , 4,0 , 370,7 , 377,4 , 2, 1, 7, 7, 7 }, // Assamese/Bengali/India
+ { 12, 7, 15, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 81,8 , 81,8 , 156,8 , 210,17 , 37,5 , 8,10 , 782,27 , 809,67 , 99,14 , 782,27 , 809,67 , 99,14 , 0,2 , 0,2 , 199,4 , 5,17 , 22,23 , {65,90,78}, 122,1 , 2675,58 , 13,5 , 4,0 , 381,10 , 391,10 , 2, 1, 1, 6, 7 }, // Azerbaijani/Latin/Azerbaijan
+ { 12, 1, 102, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 6, 5, 5 }, // Azerbaijani/Arabic/Iran
+ { 12, 2, 15, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 156,8 , 210,17 , 37,5 , 8,10 , 876,27 , 903,67 , 99,14 , 876,27 , 903,67 , 99,14 , 31,2 , 29,2 , 45,4 , 5,17 , 22,23 , {65,90,78}, 122,1 , 2733,12 , 13,5 , 4,0 , 401,10 , 411,10 , 2, 1, 1, 6, 7 }, // Azerbaijani/Cyrillic/Azerbaijan
+ { 13, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Bashkir/Cyrillic/Russia
+ { 14, 7, 197, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8220, 8221, 0,6 , 0,6 , 89,9 , 89,9 , 227,6 , 233,36 , 37,5 , 87,12 , 970,28 , 998,68 , 1066,14 , 970,28 , 998,68 , 1066,14 , 0,2 , 0,2 , 203,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 2745,20 , 13,5 , 4,0 , 421,7 , 428,8 , 2, 1, 1, 6, 7 }, // Basque/Latin/Spain
+ { 15, 11, 18, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 98,9 , 98,9 , 269,6 , 192,18 , 18,7 , 25,12 , 1080,37 , 1117,58 , 1175,18 , 1080,37 , 1117,58 , 1175,18 , 0,2 , 0,2 , 158,4 , 5,17 , 22,23 , {66,68,84}, 124,1 , 2765,49 , 0,4 , 4,0 , 436,5 , 441,8 , 2, 1, 7, 6, 7 }, // Bengali/Bengali/Bangladesh
+ { 15, 11, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 98,9 , 98,9 , 269,6 , 192,18 , 18,7 , 25,12 , 1080,37 , 1117,58 , 1175,18 , 1080,37 , 1117,58 , 1175,18 , 0,2 , 0,2 , 158,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 2814,43 , 0,4 , 4,0 , 436,5 , 449,4 , 2, 1, 7, 7, 7 }, // Bengali/Bengali/India
+ { 16, 31, 25, 46, 44, 59, 37, 3872, 45, 43, 101, 8220, 8221, 8216, 8217, 107,9 , 107,9 , 107,9 , 107,9 , 53,10 , 275,30 , 99,22 , 121,27 , 1193,34 , 1227,79 , 1306,27 , 1193,34 , 1227,79 , 1306,27 , 33,5 , 31,6 , 45,4 , 5,17 , 22,23 , {66,84,78}, 125,3 , 2857,15 , 4,4 , 4,0 , 453,6 , 459,5 , 2, 1, 7, 6, 7 }, // Dzongkha/Tibetan/Bhutan
+ { 19, 7, 74, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 97,16 , 37,5 , 8,10 , 1333,33 , 1366,43 , 1409,18 , 1333,33 , 1366,43 , 1409,18 , 38,4 , 37,4 , 210,7 , 217,17 , 22,23 , {69,85,82}, 14,1 , 2872,36 , 13,5 , 4,0 , 464,9 , 473,5 , 2, 1, 1, 6, 7 }, // Breton/Latin/France
+ { 20, 2, 33, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 305,12 , 317,22 , 148,9 , 157,14 , 1427,21 , 1448,55 , 1503,14 , 1427,21 , 1448,55 , 1503,14 , 42,6 , 41,6 , 234,7 , 5,17 , 22,23 , {66,71,78}, 128,3 , 2908,47 , 13,5 , 4,0 , 478,9 , 487,8 , 2, 1, 1, 6, 7 }, // Bulgarian/Cyrillic/Bulgaria
+ { 21, 25, 147, 46, 44, 4170, 37, 4160, 45, 43, 101, 8220, 8221, 8216, 8217, 123,5 , 123,5 , 128,10 , 128,10 , 339,8 , 347,18 , 171,6 , 177,10 , 1517,54 , 1517,54 , 1571,14 , 1517,54 , 1517,54 , 1571,14 , 48,5 , 47,3 , 241,5 , 5,17 , 22,23 , {77,77,75}, 131,1 , 2955,29 , 13,5 , 4,0 , 495,6 , 495,6 , 0, 0, 7, 6, 7 }, // Burmese/Myanmar/Myanmar
+ { 22, 2, 20, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 138,7 , 138,7 , 365,7 , 317,22 , 37,5 , 187,11 , 1585,21 , 1606,56 , 1662,14 , 1585,21 , 1606,56 , 1662,14 , 0,2 , 0,2 , 246,5 , 251,17 , 22,23 , {66,89,78}, 0,2 , 2984,89 , 13,5 , 4,0 , 501,10 , 511,8 , 2, 0, 1, 6, 7 }, // Belarusian/Cyrillic/Belarus
+ { 23, 20, 36, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 145,9 , 154,9 , 269,6 , 97,16 , 18,7 , 25,12 , 1676,40 , 1716,46 , 1762,14 , 1676,40 , 1776,47 , 1762,14 , 0,2 , 0,2 , 268,2 , 5,17 , 22,23 , {75,72,82}, 132,1 , 3073,29 , 0,4 , 4,0 , 519,5 , 524,7 , 2, 1, 7, 6, 7 }, // Khmer/Khmer/Cambodia
+ { 24, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 269,6 , 372,22 , 55,4 , 59,9 , 1823,28 , 1851,60 , 1911,21 , 1823,28 , 1851,60 , 1911,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 531,6 , 537,7 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Spain
+ { 24, 7, 5, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 269,6 , 372,22 , 55,4 , 59,9 , 1823,28 , 1851,60 , 1911,21 , 1823,28 , 1851,60 , 1911,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 531,6 , 544,7 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Andorra
+ { 24, 7, 74, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 269,6 , 372,22 , 55,4 , 59,9 , 1823,28 , 1851,60 , 1911,21 , 1823,28 , 1851,60 , 1911,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 531,6 , 551,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/France
+ { 24, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 269,6 , 372,22 , 55,4 , 59,9 , 1823,28 , 1851,60 , 1911,21 , 1823,28 , 1851,60 , 1911,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 531,6 , 557,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Italy
+ { 25, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 394,8 , 402,13 , 198,6 , 204,11 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 270,2 , 272,21 , 22,23 , {67,78,89}, 133,1 , 3122,13 , 4,4 , 4,0 , 563,4 , 567,2 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/China
+ { 25, 5, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 269,6 , 402,13 , 198,6 , 204,11 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 270,2 , 272,21 , 22,23 , {72,75,68}, 6,1 , 3135,11 , 4,4 , 4,0 , 563,4 , 569,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Hong Kong
+ { 25, 5, 126, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 269,6 , 402,13 , 198,6 , 204,11 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 270,2 , 272,21 , 22,23 , {77,79,80}, 134,4 , 3146,13 , 4,4 , 4,0 , 563,4 , 578,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Macau
+ { 25, 5, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 27,8 , 402,13 , 198,6 , 204,11 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 270,2 , 272,21 , 22,23 , {83,71,68}, 6,1 , 3159,15 , 4,4 , 4,0 , 563,4 , 587,3 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Singapore
+ { 25, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 180,5 , 180,5 , 415,8 , 402,13 , 198,6 , 215,13 , 1995,21 , 1953,28 , 1981,14 , 1995,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 293,3 , 5,17 , 22,23 , {72,75,68}, 6,1 , 3135,11 , 18,5 , 4,0 , 590,4 , 594,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Hong Kong
+ { 25, 6, 126, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 180,5 , 180,5 , 415,8 , 402,13 , 198,6 , 215,13 , 1995,21 , 1953,28 , 1981,14 , 1995,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 293,3 , 5,17 , 22,23 , {77,79,80}, 134,4 , 3174,13 , 18,5 , 4,0 , 590,4 , 603,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Macau
+ { 25, 6, 208, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 175,5 , 175,5 , 394,8 , 423,14 , 198,6 , 215,13 , 1995,21 , 1953,28 , 1981,14 , 1995,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {84,87,68}, 6,1 , 3187,13 , 13,5 , 4,0 , 590,4 , 612,2 , 2, 0, 7, 6, 7 }, // Chinese/Traditional Han/Taiwan
+ { 26, 7, 74, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Corsican/Latin/France
+ { 27, 7, 54, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 437,13 , 450,19 , 37,5 , 87,12 , 2016,28 , 2044,58 , 2102,14 , 2016,28 , 2044,58 , 2116,14 , 0,2 , 0,2 , 296,7 , 5,17 , 22,23 , {72,82,75}, 138,2 , 3200,60 , 13,5 , 4,0 , 614,8 , 622,8 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Croatia
+ { 27, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 469,9 , 450,19 , 37,5 , 87,12 , 2016,28 , 2044,58 , 2116,14 , 2016,28 , 2044,58 , 2116,14 , 0,2 , 0,2 , 296,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 3260,85 , 13,5 , 4,0 , 614,8 , 630,19 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Bosnia And Herzegowina
+ { 28, 7, 57, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 156,8 , 478,17 , 55,4 , 59,9 , 2130,21 , 2151,49 , 2200,14 , 2130,21 , 2151,49 , 2200,14 , 60,4 , 57,4 , 303,5 , 5,17 , 22,23 , {67,90,75}, 142,2 , 3345,68 , 13,5 , 4,0 , 649,7 , 656,5 , 2, 0, 1, 6, 7 }, // Czech/Latin/Czech Republic
+ { 29, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 505,23 , 228,5 , 233,10 , 2214,28 , 2242,51 , 2293,14 , 2307,35 , 2242,51 , 2293,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 144,3 , 3413,42 , 13,5 , 4,0 , 661,5 , 666,7 , 2, 0, 1, 6, 7 }, // Danish/Latin/Denmark
+ { 29, 7, 86, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 505,23 , 228,5 , 233,10 , 2214,28 , 2242,51 , 2293,14 , 2307,35 , 2242,51 , 2293,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 144,3 , 3413,42 , 13,5 , 4,0 , 661,5 , 673,8 , 2, 0, 1, 6, 7 }, // Danish/Latin/Greenland
+ { 30, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 23,6 , 681,10 , 691,9 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Netherlands
+ { 30, 7, 12, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,87,71}, 147,4 , 3474,55 , 8,5 , 23,6 , 681,10 , 700,5 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Aruba
+ { 30, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 538,9 , 97,16 , 37,5 , 8,10 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 23,6 , 681,10 , 705,6 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Belgium
+ { 30, 7, 152, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 151,4 , 3529,97 , 8,5 , 23,6 , 681,10 , 711,7 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Cura Sao
+ { 30, 7, 202, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {83,82,68}, 6,1 , 3626,58 , 8,5 , 23,6 , 681,10 , 718,8 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Suriname
+ { 30, 7, 255, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3684,61 , 8,5 , 23,6 , 681,10 , 726,19 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Bonaire
+ { 30, 7, 256, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2342,21 , 2363,59 , 2422,14 , 2342,21 , 2363,59 , 2422,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 151,4 , 3529,97 , 8,5 , 23,6 , 681,10 , 745,12 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Sint Maarten
+ { 31, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 757,16 , 773,13 , 2, 1, 7, 6, 7 }, // English/Latin/United States
+ { 31, 3, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 155,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // English/Deseret/United States
+ { 31, 7, 4, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 793,14 , 2, 1, 7, 6, 7 }, // English/Latin/American Samoa
+ { 31, 7, 7, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 807,8 , 2, 1, 1, 6, 7 }, // English/Latin/Anguilla
+ { 31, 7, 9, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 815,17 , 2, 1, 7, 6, 7 }, // English/Latin/Antigua And Barbuda
+ { 31, 7, 13, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 210,9 , 210,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 2436,25 , 0,28 , 28,57 , 2436,25 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 832,18 , 850,9 , 2, 1, 7, 6, 7 }, // English/Latin/Australia
+ { 31, 7, 14, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 4,0 , 786,7 , 859,7 , 2, 1, 1, 6, 7 }, // English/Latin/Austria
+ { 31, 7, 16, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,83,68}, 6,1 , 3930,53 , 4,4 , 4,0 , 786,7 , 866,7 , 2, 1, 7, 6, 7 }, // English/Latin/Bahamas
+ { 31, 7, 19, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,66,68}, 6,1 , 3983,56 , 4,4 , 4,0 , 786,7 , 873,8 , 2, 1, 1, 6, 7 }, // English/Latin/Barbados
+ { 31, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 786,7 , 881,7 , 2, 1, 1, 6, 7 }, // English/Latin/Belgium
+ { 31, 7, 22, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,90,68}, 6,1 , 4039,47 , 4,4 , 4,0 , 786,7 , 888,6 , 2, 1, 7, 6, 7 }, // English/Latin/Belize
+ { 31, 7, 24, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,77,68}, 6,1 , 4086,53 , 4,4 , 4,0 , 786,7 , 894,7 , 2, 1, 1, 6, 7 }, // English/Latin/Bermuda
+ { 31, 7, 28, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,87,80}, 158,1 , 4139,50 , 4,4 , 4,0 , 786,7 , 901,8 , 2, 1, 7, 6, 7 }, // English/Latin/Botswana
+ { 31, 7, 31, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 909,30 , 2, 1, 1, 6, 7 }, // English/Latin/British Indian Ocean Territory
+ { 31, 7, 35, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,73,70}, 159,3 , 4189,53 , 4,4 , 4,0 , 786,7 , 939,7 , 0, 0, 1, 6, 7 }, // English/Latin/Burundi
+ { 31, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 4242,83 , 4,4 , 4,0 , 786,7 , 946,8 , 0, 0, 1, 6, 7 }, // English/Latin/Cameroon
+ { 31, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 53,10 , 35,18 , 18,7 , 25,12 , 2461,35 , 28,57 , 85,14 , 2461,35 , 28,57 , 85,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {67,65,68}, 6,1 , 4325,53 , 4,4 , 4,0 , 954,16 , 970,6 , 2, 0, 7, 6, 7 }, // English/Latin/Canada
+ { 31, 7, 40, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {75,89,68}, 6,1 , 4378,71 , 4,4 , 4,0 , 786,7 , 976,14 , 2, 1, 1, 6, 7 }, // English/Latin/Cayman Islands
+ { 31, 7, 45, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 990,16 , 2, 1, 1, 6, 7 }, // English/Latin/Christmas Island
+ { 31, 7, 46, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1006,23 , 2, 1, 1, 6, 7 }, // English/Latin/Cocos Islands
+ { 31, 7, 51, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1029,12 , 2, 1, 1, 6, 7 }, // English/Latin/Cook Islands
+ { 31, 7, 56, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 4,0 , 786,7 , 1041,6 , 2, 1, 1, 6, 7 }, // English/Latin/Cyprus
+ { 31, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 228,5 , 233,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 144,3 , 4511,44 , 13,5 , 4,0 , 786,7 , 1047,7 , 2, 0, 1, 6, 7 }, // English/Latin/Denmark
+ { 31, 7, 60, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1054,8 , 2, 1, 7, 6, 7 }, // English/Latin/Dominica
+ { 31, 7, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,82,78}, 41,3 , 4555,50 , 4,4 , 4,0 , 786,7 , 1062,7 , 2, 1, 1, 6, 7 }, // English/Latin/Eritrea
+ { 31, 7, 70, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {70,75,80}, 119,1 , 4605,74 , 4,4 , 4,0 , 786,7 , 1069,16 , 2, 1, 1, 6, 7 }, // English/Latin/Falkland Islands
+ { 31, 7, 72, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {70,74,68}, 6,1 , 4679,47 , 4,4 , 4,0 , 786,7 , 1085,4 , 2, 1, 1, 6, 7 }, // English/Latin/Fiji
+ { 31, 7, 73, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 243,4 , 247,9 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 786,7 , 1089,7 , 2, 1, 1, 6, 7 }, // English/Latin/Finland
+ { 31, 7, 75, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4726,32 , 4,4 , 4,0 , 786,7 , 1096,8 , 2, 1, 1, 6, 7 }, // English/Latin/Guernsey
+ { 31, 7, 80, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,77,68}, 162,1 , 4758,50 , 4,4 , 4,0 , 786,7 , 1104,6 , 2, 1, 1, 6, 7 }, // English/Latin/Gambia
+ { 31, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 786,7 , 1110,7 , 2, 1, 1, 6, 7 }, // English/Latin/Germany
+ { 31, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,72,83}, 163,3 , 4808,47 , 4,4 , 4,0 , 786,7 , 1117,5 , 2, 1, 1, 6, 7 }, // English/Latin/Ghana
+ { 31, 7, 84, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,73,80}, 119,1 , 4855,53 , 4,4 , 4,0 , 786,7 , 1122,9 , 2, 1, 1, 6, 7 }, // English/Latin/Gibraltar
+ { 31, 7, 87, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1131,7 , 2, 1, 1, 6, 7 }, // English/Latin/Grenada
+ { 31, 7, 89, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1138,4 , 2, 1, 7, 6, 7 }, // English/Latin/Guam
+ { 31, 7, 93, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,89,68}, 6,1 , 4908,56 , 4,4 , 4,0 , 786,7 , 1142,6 , 2, 0, 1, 6, 7 }, // English/Latin/Guyana
+ { 31, 7, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 415,8 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {72,75,68}, 166,3 , 4964,56 , 4,4 , 4,0 , 786,7 , 1148,19 , 2, 1, 7, 6, 7 }, // English/Latin/Hong Kong
+ { 31, 7, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 192,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {73,78,82}, 121,1 , 5020,44 , 8,5 , 4,0 , 786,7 , 1167,5 , 2, 1, 7, 7, 7 }, // English/Latin/India
+ { 31, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 97,16 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 4,0 , 786,7 , 1172,7 , 2, 1, 1, 6, 7 }, // English/Latin/Ireland
+ { 31, 7, 105, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 55,4 , 59,9 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {73,76,83}, 49,1 , 5064,62 , 4,4 , 4,0 , 786,7 , 1179,6 , 2, 1, 7, 5, 6 }, // English/Latin/Israel
+ { 31, 7, 107, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {74,77,68}, 6,1 , 5126,53 , 4,4 , 4,0 , 786,7 , 1185,7 , 2, 1, 7, 6, 7 }, // English/Latin/Jamaica
+ { 31, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {75,69,83}, 2,3 , 5179,53 , 4,4 , 4,0 , 786,7 , 1192,5 , 2, 1, 7, 6, 7 }, // English/Latin/Kenya
+ { 31, 7, 112, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1197,8 , 2, 1, 1, 6, 7 }, // English/Latin/Kiribati
+ { 31, 7, 120, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5232,61 , 4,4 , 4,0 , 786,7 , 1205,7 , 2, 1, 1, 6, 7 }, // English/Latin/Lesotho
+ { 31, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {76,82,68}, 6,1 , 5293,53 , 4,4 , 4,0 , 786,7 , 1212,7 , 2, 1, 1, 6, 7 }, // English/Latin/Liberia
+ { 31, 7, 126, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,79,80}, 134,4 , 5346,53 , 4,4 , 4,0 , 786,7 , 1219,15 , 2, 1, 7, 6, 7 }, // English/Latin/Macau
+ { 31, 7, 128, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,71,65}, 169,2 , 5399,54 , 4,4 , 4,0 , 786,7 , 1234,10 , 0, 0, 1, 6, 7 }, // English/Latin/Madagascar
+ { 31, 7, 129, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,87,75}, 171,2 , 5453,53 , 4,4 , 4,0 , 786,7 , 1244,6 , 2, 1, 1, 6, 7 }, // English/Latin/Malawi
+ { 31, 7, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,89,82}, 173,2 , 5506,59 , 4,4 , 4,0 , 786,7 , 1250,8 , 2, 1, 1, 6, 7 }, // English/Latin/Malaysia
+ { 31, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 4,0 , 786,7 , 1258,5 , 2, 1, 7, 6, 7 }, // English/Latin/Malta
+ { 31, 7, 134, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1263,16 , 2, 1, 7, 6, 7 }, // English/Latin/Marshall Islands
+ { 31, 7, 137, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,85,82}, 175,2 , 5565,53 , 4,4 , 4,0 , 786,7 , 1279,9 , 2, 0, 1, 6, 7 }, // English/Latin/Mauritius
+ { 31, 7, 140, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1288,10 , 2, 1, 1, 6, 7 }, // English/Latin/Micronesia
+ { 31, 7, 144, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1298,10 , 2, 1, 1, 6, 7 }, // English/Latin/Montserrat
+ { 31, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,65,68}, 6,1 , 5618,53 , 4,4 , 4,0 , 786,7 , 1308,7 , 2, 1, 1, 6, 7 }, // English/Latin/Namibia
+ { 31, 7, 149, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1315,5 , 2, 1, 1, 6, 7 }, // English/Latin/Nauru
+ { 31, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 23,6 , 786,7 , 1320,11 , 2, 1, 1, 6, 7 }, // English/Latin/Netherlands
+ { 31, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 571,7 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1331,11 , 2, 1, 1, 6, 7 }, // English/Latin/New Zealand
+ { 31, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,71,78}, 177,1 , 5671,50 , 4,4 , 4,0 , 786,7 , 1342,7 , 2, 1, 1, 6, 7 }, // English/Latin/Nigeria
+ { 31, 7, 158, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1349,4 , 2, 1, 1, 6, 7 }, // English/Latin/Niue
+ { 31, 7, 159, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1353,14 , 2, 1, 1, 6, 7 }, // English/Latin/Norfolk Island
+ { 31, 7, 160, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1367,24 , 2, 1, 1, 6, 7 }, // English/Latin/Northern Mariana Islands
+ { 31, 7, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,75,82}, 175,2 , 5721,53 , 4,4 , 4,0 , 786,7 , 1391,8 , 2, 0, 7, 6, 7 }, // English/Latin/Pakistan
+ { 31, 7, 164, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1399,5 , 2, 1, 1, 6, 7 }, // English/Latin/Palau
+ { 31, 7, 167, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,71,75}, 131,1 , 5774,73 , 4,4 , 4,0 , 786,7 , 1404,16 , 2, 1, 1, 6, 7 }, // English/Latin/Papua New Guinea
+ { 31, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 178,1 , 5847,53 , 4,4 , 4,0 , 786,7 , 1420,11 , 2, 1, 7, 6, 7 }, // English/Latin/Philippines
+ { 31, 7, 171, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1431,16 , 2, 1, 1, 6, 7 }, // English/Latin/Pitcairn
+ { 31, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1447,11 , 2, 1, 7, 6, 7 }, // English/Latin/Puerto Rico
+ { 31, 7, 179, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {82,87,70}, 179,2 , 5900,47 , 4,4 , 4,0 , 786,7 , 1458,6 , 0, 0, 1, 6, 7 }, // English/Latin/Rwanda
+ { 31, 7, 180, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1464,17 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Kitts And Nevis
+ { 31, 7, 181, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1481,9 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Lucia
+ { 31, 7, 182, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 786,7 , 1490,24 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Vincent And The Grenadines
+ { 31, 7, 183, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {87,83,84}, 181,3 , 5947,40 , 4,4 , 4,0 , 786,7 , 1514,5 , 2, 1, 7, 6, 7 }, // English/Latin/Samoa
+ { 31, 7, 188, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,67,82}, 184,2 , 5987,59 , 4,4 , 4,0 , 786,7 , 1519,10 , 2, 1, 1, 6, 7 }, // English/Latin/Seychelles
+ { 31, 7, 189, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,76,76}, 186,2 , 6046,68 , 4,4 , 4,0 , 786,7 , 1529,12 , 0, 0, 1, 6, 7 }, // English/Latin/Sierra Leone
+ { 31, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,71,68}, 6,1 , 6114,56 , 4,4 , 4,0 , 786,7 , 1541,9 , 2, 1, 7, 6, 7 }, // English/Latin/Singapore
+ { 31, 7, 192, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 29,7 , 786,7 , 1550,8 , 2, 1, 1, 6, 7 }, // English/Latin/Slovenia
+ { 31, 7, 193, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,66,68}, 6,1 , 6170,74 , 4,4 , 4,0 , 786,7 , 1558,15 , 2, 1, 1, 6, 7 }, // English/Latin/Solomon Islands
+ { 31, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 578,10 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5232,61 , 4,4 , 4,0 , 786,7 , 1573,12 , 2, 1, 7, 6, 7 }, // English/Latin/South Africa
+ { 31, 7, 199, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,72,80}, 119,1 , 6244,56 , 4,4 , 4,0 , 786,7 , 1585,10 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Helena
+ { 31, 7, 201, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,68,71}, 0,0 , 6300,50 , 4,4 , 4,0 , 786,7 , 1595,5 , 2, 1, 6, 5, 6 }, // English/Latin/Sudan
+ { 31, 7, 204, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,90,76}, 188,1 , 6350,53 , 4,4 , 4,0 , 786,7 , 1600,8 , 2, 1, 1, 6, 7 }, // English/Latin/Swaziland
+ { 31, 7, 205, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 53,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,69,75}, 189,2 , 6403,47 , 13,5 , 4,0 , 786,7 , 1608,6 , 2, 0, 1, 6, 7 }, // English/Latin/Sweden
+ { 31, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {67,72,70}, 0,0 , 6450,41 , 8,5 , 36,5 , 786,7 , 1614,11 , 2, 0, 1, 6, 7 }, // English/Latin/Switzerland
+ { 31, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,90,83}, 191,3 , 6491,62 , 4,4 , 4,0 , 786,7 , 1625,8 , 2, 0, 1, 6, 7 }, // English/Latin/Tanzania
+ { 31, 7, 213, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 786,7 , 1633,7 , 2, 1, 1, 6, 7 }, // English/Latin/Tokelau
+ { 31, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,79,80}, 194,2 , 6553,49 , 4,4 , 4,0 , 786,7 , 1640,5 , 2, 1, 1, 6, 7 }, // English/Latin/Tonga
+ { 31, 7, 215, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,84,68}, 6,1 , 6602,80 , 4,4 , 4,0 , 786,7 , 1645,17 , 2, 1, 7, 6, 7 }, // English/Latin/Trinidad And Tobago
+ { 31, 7, 219, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1662,22 , 2, 1, 1, 6, 7 }, // English/Latin/Turks And Caicos Islands
+ { 31, 7, 220, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 786,7 , 1684,6 , 2, 1, 1, 6, 7 }, // English/Latin/Tuvalu
+ { 31, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,71,88}, 196,3 , 6682,56 , 4,4 , 4,0 , 786,7 , 1690,6 , 0, 0, 1, 6, 7 }, // English/Latin/Uganda
+ { 31, 7, 223, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,69,68}, 199,3 , 6738,55 , 4,4 , 4,0 , 786,7 , 1696,20 , 2, 1, 6, 5, 6 }, // English/Latin/United Arab Emirates
+ { 31, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 210,9 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 6793,47 , 4,4 , 4,0 , 1716,15 , 1731,14 , 2, 1, 1, 6, 7 }, // English/Latin/United Kingdom
+ { 31, 7, 226, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1745,21 , 2, 1, 7, 6, 7 }, // English/Latin/United States Minor Outlying Islands
+ { 31, 7, 229, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {86,85,86}, 202,2 , 6840,44 , 4,4 , 4,0 , 786,7 , 1766,7 , 0, 0, 1, 6, 7 }, // English/Latin/Vanuatu
+ { 31, 7, 233, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1773,22 , 2, 1, 1, 6, 7 }, // English/Latin/British Virgin Islands
+ { 31, 7, 234, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 786,7 , 1795,19 , 2, 1, 7, 6, 7 }, // English/Latin/United States Virgin Islands
+ { 31, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,77,87}, 131,1 , 6884,50 , 4,4 , 4,0 , 786,7 , 1814,6 , 2, 1, 1, 6, 7 }, // English/Latin/Zambia
+ { 31, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 415,8 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1820,8 , 2, 1, 7, 6, 7 }, // English/Latin/Zimbabwe
+ { 31, 7, 249, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 786,7 , 1828,12 , 2, 1, 1, 6, 7 }, // English/Latin/Diego Garcia
+ { 31, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4726,32 , 4,4 , 4,0 , 786,7 , 1840,11 , 2, 1, 1, 6, 7 }, // English/Latin/Isle Of Man
+ { 31, 7, 252, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4726,32 , 4,4 , 4,0 , 786,7 , 1851,6 , 2, 1, 1, 6, 7 }, // English/Latin/Jersey
+ { 31, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,83,80}, 119,1 , 6934,68 , 4,4 , 4,0 , 786,7 , 1857,11 , 2, 1, 1, 6, 7 }, // English/Latin/South Sudan
+ { 31, 7, 256, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,78,71}, 151,4 , 7002,95 , 4,4 , 4,0 , 786,7 , 1868,12 , 2, 1, 1, 6, 7 }, // English/Latin/Sint Maarten
+ { 31, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 4,0 , 786,7 , 1880,5 , 2, 1, 1, 6, 7 }, // English/Latin/World
+ { 31, 7, 261, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 13,5 , 4,0 , 786,7 , 1885,6 , 2, 1, 1, 6, 7 }, // English/Latin/Europe
+ { 32, 7, 260, 44, 160, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 219,9 , 219,9 , 588,8 , 596,26 , 37,5 , 256,25 , 2496,21 , 2517,51 , 2568,14 , 2496,21 , 2517,51 , 2568,14 , 70,3 , 67,3 , 308,6 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 41,6 , 4,0 , 1891,9 , 1900,5 , 2, 1, 1, 6, 7 }, // Esperanto/Latin/World
+ { 33, 7, 68, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 228,8 , 228,8 , 156,8 , 622,18 , 37,5 , 8,10 , 2582,14 , 2596,63 , 2582,14 , 2582,14 , 2596,63 , 2582,14 , 0,2 , 0,2 , 314,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 7097,20 , 13,5 , 4,0 , 1905,5 , 1910,5 , 2, 1, 1, 6, 7 }, // Estonian/Latin/Estonia
+ { 34, 7, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 156,8 , 622,18 , 37,5 , 8,10 , 2659,28 , 2687,74 , 2761,14 , 2775,35 , 2687,74 , 2761,14 , 0,2 , 0,2 , 320,3 , 5,17 , 22,23 , {68,75,75}, 189,2 , 7117,43 , 13,5 , 4,0 , 1915,8 , 1923,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Faroe Islands
+ { 34, 7, 58, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 156,8 , 622,18 , 37,5 , 8,10 , 2659,28 , 2687,74 , 2761,14 , 2775,35 , 2687,74 , 2761,14 , 0,2 , 0,2 , 320,3 , 5,17 , 22,23 , {68,75,75}, 144,3 , 7117,43 , 13,5 , 4,0 , 1915,8 , 666,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Denmark
+ { 36, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 640,8 , 478,17 , 243,4 , 247,9 , 2810,21 , 2831,67 , 2898,14 , 2810,21 , 2912,81 , 2898,14 , 73,3 , 70,3 , 323,5 , 328,17 , 345,23 , {69,85,82}, 14,1 , 7160,20 , 13,5 , 4,0 , 1930,5 , 1935,5 , 2, 1, 1, 6, 7 }, // Finnish/Latin/Finland
+ { 37, 7, 74, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 1948,6 , 2, 1, 1, 6, 7 }, // French/Latin/France
+ { 37, 7, 3, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {68,90,68}, 204,2 , 7180,51 , 13,5 , 4,0 , 1940,8 , 1954,7 , 2, 1, 6, 5, 6 }, // French/Latin/Algeria
+ { 37, 7, 21, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 571,7 , 97,16 , 37,5 , 281,23 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 1961,8 , 2, 1, 1, 6, 7 }, // French/Latin/Belgium
+ { 37, 7, 23, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 1969,5 , 0, 0, 1, 6, 7 }, // French/Latin/Benin
+ { 37, 7, 34, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 1974,12 , 0, 0, 1, 6, 7 }, // French/Latin/Burkina Faso
+ { 37, 7, 35, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {66,73,70}, 159,3 , 7290,53 , 13,5 , 4,0 , 1940,8 , 939,7 , 0, 0, 1, 6, 7 }, // French/Latin/Burundi
+ { 37, 7, 37, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 76,5 , 73,4 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 1986,8 , 0, 0, 1, 6, 7 }, // French/Latin/Cameroon
+ { 37, 7, 38, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8221, 8220, 0,6 , 0,6 , 236,8 , 236,8 , 588,8 , 97,16 , 304,9 , 313,24 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 64,4 , 61,4 , 368,6 , 374,17 , 391,23 , {67,65,68}, 6,1 , 7399,54 , 47,6 , 4,0 , 1994,17 , 970,6 , 2, 0, 7, 6, 7 }, // French/Latin/Canada
+ { 37, 7, 41, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2011,25 , 0, 0, 1, 6, 7 }, // French/Latin/Central African Republic
+ { 37, 7, 42, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2036,5 , 0, 0, 1, 6, 7 }, // French/Latin/Chad
+ { 37, 7, 48, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {75,77,70}, 36,2 , 7453,51 , 13,5 , 4,0 , 1940,8 , 2041,7 , 0, 0, 1, 6, 7 }, // French/Latin/Comoros
+ { 37, 7, 49, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {67,68,70}, 209,2 , 7504,53 , 13,5 , 4,0 , 1940,8 , 2048,14 , 2, 1, 1, 6, 7 }, // French/Latin/Congo Kinshasa
+ { 37, 7, 50, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2062,17 , 0, 0, 1, 6, 7 }, // French/Latin/Congo Brazzaville
+ { 37, 7, 53, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2079,13 , 0, 0, 1, 6, 7 }, // French/Latin/Ivory Coast
+ { 37, 7, 59, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {68,74,70}, 38,3 , 7557,57 , 13,5 , 4,0 , 1940,8 , 2092,8 , 0, 0, 6, 6, 7 }, // French/Latin/Djibouti
+ { 37, 7, 66, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2100,18 , 0, 0, 1, 6, 7 }, // French/Latin/Equatorial Guinea
+ { 37, 7, 76, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2118,16 , 2, 1, 1, 6, 7 }, // French/Latin/French Guiana
+ { 37, 7, 77, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,80,70}, 211,4 , 7614,35 , 13,5 , 4,0 , 1940,8 , 2134,19 , 0, 0, 1, 6, 7 }, // French/Latin/French Polynesia
+ { 37, 7, 79, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,65,70}, 32,4 , 7343,56 , 13,5 , 4,0 , 1940,8 , 2153,5 , 0, 0, 1, 6, 7 }, // French/Latin/Gabon
+ { 37, 7, 88, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2158,10 , 2, 1, 1, 6, 7 }, // French/Latin/Guadeloupe
+ { 37, 7, 91, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {71,78,70}, 215,2 , 7649,48 , 13,5 , 4,0 , 1940,8 , 2168,6 , 0, 0, 1, 6, 7 }, // French/Latin/Guinea
+ { 37, 7, 94, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {72,84,71}, 217,1 , 7697,57 , 13,5 , 4,0 , 1940,8 , 2174,5 , 2, 1, 1, 6, 7 }, // French/Latin/Haiti
+ { 37, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2179,10 , 2, 1, 1, 6, 7 }, // French/Latin/Luxembourg
+ { 37, 7, 128, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {77,71,65}, 169,2 , 7754,54 , 13,5 , 4,0 , 1940,8 , 1234,10 , 0, 0, 1, 6, 7 }, // French/Latin/Madagascar
+ { 37, 7, 132, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2189,4 , 0, 0, 1, 6, 7 }, // French/Latin/Mali
+ { 37, 7, 135, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2193,10 , 2, 1, 1, 6, 7 }, // French/Latin/Martinique
+ { 37, 7, 136, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {77,82,85}, 218,2 , 7808,66 , 13,5 , 4,0 , 1940,8 , 2203,10 , 2, 1, 1, 6, 7 }, // French/Latin/Mauritania
+ { 37, 7, 137, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {77,85,82}, 175,2 , 7874,63 , 13,5 , 4,0 , 1940,8 , 2213,7 , 2, 0, 1, 6, 7 }, // French/Latin/Mauritius
+ { 37, 7, 138, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2220,7 , 2, 1, 1, 6, 7 }, // French/Latin/Mayotte
+ { 37, 7, 142, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2227,6 , 2, 1, 1, 6, 7 }, // French/Latin/Monaco
+ { 37, 7, 145, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 64,4 , 61,4 , 368,6 , 374,17 , 391,23 , {77,65,68}, 0,0 , 7937,54 , 13,5 , 4,0 , 1940,8 , 2233,5 , 2, 1, 1, 6, 7 }, // French/Latin/Morocco
+ { 37, 7, 153, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,80,70}, 211,4 , 7614,35 , 13,5 , 4,0 , 1940,8 , 2238,18 , 0, 0, 1, 6, 7 }, // French/Latin/New Caledonia
+ { 37, 7, 156, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2256,5 , 0, 0, 1, 6, 7 }, // French/Latin/Niger
+ { 37, 7, 176, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2261,10 , 2, 1, 1, 6, 7 }, // French/Latin/Reunion
+ { 37, 7, 179, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {82,87,70}, 179,2 , 7991,50 , 13,5 , 4,0 , 1940,8 , 1458,6 , 0, 0, 1, 6, 7 }, // French/Latin/Rwanda
+ { 37, 7, 187, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2271,7 , 0, 0, 1, 6, 7 }, // French/Latin/Senegal
+ { 37, 7, 188, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {83,67,82}, 184,2 , 8041,71 , 13,5 , 4,0 , 1940,8 , 1519,10 , 2, 1, 1, 6, 7 }, // French/Latin/Seychelles
+ { 37, 7, 200, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2278,24 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Pierre And Miquelon
+ { 37, 7, 206, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 236,8 , 236,8 , 156,8 , 10,17 , 37,5 , 337,14 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {67,72,70}, 0,0 , 8112,45 , 13,5 , 4,0 , 2302,15 , 2317,6 , 2, 0, 1, 6, 7 }, // French/Latin/Switzerland
+ { 37, 7, 207, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {83,89,80}, 220,2 , 8157,51 , 13,5 , 4,0 , 1940,8 , 2323,5 , 0, 0, 6, 5, 6 }, // French/Latin/Syria
+ { 37, 7, 212, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,79,70}, 206,3 , 7231,59 , 13,5 , 4,0 , 1940,8 , 2328,4 , 0, 0, 1, 6, 7 }, // French/Latin/Togo
+ { 37, 7, 216, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {84,78,68}, 222,2 , 8208,51 , 13,5 , 4,0 , 1940,8 , 2332,7 , 3, 0, 1, 6, 7 }, // French/Latin/Tunisia
+ { 37, 7, 229, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 18,7 , 25,12 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {86,85,86}, 202,2 , 8259,51 , 13,5 , 4,0 , 1940,8 , 1766,7 , 0, 0, 1, 6, 7 }, // French/Latin/Vanuatu
+ { 37, 7, 235, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {88,80,70}, 211,4 , 7614,35 , 13,5 , 4,0 , 1940,8 , 2339,16 , 0, 0, 1, 6, 7 }, // French/Latin/Wallis And Futuna Islands
+ { 37, 7, 244, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2355,16 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Barthelemy
+ { 37, 7, 245, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 119,10 , 97,16 , 37,5 , 8,10 , 2993,35 , 3028,52 , 3080,14 , 2993,35 , 3028,52 , 3080,14 , 0,2 , 0,2 , 368,6 , 374,17 , 391,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1940,8 , 2371,12 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Martin
+ { 38, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 339,8 , 97,16 , 37,5 , 8,10 , 3094,21 , 3115,54 , 85,14 , 3094,21 , 3115,54 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 53,6 , 2383,5 , 2388,8 , 2, 1, 1, 6, 7 }, // Western Frisian/Latin/Netherlands
+ { 39, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 244,10 , 244,10 , 119,10 , 648,21 , 37,5 , 8,10 , 3169,28 , 3197,69 , 3266,14 , 3169,28 , 3197,69 , 3266,14 , 81,1 , 77,1 , 414,6 , 5,17 , 22,23 , {71,66,80}, 119,1 , 8310,86 , 4,4 , 4,0 , 2396,8 , 2404,22 , 2, 1, 1, 6, 7 }, // Gaelic/Latin/United Kingdom
+ { 40, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 3280,35 , 3315,49 , 3364,14 , 3378,35 , 3413,49 , 3462,21 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 2426,6 , 2432,6 , 2, 1, 1, 6, 7 }, // Galician/Latin/Spain
+ { 41, 15, 81, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 171, 187, 0,6 , 0,6 , 261,8 , 261,8 , 156,8 , 696,19 , 37,5 , 8,10 , 3483,28 , 3511,62 , 3573,14 , 3483,28 , 3511,62 , 3573,14 , 0,2 , 0,2 , 420,5 , 425,37 , 22,23 , {71,69,76}, 224,1 , 8396,43 , 13,5 , 4,0 , 2438,7 , 2445,10 , 2, 1, 1, 6, 7 }, // Georgian/Georgian/Georgia
+ { 42, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 2455,7 , 2462,11 , 2, 1, 1, 6, 7 }, // German/Latin/Germany
+ { 42, 7, 14, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 8,5 , 4,0 , 2473,24 , 2497,10 , 2, 1, 1, 6, 7 }, // German/Latin/Austria
+ { 42, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 2455,7 , 2507,7 , 2, 1, 1, 6, 7 }, // German/Latin/Belgium
+ { 42, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 2455,7 , 2514,7 , 2, 1, 1, 6, 7 }, // German/Latin/Italy
+ { 42, 7, 123, 46, 8217, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {67,72,70}, 0,0 , 8458,58 , 8,5 , 4,0 , 2455,7 , 2521,13 , 2, 0, 1, 6, 7 }, // German/Latin/Liechtenstein
+ { 42, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 2455,7 , 2534,9 , 2, 1, 1, 6, 7 }, // German/Latin/Luxembourg
+ { 42, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3587,21 , 3608,60 , 3668,14 , 3682,28 , 3608,60 , 3668,14 , 0,2 , 0,2 , 462,5 , 5,17 , 22,23 , {67,72,70}, 225,3 , 8458,58 , 8,5 , 36,5 , 2543,21 , 2564,7 , 2, 0, 1, 6, 7 }, // German/Latin/Switzerland
+ { 43, 16, 85, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 278,9 , 278,9 , 269,6 , 10,17 , 18,7 , 25,12 , 3710,28 , 3738,55 , 3793,14 , 3710,28 , 3738,55 , 3793,14 , 82,4 , 78,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8516,19 , 13,5 , 4,0 , 2571,8 , 2579,6 , 2, 1, 1, 6, 7 }, // Greek/Greek/Greece
+ { 43, 16, 56, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 278,9 , 278,9 , 269,6 , 10,17 , 18,7 , 25,12 , 3710,28 , 3738,55 , 3793,14 , 3710,28 , 3738,55 , 3793,14 , 82,4 , 78,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8516,19 , 13,5 , 4,0 , 2571,8 , 2585,6 , 2, 1, 1, 6, 7 }, // Greek/Greek/Cyprus
+ { 44, 7, 86, 44, 46, 59, 37, 48, 8722, 43, 101, 187, 171, 8250, 8249, 0,6 , 0,6 , 287,11 , 287,11 , 53,10 , 80,17 , 228,5 , 233,10 , 3807,28 , 3835,98 , 3933,14 , 3807,28 , 3835,98 , 3933,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {68,75,75}, 144,3 , 8535,62 , 4,4 , 59,5 , 2591,11 , 2602,16 , 2, 0, 1, 6, 7 }, // Greenlandic/Latin/Greenland
+ { 45, 7, 168, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,89,71}, 228,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 7, 6, 7 }, // Guarani/Latin/Paraguay
+ { 46, 17, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 298,9 , 298,9 , 269,6 , 192,18 , 351,8 , 359,13 , 3947,32 , 3979,53 , 4032,19 , 3947,32 , 3979,53 , 4032,19 , 0,2 , 0,2 , 467,4 , 471,19 , 22,23 , {73,78,82}, 121,1 , 8597,46 , 4,4 , 4,0 , 2618,7 , 2625,4 , 2, 1, 7, 7, 7 }, // Gujarati/Gujarati/India
+ { 47, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 307,8 , 307,8 , 269,6 , 715,17 , 37,5 , 8,10 , 4051,28 , 4079,52 , 4131,14 , 4051,28 , 4079,52 , 4131,14 , 86,6 , 82,5 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 8643,12 , 8,5 , 4,0 , 2629,5 , 2634,8 , 2, 1, 1, 6, 7 }, // Hausa/Latin/Nigeria
+ { 47, 1, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Hausa/Arabic/Nigeria
+ { 47, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 307,8 , 307,8 , 269,6 , 715,17 , 18,7 , 25,12 , 4051,28 , 4079,52 , 4131,14 , 4051,28 , 4079,52 , 4131,14 , 86,6 , 82,5 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 0,7 , 8,5 , 4,0 , 2629,5 , 2642,4 , 2, 1, 1, 6, 7 }, // Hausa/Latin/Ghana
+ { 47, 7, 156, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 307,8 , 307,8 , 269,6 , 715,17 , 37,5 , 8,10 , 4051,28 , 4079,52 , 4131,14 , 4051,28 , 4079,52 , 4131,14 , 86,6 , 82,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 8655,36 , 8,5 , 4,0 , 2629,5 , 2646,5 , 0, 0, 1, 6, 7 }, // Hausa/Latin/Niger
+ { 48, 18, 105, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 315,6 , 315,6 , 640,8 , 732,18 , 55,4 , 59,9 , 4145,46 , 4191,65 , 4256,21 , 4145,46 , 4191,65 , 4256,21 , 92,6 , 87,5 , 490,4 , 5,17 , 22,23 , {73,76,83}, 49,1 , 8691,54 , 64,6 , 70,8 , 2651,5 , 2656,5 , 2, 1, 7, 5, 6 }, // Hebrew/Hebrew/Israel
+ { 49, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 321,9 , 330,8 , 269,6 , 10,17 , 18,7 , 25,12 , 4277,32 , 4309,53 , 4362,19 , 4277,32 , 4309,53 , 4362,19 , 68,2 , 65,2 , 494,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 8745,42 , 4,4 , 4,0 , 2661,6 , 2667,4 , 2, 1, 7, 7, 7 }, // Hindi/Devanagari/India
+ { 50, 7, 98, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 187, 171, 0,6 , 0,6 , 338,8 , 338,8 , 750,13 , 763,19 , 55,4 , 59,9 , 4381,19 , 4400,52 , 4452,17 , 4381,19 , 4400,52 , 4452,17 , 98,3 , 92,3 , 498,4 , 5,17 , 22,23 , {72,85,70}, 229,2 , 8787,46 , 13,5 , 4,0 , 2671,6 , 2677,12 , 2, 0, 1, 6, 7 }, // Hungarian/Latin/Hungary
+ { 51, 7, 99, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 192,8 , 192,8 , 640,8 , 622,18 , 37,5 , 8,10 , 4469,35 , 4504,81 , 4585,14 , 4469,35 , 4504,81 , 4585,14 , 101,4 , 95,4 , 502,4 , 5,17 , 22,23 , {73,83,75}, 189,2 , 8833,49 , 13,5 , 4,0 , 2689,8 , 2697,6 , 0, 0, 1, 6, 7 }, // Icelandic/Latin/Iceland
+ { 52, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 346,10 , 356,9 , 27,8 , 553,18 , 228,5 , 233,10 , 4599,28 , 4627,43 , 4670,14 , 4599,28 , 4627,43 , 4670,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,68,82}, 231,2 , 8882,39 , 4,4 , 4,0 , 2703,9 , 2703,9 , 2, 0, 7, 6, 7 }, // Indonesian/Latin/Indonesia
+ { 53, 7, 260, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 528,10 , 782,26 , 37,5 , 8,10 , 4684,28 , 4712,57 , 4769,14 , 4684,28 , 4712,57 , 4769,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 2712,11 , 2723,5 , 2, 1, 1, 6, 7 }, // Interlingua/Latin/World
+ { 55, 44, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Canadian Aboriginal/Canada
+ { 55, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Latin/Canada
+ { 57, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 365,11 , 244,10 , 119,10 , 97,16 , 37,5 , 8,10 , 4783,37 , 4820,75 , 4895,14 , 4783,37 , 4820,75 , 4895,14 , 105,4 , 99,4 , 506,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8921,31 , 4,4 , 4,0 , 2728,7 , 2735,4 , 2, 1, 1, 6, 7 }, // Irish/Latin/Ireland
+ { 58, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 97,16 , 37,5 , 8,10 , 4909,28 , 4937,57 , 4994,14 , 4909,28 , 4937,57 , 4994,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 2739,8 , 2747,6 , 2, 1, 1, 6, 7 }, // Italian/Latin/Italy
+ { 58, 7, 184, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 97,16 , 37,5 , 8,10 , 4909,28 , 4937,57 , 4994,14 , 4909,28 , 4937,57 , 4994,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 2739,8 , 2753,10 , 2, 1, 1, 6, 7 }, // Italian/Latin/San Marino
+ { 58, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 254,7 , 254,7 , 156,8 , 10,17 , 37,5 , 8,10 , 4909,28 , 4937,57 , 4994,14 , 4909,28 , 4937,57 , 4994,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 0,0 , 8971,53 , 8,5 , 36,5 , 2739,8 , 2763,8 , 2, 0, 1, 6, 7 }, // Italian/Latin/Switzerland
+ { 58, 7, 230, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 97,16 , 37,5 , 8,10 , 4909,28 , 4937,57 , 4994,14 , 4909,28 , 4937,57 , 4994,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 2739,8 , 2771,18 , 2, 1, 1, 6, 7 }, // Italian/Latin/Vatican City State
+ { 59, 19, 108, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 170,5 , 170,5 , 578,10 , 402,13 , 55,4 , 372,10 , 5008,14 , 5022,28 , 5008,14 , 5008,14 , 5022,28 , 5008,14 , 109,2 , 103,2 , 512,3 , 5,17 , 22,23 , {74,80,89}, 133,1 , 9024,11 , 4,4 , 4,0 , 2789,3 , 2792,2 , 0, 0, 7, 6, 7 }, // Japanese/Japanese/Japan
+ { 60, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 376,10 , 386,9 , 528,10 , 10,17 , 37,5 , 8,10 , 5050,28 , 5078,41 , 5119,14 , 5050,28 , 5078,41 , 5119,14 , 111,4 , 105,5 , 515,4 , 5,17 , 22,23 , {73,68,82}, 231,2 , 8882,39 , 8,5 , 4,0 , 2794,4 , 2798,9 , 2, 0, 7, 6, 7 }, // Javanese/Latin/Indonesia
+ { 61, 21, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 395,12 , 407,11 , 269,6 , 35,18 , 351,8 , 359,13 , 5133,33 , 5166,54 , 5220,20 , 5133,33 , 5166,54 , 5220,20 , 115,9 , 110,7 , 519,8 , 527,35 , 22,23 , {73,78,82}, 121,1 , 9035,49 , 4,4 , 4,0 , 2807,5 , 2812,4 , 2, 1, 7, 7, 7 }, // Kannada/Kannada/India
+ { 62, 1, 100, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 5240,50 , 5290,52 , 5342,14 , 5240,50 , 5290,52 , 5342,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9084,23 , 8,5 , 4,0 , 2816,5 , 2821,9 , 2, 1, 7, 7, 7 }, // Kashmiri/Arabic/India
+ { 63, 2, 110, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 418,10 , 156,8 , 808,22 , 37,5 , 8,10 , 5356,21 , 5377,56 , 5433,14 , 5356,21 , 5377,56 , 5433,14 , 0,2 , 0,2 , 562,4 , 566,17 , 583,23 , {75,90,84}, 236,1 , 9107,58 , 13,5 , 4,0 , 2830,10 , 2840,9 , 2, 1, 1, 6, 7 }, // Kazakh/Cyrillic/Kazakhstan
+ { 64, 7, 179, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 5447,35 , 5482,84 , 85,14 , 5447,35 , 5482,84 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,87,70}, 179,2 , 0,7 , 8,5 , 4,0 , 2849,11 , 2860,8 , 0, 0, 1, 6, 7 }, // Kinyarwanda/Latin/Rwanda
+ { 65, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 428,10 , 428,10 , 269,6 , 830,23 , 37,5 , 8,10 , 5566,38 , 5604,57 , 5661,14 , 5566,38 , 5604,57 , 5661,14 , 124,5 , 117,14 , 562,4 , 606,18 , 22,23 , {75,71,83}, 237,3 , 9165,52 , 13,5 , 4,0 , 2868,8 , 2876,10 , 2, 1, 1, 6, 7 }, // Kirghiz/Cyrillic/Kyrgyzstan
+ { 66, 22, 114, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 438,7 , 438,7 , 853,9 , 862,16 , 382,7 , 389,13 , 5675,14 , 5689,28 , 5675,14 , 5675,14 , 5689,28 , 5675,14 , 129,2 , 131,2 , 624,3 , 5,17 , 22,23 , {75,82,87}, 240,1 , 9217,19 , 4,4 , 4,0 , 2886,3 , 2889,4 , 0, 0, 7, 6, 7 }, // Korean/Korean/South Korea
+ { 66, 22, 113, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 438,7 , 438,7 , 853,9 , 862,16 , 382,7 , 389,13 , 5675,14 , 5689,28 , 5675,14 , 5675,14 , 5689,28 , 5675,14 , 129,2 , 131,2 , 624,3 , 5,17 , 22,23 , {75,80,87}, 240,1 , 9236,39 , 4,4 , 4,0 , 2886,3 , 2893,11 , 0, 0, 1, 6, 7 }, // Korean/Korean/North Korea
+ { 67, 7, 217, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 445,7 , 445,7 , 53,10 , 63,17 , 37,5 , 8,10 , 5717,20 , 5737,42 , 5779,14 , 5717,20 , 5737,42 , 5779,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {84,82,89}, 241,1 , 0,7 , 13,5 , 4,0 , 2904,5 , 2909,7 , 2, 1, 1, 6, 7 }, // Kurdish/Latin/Turkey
+ { 68, 7, 35, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 5793,34 , 5827,89 , 85,14 , 5793,34 , 5827,89 , 85,14 , 131,5 , 133,5 , 45,4 , 5,17 , 22,23 , {66,73,70}, 159,3 , 9275,27 , 0,4 , 4,0 , 2916,8 , 2924,8 , 0, 0, 1, 6, 7 }, // Rundi/Latin/Burundi
+ { 69, 23, 117, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 452,9 , 415,8 , 878,19 , 55,4 , 402,24 , 5916,36 , 5952,57 , 6009,17 , 5916,36 , 5952,57 , 6009,17 , 136,8 , 138,8 , 45,4 , 5,17 , 22,23 , {76,65,75}, 242,1 , 9302,21 , 4,4 , 36,5 , 2932,3 , 2932,3 , 0, 0, 7, 6, 7 }, // Lao/Lao/Laos
+ { 71, 7, 118, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 461,8 , 461,8 , 156,8 , 897,26 , 37,5 , 8,10 , 6026,51 , 6077,72 , 6149,14 , 6163,51 , 6214,72 , 6149,14 , 144,14 , 146,11 , 627,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9323,23 , 13,5 , 4,0 , 2935,8 , 2943,7 , 2, 1, 1, 6, 7 }, // Latvian/Latin/Latvia
+ { 72, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 469,9 , 469,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6286,28 , 6314,100 , 6414,14 , 6286,28 , 6314,100 , 6414,14 , 158,8 , 157,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 209,2 , 9346,23 , 13,5 , 4,0 , 2950,7 , 2957,30 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Congo Kinshasa
+ { 72, 7, 6, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 469,9 , 469,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6286,28 , 6314,100 , 6414,14 , 6286,28 , 6314,100 , 6414,14 , 158,8 , 157,6 , 45,4 , 5,17 , 22,23 , {65,79,65}, 243,2 , 9369,23 , 13,5 , 4,0 , 2950,7 , 2987,6 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Angola
+ { 72, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 469,9 , 469,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6286,28 , 6314,100 , 6414,14 , 6286,28 , 6314,100 , 6414,14 , 158,8 , 157,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9392,23 , 13,5 , 4,0 , 2950,7 , 2993,26 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Central African Republic
+ { 72, 7, 50, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 469,9 , 469,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6286,28 , 6314,100 , 6414,14 , 6286,28 , 6314,100 , 6414,14 , 158,8 , 157,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9392,23 , 13,5 , 4,0 , 2950,7 , 3019,5 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Congo Brazzaville
+ { 73, 7, 124, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 478,8 , 478,8 , 53,10 , 923,27 , 37,5 , 8,10 , 6428,21 , 6449,89 , 6538,14 , 6428,21 , 6449,89 , 6538,14 , 166,9 , 163,6 , 632,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9415,30 , 13,5 , 4,0 , 3024,8 , 3032,7 , 2, 1, 1, 6, 7 }, // Lithuanian/Latin/Lithuania
+ { 74, 2, 127, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 950,7 , 553,18 , 37,5 , 8,10 , 6552,35 , 6587,54 , 1503,14 , 6641,34 , 6587,54 , 1503,14 , 175,10 , 169,8 , 638,5 , 5,17 , 22,23 , {77,75,68}, 245,3 , 9445,56 , 13,5 , 4,0 , 3039,10 , 3049,18 , 2, 1, 1, 6, 7 }, // Macedonian/Cyrillic/Macedonia
+ { 75, 7, 128, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 97,16 , 37,5 , 8,10 , 6675,34 , 6709,60 , 6769,14 , 6675,34 , 6709,60 , 6769,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,71,65}, 169,2 , 9501,13 , 8,5 , 4,0 , 3067,8 , 3075,12 , 0, 0, 1, 6, 7 }, // Malagasy/Latin/Madagascar
+ { 76, 7, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 356,9 , 356,9 , 571,7 , 10,17 , 18,7 , 25,12 , 6783,28 , 6811,43 , 6854,14 , 6783,28 , 6811,43 , 6854,14 , 185,2 , 177,3 , 643,4 , 5,17 , 22,23 , {77,89,82}, 173,2 , 9514,39 , 4,4 , 4,0 , 3087,6 , 1250,8 , 2, 1, 1, 6, 7 }, // Malay/Latin/Malaysia
+ { 76, 1, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,89,82}, 173,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Malay/Arabic/Malaysia
+ { 76, 7, 32, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 356,9 , 356,9 , 571,7 , 957,12 , 18,7 , 25,12 , 6783,28 , 6811,43 , 6854,14 , 6783,28 , 6811,43 , 6854,14 , 185,2 , 177,3 , 643,4 , 5,17 , 22,23 , {66,78,68}, 6,1 , 9553,31 , 8,5 , 4,0 , 3087,6 , 3093,6 , 2, 1, 1, 6, 7 }, // Malay/Latin/Brunei
+ { 76, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 356,9 , 356,9 , 571,7 , 10,17 , 18,7 , 25,12 , 6783,28 , 6811,43 , 6854,14 , 6783,28 , 6811,43 , 6854,14 , 185,2 , 177,3 , 643,4 , 5,17 , 22,23 , {83,71,68}, 6,1 , 9584,37 , 4,4 , 4,0 , 3087,6 , 3099,9 , 2, 1, 7, 6, 7 }, // Malay/Latin/Singapore
+ { 77, 24, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 486,13 , 499,12 , 269,6 , 969,18 , 18,7 , 25,12 , 6868,41 , 6909,77 , 6986,22 , 6868,41 , 7008,76 , 7084,21 , 0,2 , 0,2 , 647,6 , 653,27 , 22,23 , {73,78,82}, 121,1 , 9621,40 , 4,4 , 4,0 , 3108,6 , 3114,6 , 2, 1, 7, 7, 7 }, // Malayalam/Malayalam/India
+ { 78, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 511,8 , 519,7 , 119,10 , 987,23 , 37,5 , 8,10 , 7105,28 , 7133,63 , 7196,21 , 7105,28 , 7133,63 , 7217,20 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9661,27 , 4,4 , 4,0 , 3120,5 , 1258,5 , 2, 1, 7, 6, 7 }, // Maltese/Latin/Malta
+ { 79, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 426,4 , 25,12 , 7237,27 , 7264,47 , 7311,14 , 7237,27 , 7264,47 , 7311,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,90,68}, 6,1 , 9688,41 , 8,5 , 4,0 , 3125,5 , 3130,8 , 2, 1, 1, 6, 7 }, // Maori/Latin/New Zealand
+ { 80, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 526,9 , 526,9 , 269,6 , 192,18 , 18,7 , 25,12 , 7325,32 , 7357,53 , 4362,19 , 7325,32 , 7357,53 , 4362,19 , 187,5 , 180,4 , 494,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9729,43 , 4,4 , 4,0 , 3138,5 , 2667,4 , 2, 1, 7, 7, 7 }, // Marathi/Devanagari/India
+ { 82, 2, 143, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1010,10 , 1020,16 , 37,5 , 87,12 , 7410,21 , 7431,43 , 7410,21 , 7410,21 , 7474,43 , 7410,21 , 192,4 , 184,4 , 562,4 , 680,17 , 22,23 , {77,78,84}, 248,1 , 9772,25 , 8,5 , 4,0 , 3143,6 , 3149,6 , 2, 0, 1, 6, 7 }, // Mongolian/Cyrillic/Mongolia
+ { 82, 8, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 249,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Mongolian/Mongolian/China
+ { 84, 13, 150, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 535,5 , 0,6 , 540,7 , 540,7 , 227,6 , 63,17 , 37,5 , 8,10 , 7517,33 , 7550,54 , 7604,18 , 7517,33 , 7550,54 , 7604,18 , 196,9 , 188,7 , 494,4 , 697,19 , 22,23 , {78,80,82}, 252,4 , 9797,49 , 8,5 , 4,0 , 3155,6 , 3161,5 , 2, 1, 7, 6, 7 }, // Nepali/Devanagari/Nepal
+ { 84, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 535,5 , 0,6 , 540,7 , 540,7 , 227,6 , 63,17 , 18,7 , 25,12 , 7517,33 , 7550,54 , 7604,18 , 7517,33 , 7550,54 , 7604,18 , 196,9 , 188,7 , 494,4 , 697,19 , 22,23 , {73,78,82}, 121,1 , 9846,49 , 8,5 , 4,0 , 3155,6 , 2667,4 , 2, 1, 7, 7, 7 }, // Nepali/Devanagari/India
+ { 85, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 478,17 , 228,5 , 233,10 , 2307,35 , 2242,51 , 2293,14 , 2307,35 , 2242,51 , 2293,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 189,2 , 9895,44 , 8,5 , 4,0 , 3166,12 , 3178,5 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Norway
+ { 85, 7, 203, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 478,17 , 228,5 , 233,10 , 2307,35 , 2242,51 , 2293,14 , 2307,35 , 2242,51 , 2293,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 189,2 , 9895,44 , 8,5 , 4,0 , 3166,12 , 3183,21 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands
+ { 86, 7, 74, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Occitan/Latin/France
+ { 87, 26, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 547,8 , 555,7 , 547,6 , 35,18 , 18,7 , 25,12 , 7622,33 , 7655,54 , 7709,18 , 7622,33 , 7655,54 , 7709,18 , 0,2 , 0,2 , 716,5 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9939,43 , 4,4 , 4,0 , 3204,5 , 3209,4 , 2, 1, 7, 7, 7 }, // Oriya/Oriya/India
+ { 88, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 46,6 , 46,6 , 562,9 , 571,8 , 394,8 , 1036,20 , 55,4 , 430,11 , 7727,39 , 7727,39 , 85,14 , 7727,39 , 7727,39 , 85,14 , 205,4 , 195,4 , 721,5 , 5,17 , 22,23 , {65,70,78}, 256,1 , 9982,25 , 13,5 , 4,0 , 3213,4 , 3217,9 , 0, 0, 6, 4, 5 }, // Pashto/Arabic/Afghanistan
+ { 88, 1, 163, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 46,6 , 46,6 , 562,9 , 571,8 , 394,8 , 1036,20 , 18,7 , 25,12 , 7727,39 , 7727,39 , 85,14 , 7727,39 , 7727,39 , 85,14 , 205,4 , 195,4 , 721,5 , 5,17 , 22,23 , {80,75,82}, 175,2 , 10007,52 , 13,5 , 4,0 , 3213,4 , 3226,7 , 2, 0, 7, 6, 7 }, // Pashto/Arabic/Pakistan
+ { 89, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 579,7 , 579,7 , 586,8 , 594,7 , 394,8 , 97,16 , 55,4 , 430,11 , 7766,49 , 7766,49 , 7815,14 , 7766,49 , 7766,49 , 7815,14 , 209,9 , 199,8 , 726,4 , 730,44 , 22,23 , {73,82,82}, 257,4 , 10059,37 , 78,5 , 4,0 , 3233,5 , 3238,5 , 0, 0, 6, 5, 5 }, // Persian/Arabic/Iran
+ { 89, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 579,7 , 579,7 , 586,8 , 594,7 , 394,8 , 97,16 , 55,4 , 430,11 , 7766,49 , 7766,49 , 7815,14 , 7766,49 , 7766,49 , 7815,14 , 209,9 , 199,8 , 726,4 , 730,44 , 22,23 , {65,70,78}, 256,1 , 10096,55 , 8,5 , 4,0 , 3243,3 , 3217,9 , 0, 0, 6, 4, 5 }, // Persian/Arabic/Afghanistan
+ { 90, 7, 172, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 163,7 , 163,7 , 495,10 , 10,17 , 37,5 , 8,10 , 7829,34 , 7863,59 , 7922,14 , 7829,34 , 7863,59 , 7936,14 , 0,2 , 0,2 , 303,5 , 5,17 , 22,23 , {80,76,78}, 261,2 , 10151,77 , 13,5 , 4,0 , 3246,6 , 3252,6 , 2, 1, 1, 6, 7 }, // Polish/Latin/Poland
+ { 91, 7, 30, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 254,7 , 254,7 , 119,10 , 669,27 , 37,5 , 8,10 , 7950,28 , 7978,79 , 8057,14 , 7950,28 , 7978,79 , 8057,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,82,76}, 263,2 , 10228,54 , 8,5 , 4,0 , 3258,9 , 3267,6 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Brazil
+ { 91, 7, 6, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {65,79,65}, 243,2 , 10282,54 , 13,5 , 4,0 , 3258,9 , 3273,6 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Angola
+ { 91, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {67,86,69}, 265,1 , 10336,69 , 13,5 , 4,0 , 3258,9 , 3279,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Cape Verde
+ { 91, 7, 62, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 10405,81 , 13,5 , 4,0 , 3258,9 , 3289,11 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/East Timor
+ { 91, 7, 66, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 10486,59 , 13,5 , 4,0 , 3258,9 , 3300,16 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Equatorial Guinea
+ { 91, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {88,79,70}, 206,3 , 10545,62 , 13,5 , 4,0 , 3258,9 , 3316,12 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Guinea Bissau
+ { 91, 7, 125, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3258,9 , 3328,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Luxembourg
+ { 91, 7, 126, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 18,7 , 25,12 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {77,79,80}, 134,4 , 10607,53 , 13,5 , 4,0 , 3258,9 , 3338,19 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Macau
+ { 91, 7, 146, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {77,90,78}, 266,3 , 10660,66 , 13,5 , 4,0 , 3258,9 , 3357,10 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Mozambique
+ { 91, 7, 173, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3367,17 , 3384,8 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Portugal
+ { 91, 7, 185, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {83,84,78}, 269,2 , 10726,92 , 13,5 , 4,0 , 3258,9 , 3392,19 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Sao Tome And Principe
+ { 91, 7, 206, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8071,49 , 7978,79 , 8057,14 , 8071,49 , 7978,79 , 8057,14 , 218,8 , 207,8 , 0,5 , 5,17 , 22,23 , {67,72,70}, 225,3 , 10818,45 , 13,5 , 4,0 , 3258,9 , 3411,5 , 2, 0, 1, 6, 7 }, // Portuguese/Latin/Switzerland
+ { 92, 4, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 601,9 , 601,9 , 269,6 , 10,17 , 18,7 , 25,12 , 8120,36 , 8156,57 , 8213,23 , 8120,36 , 8156,57 , 8213,23 , 226,6 , 215,6 , 774,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 10863,39 , 4,4 , 4,0 , 3416,6 , 3422,4 , 2, 1, 7, 7, 7 }, // Punjabi/Gurmukhi/India
+ { 92, 1, 163, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 553,18 , 18,7 , 25,12 , 8236,37 , 8236,37 , 85,14 , 8236,37 , 8236,37 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,75,82}, 271,1 , 10902,13 , 41,6 , 4,0 , 3426,6 , 3226,7 , 2, 0, 7, 6, 7 }, // Punjabi/Arabic/Pakistan
+ { 93, 7, 169, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 8273,28 , 8301,53 , 8354,14 , 8273,28 , 8301,53 , 8354,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {80,69,78}, 272,2 , 0,7 , 8,5 , 4,0 , 3432,8 , 3440,4 , 2, 1, 7, 6, 7 }, // Quechua/Latin/Peru
+ { 93, 7, 26, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 8273,28 , 8301,53 , 8354,14 , 8273,28 , 8301,53 , 8354,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {66,79,66}, 274,2 , 0,7 , 8,5 , 4,0 , 3432,8 , 3444,7 , 2, 1, 1, 6, 7 }, // Quechua/Latin/Bolivia
+ { 93, 7, 63, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 8273,28 , 8301,53 , 8354,14 , 8273,28 , 8301,53 , 8354,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 8,5 , 4,0 , 3432,8 , 3451,7 , 2, 1, 1, 6, 7 }, // Quechua/Latin/Ecuador
+ { 94, 7, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 339,8 , 1056,28 , 37,5 , 8,10 , 8368,23 , 8391,56 , 8447,14 , 8368,23 , 8391,56 , 8447,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 225,3 , 10915,46 , 13,5 , 4,0 , 3458,9 , 3467,6 , 2, 0, 1, 6, 7 }, // Romansh/Latin/Switzerland
+ { 95, 7, 177, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 610,8 , 610,8 , 495,10 , 10,17 , 37,5 , 8,10 , 8461,34 , 8495,48 , 3080,14 , 8461,34 , 8495,48 , 3080,14 , 64,4 , 61,4 , 778,4 , 5,17 , 22,23 , {82,79,78}, 276,3 , 10961,57 , 13,5 , 4,0 , 3473,6 , 3479,7 , 2, 1, 1, 6, 7 }, // Romanian/Latin/Romania
+ { 95, 7, 141, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 610,8 , 610,8 , 495,10 , 10,17 , 37,5 , 8,10 , 8543,28 , 8495,48 , 8571,16 , 8543,28 , 8495,48 , 8571,16 , 64,4 , 61,4 , 778,4 , 5,17 , 22,23 , {77,68,76}, 279,1 , 11018,69 , 13,5 , 4,0 , 3473,6 , 3486,17 , 2, 1, 1, 6, 7 }, // Romanian/Latin/Moldova
+ { 96, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {82,85,66}, 123,1 , 11087,89 , 13,5 , 4,0 , 3503,7 , 3510,6 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Russia
+ { 96, 2, 20, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {66,89,78}, 0,2 , 11176,94 , 13,5 , 4,0 , 3503,7 , 511,8 , 2, 0, 1, 6, 7 }, // Russian/Cyrillic/Belarus
+ { 96, 2, 110, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {75,90,84}, 236,1 , 11270,83 , 13,5 , 4,0 , 3503,7 , 3516,9 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Kazakhstan
+ { 96, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {75,71,83}, 237,3 , 11353,82 , 13,5 , 4,0 , 3503,7 , 3525,8 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Kyrgyzstan
+ { 96, 2, 141, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {77,68,76}, 279,1 , 11435,79 , 13,5 , 4,0 , 3503,7 , 3533,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Moldova
+ { 96, 2, 222, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8587,21 , 8608,62 , 8670,14 , 8587,21 , 8608,62 , 8587,21 , 0,2 , 0,2 , 246,5 , 680,17 , 22,23 , {85,65,72}, 280,1 , 11514,92 , 13,5 , 4,0 , 3503,7 , 3540,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Ukraine
+ { 98, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 8684,28 , 8712,66 , 8778,14 , 8684,28 , 8712,66 , 8778,14 , 232,2 , 221,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 11606,25 , 4,4 , 36,5 , 3547,5 , 3552,22 , 0, 0, 1, 6, 7 }, // Sango/Latin/Central African Republic
+ { 99, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Sanskrit/Devanagari/India
+ { 100, 2, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 8792,28 , 8820,52 , 8872,14 , 8792,28 , 8820,52 , 8872,14 , 234,9 , 223,8 , 782,7 , 5,17 , 22,23 , {82,83,68}, 0,0 , 11631,58 , 13,5 , 4,0 , 3574,6 , 3580,6 , 0, 0, 1, 6, 7 }, // Serbian/Cyrillic/Serbia
+ { 100, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 8886,26 , 8912,57 , 2102,14 , 8886,26 , 8912,57 , 2102,14 , 243,11 , 231,8 , 296,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 11689,174 , 13,5 , 4,0 , 3586,6 , 630,19 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Bosnia And Herzegowina
+ { 100, 7, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 8969,33 , 8912,57 , 2102,14 , 8969,33 , 8912,57 , 2102,14 , 243,11 , 231,8 , 296,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 11863,23 , 13,5 , 4,0 , 3586,6 , 3592,9 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Montenegro
+ { 100, 7, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 9002,28 , 9030,54 , 2102,14 , 9002,28 , 9030,54 , 2102,14 , 254,9 , 231,8 , 296,7 , 5,17 , 22,23 , {82,83,68}, 0,0 , 11886,58 , 13,5 , 4,0 , 3586,6 , 3601,6 , 0, 0, 1, 6, 7 }, // Serbian/Latin/Serbia
+ { 100, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 9084,26 , 9110,55 , 8872,14 , 9084,26 , 9110,55 , 8872,14 , 263,11 , 223,8 , 782,7 , 5,17 , 22,23 , {66,65,77}, 281,2 , 11944,174 , 13,5 , 4,0 , 3574,6 , 3607,19 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Bosnia And Herzegowina
+ { 100, 2, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 8792,28 , 9110,55 , 8872,14 , 8792,28 , 9110,55 , 8872,14 , 263,11 , 223,8 , 782,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12118,23 , 13,5 , 4,0 , 3574,6 , 3626,9 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Montenegro
+ { 100, 2, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 8792,28 , 8820,52 , 8872,14 , 8792,28 , 8820,52 , 8872,14 , 234,9 , 223,8 , 782,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12118,23 , 13,5 , 4,0 , 3574,6 , 3635,6 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Kosovo
+ { 100, 7, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 8969,33 , 9030,54 , 2102,14 , 8969,33 , 9030,54 , 2102,14 , 254,9 , 231,8 , 296,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 11863,23 , 13,5 , 4,0 , 3586,6 , 3641,6 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Kosovo
+ { 101, 2, 81, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 618,9 , 618,9 , 156,8 , 1111,23 , 37,5 , 8,10 , 9165,28 , 9193,61 , 9254,14 , 9268,28 , 9296,61 , 9254,14 , 274,15 , 239,15 , 45,4 , 5,17 , 22,23 , {71,69,76}, 224,1 , 12141,17 , 8,5 , 4,0 , 3647,4 , 3651,11 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Georgia
+ { 101, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 618,9 , 618,9 , 156,8 , 1111,23 , 37,5 , 8,10 , 9165,28 , 9193,61 , 9254,14 , 9268,28 , 9296,61 , 9254,14 , 274,15 , 239,15 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 12158,17 , 8,5 , 4,0 , 3647,4 , 3662,6 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Russia
+ { 102, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Southern Sotho/Latin/South Africa
+ { 103, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tswana/Latin/South Africa
+ { 104, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 9357,28 , 9385,55 , 9440,14 , 9357,28 , 9385,55 , 9440,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 155,3 , 12175,22 , 4,4 , 4,0 , 3668,8 , 1820,8 , 2, 1, 7, 6, 7 }, // Shona/Latin/Zimbabwe
+ { 105, 1, 163, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 627,8 , 635,7 , 53,10 , 63,17 , 18,7 , 25,12 , 9454,35 , 9454,35 , 9489,31 , 9454,35 , 9454,35 , 9489,31 , 289,11 , 254,11 , 789,6 , 795,61 , 22,23 , {80,75,82}, 175,2 , 12197,43 , 8,5 , 4,0 , 3676,4 , 3680,7 , 2, 0, 7, 6, 7 }, // Sindhi/Arabic/Pakistan
+ { 106, 32, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 642,9 , 651,8 , 53,10 , 63,17 , 228,5 , 233,10 , 9520,39 , 9559,62 , 9621,19 , 9520,39 , 9559,62 , 9621,19 , 300,5 , 265,4 , 856,5 , 861,42 , 22,23 , {76,75,82}, 283,3 , 12240,58 , 4,4 , 4,0 , 3687,5 , 3692,11 , 2, 1, 1, 6, 7 }, // Sinhala/Sinhala/Sri Lanka
+ { 107, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Swati/Latin/South Africa
+ { 108, 7, 191, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 659,7 , 1134,10 , 478,17 , 55,4 , 59,9 , 9640,21 , 9661,52 , 9713,14 , 9640,21 , 9661,52 , 9713,14 , 0,2 , 0,2 , 303,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12298,26 , 13,5 , 4,0 , 3703,10 , 3713,9 , 2, 1, 1, 6, 7 }, // Slovak/Latin/Slovakia
+ { 109, 7, 192, 44, 46, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 666,8 , 666,8 , 1144,9 , 1153,19 , 37,5 , 8,10 , 9727,35 , 9762,52 , 9814,14 , 9727,35 , 9762,52 , 9814,14 , 60,4 , 269,4 , 54,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12324,28 , 13,5 , 4,0 , 3722,11 , 3733,9 , 2, 1, 1, 6, 7 }, // Slovenian/Latin/Slovenia
+ { 110, 7, 194, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 674,9 , 674,9 , 27,8 , 1172,19 , 18,7 , 25,12 , 9828,32 , 9860,47 , 9907,15 , 9828,32 , 9860,47 , 9907,15 , 305,2 , 273,2 , 903,6 , 909,17 , 22,23 , {83,79,83}, 94,1 , 12352,27 , 4,4 , 4,0 , 3742,8 , 3750,10 , 0, 0, 1, 6, 7 }, // Somali/Latin/Somalia
+ { 110, 7, 59, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 674,9 , 674,9 , 27,8 , 1172,19 , 18,7 , 25,12 , 9828,32 , 9860,47 , 9907,15 , 9828,32 , 9860,47 , 9907,15 , 305,2 , 273,2 , 903,6 , 909,17 , 22,23 , {68,74,70}, 38,3 , 12379,50 , 4,4 , 4,0 , 3742,8 , 3760,7 , 0, 0, 6, 6, 7 }, // Somali/Latin/Djibouti
+ { 110, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 674,9 , 674,9 , 27,8 , 1172,19 , 18,7 , 25,12 , 9828,32 , 9860,47 , 9907,15 , 9828,32 , 9860,47 , 9907,15 , 305,2 , 273,2 , 903,6 , 909,17 , 22,23 , {69,84,66}, 0,2 , 12429,52 , 4,4 , 4,0 , 3742,8 , 3767,8 , 2, 1, 7, 6, 7 }, // Somali/Latin/Ethiopia
+ { 110, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 674,9 , 674,9 , 27,8 , 1172,19 , 37,5 , 8,10 , 9828,32 , 9860,47 , 9907,15 , 9828,32 , 9860,47 , 9907,15 , 305,2 , 273,2 , 903,6 , 909,17 , 22,23 , {75,69,83}, 2,3 , 12481,52 , 4,4 , 4,0 , 3742,8 , 1192,5 , 2, 1, 7, 6, 7 }, // Somali/Latin/Kenya
+ { 111, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 55,4 , 430,11 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3775,17 , 2432,6 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Spain
+ { 111, 7, 10, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {65,82,83}, 6,1 , 12533,51 , 8,5 , 4,0 , 3792,7 , 3799,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Argentina
+ { 111, 7, 22, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {66,90,68}, 6,1 , 12584,52 , 4,4 , 4,0 , 3792,7 , 3808,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Belize
+ { 111, 7, 26, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {66,79,66}, 274,2 , 12636,35 , 4,4 , 4,0 , 3792,7 , 3444,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Bolivia
+ { 111, 7, 30, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {66,82,76}, 263,2 , 12671,52 , 4,4 , 4,0 , 3792,7 , 3267,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Brazil
+ { 111, 7, 43, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 339,8 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,76,80}, 6,1 , 12723,45 , 4,4 , 36,5 , 3792,7 , 3814,5 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Chile
+ { 111, 7, 47, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 571,7 , 669,27 , 18,7 , 25,12 , 9922,35 , 9957,53 , 4769,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,79,80}, 6,1 , 12768,54 , 8,5 , 4,0 , 3792,7 , 3819,8 , 2, 0, 7, 6, 7 }, // Spanish/Latin/Colombia
+ { 111, 7, 52, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,82,67}, 286,1 , 12822,67 , 4,4 , 4,0 , 3792,7 , 3827,10 , 2, 0, 1, 6, 7 }, // Spanish/Latin/Costa Rica
+ { 111, 7, 55, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {67,85,80}, 6,1 , 12889,42 , 4,4 , 4,0 , 3792,7 , 3837,4 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Cuba
+ { 111, 7, 61, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 18,7 , 25,12 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {68,79,80}, 287,3 , 12931,54 , 4,4 , 83,6 , 3792,7 , 3841,20 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Dominican Republic
+ { 111, 7, 63, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12985,70 , 4,4 , 36,5 , 3792,7 , 3451,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ecuador
+ { 111, 7, 65, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12985,70 , 4,4 , 4,0 , 3792,7 , 3861,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/El Salvador
+ { 111, 7, 66, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 55,4 , 430,11 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 13055,92 , 4,4 , 4,0 , 3792,7 , 3872,17 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Equatorial Guinea
+ { 111, 7, 90, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 571,7 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {71,84,81}, 290,1 , 13147,30 , 18,5 , 4,0 , 3792,7 , 3889,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Guatemala
+ { 111, 7, 96, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 1191,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {72,78,76}, 279,1 , 13177,60 , 4,4 , 4,0 , 3792,7 , 3898,8 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Honduras
+ { 111, 7, 139, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 27,8 , 669,27 , 55,4 , 59,9 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {77,88,78}, 6,1 , 13237,48 , 47,6 , 4,0 , 3906,17 , 3923,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Mexico
+ { 111, 7, 155, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {78,73,79}, 291,2 , 13285,69 , 4,4 , 4,0 , 3792,7 , 3929,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Nicaragua
+ { 111, 7, 166, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 1218,8 , 669,27 , 18,7 , 25,12 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,65,66}, 293,3 , 13354,54 , 4,4 , 4,0 , 3792,7 , 3938,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Panama
+ { 111, 7, 168, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,89,71}, 296,3 , 13408,61 , 8,5 , 23,6 , 3792,7 , 3944,8 , 0, 0, 7, 6, 7 }, // Spanish/Latin/Paraguay
+ { 111, 7, 169, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 571,7 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,69,78}, 272,2 , 13469,43 , 8,5 , 4,0 , 3792,7 , 3440,4 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Peru
+ { 111, 7, 170, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 18,7 , 25,12 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,72,80}, 178,1 , 13512,48 , 13,5 , 4,0 , 3792,7 , 3952,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Philippines
+ { 111, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 1218,8 , 669,27 , 18,7 , 25,12 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12985,70 , 4,4 , 4,0 , 3792,7 , 1447,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Puerto Rico
+ { 111, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 415,8 , 669,27 , 18,7 , 25,12 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 3080,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12985,70 , 89,7 , 4,0 , 3792,7 , 3961,14 , 2, 1, 7, 6, 7 }, // Spanish/Latin/United States
+ { 111, 7, 227, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,89,85}, 6,1 , 13560,48 , 8,5 , 4,0 , 3792,7 , 3975,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Uruguay
+ { 111, 7, 231, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 18,7 , 25,12 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {86,69,83}, 299,4 , 13608,58 , 4,4 , 36,5 , 3792,7 , 3982,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Venezuela
+ { 111, 7, 238, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 55,4 , 430,11 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3792,7 , 3991,8 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Canary Islands
+ { 111, 7, 246, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 37,5 , 8,10 , 9922,35 , 9957,53 , 3080,14 , 9922,35 , 9957,53 , 4769,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 4,0 , 3999,23 , 4022,13 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Latin America
+ { 111, 7, 250, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 669,27 , 55,4 , 430,11 , 9922,35 , 9957,53 , 8354,14 , 9922,35 , 9957,53 , 8354,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3792,7 , 4035,15 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ceuta And Melilla
+ { 113, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 690,8 , 690,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10010,60 , 10010,60 , 85,14 , 10010,60 , 10010,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {84,90,83}, 191,3 , 13666,67 , 8,5 , 4,0 , 4050,9 , 1625,8 , 2, 0, 1, 6, 7 }, // Swahili/Latin/Tanzania
+ { 113, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 690,8 , 690,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10010,60 , 10010,60 , 85,14 , 10010,60 , 10010,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {67,68,70}, 209,2 , 13733,55 , 8,5 , 4,0 , 4050,9 , 4059,32 , 2, 1, 1, 6, 7 }, // Swahili/Latin/Congo Kinshasa
+ { 113, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 690,8 , 690,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10010,60 , 10010,60 , 85,14 , 10010,60 , 10010,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {75,69,83}, 2,3 , 13788,58 , 8,5 , 4,0 , 4050,9 , 1192,5 , 2, 1, 7, 6, 7 }, // Swahili/Latin/Kenya
+ { 113, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 690,8 , 690,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10010,60 , 10010,60 , 85,14 , 10010,60 , 10010,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {85,71,88}, 196,3 , 13846,61 , 8,5 , 4,0 , 4050,9 , 1690,6 , 0, 0, 1, 6, 7 }, // Swahili/Latin/Uganda
+ { 114, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 698,9 , 698,9 , 53,10 , 97,16 , 228,5 , 441,16 , 10070,29 , 10099,50 , 2293,14 , 10070,29 , 10099,50 , 2293,14 , 307,2 , 275,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 189,2 , 13907,45 , 13,5 , 4,0 , 4091,7 , 4098,7 , 2, 0, 1, 6, 7 }, // Swedish/Latin/Sweden
+ { 114, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 698,9 , 698,9 , 528,10 , 97,16 , 228,5 , 441,16 , 10070,29 , 10099,50 , 2293,14 , 10070,29 , 10099,50 , 2293,14 , 307,2 , 275,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 4091,7 , 1089,7 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Finland
+ { 114, 7, 248, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 698,9 , 698,9 , 53,10 , 97,16 , 228,5 , 441,16 , 10070,29 , 10099,50 , 2293,14 , 10070,29 , 10099,50 , 2293,14 , 307,2 , 275,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8952,19 , 13,5 , 4,0 , 4091,7 , 4105,5 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Aland Islands
+ { 115, 7, 106, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Sardinian/Latin/Italy
+ { 116, 2, 209, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 553,18 , 37,5 , 8,10 , 10149,28 , 10177,55 , 10232,14 , 10149,28 , 10177,55 , 10232,14 , 309,7 , 277,7 , 45,4 , 5,17 , 22,23 , {84,74,83}, 303,4 , 13952,19 , 13,5 , 4,0 , 4110,6 , 4116,10 , 2, 1, 1, 6, 7 }, // Tajik/Cyrillic/Tajikistan
+ { 117, 27, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 707,13 , 707,13 , 269,6 , 192,18 , 382,7 , 457,12 , 10246,39 , 10285,49 , 10334,20 , 10246,39 , 10285,49 , 10334,20 , 316,8 , 284,8 , 977,7 , 5,17 , 22,23 , {73,78,82}, 121,1 , 13971,49 , 8,5 , 4,0 , 4126,5 , 4131,7 , 2, 1, 7, 7, 7 }, // Tamil/Tamil/India
+ { 117, 27, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 707,13 , 707,13 , 269,6 , 192,18 , 382,7 , 457,12 , 10246,39 , 10285,49 , 10334,20 , 10246,39 , 10285,49 , 10334,20 , 316,8 , 284,8 , 977,7 , 5,17 , 22,23 , {77,89,82}, 173,2 , 14020,61 , 8,5 , 4,0 , 4126,5 , 4138,7 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Malaysia
+ { 117, 27, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 707,13 , 707,13 , 269,6 , 192,18 , 382,7 , 457,12 , 10246,39 , 10285,49 , 10334,20 , 10246,39 , 10285,49 , 10334,20 , 316,8 , 284,8 , 977,7 , 5,17 , 22,23 , {83,71,68}, 6,1 , 14081,61 , 8,5 , 4,0 , 4126,5 , 4145,11 , 2, 1, 7, 6, 7 }, // Tamil/Tamil/Singapore
+ { 117, 27, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 707,13 , 707,13 , 269,6 , 192,18 , 37,5 , 8,10 , 10246,39 , 10285,49 , 10334,20 , 10246,39 , 10285,49 , 10334,20 , 316,8 , 284,8 , 977,7 , 5,17 , 22,23 , {76,75,82}, 307,3 , 14142,49 , 8,5 , 4,0 , 4126,5 , 4156,6 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Sri Lanka
+ { 118, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 720,9 , 720,9 , 495,10 , 1226,23 , 55,4 , 59,9 , 10354,36 , 10390,56 , 10446,14 , 10354,36 , 10390,56 , 10446,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 14191,21 , 0,4 , 4,0 , 4162,5 , 3510,6 , 2, 1, 1, 6, 7 }, // Tatar/Cyrillic/Russia
+ { 119, 28, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 729,11 , 729,11 , 339,8 , 1249,18 , 18,7 , 25,12 , 10460,32 , 10492,60 , 10552,18 , 10460,32 , 10492,60 , 10552,18 , 0,2 , 0,2 , 984,7 , 991,29 , 22,23 , {73,78,82}, 121,1 , 14212,26 , 4,4 , 4,0 , 4167,6 , 4173,8 , 2, 1, 7, 7, 7 }, // Telugu/Telugu/India
+ { 120, 30, 211, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 123,5 , 123,5 , 740,8 , 748,7 , 269,6 , 1267,19 , 37,5 , 469,28 , 10570,23 , 10593,68 , 10661,16 , 10570,23 , 10593,68 , 10661,16 , 324,10 , 292,10 , 1020,4 , 5,17 , 22,23 , {84,72,66}, 310,1 , 14238,16 , 4,4 , 4,0 , 4181,3 , 4181,3 , 2, 1, 7, 6, 7 }, // Thai/Thai/Thailand
+ { 121, 31, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1286,23 , 18,7 , 25,12 , 10677,51 , 10728,79 , 10807,27 , 10677,51 , 10728,79 , 10807,27 , 334,7 , 302,8 , 45,4 , 5,17 , 22,23 , {67,78,89}, 311,1 , 14254,13 , 8,5 , 4,0 , 4184,8 , 4192,6 , 2, 1, 7, 6, 7 }, // Tibetan/Tibetan/China
+ { 121, 31, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1286,23 , 18,7 , 25,12 , 10677,51 , 10728,79 , 10807,27 , 10677,51 , 10728,79 , 10807,27 , 334,7 , 302,8 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 14267,19 , 8,5 , 4,0 , 4184,8 , 4198,7 , 2, 1, 7, 7, 7 }, // Tibetan/Tibetan/India
+ { 122, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1309,23 , 18,7 , 25,12 , 10834,21 , 10855,29 , 10884,14 , 10834,21 , 10855,29 , 10898,14 , 341,7 , 310,7 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,2 , 14286,16 , 4,4 , 4,0 , 4205,4 , 92,5 , 2, 1, 7, 6, 7 }, // Tigrinya/Ethiopic/Ethiopia
+ { 122, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1309,23 , 18,7 , 25,12 , 10834,21 , 10855,29 , 10898,14 , 10834,21 , 10855,29 , 10898,14 , 341,7 , 310,7 , 45,4 , 5,17 , 22,23 , {69,82,78}, 41,3 , 0,7 , 4,4 , 4,0 , 4205,4 , 4209,4 , 2, 1, 1, 6, 7 }, // Tigrinya/Ethiopic/Eritrea
+ { 123, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 755,8 , 755,8 , 755,8 , 755,8 , 269,6 , 97,16 , 18,7 , 25,12 , 10912,29 , 10941,60 , 11001,14 , 10912,29 , 10941,60 , 11001,14 , 348,10 , 317,6 , 1024,5 , 1029,59 , 1088,65 , {84,79,80}, 194,2 , 14302,41 , 13,5 , 4,0 , 4213,13 , 1640,5 , 2, 1, 1, 6, 7 }, // Tongan/Latin/Tonga
+ { 124, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tsonga/Latin/South Africa
+ { 125, 7, 217, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 763,8 , 763,8 , 1332,9 , 1341,16 , 37,5 , 8,10 , 11015,28 , 11043,54 , 11097,14 , 11015,28 , 11043,54 , 11097,14 , 358,2 , 323,2 , 199,4 , 5,17 , 22,23 , {84,82,89}, 241,1 , 14343,40 , 4,4 , 4,0 , 4226,6 , 4232,7 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Turkey
+ { 125, 7, 56, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 763,8 , 763,8 , 1332,9 , 1341,16 , 18,7 , 25,12 , 11015,28 , 11043,54 , 11097,14 , 11015,28 , 11043,54 , 11097,14 , 358,2 , 323,2 , 199,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 4,4 , 4,0 , 4226,6 , 4239,6 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Cyprus
+ { 126, 7, 218, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8220, 8221, 0,6 , 0,6 , 771,8 , 771,8 , 495,10 , 1341,16 , 37,5 , 8,10 , 11111,28 , 11139,54 , 11193,14 , 11207,28 , 11235,54 , 11193,14 , 360,13 , 325,14 , 1153,4 , 5,17 , 22,23 , {84,77,84}, 312,3 , 14383,49 , 13,5 , 4,0 , 4245,12 , 4257,12 , 2, 1, 1, 6, 7 }, // Turkmen/Latin/Turkmenistan
+ { 128, 1, 44, 46, 44, 59, 37, 48, 45, 43, 101, 187, 171, 8250, 8249, 0,6 , 0,6 , 200,10 , 210,9 , 53,10 , 1357,17 , 18,7 , 25,12 , 11289,21 , 11310,55 , 11365,14 , 11289,21 , 11310,55 , 11365,14 , 373,12 , 339,12 , 45,4 , 5,17 , 22,23 , {67,78,89}, 133,1 , 14432,40 , 4,4 , 4,0 , 4269,8 , 4277,5 , 2, 1, 7, 6, 7 }, // Uighur/Arabic/China
+ { 129, 2, 222, 44, 160, 59, 37, 48, 45, 43, 1077, 171, 187, 8222, 8220, 0,6 , 0,6 , 138,7 , 138,7 , 156,8 , 1374,22 , 37,5 , 8,10 , 1427,21 , 11379,56 , 11435,14 , 1427,21 , 11379,56 , 11435,14 , 385,2 , 351,2 , 1157,5 , 680,17 , 22,23 , {85,65,72}, 280,1 , 14472,49 , 13,5 , 4,0 , 4282,10 , 4292,7 , 2, 1, 1, 6, 7 }, // Ukrainian/Cyrillic/Ukraine
+ { 130, 1, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 779,10 , 789,9 , 269,6 , 1396,18 , 18,7 , 25,12 , 11449,36 , 11449,36 , 85,14 , 11449,36 , 11449,36 , 85,14 , 0,2 , 0,2 , 1162,4 , 1166,20 , 22,23 , {80,75,82}, 175,2 , 14521,49 , 4,4 , 4,0 , 4299,4 , 3226,7 , 2, 0, 7, 6, 7 }, // Urdu/Arabic/Pakistan
+ { 130, 1, 100, 1643, 1644, 59, 37, 1776, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 798,6 , 798,6 , 269,6 , 1396,18 , 18,7 , 25,12 , 11449,36 , 11449,36 , 85,14 , 11449,36 , 11449,36 , 85,14 , 0,2 , 0,2 , 1162,4 , 1166,20 , 22,23 , {73,78,82}, 121,1 , 14570,42 , 8,5 , 4,0 , 4299,4 , 4303,5 , 2, 1, 7, 7, 7 }, // Urdu/Arabic/India
+ { 131, 7, 228, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8217, 8216, 0,6 , 0,6 , 804,8 , 804,8 , 27,8 , 1414,18 , 37,5 , 430,11 , 11485,32 , 11517,61 , 11578,14 , 11485,32 , 11517,61 , 11578,14 , 387,2 , 353,2 , 199,4 , 5,17 , 22,23 , {85,90,83}, 315,4 , 14612,58 , 13,5 , 4,0 , 4308,6 , 4314,11 , 2, 0, 1, 6, 7 }, // Uzbek/Latin/Uzbekistan
+ { 131, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 394,8 , 1432,33 , 55,4 , 430,11 , 11592,21 , 7766,49 , 85,14 , 11592,21 , 7766,49 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {65,70,78}, 256,1 , 14670,13 , 13,5 , 4,0 , 4325,6 , 3217,9 , 0, 0, 6, 4, 5 }, // Uzbek/Arabic/Afghanistan
+ { 131, 2, 228, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 696,19 , 37,5 , 87,12 , 11613,28 , 11641,53 , 11694,14 , 11613,28 , 11641,53 , 11694,14 , 389,2 , 355,2 , 45,4 , 5,17 , 22,23 , {85,90,83}, 319,3 , 14683,49 , 13,5 , 4,0 , 4331,7 , 4338,10 , 2, 0, 1, 6, 7 }, // Uzbek/Cyrillic/Uzbekistan
+ { 132, 7, 232, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 812,8 , 812,8 , 119,10 , 192,18 , 37,5 , 8,10 , 11708,33 , 11741,55 , 11796,21 , 11708,33 , 11741,55 , 11796,21 , 391,2 , 357,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 322,1 , 14732,33 , 13,5 , 4,0 , 4348,10 , 4358,8 , 0, 0, 1, 6, 7 }, // Vietnamese/Latin/Vietnam
+ { 133, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1465,23 , 37,5 , 8,10 , 11817,21 , 11838,43 , 11881,14 , 11895,28 , 11838,43 , 11881,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 4366,7 , 0,0 , 2, 1, 1, 6, 7 }, // Volapuk/Latin/World
+ { 134, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 820,11 , 831,10 , 27,8 , 10,17 , 37,5 , 8,10 , 11923,29 , 11952,77 , 12029,15 , 12044,30 , 11952,77 , 12029,15 , 393,2 , 359,2 , 1186,7 , 5,17 , 22,23 , {71,66,80}, 119,1 , 14765,92 , 4,4 , 4,0 , 4373,7 , 4380,16 , 2, 1, 1, 6, 7 }, // Welsh/Latin/United Kingdom
+ { 135, 7, 187, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 528,10 , 1488,17 , 37,5 , 8,10 , 12074,28 , 12102,50 , 12074,28 , 12074,28 , 12102,50 , 12074,28 , 395,3 , 361,3 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 14857,65 , 8,5 , 4,0 , 4396,5 , 4401,8 , 0, 0, 1, 6, 7 }, // Wolof/Latin/Senegal
+ { 136, 7, 195, 46, 160, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 12152,28 , 12180,61 , 85,14 , 12152,28 , 12180,61 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 14922,79 , 4,4 , 4,0 , 4409,8 , 4417,15 , 2, 1, 7, 6, 7 }, // Xhosa/Latin/South Africa
+ { 137, 18, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 841,9 , 841,9 , 27,8 , 1505,19 , 37,5 , 8,10 , 12241,54 , 12241,54 , 85,14 , 12241,54 , 12241,54 , 85,14 , 398,11 , 364,10 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 41,6 , 4,0 , 4432,6 , 4438,5 , 2, 1, 1, 6, 7 }, // Yiddish/Hebrew/World
+ { 138, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 1524,16 , 497,3 , 8,10 , 12295,33 , 12328,44 , 12372,14 , 12295,33 , 12386,69 , 12372,14 , 409,5 , 374,5 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 15001,35 , 4,4 , 4,0 , 4443,10 , 4453,19 , 2, 1, 1, 6, 7 }, // Yoruba/Latin/Nigeria
+ { 138, 7, 23, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 1524,16 , 497,3 , 8,10 , 12455,33 , 12488,44 , 12532,14 , 12455,33 , 12546,69 , 12532,14 , 414,5 , 379,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15036,34 , 4,4 , 4,0 , 4443,10 , 4472,16 , 0, 0, 1, 6, 7 }, // Yoruba/Latin/Benin
+ { 140, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 850,9 , 859,8 , 547,6 , 35,18 , 37,5 , 8,10 , 12615,28 , 12643,74 , 12717,14 , 12615,28 , 12643,74 , 12717,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 15070,67 , 4,4 , 4,0 , 4488,7 , 4495,17 , 2, 1, 7, 6, 7 }, // Zulu/Latin/South Africa
+ { 141, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 495,10 , 478,17 , 37,5 , 441,16 , 12731,28 , 12759,51 , 2293,14 , 12810,28 , 12759,51 , 2293,14 , 419,9 , 384,11 , 45,4 , 5,17 , 22,23 , {78,79,75}, 189,2 , 9895,44 , 13,5 , 4,0 , 4512,7 , 4519,5 , 2, 0, 1, 6, 7 }, // Norwegian Nynorsk/Latin/Norway
+ { 142, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 8216, 8217, 0,6 , 0,6 , 163,7 , 163,7 , 1540,11 , 450,19 , 37,5 , 8,10 , 2016,28 , 2044,58 , 2102,14 , 2016,28 , 2044,58 , 2116,14 , 428,10 , 395,7 , 296,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 15137,170 , 13,5 , 4,0 , 4524,8 , 630,19 , 2, 1, 1, 6, 7 }, // Bosnian/Latin/Bosnia And Herzegowina
+ { 142, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1084,7 , 1091,20 , 37,5 , 8,10 , 12838,28 , 12866,56 , 8872,14 , 12838,28 , 12866,56 , 8872,14 , 234,9 , 402,7 , 45,4 , 5,17 , 22,23 , {66,65,77}, 281,2 , 15307,151 , 13,5 , 4,0 , 4532,8 , 3607,19 , 2, 1, 1, 6, 7 }, // Bosnian/Cyrillic/Bosnia And Herzegowina
+ { 143, 29, 131, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,86,82}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 5, 6, 7 }, // Divehi/Thaana/Maldives
+ { 144, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 80,17 , 37,5 , 8,10 , 12922,30 , 12952,57 , 85,14 , 12922,30 , 12952,57 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 119,1 , 0,7 , 4,4 , 4,0 , 4540,5 , 4545,12 , 2, 1, 1, 6, 7 }, // Manx/Latin/Isle Of Man
+ { 145, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 97,16 , 37,5 , 8,10 , 13009,28 , 13037,61 , 85,14 , 13009,28 , 13037,61 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 119,1 , 0,7 , 4,4 , 4,0 , 4557,8 , 4565,14 , 2, 1, 1, 6, 7 }, // Cornish/Latin/United Kingdom
+ { 146, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1551,8 , 1559,18 , 18,7 , 25,12 , 13098,28 , 13126,49 , 13175,14 , 13098,28 , 13126,49 , 13175,14 , 438,2 , 409,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 15458,17 , 4,4 , 4,0 , 4579,4 , 4583,5 , 2, 1, 1, 6, 7 }, // Akan/Latin/Ghana
+ { 147, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1577,6 , 97,16 , 18,7 , 25,12 , 13189,49 , 13189,49 , 13238,20 , 13189,49 , 13189,49 , 13238,20 , 187,5 , 411,5 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 15475,13 , 8,5 , 4,0 , 4588,6 , 2667,4 , 2, 1, 7, 7, 7 }, // Konkani/Devanagari/India
+ { 148, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Ga/Latin/Ghana
+ { 149, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 867,9 , 690,8 , 269,6 , 10,17 , 37,5 , 8,10 , 13258,33 , 13291,58 , 85,14 , 13258,33 , 13291,58 , 85,14 , 440,7 , 416,7 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 15488,12 , 4,4 , 4,0 , 4594,10 , 4604,8 , 2, 1, 1, 6, 7 }, // Igbo/Latin/Nigeria
+ { 150, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 13349,28 , 13377,74 , 13451,14 , 13349,28 , 13377,74 , 13451,14 , 447,9 , 423,7 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15500,23 , 4,4 , 4,0 , 4612,7 , 1192,5 , 2, 1, 7, 6, 7 }, // Kamba/Latin/Kenya
+ { 151, 33, 103, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,81,68}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 6, 5, 6 }, // Syriac/Syriac/Iraq
+ { 152, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Blin/Ethiopic/Eritrea
+ { 153, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Geez/Ethiopic/Ethiopia
+ { 155, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Sidamo/Latin/Ethiopia
+ { 156, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Atsam/Latin/Nigeria
+ { 157, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Tigre/Ethiopic/Eritrea
+ { 158, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Jju/Latin/Nigeria
+ { 159, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 1583,27 , 37,5 , 8,10 , 13465,28 , 13493,50 , 3080,14 , 13465,28 , 13493,50 , 3080,14 , 456,2 , 430,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 8,5 , 4,0 , 4619,6 , 4625,6 , 2, 1, 1, 6, 7 }, // Friulian/Latin/Italy
+ { 160, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Venda/Latin/South Africa
+ { 161, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 876,11 , 887,10 , 547,6 , 1610,23 , 500,12 , 512,17 , 13543,28 , 13571,44 , 13615,14 , 13543,28 , 13571,44 , 13615,14 , 458,3 , 432,5 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 15523,37 , 4,4 , 4,0 , 4631,6 , 4637,12 , 2, 1, 1, 6, 7 }, // Ewe/Latin/Ghana
+ { 161, 7, 212, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 876,11 , 887,10 , 547,6 , 1610,23 , 37,5 , 8,10 , 13543,28 , 13571,44 , 13615,14 , 13543,28 , 13571,44 , 13615,14 , 458,3 , 432,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15560,106 , 4,4 , 4,0 , 4631,6 , 4649,11 , 0, 0, 1, 6, 7 }, // Ewe/Latin/Togo
+ { 162, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Walamo/Ethiopic/Ethiopia
+ { 163, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 269,6 , 10,17 , 18,7 , 25,12 , 13629,21 , 13650,57 , 85,14 , 13629,21 , 13650,57 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 4,4 , 4,0 , 4660,14 , 4674,19 , 2, 1, 7, 6, 7 }, // Hawaiian/Latin/United States
+ { 164, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Tyap/Latin/Nigeria
+ { 165, 7, 129, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,87,75}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Nyanja/Latin/Malawi
+ { 166, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 897,9 , 906,8 , 547,6 , 35,18 , 18,7 , 25,12 , 13707,28 , 13735,55 , 13707,28 , 13707,28 , 13735,55 , 13707,28 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 178,1 , 15666,58 , 4,4 , 4,0 , 4693,8 , 4701,9 , 2, 1, 7, 6, 7 }, // Filipino/Latin/Philippines
+ { 167, 7, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 13790,28 , 13818,63 , 3668,14 , 13790,28 , 13818,63 , 3668,14 , 461,12 , 437,11 , 45,4 , 5,17 , 22,23 , {67,72,70}, 225,3 , 15724,55 , 13,5 , 4,0 , 4710,16 , 4726,7 , 2, 0, 1, 6, 7 }, // Swiss German/Latin/Switzerland
+ { 167, 7, 74, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 13790,28 , 13818,63 , 3668,14 , 13790,28 , 13818,63 , 3668,14 , 461,12 , 437,11 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 4710,16 , 4733,10 , 2, 1, 1, 6, 7 }, // Swiss German/Latin/France
+ { 167, 7, 123, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 269,9 , 269,9 , 156,8 , 622,18 , 37,5 , 8,10 , 13790,28 , 13818,63 , 3668,14 , 13790,28 , 13818,63 , 3668,14 , 461,12 , 437,11 , 45,4 , 5,17 , 22,23 , {67,72,70}, 225,3 , 15724,55 , 13,5 , 4,0 , 4710,16 , 4743,13 , 2, 0, 1, 6, 7 }, // Swiss German/Latin/Liechtenstein
+ { 168, 34, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 13881,21 , 13902,28 , 13930,14 , 13881,21 , 13902,28 , 13930,14 , 473,2 , 448,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 311,1 , 0,7 , 8,5 , 4,0 , 4756,3 , 4759,2 , 2, 1, 7, 6, 7 }, // Sichuan Yi/Yi/China
+ { 169, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Kpelle/Latin/Liberia
+ { 170, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 461,8 , 461,8 , 365,7 , 1633,23 , 529,10 , 539,19 , 13944,28 , 13972,65 , 3668,14 , 13944,28 , 13972,65 , 3668,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 15779,15 , 13,5 , 4,0 , 4761,14 , 4775,11 , 2, 1, 1, 6, 7 }, // Low German/Latin/Germany
+ { 170, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 461,8 , 461,8 , 365,7 , 1633,23 , 529,10 , 539,19 , 13944,28 , 13972,65 , 3668,14 , 13944,28 , 13972,65 , 3668,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 15779,15 , 13,5 , 4,0 , 4761,14 , 4786,12 , 2, 1, 1, 6, 7 }, // Low German/Latin/Netherlands
+ { 171, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // South Ndebele/Latin/South Africa
+ { 172, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Northern Sotho/Latin/South Africa
+ { 173, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 53,10 , 63,17 , 37,5 , 8,10 , 14037,33 , 14070,75 , 14145,14 , 14037,33 , 14070,75 , 14145,14 , 475,11 , 450,13 , 45,4 , 5,17 , 22,23 , {78,79,75}, 189,2 , 15794,63 , 13,5 , 4,0 , 4798,15 , 4813,5 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Norway
+ { 173, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 495,10 , 97,16 , 37,5 , 8,10 , 14159,21 , 14180,70 , 14250,14 , 14159,21 , 14180,70 , 14250,14 , 486,2 , 463,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 15857,23 , 13,5 , 4,0 , 4798,15 , 4818,6 , 2, 1, 1, 6, 7 }, // Northern Sami/Latin/Finland
+ { 173, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 53,10 , 63,17 , 37,5 , 8,10 , 14037,33 , 14070,75 , 14145,14 , 14037,33 , 14070,75 , 14145,14 , 475,11 , 450,13 , 45,4 , 5,17 , 22,23 , {83,69,75}, 189,2 , 15880,63 , 13,5 , 4,0 , 4798,15 , 4824,6 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Sweden
+ { 174, 7, 208, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {84,87,68}, 323,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Taroko/Latin/Taiwan
+ { 175, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14264,28 , 14292,62 , 14354,14 , 14264,28 , 14292,62 , 14354,14 , 488,6 , 465,3 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15943,24 , 4,4 , 4,0 , 4830,8 , 1192,5 , 2, 1, 7, 6, 7 }, // Gusii/Latin/Kenya
+ { 176, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14368,28 , 14396,105 , 14501,14 , 14368,28 , 14396,105 , 14501,14 , 494,10 , 468,10 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15943,24 , 4,4 , 4,0 , 4838,7 , 1192,5 , 2, 1, 7, 6, 7 }, // Taita/Latin/Kenya
+ { 177, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15967,26 , 13,5 , 4,0 , 4845,6 , 4401,8 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Senegal
+ { 177, 7, 34, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15967,26 , 13,5 , 4,0 , 4845,6 , 4851,14 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Burkina Faso
+ { 177, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 15993,25 , 13,5 , 4,0 , 4845,6 , 4865,8 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Cameroon
+ { 177, 7, 80, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {71,77,68}, 162,1 , 16018,20 , 13,5 , 4,0 , 4845,6 , 4873,6 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Gambia
+ { 177, 7, 83, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 0,7 , 13,5 , 4,0 , 4845,6 , 4879,5 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Ghana
+ { 177, 7, 91, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {71,78,70}, 215,2 , 0,7 , 13,5 , 4,0 , 4845,6 , 4884,4 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Guinea
+ { 177, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15967,26 , 13,5 , 4,0 , 4845,6 , 4888,12 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Guinea Bissau
+ { 177, 7, 121, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 16038,23 , 13,5 , 4,0 , 4845,6 , 4900,9 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Liberia
+ { 177, 7, 136, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {77,82,85}, 218,2 , 16061,22 , 13,5 , 4,0 , 4845,6 , 4909,8 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Mauritania
+ { 177, 7, 156, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 15967,26 , 13,5 , 4,0 , 4845,6 , 4917,6 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Niger
+ { 177, 7, 157, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {78,71,78}, 177,1 , 16083,23 , 13,5 , 4,0 , 4845,6 , 4923,9 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Nigeria
+ { 177, 7, 189, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14515,28 , 14543,59 , 14602,14 , 14515,28 , 14543,59 , 14602,14 , 504,6 , 478,7 , 45,4 , 5,17 , 22,23 , {83,76,76}, 186,2 , 16106,25 , 13,5 , 4,0 , 4845,6 , 4932,11 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Sierra Leone
+ { 177, 134, 91, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,78,70}, 215,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Fulah/Adlam/Guinea
+ { 178, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14616,28 , 14644,63 , 14707,14 , 14616,28 , 14644,63 , 14707,14 , 510,6 , 485,8 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16131,23 , 4,4 , 4,0 , 4943,6 , 1192,5 , 2, 1, 7, 6, 7 }, // Kikuyu/Latin/Kenya
+ { 179, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14721,28 , 14749,105 , 14854,14 , 14721,28 , 14749,105 , 14854,14 , 516,7 , 493,5 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16154,25 , 4,4 , 4,0 , 4949,8 , 1192,5 , 2, 1, 7, 6, 7 }, // Samburu/Latin/Kenya
+ { 180, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 669,27 , 37,5 , 8,10 , 14868,28 , 14896,55 , 14951,14 , 14868,28 , 14896,55 , 14951,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,90,78}, 266,3 , 16179,28 , 0,4 , 4,0 , 4957,4 , 3357,10 , 2, 1, 7, 6, 7 }, // Sena/Latin/Mozambique
+ { 181, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14965,28 , 14993,50 , 15043,14 , 14965,28 , 14993,50 , 15043,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 155,3 , 16207,24 , 4,4 , 4,0 , 4961,10 , 1820,8 , 2, 1, 7, 6, 7 }, // North Ndebele/Latin/Zimbabwe
+ { 182, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15057,29 , 15086,65 , 15151,14 , 15057,29 , 15086,65 , 15151,14 , 523,8 , 498,7 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16231,25 , 4,4 , 4,0 , 4971,9 , 1625,8 , 2, 0, 1, 6, 7 }, // Rombo/Latin/Tanzania
+ { 183, 9, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15165,30 , 15195,47 , 85,14 , 15165,30 , 15195,47 , 85,14 , 531,6 , 505,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16256,21 , 0,4 , 4,0 , 4980,7 , 4987,6 , 2, 1, 1, 6, 7 }, // Tachelhit/Tifinagh/Morocco
+ { 183, 7, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15242,30 , 15272,48 , 85,14 , 15242,30 , 15272,48 , 85,14 , 537,6 , 513,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16277,21 , 0,4 , 4,0 , 4993,10 , 5003,6 , 2, 1, 1, 6, 7 }, // Tachelhit/Latin/Morocco
+ { 184, 7, 3, 44, 160, 59, 37, 48, 45, 43, 122, 171, 187, 8220, 8221, 0,6 , 0,6 , 914,12 , 926,11 , 415,8 , 97,16 , 18,7 , 25,12 , 15320,28 , 15348,34 , 15382,14 , 15396,30 , 15426,51 , 15477,14 , 543,7 , 521,9 , 1193,7 , 1200,21 , 22,23 , {68,90,68}, 204,2 , 16298,53 , 0,4 , 4,0 , 5009,9 , 5018,8 , 2, 1, 6, 5, 6 }, // Kabyle/Latin/Algeria
+ { 185, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15491,28 , 15519,74 , 15593,14 , 15491,28 , 15519,74 , 15593,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16351,26 , 4,4 , 4,0 , 5026,10 , 1690,6 , 0, 0, 1, 6, 7 }, // Nyankole/Latin/Uganda
+ { 186, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15607,28 , 15635,82 , 15717,14 , 15607,28 , 15635,82 , 15717,14 , 550,7 , 530,7 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16377,29 , 0,4 , 4,0 , 5036,6 , 5042,10 , 2, 0, 1, 6, 7 }, // Bena/Latin/Tanzania
+ { 187, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15731,28 , 15759,62 , 15821,14 , 15731,28 , 15759,62 , 15821,14 , 557,5 , 537,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16406,27 , 4,4 , 4,0 , 5052,8 , 1625,8 , 2, 0, 1, 6, 7 }, // Vunjo/Latin/Tanzania
+ { 188, 7, 132, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15835,28 , 15863,44 , 15907,14 , 15835,28 , 15863,44 , 15907,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16433,24 , 4,4 , 4,0 , 5060,9 , 2189,4 , 0, 0, 1, 6, 7 }, // Bambara/Latin/Mali
+ { 188, 75, 132, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Bambara/Nko/Mali
+ { 189, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15921,28 , 15949,64 , 16013,14 , 15921,28 , 15949,64 , 16013,14 , 562,2 , 546,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15943,24 , 4,4 , 4,0 , 5069,6 , 1192,5 , 2, 1, 7, 6, 7 }, // Embu/Latin/Kenya
+ { 190, 12, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 937,9 , 946,8 , 547,6 , 35,18 , 18,7 , 25,12 , 16027,28 , 16055,49 , 16104,14 , 16027,28 , 16055,49 , 16104,14 , 564,3 , 548,6 , 1221,6 , 5,17 , 22,23 , {85,83,68}, 6,1 , 16457,25 , 4,4 , 4,0 , 5075,3 , 5078,15 , 2, 1, 7, 6, 7 }, // Cherokee/Cherokee/United States
+ { 191, 7, 137, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 16118,27 , 16145,48 , 16193,14 , 16118,27 , 16145,48 , 16193,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,85,82}, 175,2 , 16482,21 , 41,6 , 4,0 , 5093,14 , 5107,5 , 2, 0, 1, 6, 7 }, // Morisyen/Latin/Mauritius
+ { 192, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16207,28 , 16235,133 , 15151,14 , 16207,28 , 16235,133 , 15151,14 , 567,4 , 554,5 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16406,27 , 4,4 , 4,0 , 5112,10 , 1625,8 , 2, 0, 1, 6, 7 }, // Makonde/Latin/Tanzania
+ { 193, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16368,36 , 16404,63 , 16467,14 , 16368,36 , 16404,63 , 16467,14 , 571,3 , 559,3 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16503,29 , 41,6 , 4,0 , 5122,8 , 5130,9 , 2, 0, 1, 6, 7 }, // Langi/Latin/Tanzania
+ { 194, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16481,28 , 16509,66 , 16575,14 , 16481,28 , 16509,66 , 16575,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16532,26 , 0,4 , 4,0 , 5139,7 , 5146,7 , 0, 0, 1, 6, 7 }, // Ganda/Latin/Uganda
+ { 195, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 16589,80 , 16589,80 , 85,14 , 16589,80 , 16589,80 , 85,14 , 574,8 , 562,7 , 45,4 , 5,17 , 22,23 , {90,77,87}, 131,1 , 0,7 , 4,4 , 4,0 , 5153,9 , 1814,6 , 2, 1, 1, 6, 7 }, // Bemba/Latin/Zambia
+ { 196, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 163,7 , 163,7 , 415,8 , 1656,27 , 37,5 , 8,10 , 16669,28 , 16697,73 , 16770,14 , 16669,28 , 16784,73 , 16770,14 , 68,2 , 65,2 , 45,4 , 5,17 , 22,23 , {67,86,69}, 265,1 , 16558,43 , 13,5 , 4,0 , 5162,12 , 5174,10 , 2, 1, 1, 6, 7 }, // Kabuverdianu/Latin/Cape Verde
+ { 197, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16857,28 , 16885,51 , 16936,14 , 16857,28 , 16885,51 , 16936,14 , 582,2 , 569,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15943,24 , 4,4 , 4,0 , 5184,6 , 1192,5 , 2, 1, 7, 6, 7 }, // Meru/Latin/Kenya
+ { 198, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16950,28 , 16978,53 , 17031,14 , 16950,28 , 16978,53 , 17031,14 , 584,6 , 571,10 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16601,26 , 4,4 , 4,0 , 5190,8 , 5198,12 , 2, 1, 7, 6, 7 }, // Kalenjin/Latin/Kenya
+ { 199, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 17045,23 , 17068,92 , 17160,14 , 17045,23 , 17068,92 , 17160,14 , 590,7 , 581,5 , 45,4 , 5,17 , 22,23 , {78,65,68}, 6,1 , 16627,22 , 4,4 , 4,0 , 5210,13 , 5223,8 , 2, 1, 1, 6, 7 }, // Nama/Latin/Namibia
+ { 200, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15731,28 , 15759,62 , 15821,14 , 15731,28 , 15759,62 , 15821,14 , 557,5 , 537,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16406,27 , 4,4 , 4,0 , 5231,9 , 1625,8 , 2, 0, 1, 6, 7 }, // Machame/Latin/Tanzania
+ { 201, 7, 82, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 461,8 , 461,8 , 1134,10 , 1683,23 , 37,5 , 8,10 , 17174,28 , 17202,72 , 3668,14 , 17174,28 , 17202,72 , 3668,14 , 597,16 , 586,16 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16649,11 , 13,5 , 4,0 , 5240,6 , 5246,11 , 2, 1, 1, 6, 7 }, // Colognian/Latin/Germany
+ { 202, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15731,28 , 17274,58 , 15151,14 , 15731,28 , 17274,58 , 15151,14 , 613,9 , 602,6 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16660,25 , 4,4 , 4,0 , 5257,3 , 1192,5 , 2, 1, 7, 6, 7 }, // Masai/Latin/Kenya
+ { 202, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15731,28 , 17274,58 , 15151,14 , 15731,28 , 17274,58 , 15151,14 , 613,9 , 602,6 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16685,28 , 4,4 , 4,0 , 5257,3 , 5260,8 , 2, 0, 1, 6, 7 }, // Masai/Latin/Tanzania
+ { 203, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17332,35 , 17367,65 , 17432,14 , 17332,35 , 17367,65 , 17432,14 , 622,6 , 608,6 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16532,26 , 13,5 , 4,0 , 5268,7 , 5146,7 , 0, 0, 1, 6, 7 }, // Soga/Latin/Uganda
+ { 204, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17446,21 , 17467,75 , 85,14 , 17446,21 , 17467,75 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16713,23 , 4,4 , 96,6 , 5275,7 , 1192,5 , 2, 1, 7, 6, 7 }, // Luyia/Latin/Kenya
+ { 205, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17542,28 , 10010,60 , 15821,14 , 17542,28 , 10010,60 , 15821,14 , 628,9 , 614,8 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16736,28 , 13,5 , 4,0 , 5282,6 , 5288,8 , 2, 0, 1, 6, 7 }, // Asu/Latin/Tanzania
+ { 206, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17570,28 , 17598,69 , 17667,14 , 17570,28 , 17598,69 , 17667,14 , 637,9 , 622,6 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16764,28 , 4,4 , 4,0 , 5296,6 , 1690,6 , 0, 0, 1, 6, 7 }, // Teso/Latin/Uganda
+ { 206, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17570,28 , 17598,69 , 17667,14 , 17570,28 , 17598,69 , 17667,14 , 637,9 , 622,6 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16792,27 , 4,4 , 4,0 , 5296,6 , 5302,5 , 2, 1, 7, 6, 7 }, // Teso/Latin/Kenya
+ { 207, 7, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Saho/Latin/Eritrea
+ { 208, 7, 132, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 17681,28 , 17709,53 , 17762,14 , 17681,28 , 17709,53 , 17762,14 , 646,6 , 628,6 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16819,23 , 0,4 , 4,0 , 5307,11 , 5318,5 , 0, 0, 1, 6, 7 }, // Koyra Chiini/Latin/Mali
+ { 209, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15731,28 , 15759,62 , 15821,14 , 15731,28 , 15759,62 , 15821,14 , 557,5 , 537,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16406,27 , 0,4 , 4,0 , 5323,6 , 1625,8 , 2, 0, 1, 6, 7 }, // Rwa/Latin/Tanzania
+ { 210, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17776,28 , 17804,69 , 17873,14 , 17776,28 , 17804,69 , 17873,14 , 652,2 , 634,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16842,23 , 0,4 , 4,0 , 5329,6 , 1192,5 , 2, 1, 7, 6, 7 }, // Luo/Latin/Kenya
+ { 211, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15491,28 , 15519,74 , 15593,14 , 15491,28 , 15519,74 , 15593,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 196,3 , 16351,26 , 4,4 , 4,0 , 5335,6 , 1690,6 , 0, 0, 1, 6, 7 }, // Chiga/Latin/Uganda
+ { 212, 7, 145, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17887,28 , 17915,48 , 17963,14 , 17887,28 , 17915,48 , 17963,14 , 654,9 , 636,10 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16865,22 , 13,5 , 4,0 , 5341,17 , 5358,6 , 2, 1, 1, 6, 7 }, // Central Morocco Tamazight/Latin/Morocco
+ { 213, 7, 132, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 17977,28 , 18005,54 , 17762,14 , 17977,28 , 18005,54 , 17762,14 , 646,6 , 628,6 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16819,23 , 0,4 , 4,0 , 5364,15 , 5318,5 , 0, 0, 1, 6, 7 }, // Koyraboro Senni/Latin/Mali
+ { 214, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 18059,28 , 18087,63 , 18150,14 , 18059,28 , 18087,63 , 18150,14 , 663,5 , 646,8 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 16887,27 , 0,4 , 4,0 , 5379,9 , 1625,8 , 2, 0, 1, 6, 7 }, // Shambala/Latin/Tanzania
+ { 215, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 18164,33 , 18197,54 , 18251,19 , 18164,33 , 18197,54 , 18251,19 , 668,3 , 654,6 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 16914,10 , 8,5 , 4,0 , 5388,4 , 2667,4 , 2, 1, 7, 7, 7 }, // Bodo/Devanagari/India
+ { 218, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 18270,25 , 18295,45 , 18340,17 , 18270,25 , 18295,45 , 18270,25 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 16924,43 , 13,5 , 4,0 , 5392,7 , 5399,5 , 2, 1, 1, 6, 7 }, // Chechen/Cyrillic/Russia
+ { 219, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 954,8 , 954,8 , 1010,10 , 1706,23 , 37,5 , 8,10 , 18357,37 , 18394,68 , 11435,14 , 18357,37 , 18394,68 , 11435,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 16967,44 , 13,5 , 4,0 , 5404,19 , 5423,7 , 2, 1, 1, 6, 7 }, // Church/Cyrillic/Russia
+ { 220, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Chuvash/Cyrillic/Russia
+ { 230, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18462,28 , 18490,50 , 18540,14 , 18462,28 , 18490,50 , 18540,14 , 671,5 , 660,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 209,2 , 17011,24 , 0,4 , 4,0 , 5430,8 , 5438,16 , 2, 1, 1, 6, 7 }, // Luba Katanga/Latin/Congo Kinshasa
+ { 231, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 962,10 , 962,10 , 156,8 , 622,18 , 37,5 , 8,10 , 18554,28 , 18582,65 , 3668,14 , 18647,35 , 18582,65 , 3668,14 , 676,5 , 666,8 , 462,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8439,19 , 13,5 , 4,0 , 5454,14 , 5468,10 , 2, 1, 1, 6, 7 }, // Luxembourgish/Latin/Luxembourg
+ { 236, 7, 21, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Walloon/Latin/Belgium
+ { 237, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18682,28 , 18710,72 , 18782,14 , 18682,28 , 18710,72 , 18782,14 , 681,3 , 674,3 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17035,21 , 0,4 , 4,0 , 5478,5 , 5483,7 , 0, 0, 1, 6, 7 }, // Aghem/Latin/Cameroon
+ { 238, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18796,28 , 18824,70 , 18894,14 , 18796,28 , 18824,70 , 18894,14 , 684,10 , 677,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17056,22 , 13,5 , 4,0 , 5490,5 , 5495,8 , 0, 0, 1, 6, 7 }, // Basaa/Latin/Cameroon
+ { 239, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 17977,28 , 18908,53 , 18961,14 , 17977,28 , 18908,53 , 18961,14 , 694,8 , 686,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16819,23 , 0,4 , 4,0 , 5503,10 , 5513,5 , 0, 0, 1, 6, 7 }, // Zarma/Latin/Niger
+ { 240, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18975,28 , 19003,45 , 19048,14 , 18975,28 , 19003,45 , 19048,14 , 702,5 , 696,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 13,5 , 4,0 , 5518,5 , 1986,8 , 0, 0, 1, 6, 7 }, // Duala/Latin/Cameroon
+ { 241, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19062,28 , 19090,50 , 19140,14 , 19062,28 , 19090,50 , 19140,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 17078,23 , 13,5 , 4,0 , 5523,5 , 5528,7 , 0, 0, 1, 6, 7 }, // Jola Fonyi/Latin/Senegal
+ { 242, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19154,30 , 19184,85 , 19269,14 , 19154,30 , 19184,85 , 19269,14 , 707,7 , 702,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17101,23 , 13,5 , 4,0 , 5535,6 , 5541,7 , 0, 0, 1, 6, 7 }, // Ewondo/Latin/Cameroon
+ { 243, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19283,29 , 19312,45 , 19357,14 , 19283,29 , 19312,45 , 19357,14 , 714,6 , 711,7 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17124,11 , 13,5 , 4,0 , 5548,5 , 5553,7 , 0, 0, 1, 6, 7 }, // Bafia/Latin/Cameroon
+ { 244, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19371,28 , 19399,59 , 19458,14 , 19371,28 , 19399,59 , 19458,14 , 720,8 , 718,10 , 45,4 , 5,17 , 22,23 , {77,90,78}, 266,3 , 0,7 , 41,6 , 4,0 , 5560,5 , 5565,10 , 2, 1, 7, 6, 7 }, // Makhuwa Meetto/Latin/Mozambique
+ { 245, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19472,28 , 19500,74 , 19574,14 , 19472,28 , 19500,74 , 19574,14 , 728,5 , 728,5 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17135,17 , 4,4 , 4,0 , 5575,6 , 5581,7 , 0, 0, 1, 6, 7 }, // Mundang/Latin/Cameroon
+ { 246, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19588,30 , 19618,89 , 19707,14 , 19588,30 , 19618,89 , 19707,14 , 733,4 , 733,4 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17152,20 , 13,5 , 4,0 , 5588,6 , 5594,7 , 0, 0, 1, 6, 7 }, // Kwasio/Latin/Cameroon
+ { 247, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 538,9 , 97,16 , 18,7 , 558,12 , 19721,38 , 19759,79 , 19838,14 , 19721,38 , 19759,79 , 19838,14 , 737,2 , 737,2 , 45,4 , 5,17 , 22,23 , {83,83,80}, 119,1 , 0,7 , 4,4 , 4,0 , 5601,9 , 0,0 , 2, 1, 1, 6, 7 }, // Nuer/Latin/South Sudan
+ { 248, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 972,11 , 972,11 , 227,6 , 1729,30 , 37,5 , 8,10 , 19852,21 , 19873,71 , 19944,14 , 19852,21 , 19873,71 , 19944,14 , 739,2 , 739,2 , 1227,5 , 1232,17 , 22,23 , {82,85,66}, 123,1 , 17172,47 , 13,5 , 4,0 , 5610,9 , 5619,9 , 2, 1, 1, 6, 7 }, // Sakha/Cyrillic/Russia
+ { 249, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19958,28 , 19986,60 , 20046,14 , 19958,28 , 19986,60 , 20046,14 , 741,9 , 741,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 191,3 , 17219,25 , 0,4 , 4,0 , 5628,9 , 5637,9 , 2, 0, 1, 6, 7 }, // Sangu/Latin/Tanzania
+ { 251, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 17977,28 , 18005,54 , 17762,14 , 17977,28 , 18005,54 , 17762,14 , 694,8 , 686,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 206,3 , 16819,23 , 0,4 , 4,0 , 5646,13 , 5513,5 , 0, 0, 1, 6, 7 }, // Tasawaq/Latin/Niger
+ { 252, 35, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 20060,30 , 20060,30 , 85,14 , 20060,30 , 20060,30 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 17244,15 , 4,4 , 4,0 , 5659,2 , 5661,4 , 2, 1, 1, 6, 7 }, // Vai/Vai/Liberia
+ { 252, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 20090,48 , 20090,48 , 85,14 , 20090,48 , 20090,48 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 17259,20 , 4,4 , 4,0 , 5665,3 , 5668,8 , 2, 1, 1, 6, 7 }, // Vai/Latin/Liberia
+ { 253, 7, 206, 44, 8217, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 269,9 , 269,9 , 53,10 , 622,18 , 37,5 , 8,10 , 20138,28 , 20166,53 , 20219,14 , 20138,28 , 20166,53 , 20219,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 0,0 , 0,7 , 41,6 , 4,0 , 5676,6 , 5682,6 , 2, 0, 1, 6, 7 }, // Walser/Latin/Switzerland
+ { 254, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 20233,21 , 20254,71 , 20325,14 , 20233,21 , 20254,71 , 20325,14 , 750,8 , 750,8 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 13,5 , 4,0 , 5688,6 , 5694,7 , 0, 0, 1, 6, 7 }, // Yangben/Latin/Cameroon
+ { 256, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 683,7 , 683,7 , 269,6 , 372,22 , 37,5 , 8,10 , 20339,28 , 20367,54 , 3364,14 , 20339,28 , 20367,54 , 3364,14 , 758,12 , 758,11 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 5701,9 , 2432,6 , 2, 1, 1, 6, 7 }, // Asturian/Latin/Spain
+ { 257, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 983,11 , 983,11 , 994,16 , 1010,9 , 53,10 , 1559,18 , 37,5 , 8,10 , 20421,60 , 20421,60 , 20481,25 , 20421,60 , 20421,60 , 20481,25 , 770,8 , 769,13 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17279,12 , 8,5 , 4,0 , 5710,5 , 5715,7 , 0, 0, 1, 6, 7 }, // Ngomba/Latin/Cameroon
+ { 258, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 1759,10 , 80,17 , 37,5 , 8,10 , 20506,54 , 20506,54 , 20560,21 , 20506,54 , 20506,54 , 20560,21 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17291,16 , 41,6 , 4,0 , 5722,4 , 5726,7 , 0, 0, 1, 6, 7 }, // Kako/Latin/Cameroon
+ { 259, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1559,18 , 37,5 , 8,10 , 20581,49 , 20581,49 , 20630,21 , 20581,49 , 20581,49 , 20630,21 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17307,12 , 8,5 , 4,0 , 5733,5 , 5738,7 , 0, 0, 1, 6, 7 }, // Meta/Latin/Cameroon
+ { 260, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1769,32 , 37,5 , 8,10 , 20651,111 , 20651,111 , 85,14 , 20651,111 , 20651,111 , 85,14 , 778,9 , 782,8 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17319,16 , 8,5 , 4,0 , 5745,16 , 5761,7 , 0, 0, 1, 6, 7 }, // Ngiemboon/Latin/Cameroon
+ { 290, 11, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Manipuri/Bengali/India
+ { 309, 100, 232, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 322,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Tai Dam/Tai Viet/Vietnam
+ { 312, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Akoose/Latin/Cameroon
+ { 313, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 20762,87 , 20762,87 , 85,14 , 20762,87 , 20762,87 , 20849,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 41,6 , 4,0 , 5768,12 , 5780,22 , 2, 1, 7, 6, 7 }, // Lakota/Latin/United States
+ { 314, 9, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15165,30 , 20863,48 , 85,14 , 15165,30 , 20863,48 , 85,14 , 531,6 , 505,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16256,21 , 0,4 , 4,0 , 5802,8 , 4987,6 , 2, 1, 1, 6, 7 }, // Standard Moroccan Tamazight/Tifinagh/Morocco
+ { 315, 7, 43, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,76,80}, 6,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Mapuche/Latin/Chile
+ { 316, 1, 103, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 20911,58 , 20911,58 , 20969,14 , 20911,58 , 20911,58 , 20969,14 , 787,3 , 790,3 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 17335,20 , 13,5 , 4,0 , 5810,14 , 5824,5 , 0, 0, 6, 5, 6 }, // Central Kurdish/Arabic/Iraq
+ { 316, 1, 102, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 20911,58 , 20911,58 , 20969,14 , 20911,58 , 20911,58 , 20969,14 , 787,3 , 790,3 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 17355,19 , 13,5 , 4,0 , 5810,14 , 5829,5 , 0, 0, 6, 5, 5 }, // Central Kurdish/Arabic/Iran
+ { 317, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 113,6 , 622,18 , 55,4 , 59,9 , 20983,28 , 21011,53 , 21064,14 , 20983,28 , 21011,53 , 21064,14 , 790,9 , 793,10 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17374,27 , 13,5 , 4,0 , 5834,14 , 5848,6 , 2, 1, 1, 6, 7 }, // Lower Sorbian/Latin/Germany
+ { 318, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 113,6 , 622,18 , 570,12 , 59,9 , 21078,28 , 21106,53 , 21159,14 , 21078,28 , 21106,53 , 21159,14 , 790,9 , 803,9 , 1249,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17401,29 , 13,5 , 4,0 , 5854,15 , 5869,6 , 2, 1, 1, 6, 7 }, // Upper Sorbian/Latin/Germany
+ { 319, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Kenyang/Latin/Cameroon
+ { 320, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Mohawk/Latin/Canada
+ { 321, 75, 91, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,78,70}, 215,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Nko/Nko/Guinea
+ { 322, 7, 260, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 1019,8 , 1019,8 , 156,8 , 1801,27 , 37,5 , 8,10 , 21173,28 , 21201,69 , 21270,14 , 21173,28 , 21201,69 , 21270,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 13,5 , 4,0 , 5875,9 , 5884,6 , 2, 1, 1, 6, 7 }, // Prussian/Latin/World
+ { 323, 7, 90, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,84,81}, 290,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Kiche/Latin/Guatemala
+ { 324, 7, 205, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 189,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 1, 6, 7 }, // Southern Sami/Latin/Sweden
+ { 325, 7, 205, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 189,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 1, 6, 7 }, // Lule Sami/Latin/Sweden
+ { 326, 7, 73, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 640,8 , 1828,18 , 243,4 , 247,9 , 21284,28 , 21312,70 , 85,14 , 21284,28 , 21382,73 , 21455,14 , 799,3 , 812,3 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17430,11 , 13,5 , 4,0 , 5890,11 , 5901,5 , 2, 1, 1, 6, 7 }, // Inari Sami/Latin/Finland
+ { 327, 7, 73, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Skolt Sami/Latin/Finland
+ { 328, 7, 13, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {65,85,68}, 326,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Warlpiri/Latin/Australia
+ { 346, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 726,4 , 1254,39 , 22,23 , {73,82,82}, 328,3 , 17441,27 , 8,5 , 4,0 , 5906,7 , 3238,5 , 0, 0, 6, 5, 5 }, // Mazanderani/Arabic/Iran
+ { 349, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 5913,11 , 0,0 , 0, 0, 6, 5, 5 }, // Northern Luri/Arabic/Iran
+ { 349, 1, 103, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 0,7 , 8,5 , 4,0 , 5913,11 , 0,0 , 0, 0, 6, 5, 6 }, // Northern Luri/Arabic/Iraq
+ { 357, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 1027,5 , 1027,5 , 394,8 , 423,14 , 198,6 , 215,13 , 1953,28 , 1953,28 , 1981,14 , 1953,28 , 1953,28 , 1981,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {72,75,68}, 166,3 , 17468,11 , 4,4 , 4,0 , 5924,2 , 5926,14 , 2, 1, 7, 6, 7 }, // Cantonese/Traditional Han/Hong Kong
+ { 357, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 1027,5 , 1027,5 , 394,8 , 402,13 , 198,6 , 204,11 , 1932,21 , 1953,28 , 1981,14 , 1932,21 , 1953,28 , 1981,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 133,1 , 3122,13 , 4,4 , 4,0 , 5940,2 , 5942,7 , 2, 1, 7, 6, 7 }, // Cantonese/Simplified Han/China
+ { 360, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Ido/Latin/World
+ { 361, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Lojban/Latin/World
+ { 362, 7, 106, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Sicilian/Latin/Italy
+ { 363, 1, 102, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 6, 5, 5 }, // Southern Kurdish/Arabic/Iran
+ { 364, 1, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,75,82}, 175,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Western Balochi/Arabic/Pakistan
+ { 365, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 897,9 , 906,8 , 547,6 , 35,18 , 18,7 , 25,12 , 21469,25 , 21494,56 , 21550,14 , 21469,25 , 21494,56 , 21550,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,72,80}, 178,1 , 0,7 , 4,4 , 4,0 , 5949,7 , 4701,9 , 2, 1, 7, 6, 7 }, // Cebuano/Latin/Philippines
+ { 366, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Erzya/Cyrillic/Russia
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, {0,0,0}, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0, 0, 0, 0, 0 } // trailing 0s
};
static const ushort list_pattern_part_data[] = {
@@ -2043,1986 +2043,6 @@ static const ushort time_format_data[] = {
0x27, 0x2e
};
-static const ushort months_data[] = {
-0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b,
-0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x63, 0x74, 0x3b,
-0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x3b, 0x46, 0x65, 0x62, 0x72,
-0x75, 0x61, 0x72, 0x79, 0x3b, 0x4d, 0x61, 0x72, 0x63, 0x68, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79,
-0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65,
-0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65,
-0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b,
-0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x31, 0x3b,
-0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31,
-0x31, 0x3b, 0x31, 0x32, 0x3b, 0x41, 0x6d, 0x61, 0x3b, 0x47, 0x75, 0x72, 0x3b, 0x42, 0x69, 0x74, 0x3b, 0x45, 0x6c, 0x62,
-0x3b, 0x43, 0x61, 0x6d, 0x3b, 0x57, 0x61, 0x78, 0x3b, 0x41, 0x64, 0x6f, 0x3b, 0x48, 0x61, 0x67, 0x3b, 0x46, 0x75, 0x6c,
-0x3b, 0x4f, 0x6e, 0x6b, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x4d, 0x75, 0x64, 0x3b, 0x41, 0x6d, 0x61, 0x6a, 0x6a, 0x69, 0x69,
-0x3b, 0x47, 0x75, 0x72, 0x61, 0x61, 0x6e, 0x64, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x42, 0x69, 0x74, 0x6f, 0x6f, 0x74, 0x65,
-0x65, 0x73, 0x73, 0x61, 0x3b, 0x45, 0x6c, 0x62, 0x61, 0x3b, 0x43, 0x61, 0x61, 0x6d, 0x73, 0x61, 0x3b, 0x57, 0x61, 0x78,
-0x61, 0x62, 0x61, 0x6a, 0x6a, 0x69, 0x69, 0x3b, 0x41, 0x64, 0x6f, 0x6f, 0x6c, 0x65, 0x65, 0x73, 0x73, 0x61, 0x3b, 0x48,
-0x61, 0x67, 0x61, 0x79, 0x79, 0x61, 0x3b, 0x46, 0x75, 0x75, 0x6c, 0x62, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6e, 0x6b, 0x6f,
-0x6c, 0x6f, 0x6c, 0x65, 0x65, 0x73, 0x73, 0x61, 0x3b, 0x53, 0x61, 0x64, 0x61, 0x61, 0x73, 0x61, 0x3b, 0x4d, 0x75, 0x64,
-0x64, 0x65, 0x65, 0x3b, 0x41, 0x3b, 0x47, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x43, 0x3b, 0x57, 0x3b, 0x41, 0x3b, 0x48, 0x3b,
-0x46, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x4d, 0x30, 0x31, 0x3b, 0x4d, 0x30, 0x32, 0x3b, 0x4d, 0x30, 0x33, 0x3b,
-0x4d, 0x30, 0x34, 0x3b, 0x4d, 0x30, 0x35, 0x3b, 0x4d, 0x30, 0x36, 0x3b, 0x4d, 0x30, 0x37, 0x3b, 0x4d, 0x30, 0x38, 0x3b,
-0x4d, 0x30, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x4a, 0x61, 0x6e, 0x2e,
-0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0x72, 0x74, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x65, 0x69, 0x3b,
-0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b,
-0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x73, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61,
-0x72, 0x69, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x3b,
-0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x69,
-0x65, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72,
-0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65,
-0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x73, 0x68, 0x6b, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x70,
-0x72, 0x69, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x71, 0x65, 0x72, 0x3b, 0x6b, 0x6f, 0x72, 0x72, 0x3b, 0x67, 0x75, 0x73, 0x68,
-0x3b, 0x73, 0x68, 0x74, 0x3b, 0x74, 0x65, 0x74, 0x3b, 0x6e, 0xeb, 0x6e, 0x3b, 0x64, 0x68, 0x6a, 0x3b, 0x6a, 0x61, 0x6e,
-0x61, 0x72, 0x3b, 0x73, 0x68, 0x6b, 0x75, 0x72, 0x74, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x70, 0x72, 0x69, 0x6c, 0x6c,
-0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x71, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x72, 0x3b, 0x6b, 0x6f, 0x72, 0x72, 0x69, 0x6b, 0x3b,
-0x67, 0x75, 0x73, 0x68, 0x74, 0x3b, 0x73, 0x68, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x3b, 0x74, 0x65, 0x74, 0x6f, 0x72, 0x3b,
-0x6e, 0xeb, 0x6e, 0x74, 0x6f, 0x72, 0x3b, 0x64, 0x68, 0x6a, 0x65, 0x74, 0x6f, 0x72, 0x3b, 0x6a, 0x3b, 0x73, 0x68, 0x3b,
-0x6d, 0x3b, 0x70, 0x3b, 0x6d, 0x3b, 0x71, 0x3b, 0x6b, 0x3b, 0x67, 0x3b, 0x73, 0x68, 0x3b, 0x74, 0x3b, 0x6e, 0x3b, 0x64,
-0x68, 0x3b, 0x1303, 0x1295, 0x12e9, 0x3b, 0x134c, 0x1265, 0x1229, 0x3b, 0x121b, 0x122d, 0x127d, 0x3b, 0x12a4, 0x1355, 0x122a, 0x3b, 0x121c, 0x12ed,
-0x3b, 0x1301, 0x1295, 0x3b, 0x1301, 0x120b, 0x12ed, 0x3b, 0x12a6, 0x1308, 0x1235, 0x3b, 0x1234, 0x1355, 0x1274, 0x3b, 0x12a6, 0x12ad, 0x1276, 0x3b,
-0x1296, 0x126c, 0x121d, 0x3b, 0x12f2, 0x1234, 0x121d, 0x3b, 0x1303, 0x1295, 0x12e9, 0x12c8, 0x122a, 0x3b, 0x134c, 0x1265, 0x1229, 0x12c8, 0x122a, 0x3b,
-0x121b, 0x122d, 0x127d, 0x3b, 0x12a4, 0x1355, 0x122a, 0x120d, 0x3b, 0x121c, 0x12ed, 0x3b, 0x1301, 0x1295, 0x3b, 0x1301, 0x120b, 0x12ed, 0x3b, 0x12a6,
-0x1308, 0x1235, 0x1275, 0x3b, 0x1234, 0x1355, 0x1274, 0x121d, 0x1260, 0x122d, 0x3b, 0x12a6, 0x12ad, 0x1276, 0x1260, 0x122d, 0x3b, 0x1296, 0x126c, 0x121d,
-0x1260, 0x122d, 0x3b, 0x12f2, 0x1234, 0x121d, 0x1260, 0x122d, 0x3b, 0x1303, 0x3b, 0x134c, 0x3b, 0x121b, 0x3b, 0x12a4, 0x3b, 0x121c, 0x3b, 0x1301,
-0x3b, 0x1301, 0x3b, 0x12a6, 0x3b, 0x1234, 0x3b, 0x12a6, 0x3b, 0x1296, 0x3b, 0x12f2, 0x3b, 0x64a, 0x646, 0x627, 0x64a, 0x631, 0x3b, 0x641,
-0x628, 0x631, 0x627, 0x64a, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x623, 0x628, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x627, 0x64a,
-0x648, 0x3b, 0x64a, 0x648, 0x646, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x644, 0x64a, 0x648, 0x3b, 0x623, 0x63a, 0x633, 0x637, 0x633, 0x3b,
-0x633, 0x628, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x641, 0x645, 0x628, 0x631,
-0x3b, 0x62f, 0x64a, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x64a, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x623, 0x3b, 0x648, 0x3b, 0x646, 0x3b,
-0x644, 0x3b, 0x63a, 0x3b, 0x633, 0x3b, 0x643, 0x3b, 0x628, 0x3b, 0x62f, 0x3b, 0x62c, 0x627, 0x646, 0x641, 0x64a, 0x3b, 0x641, 0x64a,
-0x641, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x623, 0x641, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x3b, 0x62c,
-0x648, 0x627, 0x646, 0x3b, 0x62c, 0x648, 0x64a, 0x644, 0x64a, 0x629, 0x3b, 0x623, 0x648, 0x62a, 0x3b, 0x633, 0x628, 0x62a, 0x645, 0x628,
-0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x641, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x64a, 0x633, 0x645,
-0x628, 0x631, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x623, 0x3b, 0x645, 0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x623, 0x3b, 0x633,
-0x3b, 0x623, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b,
-0x634, 0x628, 0x627, 0x637, 0x3b, 0x622, 0x630, 0x627, 0x631, 0x3b, 0x646, 0x64a, 0x633, 0x627, 0x646, 0x3b, 0x623, 0x64a, 0x627, 0x631,
-0x3b, 0x62d, 0x632, 0x64a, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, 0x648, 0x632, 0x3b, 0x622, 0x628, 0x3b, 0x623, 0x64a, 0x644, 0x648,
-0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20,
-0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x643,
-0x3b, 0x634, 0x3b, 0x622, 0x3b, 0x646, 0x3b, 0x623, 0x3b, 0x62d, 0x3b, 0x62a, 0x3b, 0x622, 0x3b, 0x623, 0x3b, 0x62a, 0x3b, 0x62a,
-0x3b, 0x643, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x634, 0x628, 0x627, 0x637,
-0x3b, 0x622, 0x630, 0x627, 0x631, 0x3b, 0x646, 0x64a, 0x633, 0x627, 0x646, 0x3b, 0x623, 0x64a, 0x627, 0x631, 0x3b, 0x62d, 0x632, 0x64a,
-0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, 0x648, 0x632, 0x3b, 0x622, 0x628, 0x3b, 0x623, 0x64a, 0x644, 0x648, 0x644, 0x3b, 0x62a, 0x634,
-0x631, 0x64a, 0x646, 0xa0, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627,
-0x646, 0x64a, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x64a, 0x646, 0x627, 0x64a, 0x631,
-0x3b, 0x641, 0x628, 0x631, 0x627, 0x64a, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x625, 0x628, 0x631, 0x64a, 0x644, 0x3b, 0x645,
-0x627, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x646, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x644, 0x64a, 0x648, 0x3b, 0x623, 0x63a, 0x634, 0x62a,
-0x3b, 0x634, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x641, 0x645, 0x628, 0x631,
-0x3b, 0x62f, 0x62c, 0x645, 0x628, 0x631, 0x3b, 0x64a, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x625, 0x3b, 0x648, 0x3b, 0x646, 0x3b, 0x644,
-0x3b, 0x63a, 0x3b, 0x634, 0x3b, 0x643, 0x3b, 0x628, 0x3b, 0x62f, 0x3b, 0x64a, 0x646, 0x627, 0x64a, 0x631, 0x3b, 0x641, 0x628, 0x631,
-0x627, 0x64a, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x623, 0x628, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x3b, 0x64a,
-0x648, 0x646, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x644, 0x64a, 0x648, 0x632, 0x3b, 0x63a, 0x634, 0x62a, 0x3b, 0x634, 0x62a, 0x646, 0x628,
-0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x646, 0x628, 0x631, 0x3b, 0x62f, 0x62c, 0x646, 0x628, 0x631,
-0x3b, 0x64a, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x623, 0x3b, 0x645, 0x3b, 0x646, 0x3b, 0x644, 0x3b, 0x63a, 0x3b, 0x634, 0x3b, 0x643,
-0x3b, 0x628, 0x3b, 0x62f, 0x3b, 0x570, 0x576, 0x57e, 0x3b, 0x583, 0x57f, 0x57e, 0x3b, 0x574, 0x580, 0x57f, 0x3b, 0x561, 0x57a, 0x580,
-0x3b, 0x574, 0x575, 0x57d, 0x3b, 0x570, 0x576, 0x57d, 0x3b, 0x570, 0x56c, 0x57d, 0x3b, 0x585, 0x563, 0x57d, 0x3b, 0x57d, 0x565, 0x57a,
-0x3b, 0x570, 0x578, 0x56f, 0x3b, 0x576, 0x578, 0x575, 0x3b, 0x564, 0x565, 0x56f, 0x3b, 0x570, 0x578, 0x582, 0x576, 0x57e, 0x561, 0x580,
-0x3b, 0x583, 0x565, 0x57f, 0x580, 0x57e, 0x561, 0x580, 0x3b, 0x574, 0x561, 0x580, 0x57f, 0x3b, 0x561, 0x57a, 0x580, 0x56b, 0x56c, 0x3b,
-0x574, 0x561, 0x575, 0x56b, 0x57d, 0x3b, 0x570, 0x578, 0x582, 0x576, 0x56b, 0x57d, 0x3b, 0x570, 0x578, 0x582, 0x56c, 0x56b, 0x57d, 0x3b,
-0x585, 0x563, 0x578, 0x57d, 0x57f, 0x578, 0x57d, 0x3b, 0x57d, 0x565, 0x57a, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x570, 0x578,
-0x56f, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x576, 0x578, 0x575, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x564, 0x565, 0x56f,
-0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x540, 0x3b, 0x553, 0x3b, 0x544, 0x3b, 0x531, 0x3b, 0x544, 0x3b, 0x540, 0x3b, 0x540,
-0x3b, 0x555, 0x3b, 0x54d, 0x3b, 0x540, 0x3b, 0x546, 0x3b, 0x534, 0x3b, 0x570, 0x578, 0x582, 0x576, 0x57e, 0x561, 0x580, 0x56b, 0x3b,
-0x583, 0x565, 0x57f, 0x580, 0x57e, 0x561, 0x580, 0x56b, 0x3b, 0x574, 0x561, 0x580, 0x57f, 0x56b, 0x3b, 0x561, 0x57a, 0x580, 0x56b, 0x56c,
-0x56b, 0x3b, 0x574, 0x561, 0x575, 0x56b, 0x57d, 0x56b, 0x3b, 0x570, 0x578, 0x582, 0x576, 0x56b, 0x57d, 0x56b, 0x3b, 0x570, 0x578, 0x582,
-0x56c, 0x56b, 0x57d, 0x56b, 0x3b, 0x585, 0x563, 0x578, 0x57d, 0x57f, 0x578, 0x57d, 0x56b, 0x3b, 0x57d, 0x565, 0x57a, 0x57f, 0x565, 0x574,
-0x562, 0x565, 0x580, 0x56b, 0x3b, 0x570, 0x578, 0x56f, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x56b, 0x3b, 0x576, 0x578, 0x575, 0x565,
-0x574, 0x562, 0x565, 0x580, 0x56b, 0x3b, 0x564, 0x565, 0x56f, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x56b, 0x3b, 0x99c, 0x9be, 0x9a8,
-0x9c1, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9f0, 0x9c1, 0x3b, 0x9ae, 0x9be, 0x9f0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9f0, 0x9bf,
-0x9b2, 0x3b, 0x9ae, 0x9c7, 0x2019, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x3b, 0x99b,
-0x9c7, 0x9aa, 0x9cd, 0x9a4, 0x9c7, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x3b, 0x9a8, 0x9f1, 0x9c7, 0x3b, 0x9a1, 0x9bf, 0x99a, 0x9c7,
-0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9f1, 0x9be, 0x9f0, 0x9c0, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9f0, 0x9c1, 0x9f1, 0x9be, 0x9f0, 0x9c0,
-0x3b, 0x9ae, 0x9be, 0x9f0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9f0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x2019, 0x3b, 0x99c, 0x9c1,
-0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b7, 0x9cd, 0x99f, 0x3b, 0x99b, 0x9c7, 0x9aa, 0x9cd, 0x9a4, 0x9c7,
-0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9f0, 0x3b, 0x9a8, 0x9f1, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0,
-0x3b, 0x9a1, 0x9bf, 0x99a, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x99c, 0x3b, 0x9ab, 0x3b, 0x9ae, 0x3b, 0x98f, 0x3b, 0x9ae, 0x3b,
-0x99c, 0x3b, 0x99c, 0x3b, 0x986, 0x3b, 0x99b, 0x3b, 0x985, 0x3b, 0x9a8, 0x3b, 0x9a1, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65,
-0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x6e, 0x3b, 0x69, 0x79,
-0x6c, 0x3b, 0x61, 0x76, 0x71, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x79, 0x3b, 0x64, 0x65,
-0x6b, 0x3b, 0x59, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74,
-0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x130, 0x79, 0x75, 0x6e, 0x3b, 0x130, 0x79, 0x75, 0x6c,
-0x3b, 0x41, 0x76, 0x71, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74,
-0x79, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x79,
-0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x61, 0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70,
-0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x75, 0x6e, 0x3b, 0x69, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x76,
-0x71, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x79, 0x61, 0x62,
-0x72, 0x3b, 0x6e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x458, 0x430, 0x43d, 0x3b,
-0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x458, 0x43d, 0x3b,
-0x438, 0x458, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43d, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x458, 0x3b,
-0x434, 0x435, 0x43a, 0x3b, 0x408, 0x430, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, 0x430,
-0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x458, 0x443, 0x43d, 0x3b, 0x418, 0x458,
-0x443, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x41e,
-0x43a, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x41d, 0x43e, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440,
-0x3b, 0x458, 0x430, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b,
-0x430, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x458, 0x443, 0x43d, 0x3b, 0x438, 0x458, 0x443, 0x43b, 0x3b,
-0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x458,
-0x430, 0x431, 0x440, 0x3b, 0x43d, 0x43e, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x75, 0x72,
-0x74, 0x2e, 0x3b, 0x6f, 0x74, 0x73, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x69, 0x2e, 0x3b, 0x6d, 0x61,
-0x69, 0x2e, 0x3b, 0x65, 0x6b, 0x61, 0x2e, 0x3b, 0x75, 0x7a, 0x74, 0x2e, 0x3b, 0x61, 0x62, 0x75, 0x2e, 0x3b, 0x69, 0x72,
-0x61, 0x2e, 0x3b, 0x75, 0x72, 0x72, 0x2e, 0x3b, 0x61, 0x7a, 0x61, 0x2e, 0x3b, 0x61, 0x62, 0x65, 0x2e, 0x3b, 0x75, 0x72,
-0x74, 0x61, 0x72, 0x72, 0x69, 0x6c, 0x61, 0x3b, 0x6f, 0x74, 0x73, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x74,
-0x78, 0x6f, 0x61, 0x3b, 0x61, 0x70, 0x69, 0x72, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x69, 0x61, 0x74, 0x7a, 0x61, 0x3b,
-0x65, 0x6b, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x75, 0x7a, 0x74, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x61, 0x62, 0x75, 0x7a, 0x74,
-0x75, 0x61, 0x3b, 0x69, 0x72, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x75, 0x72, 0x72, 0x69, 0x61, 0x3b, 0x61, 0x7a, 0x61, 0x72,
-0x6f, 0x61, 0x3b, 0x61, 0x62, 0x65, 0x6e, 0x64, 0x75, 0x61, 0x3b, 0x55, 0x3b, 0x4f, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d,
-0x3b, 0x45, 0x3b, 0x55, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x55, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9af,
-0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9b0,
-0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2,
-0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b,
-0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7,
-0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x99c, 0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b, 0x9ae, 0x9be, 0x3b, 0x98f, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c,
-0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x985, 0x3b, 0x9a8, 0x3b, 0x9a1, 0x9bf, 0x3b, 0x99c, 0x9be,
-0x9a8, 0x9c1, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b,
-0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8,
-0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad,
-0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf25, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf29, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b, 0xf66, 0xfa4,
-0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf44, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf42,
-0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b,
-0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0x3b, 0xf66, 0xfa4, 0xfb1,
-0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf51,
-0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54,
-0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66,
-0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f,
-0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74,
-0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74,
-0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23, 0x3b, 0xf24, 0x3b, 0xf25, 0x3b, 0xf26,
-0x3b, 0xf27, 0x3b, 0xf28, 0x3b, 0xf29, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0xf21, 0xf22, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b,
-0xf23, 0x3b, 0xf24, 0x3b, 0xf25, 0x3b, 0xf26, 0x3b, 0xf27, 0x3b, 0xf28, 0x3b, 0xf29, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b,
-0x31, 0x32, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf44, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54,
-0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b,
-0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b,
-0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1,
-0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45,
-0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23,
-0x3b, 0x34, 0x3b, 0xf25, 0x3b, 0xf26, 0x3b, 0xf27, 0x3b, 0xf28, 0x3b, 0x39, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0xf21,
-0xf22, 0x3b, 0x47, 0x65, 0x6e, 0x2e, 0x3b, 0x43, 0x2bc, 0x68, 0x77, 0x65, 0x2e, 0x3b, 0x4d, 0x65, 0x75, 0x72, 0x2e, 0x3b,
-0x45, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x65, 0x3b, 0x4d, 0x65, 0x7a, 0x68, 0x2e, 0x3b, 0x47, 0x6f, 0x75, 0x65, 0x2e,
-0x3b, 0x45, 0x6f, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x65, 0x6e, 0x2e, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x75, 0x3b,
-0x4b, 0x7a, 0x75, 0x2e, 0x3b, 0x47, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x43, 0x2bc, 0x68, 0x77, 0x65, 0x76, 0x72, 0x65,
-0x72, 0x3b, 0x4d, 0x65, 0x75, 0x72, 0x7a, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x65, 0x3b, 0x4d,
-0x65, 0x7a, 0x68, 0x65, 0x76, 0x65, 0x6e, 0x3b, 0x47, 0x6f, 0x75, 0x65, 0x72, 0x65, 0x3b, 0x45, 0x6f, 0x73, 0x74, 0x3b,
-0x47, 0x77, 0x65, 0x6e, 0x67, 0x6f, 0x6c, 0x6f, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x72,
-0x7a, 0x75, 0x3b, 0x30, 0x31, 0x3b, 0x30, 0x32, 0x3b, 0x30, 0x33, 0x3b, 0x30, 0x34, 0x3b, 0x30, 0x35, 0x3b, 0x30, 0x36,
-0x3b, 0x30, 0x37, 0x3b, 0x30, 0x38, 0x3b, 0x30, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x44f,
-0x43d, 0x443, 0x3b, 0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x439, 0x3b,
-0x44e, 0x43d, 0x438, 0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b,
-0x43d, 0x43e, 0x435, 0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x44f, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x443,
-0x430, 0x440, 0x438, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e,
-0x43d, 0x438, 0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c,
-0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, 0x438,
-0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x44f, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b,
-0x44e, 0x3b, 0x44e, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x1007, 0x1014, 0x103a, 0x3b, 0x1016, 0x1031,
-0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x3b, 0x1029, 0x3b,
-0x1005, 0x1000, 0x103a, 0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x3b, 0x1014, 0x102d, 0x102f, 0x3b, 0x1012, 0x102e, 0x3b, 0x1007, 0x1014, 0x103a,
-0x1014, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1016, 0x1031, 0x1016, 0x1031, 0x102c, 0x103a, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1019, 0x1010, 0x103a,
-0x3b, 0x1027, 0x1015, 0x103c, 0x102e, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x101c, 0x102d, 0x102f, 0x1004,
-0x103a, 0x3b, 0x1029, 0x1002, 0x102f, 0x1010, 0x103a, 0x3b, 0x1005, 0x1000, 0x103a, 0x1010, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1021, 0x1031, 0x102c,
-0x1000, 0x103a, 0x1010, 0x102d, 0x102f, 0x1018, 0x102c, 0x3b, 0x1014, 0x102d, 0x102f, 0x101d, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1012, 0x102e, 0x1007,
-0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1007, 0x3b, 0x1016, 0x3b, 0x1019, 0x3b, 0x1027, 0x3b, 0x1019, 0x3b, 0x1007, 0x3b, 0x1007, 0x3b, 0x1029,
-0x3b, 0x1005, 0x3b, 0x1021, 0x3b, 0x1014, 0x3b, 0x1012, 0x3b, 0x441, 0x442, 0x443, 0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x441, 0x430, 0x43a,
-0x3b, 0x43a, 0x440, 0x430, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x3b, 0x43b, 0x456, 0x43f, 0x3b, 0x436, 0x43d, 0x456,
-0x3b, 0x432, 0x435, 0x440, 0x3b, 0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b, 0x441, 0x43d, 0x435, 0x3b, 0x441, 0x442, 0x443,
-0x434, 0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x44e, 0x442, 0x44b, 0x3b, 0x441, 0x430, 0x43a, 0x430, 0x432, 0x456, 0x43a, 0x3b, 0x43a,
-0x440, 0x430, 0x441, 0x430, 0x432, 0x456, 0x43a, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b,
-0x43b, 0x456, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x436, 0x43d, 0x456, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x432, 0x435, 0x440, 0x430, 0x441,
-0x435, 0x43d, 0x44c, 0x3b, 0x43a, 0x430, 0x441, 0x442, 0x440, 0x44b, 0x447, 0x43d, 0x456, 0x43a, 0x3b, 0x43b, 0x456, 0x441, 0x442, 0x430,
-0x43f, 0x430, 0x434, 0x3b, 0x441, 0x43d, 0x435, 0x436, 0x430, 0x43d, 0x44c, 0x3b, 0x441, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x43a, 0x3b,
-0x43c, 0x3b, 0x447, 0x3b, 0x43b, 0x3b, 0x436, 0x3b, 0x432, 0x3b, 0x43a, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x441, 0x442, 0x443, 0x3b,
-0x43b, 0x44e, 0x442, 0x3b, 0x441, 0x430, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x447, 0x44d, 0x440, 0x3b,
-0x43b, 0x456, 0x43f, 0x3b, 0x436, 0x43d, 0x456, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b,
-0x441, 0x43d, 0x435, 0x3b, 0x441, 0x442, 0x443, 0x434, 0x437, 0x435, 0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x430, 0x433, 0x430, 0x3b,
-0x441, 0x430, 0x43a, 0x430, 0x432, 0x456, 0x43a, 0x430, 0x3b, 0x43a, 0x440, 0x430, 0x441, 0x430, 0x432, 0x456, 0x43a, 0x430, 0x3b, 0x43c,
-0x430, 0x44f, 0x3b, 0x447, 0x44d, 0x440, 0x432, 0x435, 0x43d, 0x44f, 0x3b, 0x43b, 0x456, 0x43f, 0x435, 0x43d, 0x44f, 0x3b, 0x436, 0x43d,
-0x456, 0x45e, 0x43d, 0x44f, 0x3b, 0x432, 0x435, 0x440, 0x430, 0x441, 0x43d, 0x44f, 0x3b, 0x43a, 0x430, 0x441, 0x442, 0x440, 0x44b, 0x447,
-0x43d, 0x456, 0x43a, 0x430, 0x3b, 0x43b, 0x456, 0x441, 0x442, 0x430, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x441, 0x43d, 0x435, 0x436, 0x43d,
-0x44f, 0x3b, 0x1798, 0x1780, 0x179a, 0x17b6, 0x3b, 0x1780, 0x17bb, 0x1798, 0x17d2, 0x1797, 0x17c8, 0x3b, 0x1798, 0x17b8, 0x1793, 0x17b6, 0x3b, 0x1798,
-0x17c1, 0x179f, 0x17b6, 0x3b, 0x17a7, 0x179f, 0x1797, 0x17b6, 0x3b, 0x1798, 0x17b7, 0x1790, 0x17bb, 0x1793, 0x17b6, 0x3b, 0x1780, 0x1780, 0x17d2, 0x1780,
-0x178a, 0x17b6, 0x3b, 0x179f, 0x17b8, 0x17a0, 0x17b6, 0x3b, 0x1780, 0x1789, 0x17d2, 0x1789, 0x17b6, 0x3b, 0x178f, 0x17bb, 0x179b, 0x17b6, 0x3b, 0x179c,
-0x17b7, 0x1785, 0x17d2, 0x1786, 0x17b7, 0x1780, 0x17b6, 0x3b, 0x1792, 0x17d2, 0x1793, 0x17bc, 0x3b, 0x1798, 0x3b, 0x1780, 0x3b, 0x1798, 0x3b, 0x1798,
-0x3b, 0x17a7, 0x3b, 0x1798, 0x3b, 0x1780, 0x3b, 0x179f, 0x3b, 0x1780, 0x3b, 0x178f, 0x3b, 0x179c, 0x3b, 0x1792, 0x3b, 0x67, 0x65, 0x6e,
-0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61,
-0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x74,
-0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x67, 0x65, 0x6e,
-0x65, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c,
-0x3b, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x6c, 0x3b, 0x61, 0x67,
-0x6f, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65,
-0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47,
-0x4e, 0x3b, 0x46, 0x42, 0x3b, 0x4d, 0xc7, 0x3b, 0x41, 0x42, 0x3b, 0x4d, 0x47, 0x3b, 0x4a, 0x4e, 0x3b, 0x4a, 0x4c, 0x3b,
-0x41, 0x47, 0x3b, 0x53, 0x54, 0x3b, 0x4f, 0x43, 0x3b, 0x4e, 0x56, 0x3b, 0x44, 0x53, 0x3b, 0x64, 0x65, 0x20, 0x67, 0x65,
-0x6e, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0xe7, 0x3b,
-0x64, 0x2019, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75,
-0x6e, 0x79, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x2e, 0x3b, 0x64, 0x65, 0x20,
-0x73, 0x65, 0x74, 0x2e, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6e, 0x6f, 0x76, 0x2e, 0x3b,
-0x64, 0x65, 0x20, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x20,
-0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72,
-0x69, 0x6c, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x64,
-0x65, 0x20, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x6c, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x64, 0x65, 0x20,
-0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x64,
-0x65, 0x20, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62,
-0x72, 0x65, 0x3b, 0x31, 0x6708, 0x3b, 0x32, 0x6708, 0x3b, 0x33, 0x6708, 0x3b, 0x34, 0x6708, 0x3b, 0x35, 0x6708, 0x3b, 0x36, 0x6708,
-0x3b, 0x37, 0x6708, 0x3b, 0x38, 0x6708, 0x3b, 0x39, 0x6708, 0x3b, 0x31, 0x30, 0x6708, 0x3b, 0x31, 0x31, 0x6708, 0x3b, 0x31, 0x32,
-0x6708, 0x3b, 0x4e00, 0x6708, 0x3b, 0x4e8c, 0x6708, 0x3b, 0x4e09, 0x6708, 0x3b, 0x56db, 0x6708, 0x3b, 0x4e94, 0x6708, 0x3b, 0x516d, 0x6708, 0x3b,
-0x4e03, 0x6708, 0x3b, 0x516b, 0x6708, 0x3b, 0x4e5d, 0x6708, 0x3b, 0x5341, 0x6708, 0x3b, 0x5341, 0x4e00, 0x6708, 0x3b, 0x5341, 0x4e8c, 0x6708, 0x3b,
-0x73, 0x69, 0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x3b, 0x6f, 0x17e, 0x75, 0x3b, 0x74, 0x72, 0x61, 0x3b, 0x73, 0x76, 0x69,
-0x3b, 0x6c, 0x69, 0x70, 0x3b, 0x73, 0x72, 0x70, 0x3b, 0x6b, 0x6f, 0x6c, 0x3b, 0x72, 0x75, 0x6a, 0x3b, 0x6c, 0x69, 0x73,
-0x3b, 0x73, 0x74, 0x75, 0x3b, 0x70, 0x72, 0x6f, 0x3b, 0x73, 0x69, 0x6a, 0x65, 0x10d, 0x61, 0x6e, 0x6a, 0x3b, 0x76, 0x65,
-0x6c, 0x6a, 0x61, 0x10d, 0x61, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, 0x61, 0x6b, 0x3b, 0x74, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x6a,
-0x3b, 0x73, 0x76, 0x69, 0x62, 0x61, 0x6e, 0x6a, 0x3b, 0x6c, 0x69, 0x70, 0x61, 0x6e, 0x6a, 0x3b, 0x73, 0x72, 0x70, 0x61,
-0x6e, 0x6a, 0x3b, 0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, 0x3b, 0x72, 0x75, 0x6a, 0x61, 0x6e, 0x3b, 0x6c, 0x69, 0x73,
-0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x69, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e,
-0x61, 0x63, 0x3b, 0x31, 0x2e, 0x3b, 0x32, 0x2e, 0x3b, 0x33, 0x2e, 0x3b, 0x34, 0x2e, 0x3b, 0x35, 0x2e, 0x3b, 0x36, 0x2e,
-0x3b, 0x37, 0x2e, 0x3b, 0x38, 0x2e, 0x3b, 0x39, 0x2e, 0x3b, 0x31, 0x30, 0x2e, 0x3b, 0x31, 0x31, 0x2e, 0x3b, 0x31, 0x32,
-0x2e, 0x3b, 0x73, 0x69, 0x6a, 0x65, 0x10d, 0x6e, 0x6a, 0x61, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x61, 0x10d, 0x65, 0x3b, 0x6f,
-0x17e, 0x75, 0x6a, 0x6b, 0x61, 0x3b, 0x74, 0x72, 0x61, 0x76, 0x6e, 0x6a, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x62, 0x6e, 0x6a,
-0x61, 0x3b, 0x6c, 0x69, 0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x6b, 0x6f, 0x6c, 0x6f,
-0x76, 0x6f, 0x7a, 0x61, 0x3b, 0x72, 0x75, 0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x61,
-0x3b, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x6f, 0x67, 0x61, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x61, 0x3b,
-0x6c, 0x65, 0x64, 0x3b, 0xfa, 0x6e, 0x6f, 0x3b, 0x62, 0x159, 0x65, 0x3b, 0x64, 0x75, 0x62, 0x3b, 0x6b, 0x76, 0x11b, 0x3b,
-0x10d, 0x76, 0x6e, 0x3b, 0x10d, 0x76, 0x63, 0x3b, 0x73, 0x72, 0x70, 0x3b, 0x7a, 0xe1, 0x159, 0x3b, 0x159, 0xed, 0x6a, 0x3b,
-0x6c, 0x69, 0x73, 0x3b, 0x70, 0x72, 0x6f, 0x3b, 0x6c, 0x65, 0x64, 0x65, 0x6e, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x3b, 0x62,
-0x159, 0x65, 0x7a, 0x65, 0x6e, 0x3b, 0x64, 0x75, 0x62, 0x65, 0x6e, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x65, 0x6e, 0x3b, 0x10d,
-0x65, 0x72, 0x76, 0x65, 0x6e, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x65, 0x63, 0x3b, 0x73, 0x72, 0x70, 0x65, 0x6e,
-0x3b, 0x7a, 0xe1, 0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x65, 0x6e, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64,
-0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x65, 0x63, 0x3b, 0x6c, 0x65, 0x64, 0x6e, 0x61, 0x3b, 0xfa, 0x6e, 0x6f, 0x72,
-0x61, 0x3b, 0x62, 0x159, 0x65, 0x7a, 0x6e, 0x61, 0x3b, 0x64, 0x75, 0x62, 0x6e, 0x61, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x6e,
-0x61, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x6e, 0x61, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x63, 0x65, 0x3b, 0x73, 0x72,
-0x70, 0x6e, 0x61, 0x3b, 0x7a, 0xe1, 0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f,
-0x70, 0x61, 0x64, 0x75, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66,
-0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75,
-0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b,
-0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b,
-0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b,
-0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74,
-0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e,
-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e,
-0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x72, 0x74, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x65, 0x69,
-0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e,
-0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75,
-0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x61,
-0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61,
-0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b,
-0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d,
-0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41,
-0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x75,
-0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x63, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65,
-0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d,
-0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x16d, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f,
-0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x6f, 0x3b, 0x66,
-0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x6f,
-0x3b, 0x6d, 0x61, 0x6a, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x16d,
-0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x6b, 0x74, 0x6f,
-0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72,
-0x6f, 0x3b, 0x6a, 0x61, 0x61, 0x6e, 0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61,
-0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61,
-0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x74, 0x73,
-0x3b, 0x6a, 0x61, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0xe4,
-0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69,
-0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d,
-0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65,
-0x72, 0x3b, 0x64, 0x65, 0x74, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x41, 0x3b,
-0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x3b,
-0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b,
-0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b,
-0x64, 0x65, 0x73, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d,
-0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a,
-0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72,
-0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65,
-0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72,
-0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e,
-0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e,
-0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x3b, 0x6d, 0x61,
-0x61, 0x6c, 0x69, 0x73, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x3b, 0x6b, 0x65, 0x73,
-0xe4, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x3b, 0x65, 0x6c, 0x6f, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x3b, 0x6c, 0x6f, 0x6b,
-0x61, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69,
-0x6b, 0x75, 0x75, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b,
-0x75, 0x75, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75,
-0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x75, 0x75, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x75, 0x75, 0x3b, 0x65, 0x6c,
-0x6f, 0x6b, 0x75, 0x75, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x75, 0x75, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75,
-0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, 0x75, 0x75, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x75, 0x75, 0x3b,
-0x54, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x48, 0x3b, 0x45, 0x3b, 0x53, 0x3b, 0x4c, 0x3b,
-0x4d, 0x3b, 0x4a, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, 0x2e, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x2e, 0x3b,
-0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, 0x2e, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x2e, 0x3b, 0x74, 0x6f, 0x75,
-0x6b, 0x6f, 0x6b, 0x2e, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x2e, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x2e, 0x3b,
-0x65, 0x6c, 0x6f, 0x6b, 0x2e, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x2e, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x2e, 0x3b,
-0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, 0x2e, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x2e, 0x3b, 0x74, 0x61, 0x6d,
-0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d,
-0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75, 0x74,
-0x61, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x75, 0x75,
-0x74, 0x61, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x75, 0x75,
-0x74, 0x61, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75,
-0x74, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75,
-0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61,
-0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69,
-0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e,
-0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x72, 0x3b, 0x66, 0xe9, 0x76,
-0x72, 0x69, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b,
-0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x6c, 0x65, 0x74, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65,
-0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65,
-0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0xe9, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b,
-0x66, 0xe9, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b,
-0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70,
-0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, 0x61,
-0x6e, 0x2e, 0x3b, 0x66, 0xe9, 0x76, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61,
-0x69, 0x3b, 0x6a, 0x75, 0x69, 0x2e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65,
-0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x4a,
-0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a,
-0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e,
-0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x46, 0x65,
-0x62, 0x72, 0x65, 0x77, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c,
-0x3b, 0x4d, 0x61, 0x61, 0x69, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x3b, 0x41, 0x75, 0x67,
-0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f,
-0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x69, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x69, 0x6d, 0x62, 0x65,
-0x72, 0x3b, 0x46, 0x61, 0x6f, 0x69, 0x3b, 0x47, 0x65, 0x61, 0x72, 0x72, 0x3b, 0x4d, 0xe0, 0x72, 0x74, 0x3b, 0x47, 0x69,
-0x62, 0x6c, 0x3b, 0x43, 0xe8, 0x69, 0x74, 0x3b, 0xd2, 0x67, 0x6d, 0x68, 0x3b, 0x49, 0x75, 0x63, 0x68, 0x3b, 0x4c, 0xf9,
-0x6e, 0x61, 0x3b, 0x53, 0x75, 0x6c, 0x74, 0x3b, 0x44, 0xe0, 0x6d, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x3b, 0x44, 0xf9,
-0x62, 0x68, 0x3b, 0x41, 0x6d, 0x20, 0x46, 0x61, 0x6f, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x63, 0x68, 0x3b, 0x41, 0x6e, 0x20,
-0x47, 0x65, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x3b, 0x41, 0x6d, 0x20, 0x4d, 0xe0, 0x72, 0x74, 0x3b, 0x41, 0x6e, 0x20, 0x47,
-0x69, 0x62, 0x6c, 0x65, 0x61, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x43, 0xe8, 0x69, 0x74, 0x65, 0x61, 0x6e, 0x3b, 0x41, 0x6e,
-0x20, 0x74, 0x2d, 0xd2, 0x67, 0x6d, 0x68, 0x69, 0x6f, 0x73, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0x49, 0x75, 0x63, 0x68,
-0x61, 0x72, 0x3b, 0x41, 0x6e, 0x20, 0x4c, 0xf9, 0x6e, 0x61, 0x73, 0x74, 0x61, 0x6c, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d,
-0x53, 0x75, 0x6c, 0x74, 0x61, 0x69, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x44, 0xe0, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x41,
-0x6e, 0x20, 0x74, 0x2d, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x44, 0xf9, 0x62, 0x68, 0x6c,
-0x61, 0x63, 0x68, 0x64, 0x3b, 0x46, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x43, 0x3b, 0xd2, 0x3b, 0x49, 0x3b, 0x4c,
-0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x46, 0x68, 0x61, 0x6f, 0x69, 0x6c,
-0x6c, 0x65, 0x61, 0x63, 0x68, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x47, 0x68, 0x65, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x3b,
-0x64, 0x68, 0x65, 0x6e, 0x20, 0x4d, 0x68, 0xe0, 0x72, 0x74, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x47, 0x68, 0x69, 0x62,
-0x6c, 0x65, 0x61, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x43, 0x68, 0xe8, 0x69, 0x74, 0x65, 0x61, 0x6e, 0x3b, 0x64,
-0x68, 0x65, 0x6e, 0x20, 0xd2, 0x67, 0x6d, 0x68, 0x69, 0x6f, 0x73, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x49, 0x75, 0x63,
-0x68, 0x61, 0x72, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x4c, 0xf9, 0x6e, 0x61, 0x73, 0x74, 0x61, 0x6c, 0x3b, 0x64, 0x68,
-0x65, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x75, 0x6c, 0x74, 0x61, 0x69, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x44, 0xe0,
-0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e,
-0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x44, 0xf9, 0x62, 0x68, 0x6c, 0x61, 0x63, 0x68, 0x64, 0x3b, 0x58, 0x61, 0x6e, 0x2e,
-0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x6f,
-0x3b, 0x58, 0x75, 0xf1, 0x6f, 0x3b, 0x58, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x67, 0x6f, 0x2e, 0x3b, 0x53, 0x65, 0x74, 0x2e,
-0x3b, 0x4f, 0x75, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x63, 0x2e, 0x3b, 0x58, 0x61, 0x6e, 0x65,
-0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41,
-0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x58, 0x75, 0xf1, 0x6f, 0x3b, 0x58, 0x75, 0x6c, 0x6c, 0x6f,
-0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x75, 0x74,
-0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62,
-0x72, 0x6f, 0x3b, 0x58, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, 0x58, 0x3b, 0x41, 0x3b, 0x53,
-0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x78, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72,
-0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x78, 0x75, 0xf1, 0x6f, 0x3b, 0x78, 0x75, 0x6c,
-0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, 0x75, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76,
-0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x78, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65,
-0x69, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f,
-0x3b, 0x78, 0x75, 0xf1, 0x6f, 0x3b, 0x78, 0x75, 0x6c, 0x6c, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73,
-0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65,
-0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x78, 0x2e, 0x3b, 0x66, 0x2e, 0x3b,
-0x6d, 0x2e, 0x3b, 0x61, 0x2e, 0x3b, 0x6d, 0x2e, 0x3b, 0x78, 0x2e, 0x3b, 0x78, 0x2e, 0x3b, 0x61, 0x2e, 0x3b, 0x73, 0x2e,
-0x3b, 0x6f, 0x2e, 0x3b, 0x6e, 0x2e, 0x3b, 0x64, 0x2e, 0x3b, 0x10d8, 0x10d0, 0x10dc, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x3b, 0x10db, 0x10d0,
-0x10e0, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x3b, 0x10d0, 0x10d2,
-0x10d5, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x3b, 0x10dc, 0x10dd, 0x10d4, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x3b, 0x10d8, 0x10d0,
-0x10dc, 0x10d5, 0x10d0, 0x10e0, 0x10d8, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x10d4, 0x10e0, 0x10d5, 0x10d0, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x10e2,
-0x10d8, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x10d8, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x10d8, 0x10e1,
-0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d0, 0x10d2, 0x10d5, 0x10d8, 0x10e1, 0x10e2, 0x10dd, 0x3b, 0x10e1, 0x10d4, 0x10e5,
-0x10e2, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x10dd, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dc, 0x10dd,
-0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d7,
-0x3b, 0x10db, 0x3b, 0x10d0, 0x3b, 0x10db, 0x3b, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d0, 0x3b, 0x10e1, 0x3b, 0x10dd, 0x3b, 0x10dc, 0x3b, 0x10d3,
-0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69,
-0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74,
-0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72,
-0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a,
-0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74,
-0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
-0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62,
-0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69,
-0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x4f, 0x6b, 0x74,
-0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0xe4, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b,
-0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b,
-0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b,
-0x4a, 0xe4, 0x6e, 0x6e, 0x65, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b,
-0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b,
-0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74,
-0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62,
-0x65, 0x72, 0x3b, 0x4a, 0xe4, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70,
-0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67,
-0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a,
-0x2e, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c, 0x3ac, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3ac,
-0x3b9, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bd, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bb, 0x3b, 0x391, 0x3cd, 0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b,
-0x39f, 0x3ba, 0x3c4, 0x3b, 0x39d, 0x3bf, 0x3ad, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9,
-0x3bf, 0x3c2, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3c1, 0x3c4, 0x3b9,
-0x3bf, 0x3c2, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3af, 0x3bb, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf,
-0x3cd, 0x3bd, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bb, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x391, 0x3cd, 0x3b3, 0x3bf, 0x3c5, 0x3c3,
-0x3c4, 0x3bf, 0x3c2, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3ce,
-0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39d, 0x3bf, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3ad,
-0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3b, 0x3a6, 0x3b, 0x39c, 0x3b, 0x391, 0x3b, 0x39c, 0x3b, 0x399, 0x3b, 0x399,
-0x3b, 0x391, 0x3b, 0x3a3, 0x3b, 0x39f, 0x3b, 0x39d, 0x3b, 0x394, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c,
-0x3b1, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3b1, 0x390, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb,
-0x3b, 0x391, 0x3c5, 0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3b, 0x394, 0x3b5, 0x3ba,
-0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3b1, 0x3c1,
-0x3af, 0x3bf, 0x3c5, 0x3b, 0x39c, 0x3b1, 0x3c1, 0x3c4, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b9, 0x3bb, 0x3af, 0x3bf, 0x3c5,
-0x3b, 0x39c, 0x3b1, 0x390, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3af,
-0x3bf, 0x3c5, 0x3b, 0x391, 0x3c5, 0x3b3, 0x3bf, 0x3cd, 0x3c3, 0x3c4, 0x3bf, 0x3c5, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3b5, 0x3bc, 0x3b2,
-0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3c9, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3bc, 0x3b2,
-0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x6a, 0x61, 0x6e, 0x3b,
-0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b,
-0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b,
-0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69,
-0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x61, 0x6a, 0x69, 0x3b,
-0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x69, 0x3b,
-0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x69, 0x3b,
-0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b,
-0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b,
-0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, 0xabe, 0xa88, 0x3b,
-0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacb, 0x3b, 0xaa8, 0xab5,
-0xac7, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaab, 0xac7, 0xaac,
-0xacd, 0xab0, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b,
-0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8,
-0xaaa, 0xacd, 0xa9f, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacb, 0xaac, 0xab0, 0x3b, 0xaa8, 0xab5, 0xac7,
-0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa9c, 0xabe, 0x3b, 0xaab, 0xac7, 0x3b,
-0xaae, 0xabe, 0x3b, 0xa8f, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0x3b, 0xa9c, 0xac1, 0x3b, 0xa91, 0x3b, 0xab8, 0x3b, 0xa91, 0x3b,
-0xaa8, 0x3b, 0xaa1, 0xabf, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x61, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x66, 0x69,
-0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x61, 0x74,
-0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x75, 0x77, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x69, 0x72, 0x75,
-0x3b, 0x46, 0x61, 0x62, 0x75, 0x72, 0x61, 0x69, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x41, 0x66, 0x69,
-0x72, 0x69, 0x6c, 0x75, 0x3b, 0x4d, 0x61, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x69, 0x3b, 0x59, 0x75, 0x6c, 0x69, 0x3b,
-0x41, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x74, 0x75, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62,
-0x61, 0x3b, 0x4e, 0x75, 0x77, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b,
-0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b,
-0x44, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5f3, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x5f3, 0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5f3,
-0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5f3, 0x3b,
-0x5e1, 0x5e4, 0x5d8, 0x5f3, 0x3b, 0x5d0, 0x5d5, 0x5e7, 0x5f3, 0x3b, 0x5e0, 0x5d5, 0x5d1, 0x5f3, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5f3, 0x3b,
-0x5d9, 0x5e0, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8,
-0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2,
-0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d0, 0x5d5, 0x5e7, 0x5d8, 0x5d5, 0x5d1, 0x5e8, 0x3b, 0x5e0,
-0x5d5, 0x5d1, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x91c, 0x928, 0x970, 0x3b, 0x92b, 0x93c, 0x930, 0x970,
-0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928,
-0x3b, 0x91c, 0x941, 0x932, 0x970, 0x3b, 0x905, 0x917, 0x970, 0x3b, 0x938, 0x93f, 0x924, 0x970, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942,
-0x970, 0x3b, 0x928, 0x935, 0x970, 0x3b, 0x926, 0x93f, 0x938, 0x970, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x93c, 0x930,
-0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b,
-0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x93f, 0x924, 0x902,
-0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x92c, 0x930, 0x3b, 0x928, 0x935, 0x902, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938,
-0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x93c, 0x3b, 0x92e, 0x93e, 0x3b, 0x905, 0x3b, 0x92e, 0x3b, 0x91c, 0x942, 0x3b, 0x91c,
-0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, 0x905, 0x3b, 0x928, 0x3b, 0x926, 0x93f, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66,
-0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x2e, 0x3b, 0xe1, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x6a, 0x2e,
-0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, 0x6a, 0xfa, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x7a, 0x65, 0x70,
-0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61,
-0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x69, 0x75, 0x73,
-0x3b, 0xe1, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0xe1, 0x6a, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6e, 0x69, 0x75,
-0x73, 0x3b, 0x6a, 0xfa, 0x6c, 0x69, 0x75, 0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x7a, 0x74, 0x75, 0x73, 0x3b, 0x73,
-0x7a, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f,
-0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b,
-0x4d, 0x3b, 0xc1, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x7a, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44,
-0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e,
-0x3b, 0x6d, 0x61, 0xed, 0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, 0x6a, 0xfa, 0x6c, 0x2e, 0x3b, 0xe1, 0x67, 0xfa, 0x2e, 0x3b,
-0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0xf3, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b,
-0x6a, 0x61, 0x6e, 0xfa, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0xfa, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b,
-0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0xed, 0x3b, 0x6a, 0xfa, 0x6e, 0xed, 0x3b, 0x6a, 0xfa, 0x6c, 0xed, 0x3b,
-0xe1, 0x67, 0xfa, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3,
-0x62, 0x65, 0x72, 0x3b, 0x6e, 0xf3, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65,
-0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0xc1, 0x3b, 0x53, 0x3b,
-0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70,
-0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65,
-0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72,
-0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x72, 0x65, 0x74, 0x3b, 0x41, 0x70, 0x72,
-0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75,
-0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62,
-0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72,
-0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69,
-0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x63, 0x74,
-0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x66, 0x65,
-0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c,
-0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x75,
-0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f,
-0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72,
-0x65, 0x3b, 0x6a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x61, 0x3b, 0x73, 0x3b,
-0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x45, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x3b, 0x4d, 0xe1, 0x72, 0x74,
-0x61, 0x3b, 0x41, 0x69, 0x62, 0x3b, 0x42, 0x65, 0x61, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x74, 0x68, 0x3b, 0x49, 0xfa, 0x69,
-0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x3b, 0x4d, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x44, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x53, 0x61,
-0x6d, 0x68, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, 0x3b, 0x45, 0x61, 0x6e, 0xe1, 0x69, 0x72, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68,
-0x72, 0x61, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, 0x69, 0x62, 0x72, 0x65, 0xe1, 0x6e, 0x3b, 0x42, 0x65, 0x61,
-0x6c, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x74, 0x68, 0x65, 0x61, 0x6d, 0x68, 0x3b, 0x49, 0xfa, 0x69,
-0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x61, 0x73, 0x61, 0x3b, 0x4d, 0x65, 0xe1, 0x6e, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69,
-0x72, 0x3b, 0x44, 0x65, 0x69, 0x72, 0x65, 0x61, 0x64, 0x68, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x53,
-0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, 0x61, 0x69, 0x67, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d,
-0x3b, 0x41, 0x3b, 0x42, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x67,
-0x65, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x67, 0x3b, 0x67,
-0x69, 0x75, 0x3b, 0x6c, 0x75, 0x67, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x74, 0x74, 0x3b, 0x6e,
-0x6f, 0x76, 0x3b, 0x64, 0x69, 0x63, 0x3b, 0x67, 0x65, 0x6e, 0x6e, 0x61, 0x69, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x62, 0x72,
-0x61, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x65, 0x3b, 0x6d, 0x61, 0x67,
-0x67, 0x69, 0x6f, 0x3b, 0x67, 0x69, 0x75, 0x67, 0x6e, 0x6f, 0x3b, 0x6c, 0x75, 0x67, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67,
-0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x74, 0x74, 0x6f, 0x62,
-0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65,
-0x3b, 0x47, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f,
-0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72,
-0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70,
-0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0xc9c, 0xca8, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd,
-0xcb0, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2,
-0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0x3b, 0xcb8, 0xcc6, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0x3b, 0xc85,
-0xc95, 0xccd, 0xc9f, 0xccb, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0,
-0xcbf, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa,
-0xccd, 0xcb0, 0xcbf, 0xcb2, 0xccd, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86,
-0xc97, 0xcb8, 0xccd, 0xc9f, 0xccd, 0x3b, 0xcb8, 0xcc6, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc85, 0xc95, 0xccd,
-0xc9f, 0xccb, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0xcac,
-0xcb0, 0xccd, 0x3b, 0xc9c, 0x3b, 0xcab, 0xcc6, 0x3b, 0xcae, 0xcbe, 0x3b, 0xc8f, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0x3b, 0xc9c,
-0xcc1, 0x3b, 0xc86, 0x3b, 0xcb8, 0xcc6, 0x3b, 0xc85, 0x3b, 0xca8, 0x3b, 0xca1, 0xcbf, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0, 0xcbf, 0x3b,
-0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa, 0xccd, 0xcb0,
-0xcbf, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0x3b, 0xcb8, 0xcc6,
-0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, 0xccb, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0x3b, 0xca1, 0xcbf, 0xcb8,
-0xcc6, 0xc82, 0x3b, 0x62c, 0x646, 0x624, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x624, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x655, 0x686,
-0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x654, 0x3b, 0x62c, 0x648, 0x657, 0x646, 0x3b, 0x62c, 0x648, 0x657, 0x644,
-0x627, 0x6cc, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x657,
-0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645,
-0x3b, 0x627, 0x3b, 0x645, 0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x49b,
-0x430, 0x4a3, 0x2e, 0x3b, 0x430, 0x49b, 0x43f, 0x2e, 0x3b, 0x43d, 0x430, 0x443, 0x2e, 0x3b, 0x441, 0x4d9, 0x443, 0x2e, 0x3b, 0x43c,
-0x430, 0x43c, 0x2e, 0x3b, 0x43c, 0x430, 0x443, 0x2e, 0x3b, 0x448, 0x456, 0x43b, 0x2e, 0x3b, 0x442, 0x430, 0x43c, 0x2e, 0x3b, 0x49b,
-0x44b, 0x440, 0x2e, 0x3b, 0x49b, 0x430, 0x437, 0x2e, 0x3b, 0x49b, 0x430, 0x440, 0x2e, 0x3b, 0x436, 0x435, 0x43b, 0x2e, 0x3b, 0x49a,
-0x430, 0x4a3, 0x442, 0x430, 0x440, 0x3b, 0x410, 0x49b, 0x43f, 0x430, 0x43d, 0x3b, 0x41d, 0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x421,
-0x4d9, 0x443, 0x456, 0x440, 0x3b, 0x41c, 0x430, 0x43c, 0x44b, 0x440, 0x3b, 0x41c, 0x430, 0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x428, 0x456,
-0x43b, 0x434, 0x435, 0x3b, 0x422, 0x430, 0x43c, 0x44b, 0x437, 0x3b, 0x49a, 0x44b, 0x440, 0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49a,
-0x430, 0x437, 0x430, 0x43d, 0x3b, 0x49a, 0x430, 0x440, 0x430, 0x448, 0x430, 0x3b, 0x416, 0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430,
-0x43d, 0x3b, 0x49a, 0x3b, 0x410, 0x3b, 0x41d, 0x3b, 0x421, 0x3b, 0x41c, 0x3b, 0x41c, 0x3b, 0x428, 0x3b, 0x422, 0x3b, 0x49a, 0x3b,
-0x49a, 0x3b, 0x49a, 0x3b, 0x416, 0x3b, 0x49b, 0x430, 0x4a3, 0x442, 0x430, 0x440, 0x3b, 0x430, 0x49b, 0x43f, 0x430, 0x43d, 0x3b, 0x43d,
-0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x441, 0x4d9, 0x443, 0x456, 0x440, 0x3b, 0x43c, 0x430, 0x43c, 0x44b, 0x440, 0x3b, 0x43c, 0x430,
-0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x448, 0x456, 0x43b, 0x434, 0x435, 0x3b, 0x442, 0x430, 0x43c, 0x44b, 0x437, 0x3b, 0x49b, 0x44b, 0x440,
-0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49b, 0x430, 0x437, 0x430, 0x43d, 0x3b, 0x49b, 0x430, 0x440, 0x430, 0x448, 0x430, 0x3b, 0x436,
-0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430, 0x43d, 0x3b, 0x6d, 0x75, 0x74, 0x2e, 0x3b, 0x67, 0x61, 0x73, 0x2e, 0x3b, 0x77,
-0x65, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x2e, 0x3b, 0x67, 0x69, 0x63, 0x2e, 0x3b, 0x6b, 0x61, 0x6d, 0x2e, 0x3b, 0x6e,
-0x79, 0x61, 0x2e, 0x3b, 0x6b, 0x61, 0x6e, 0x2e, 0x3b, 0x6e, 0x7a, 0x65, 0x2e, 0x3b, 0x75, 0x6b, 0x77, 0x2e, 0x3b, 0x75,
-0x67, 0x75, 0x2e, 0x3b, 0x75, 0x6b, 0x75, 0x2e, 0x3b, 0x4d, 0x75, 0x74, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, 0x47, 0x61,
-0x73, 0x68, 0x79, 0x61, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x3b, 0x57, 0x65, 0x72, 0x75, 0x72, 0x77, 0x65, 0x3b, 0x4d, 0x61,
-0x74, 0x61, 0x3b, 0x47, 0x69, 0x63, 0x75, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x3b, 0x4b, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x3b,
-0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x4b, 0x61, 0x6e, 0x61, 0x6d, 0x61, 0x3b, 0x4e, 0x7a, 0x65, 0x6c,
-0x69, 0x3b, 0x55, 0x6b, 0x77, 0x61, 0x6b, 0x69, 0x72, 0x61, 0x3b, 0x55, 0x67, 0x75, 0x73, 0x68, 0x79, 0x69, 0x6e, 0x67,
-0x6f, 0x3b, 0x55, 0x6b, 0x75, 0x62, 0x6f, 0x7a, 0x61, 0x3b, 0x42f, 0x43d, 0x432, 0x3b, 0x424, 0x435, 0x432, 0x3b, 0x41c, 0x430,
-0x440, 0x3b, 0x410, 0x43f, 0x440, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432,
-0x433, 0x3b, 0x421, 0x435, 0x43d, 0x3b, 0x41e, 0x43a, 0x442, 0x3b, 0x41d, 0x43e, 0x44f, 0x3b, 0x414, 0x435, 0x43a, 0x3b, 0x42f, 0x43d,
-0x432, 0x430, 0x440, 0x44c, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f,
-0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410,
-0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431,
-0x440, 0x44c, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x42f, 0x3b,
-0x424, 0x3b, 0x41c, 0x3b, 0x410, 0x3b, 0x41c, 0x3b, 0x418, 0x3b, 0x418, 0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x41e, 0x3b, 0x41d, 0x3b,
-0x414, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440,
-0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x2e, 0x3b, 0x438, 0x44e, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e,
-0x3b, 0x441, 0x435, 0x43d, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e,
-0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x440, 0x442,
-0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b,
-0x44c, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43e, 0x43a,
-0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c,
-0x3b, 0x31, 0xc6d4, 0x3b, 0x32, 0xc6d4, 0x3b, 0x33, 0xc6d4, 0x3b, 0x34, 0xc6d4, 0x3b, 0x35, 0xc6d4, 0x3b, 0x36, 0xc6d4, 0x3b, 0x37,
-0xc6d4, 0x3b, 0x38, 0xc6d4, 0x3b, 0x39, 0xc6d4, 0x3b, 0x31, 0x30, 0xc6d4, 0x3b, 0x31, 0x31, 0xc6d4, 0x3b, 0x31, 0x32, 0xc6d4, 0x3b,
-0x72, 0xea, 0x62, 0x3b, 0x72, 0x65, 0x15f, 0x3b, 0x61, 0x64, 0x61, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x67, 0x75, 0x6c, 0x3b,
-0x70, 0xfb, 0x15f, 0x3b, 0x74, 0xee, 0x72, 0x3b, 0x67, 0x65, 0x6c, 0x3b, 0x72, 0x65, 0x7a, 0x3b, 0x6b, 0x65, 0x77, 0x3b,
-0x73, 0x65, 0x72, 0x3b, 0x62, 0x65, 0x72, 0x3b, 0x72, 0xea, 0x62, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x3b, 0x72, 0x65, 0x15f,
-0x65, 0x6d, 0xee, 0x3b, 0x61, 0x64, 0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0xea, 0x6c, 0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e,
-0x3b, 0x70, 0xfb, 0x15f, 0x70, 0x65, 0x72, 0x3b, 0x74, 0xee, 0x72, 0x6d, 0x65, 0x68, 0x3b, 0x67, 0x65, 0x6c, 0x61, 0x77,
-0xea, 0x6a, 0x3b, 0x72, 0x65, 0x7a, 0x62, 0x65, 0x72, 0x3b, 0x6b, 0x65, 0x77, 0xe7, 0xea, 0x72, 0x3b, 0x73, 0x65, 0x72,
-0x6d, 0x61, 0x77, 0x65, 0x7a, 0x3b, 0x62, 0x65, 0x72, 0x66, 0x61, 0x6e, 0x62, 0x61, 0x72, 0x3b, 0x52, 0x3b, 0x52, 0x3b,
-0x41, 0x3b, 0x41, 0x3b, 0x47, 0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x47, 0x3b, 0x52, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x42, 0x3b,
-0x72, 0xea, 0x62, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0xea, 0x3b, 0x72, 0x65, 0x15f, 0x65, 0x6d, 0x69, 0x79, 0xea, 0x3b, 0x61,
-0x64, 0x61, 0x72, 0xea, 0x3b, 0x61, 0x76, 0x72, 0xea, 0x6c, 0xea, 0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e, 0xea, 0x3b, 0x70,
-0xfb, 0x15f, 0x70, 0x65, 0x72, 0xea, 0x3b, 0x74, 0xee, 0x72, 0x6d, 0x65, 0x68, 0xea, 0x3b, 0x67, 0x65, 0x6c, 0x61, 0x77,
-0xea, 0x6a, 0xea, 0x3b, 0x72, 0x65, 0x7a, 0x62, 0x65, 0x72, 0xea, 0x3b, 0x6b, 0x65, 0x77, 0xe7, 0xea, 0x72, 0xea, 0x3b,
-0x73, 0x65, 0x72, 0x6d, 0x61, 0x77, 0x65, 0x7a, 0xea, 0x3b, 0x62, 0x65, 0x72, 0x66, 0x61, 0x6e, 0x62, 0x61, 0x72, 0xea,
-0x3b, 0x4d, 0x75, 0x74, 0x2e, 0x3b, 0x47, 0x61, 0x73, 0x2e, 0x3b, 0x57, 0x65, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x74, 0x2e,
-0x3b, 0x47, 0x69, 0x63, 0x2e, 0x3b, 0x4b, 0x61, 0x6d, 0x2e, 0x3b, 0x4e, 0x79, 0x61, 0x2e, 0x3b, 0x4b, 0x61, 0x6e, 0x2e,
-0x3b, 0x4e, 0x7a, 0x65, 0x2e, 0x3b, 0x55, 0x6b, 0x77, 0x2e, 0x3b, 0x55, 0x67, 0x75, 0x2e, 0x3b, 0x55, 0x6b, 0x75, 0x2e,
-0x3b, 0x4e, 0x7a, 0x65, 0x72, 0x6f, 0x3b, 0x52, 0x75, 0x68, 0x75, 0x68, 0x75, 0x6d, 0x61, 0x3b, 0x4e, 0x74, 0x77, 0x61,
-0x72, 0x61, 0x6e, 0x74, 0x65, 0x3b, 0x4e, 0x64, 0x61, 0x6d, 0x75, 0x6b, 0x69, 0x7a, 0x61, 0x3b, 0x52, 0x75, 0x73, 0x61,
-0x6d, 0x61, 0x3b, 0x52, 0x75, 0x68, 0x65, 0x73, 0x68, 0x69, 0x3b, 0x4d, 0x75, 0x6b, 0x61, 0x6b, 0x61, 0x72, 0x6f, 0x3b,
-0x4e, 0x79, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x61, 0x72, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, 0x61, 0x3b,
-0x47, 0x69, 0x74, 0x75, 0x67, 0x75, 0x74, 0x75, 0x3b, 0x4d, 0x75, 0x6e, 0x79, 0x6f, 0x6e, 0x79, 0x6f, 0x3b, 0x4b, 0x69,
-0x67, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, 0xea1, 0x2e, 0xe81, 0x2e, 0x3b, 0xe81, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0x2e, 0xe99,
-0x2e, 0x3b, 0xea1, 0x2e, 0xeaa, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0xeb4, 0x2e, 0xe96, 0x2e, 0x3b, 0xe81, 0x2e,
-0xea5, 0x2e, 0x3b, 0xeaa, 0x2e, 0xeab, 0x2e, 0x3b, 0xe81, 0x2e, 0xe8d, 0x2e, 0x3b, 0xe95, 0x2e, 0xea5, 0x2e, 0x3b, 0xe9e, 0x2e,
-0xe88, 0x2e, 0x3b, 0xe97, 0x2e, 0xea7, 0x2e, 0x3b, 0xea1, 0xeb1, 0xe87, 0xe81, 0xead, 0xe99, 0x3b, 0xe81, 0xeb8, 0xea1, 0xe9e, 0xeb2,
-0x3b, 0xea1, 0xeb5, 0xe99, 0xeb2, 0x3b, 0xec0, 0xea1, 0xeaa, 0xeb2, 0x3b, 0xe9e, 0xeb6, 0xe94, 0xeaa, 0xeb0, 0xe9e, 0xeb2, 0x3b, 0xea1,
-0xeb4, 0xe96, 0xeb8, 0xe99, 0xeb2, 0x3b, 0xe81, 0xecd, 0xea5, 0xeb0, 0xe81, 0xebb, 0xe94, 0x3b, 0xeaa, 0xeb4, 0xe87, 0xeab, 0xeb2, 0x3b,
-0xe81, 0xeb1, 0xe99, 0xe8d, 0xeb2, 0x3b, 0xe95, 0xeb8, 0xea5, 0xeb2, 0x3b, 0xe9e, 0xeb0, 0xe88, 0xeb4, 0xe81, 0x3b, 0xe97, 0xeb1, 0xe99,
-0xea7, 0xeb2, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73,
-0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6e, 0x2e, 0x3b, 0x6a, 0x16b, 0x6c,
-0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f,
-0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x66, 0x65, 0x62,
-0x72, 0x75, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x12b, 0x6c, 0x69, 0x73,
-0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6e, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6c, 0x69, 0x6a, 0x73,
-0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x73, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b,
-0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x64,
-0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x62, 0x6c, 0x3b, 0x6d, 0x73, 0x69,
-0x3b, 0x61, 0x70, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x74,
-0x3b, 0x73, 0x74, 0x62, 0x3b, 0x254, 0x74, 0x62, 0x3b, 0x6e, 0x76, 0x62, 0x3b, 0x64, 0x73, 0x62, 0x3b, 0x73, 0xe1, 0x6e,
-0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x79, 0x61, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61,
-0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x73,
-0xe1, 0x74, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x6e, 0x65, 0x69, 0x3b, 0x73,
-0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x74, 0xe1, 0x6e, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1,
-0x20, 0x79, 0x61, 0x20, 0x6d, 0x6f, 0x74, 0xf3, 0x62, 0xe1, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20,
-0x6e, 0x73, 0x61, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x77, 0x61, 0x6d,
-0x62, 0x65, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6c, 0x69, 0x62, 0x77, 0x61, 0x3b, 0x73, 0xe1,
-0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61,
-0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x254, 0x30c, 0x6b, 0x254, 0x301, 0x3b, 0x73, 0xe1, 0x6e, 0x7a,
-0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b,
-0x79, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x254, 0x3b,
-0x6e, 0x3b, 0x64, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x2e, 0x3b, 0x76, 0x61, 0x73, 0x2e, 0x3b, 0x6b, 0x6f, 0x76, 0x2e, 0x3b,
-0x62, 0x61, 0x6c, 0x2e, 0x3b, 0x67, 0x65, 0x67, 0x2e, 0x3b, 0x62, 0x69, 0x72, 0x17e, 0x2e, 0x3b, 0x6c, 0x69, 0x65, 0x70,
-0x2e, 0x3b, 0x72, 0x75, 0x67, 0x70, 0x2e, 0x3b, 0x72, 0x75, 0x67, 0x73, 0x2e, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x2e, 0x3b,
-0x6c, 0x61, 0x70, 0x6b, 0x72, 0x2e, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, 0x2e, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x73,
-0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x6b, 0x6f, 0x76, 0x61, 0x73, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e,
-0x64, 0x69, 0x73, 0x3b, 0x67, 0x65, 0x67, 0x75, 0x17e, 0x117, 0x3b, 0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x73, 0x3b,
-0x6c, 0x69, 0x65, 0x70, 0x61, 0x3b, 0x72, 0x75, 0x67, 0x70, 0x6a, 0x16b, 0x74, 0x69, 0x73, 0x3b, 0x72, 0x75, 0x67, 0x73,
-0x117, 0x6a, 0x69, 0x73, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x69, 0x73, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x74, 0x69,
-0x73, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, 0x69, 0x73, 0x3b, 0x53, 0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x47, 0x3b,
-0x42, 0x3b, 0x4c, 0x3b, 0x52, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x47, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x6f,
-0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x6b, 0x6f, 0x76, 0x6f, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x64,
-0x17e, 0x69, 0x6f, 0x3b, 0x67, 0x65, 0x67, 0x75, 0x17e, 0x117, 0x73, 0x3b, 0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x6f,
-0x3b, 0x6c, 0x69, 0x65, 0x70, 0x6f, 0x73, 0x3b, 0x72, 0x75, 0x67, 0x70, 0x6a, 0x16b, 0x10d, 0x69, 0x6f, 0x3b, 0x72, 0x75,
-0x67, 0x73, 0x117, 0x6a, 0x6f, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x69, 0x6f, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x10d,
-0x69, 0x6f, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, 0x17e, 0x69, 0x6f, 0x3b, 0x458, 0x430, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432,
-0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x2e,
-0x3b, 0x458, 0x443, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442,
-0x2e, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x438,
-0x3b, 0x444, 0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b,
-0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, 0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441,
-0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438,
-0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x458, 0x3b,
-0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b, 0x458, 0x3b, 0x458, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b,
-0x434, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65,
-0x79, 0x3b, 0x4a, 0x6f, 0x6e, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, 0x41, 0x6f, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b,
-0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6f, 0x61, 0x72, 0x79, 0x3b, 0x46, 0x65,
-0x62, 0x72, 0x6f, 0x61, 0x72, 0x79, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x73, 0x61, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79,
-0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, 0x6e, 0x61, 0x3b, 0x4a, 0x6f, 0x6c, 0x61, 0x79, 0x3b, 0x41, 0x6f, 0x67, 0x6f,
-0x73, 0x69, 0x74, 0x72, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f,
-0x62, 0x72, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x61, 0x6d, 0x62, 0x72,
-0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65,
-0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b,
-0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65,
-0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69,
-0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74,
-0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
-0x65, 0x72, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b,
-0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0xd1c, 0xd28, 0xd41, 0x3b,
-0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0x3b, 0xd2e, 0xd3e, 0xd7c, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd47, 0xd2f,
-0xd4d, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd13, 0xd17, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d,
-0xd31, 0xd02, 0x3b, 0xd12, 0xd15, 0xd4d, 0xd1f, 0xd4b, 0x3b, 0xd28, 0xd35, 0xd02, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0x3b, 0xd1c, 0xd28,
-0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd3e, 0xd7c, 0xd1a, 0xd4d,
-0xd1a, 0xd4d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0xd7d, 0x3b, 0xd2e, 0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c,
-0xd42, 0xd32, 0xd48, 0x3b, 0xd13, 0xd17, 0xd38, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd4d, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31,
-0xd02, 0xd2c, 0xd7c, 0x3b, 0xd12, 0xd15, 0xd4d, 0x200c, 0xd1f, 0xd4b, 0xd2c, 0xd7c, 0x3b, 0xd28, 0xd35, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd21,
-0xd3f, 0xd38, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd1c, 0x3b, 0xd2b, 0xd46, 0x3b, 0xd2e, 0xd3e, 0x3b, 0xd0f, 0x3b, 0xd2e, 0xd46, 0x3b, 0xd1c,
-0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0x3b, 0xd13, 0x3b, 0xd38, 0xd46, 0x3b, 0xd12, 0x3b, 0xd28, 0x3b, 0xd21, 0xd3f, 0x3b, 0x4a, 0x61,
-0x6e, 0x3b, 0x46, 0x72, 0x61, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x6a, 0x3b, 0x120, 0x75,
-0x6e, 0x3b, 0x4c, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x77, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x74, 0x3b, 0x4e, 0x6f,
-0x76, 0x3b, 0x44, 0x69, 0x10b, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x61, 0x72, 0x3b, 0x46, 0x72, 0x61, 0x72, 0x3b, 0x4d, 0x61,
-0x72, 0x7a, 0x75, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x6a, 0x6a, 0x75, 0x3b, 0x120, 0x75, 0x6e, 0x6a,
-0x75, 0x3b, 0x4c, 0x75, 0x6c, 0x6a, 0x75, 0x3b, 0x41, 0x77, 0x77, 0x69, 0x73, 0x73, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x74,
-0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
-0x72, 0x75, 0x3b, 0x44, 0x69, 0x10b, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x6e, 0x3b, 0x46, 0x72, 0x3b, 0x4d, 0x7a,
-0x3b, 0x41, 0x70, 0x3b, 0x4d, 0x6a, 0x3b, 0x120, 0x6e, 0x3b, 0x4c, 0x6a, 0x3b, 0x41, 0x77, 0x3b, 0x53, 0x74, 0x3b, 0x4f,
-0x62, 0x3b, 0x4e, 0x76, 0x3b, 0x44, 0x10b, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x120, 0x3b,
-0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4b, 0x6f, 0x68, 0x69, 0x3b, 0x48, 0x75, 0x69,
-0x3b, 0x50, 0x6f, 0x75, 0x3b, 0x50, 0x61, 0x65, 0x3b, 0x48, 0x61, 0x72, 0x61, 0x3b, 0x50, 0x69, 0x70, 0x69, 0x3b, 0x48,
-0x14d, 0x6e, 0x67, 0x6f, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, 0x4d, 0x61, 0x68, 0x75, 0x3b, 0x4e, 0x75, 0x6b, 0x75, 0x3b,
-0x52, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x48, 0x61, 0x6b, 0x69, 0x3b, 0x4b, 0x6f, 0x68, 0x69, 0x74, 0x101, 0x74, 0x65, 0x61,
-0x3b, 0x48, 0x75, 0x69, 0x74, 0x61, 0x6e, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x50, 0x6f, 0x75, 0x74, 0x16b, 0x74, 0x65, 0x72,
-0x61, 0x6e, 0x67, 0x69, 0x3b, 0x50, 0x61, 0x65, 0x6e, 0x67, 0x61, 0x77, 0x68, 0x101, 0x77, 0x68, 0x101, 0x3b, 0x48, 0x61,
-0x72, 0x61, 0x74, 0x75, 0x61, 0x3b, 0x50, 0x69, 0x70, 0x69, 0x72, 0x69, 0x3b, 0x48, 0x14d, 0x6e, 0x67, 0x6f, 0x6e, 0x67,
-0x6f, 0x69, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, 0x69, 0x6b, 0x14d, 0x6b, 0x101, 0x3b, 0x4d, 0x61, 0x68, 0x75,
-0x72, 0x75, 0x3b, 0x57, 0x68, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x2d, 0x101, 0x2d, 0x6e, 0x75, 0x6b, 0x75, 0x3b, 0x57,
-0x68, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x2d, 0x101, 0x2d, 0x72, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x48, 0x61, 0x6b, 0x69,
-0x68, 0x65, 0x61, 0x3b, 0x4b, 0x3b, 0x48, 0x3b, 0x50, 0x3b, 0x50, 0x3b, 0x48, 0x3b, 0x50, 0x3b, 0x48, 0x3b, 0x48, 0x3b,
-0x4d, 0x3b, 0x4e, 0x3b, 0x52, 0x3b, 0x48, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x3b,
-0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c,
-0x941, 0x932, 0x948, 0x3b, 0x911, 0x917, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x3b,
-0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e,
-0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b,
-0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x911,
-0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x92c,
-0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b,
-0x91c, 0x93e, 0x3b, 0x92b, 0x947, 0x3b, 0x92e, 0x93e, 0x3b, 0x90f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b,
-0x911, 0x3b, 0x938, 0x3b, 0x911, 0x3b, 0x928, 0x94b, 0x3b, 0x921, 0x93f, 0x3b, 0x31, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b,
-0x32, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x33, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x34, 0x2d, 0x440, 0x20,
-0x441, 0x430, 0x440, 0x3b, 0x35, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x36, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b,
-0x37, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x38, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x39, 0x2d, 0x440, 0x20,
-0x441, 0x430, 0x440, 0x3b, 0x31, 0x30, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x31, 0x31, 0x2d, 0x440, 0x20, 0x441, 0x430,
-0x440, 0x3b, 0x31, 0x32, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x41d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440,
-0x20, 0x441, 0x430, 0x440, 0x3b, 0x425, 0x43e, 0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b,
-0x413, 0x443, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x414, 0x4e9, 0x440, 0x4e9,
-0x432, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x422, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430,
-0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x417, 0x443, 0x440, 0x433, 0x430, 0x430, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441,
-0x430, 0x440, 0x3b, 0x414, 0x43e, 0x43b, 0x43e, 0x43e, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x41d,
-0x430, 0x439, 0x43c, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x415, 0x441, 0x434, 0x4af, 0x433, 0x44d,
-0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x410, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430,
-0x440, 0x3b, 0x410, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x43d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430,
-0x440, 0x3b, 0x410, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x445, 0x43e, 0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441,
-0x430, 0x440, 0x3b, 0x49, 0x3b, 0x49, 0x49, 0x3b, 0x49, 0x49, 0x49, 0x3b, 0x49, 0x56, 0x3b, 0x56, 0x3b, 0x56, 0x49, 0x3b,
-0x56, 0x49, 0x49, 0x3b, 0x56, 0x49, 0x49, 0x49, 0x3b, 0x49, 0x58, 0x3b, 0x58, 0x3b, 0x58, 0x49, 0x3b, 0x58, 0x49, 0x49,
-0x3b, 0x43d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x445, 0x43e, 0x451, 0x440, 0x434,
-0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x433, 0x443, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430,
-0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x434, 0x4e9, 0x440, 0x4e9, 0x432, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430,
-0x440, 0x3b, 0x442, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x437, 0x443, 0x440, 0x433,
-0x430, 0x430, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x434, 0x43e, 0x43b, 0x43e, 0x43e, 0x434, 0x443,
-0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x43d, 0x430, 0x439, 0x43c, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20,
-0x441, 0x430, 0x440, 0x3b, 0x435, 0x441, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x430, 0x440, 0x430,
-0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x430, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x43d, 0x44d,
-0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x430, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x445, 0x43e,
-0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b,
-0x947, 0x92c, 0x94d, 0x930, 0x941, 0x905, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f,
-0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x91f,
-0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b,
-0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x91c, 0x928,
-0x3b, 0x92b, 0x947, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x3b, 0x92e, 0x947, 0x3b,
-0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x947, 0x92a, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b,
-0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x92c, 0x3b, 0x92e, 0x93e,
-0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x3b,
-0x905, 0x917, 0x3b, 0x938, 0x947, 0x92a, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f,
-0x938, 0x947, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61,
-0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75,
-0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b,
-0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73,
-0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xb1c, 0xb3e, 0xb28, 0xb41, 0xb06, 0xb30, 0xb40, 0x3b, 0xb2b, 0xb47, 0xb2c, 0xb43, 0xb06, 0xb30,
-0xb40, 0x3b, 0xb2e, 0xb3e, 0xb30, 0xb4d, 0xb1a, 0xb4d, 0xb1a, 0x3b, 0xb05, 0xb2a, 0xb4d, 0xb30, 0xb47, 0xb32, 0x3b, 0xb2e, 0xb07, 0x3b,
-0xb1c, 0xb41, 0xb28, 0x3b, 0xb1c, 0xb41, 0xb32, 0xb3e, 0xb07, 0x3b, 0xb05, 0xb17, 0xb37, 0xb4d, 0xb1f, 0x3b, 0xb38, 0xb47, 0xb2a, 0xb4d,
-0xb1f, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb05, 0xb15, 0xb4d, 0xb1f, 0xb4b, 0xb2c, 0xb30, 0x3b, 0xb28, 0xb2d, 0xb47, 0xb2e, 0xb4d,
-0xb2c, 0xb30, 0x3b, 0xb21, 0xb3f, 0xb38, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb1c, 0xb3e, 0x3b, 0xb2b, 0xb47, 0x3b, 0xb2e, 0xb3e,
-0x3b, 0xb05, 0x3b, 0xb2e, 0xb07, 0x3b, 0xb1c, 0xb41, 0x3b, 0xb1c, 0xb41, 0x3b, 0xb05, 0x3b, 0xb38, 0xb47, 0x3b, 0xb05, 0x3b, 0xb28,
-0x3b, 0xb21, 0xb3f, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631,
-0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc,
-0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b,
-0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x6d0,
-0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, 0x3b,
-0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628,
-0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631,
-0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627,
-0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af,
-0x633, 0x62a, 0x3b, 0x633, 0x6d0, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648,
-0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, 0x3b,
-0x62c, 0x3b, 0x62c, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647,
-0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x647,
-0x3b, 0x698, 0x648, 0x626, 0x646, 0x3b, 0x698, 0x648, 0x626, 0x6cc, 0x647, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627,
-0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627,
-0x645, 0x628, 0x631, 0x3b, 0x698, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x622, 0x3b, 0x645, 0x3b, 0x698, 0x3b, 0x698, 0x3b, 0x627, 0x3b,
-0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x654, 0x3b, 0x641, 0x648, 0x631, 0x6cc,
-0x647, 0x654, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x647, 0x654, 0x3b, 0x698, 0x648,
-0x626, 0x646, 0x3b, 0x698, 0x648, 0x626, 0x6cc, 0x647, 0x654, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628,
-0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628,
-0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b,
-0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627,
-0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648,
-0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x6cc,
-0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c,
-0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628,
-0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x73, 0x74, 0x79, 0x3b, 0x6c, 0x75, 0x74, 0x3b,
-0x6d, 0x61, 0x72, 0x3b, 0x6b, 0x77, 0x69, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x3b, 0x6c, 0x69, 0x70, 0x3b,
-0x73, 0x69, 0x65, 0x3b, 0x77, 0x72, 0x7a, 0x3b, 0x70, 0x61, 0x17a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x67, 0x72, 0x75, 0x3b,
-0x73, 0x74, 0x79, 0x63, 0x7a, 0x65, 0x144, 0x3b, 0x6c, 0x75, 0x74, 0x79, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x65, 0x63, 0x3b,
-0x6b, 0x77, 0x69, 0x65, 0x63, 0x69, 0x65, 0x144, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x72, 0x77, 0x69, 0x65,
-0x63, 0x3b, 0x6c, 0x69, 0x70, 0x69, 0x65, 0x63, 0x3b, 0x73, 0x69, 0x65, 0x72, 0x70, 0x69, 0x65, 0x144, 0x3b, 0x77, 0x72,
-0x7a, 0x65, 0x73, 0x69, 0x65, 0x144, 0x3b, 0x70, 0x61, 0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b, 0x3b, 0x6c,
-0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x67, 0x72, 0x75, 0x64, 0x7a, 0x69, 0x65, 0x144, 0x3b, 0x53, 0x3b, 0x4c,
-0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x43, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x57, 0x3b, 0x50, 0x3b, 0x4c, 0x3b, 0x47,
-0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x6e, 0x69, 0x61, 0x3b, 0x6c, 0x75, 0x74, 0x65, 0x67, 0x6f, 0x3b, 0x6d, 0x61, 0x72,
-0x63, 0x61, 0x3b, 0x6b, 0x77, 0x69, 0x65, 0x74, 0x6e, 0x69, 0x61, 0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x63, 0x7a, 0x65,
-0x72, 0x77, 0x63, 0x61, 0x3b, 0x6c, 0x69, 0x70, 0x63, 0x61, 0x3b, 0x73, 0x69, 0x65, 0x72, 0x70, 0x6e, 0x69, 0x61, 0x3b,
-0x77, 0x72, 0x7a, 0x65, 0x15b, 0x6e, 0x69, 0x61, 0x3b, 0x70, 0x61, 0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b,
-0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x61, 0x3b, 0x67, 0x72, 0x75, 0x64, 0x6e, 0x69, 0x61, 0x3b,
-0x73, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x63, 0x3b, 0x6c, 0x3b, 0x73, 0x3b, 0x77, 0x3b, 0x70, 0x3b,
-0x6c, 0x3b, 0x67, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b,
-0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b,
-0x6f, 0x75, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x7a, 0x3b, 0x6a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b,
-0x66, 0x65, 0x76, 0x65, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69,
-0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x61,
-0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x75, 0x74, 0x75, 0x62,
-0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, 0x6f,
-0x3b, 0xa1c, 0xa28, 0x3b, 0xa2b, 0xa3c, 0xa30, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a, 0xa4d, 0xa30, 0xa48, 0x3b, 0xa2e,
-0xa08, 0x3b, 0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0x3b, 0xa05, 0xa17, 0x3b, 0xa38, 0xa24, 0xa70, 0x3b, 0xa05, 0xa15,
-0xa24, 0xa42, 0x3b, 0xa28, 0xa35, 0xa70, 0x3b, 0xa26, 0xa38, 0xa70, 0x3b, 0xa1c, 0xa28, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2b, 0xa3c, 0xa30,
-0xa35, 0xa30, 0xa40, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a, 0xa4d, 0xa30, 0xa48, 0xa32, 0x3b, 0xa2e, 0xa08, 0x3b, 0xa1c,
-0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0xa08, 0x3b, 0xa05, 0xa17, 0xa38, 0xa24, 0x3b, 0xa38, 0xa24, 0xa70, 0xa2c, 0xa30, 0x3b,
-0xa05, 0xa15, 0xa24, 0xa42, 0xa2c, 0xa30, 0x3b, 0xa28, 0xa35, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa26, 0xa38, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa1c,
-0x3b, 0xa2b, 0xa3c, 0x3b, 0xa2e, 0xa3e, 0x3b, 0xa05, 0x3b, 0xa2e, 0x3b, 0xa1c, 0xa42, 0x3b, 0xa1c, 0xa41, 0x3b, 0xa05, 0x3b, 0xa38,
-0x3b, 0xa05, 0x3b, 0xa28, 0x3b, 0xa26, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645,
-0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644,
-0x627, 0x626, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628,
-0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x46, 0x65,
-0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75,
-0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x63, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69,
-0x63, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a,
-0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x4a,
-0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72,
-0x65, 0x3b, 0x4f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b,
-0x44, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x61, 0x76,
-0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, 0x7a, 0x65,
-0x72, 0x63, 0x6c, 0x2e, 0x3b, 0x66, 0x61, 0x6e, 0x2e, 0x3b, 0x61, 0x76, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x74,
-0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x73, 0x63, 0x68,
-0x61, 0x6e, 0x65, 0x72, 0x3b, 0x66, 0x61, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72,
-0x69, 0x67, 0x6c, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, 0x7a, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x66,
-0x61, 0x6e, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x61, 0x76, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62,
-0x65, 0x72, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b,
-0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a,
-0x3b, 0x46, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x69, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65,
-0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, 0x6e,
-0x2e, 0x3b, 0x69, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63,
-0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x69, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69,
-0x65, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x65, 0x3b, 0x61,
-0x70, 0x72, 0x69, 0x6c, 0x69, 0x65, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, 0x6e, 0x69, 0x65, 0x3b, 0x69, 0x75, 0x6c,
-0x69, 0x65, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65,
-0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x6e, 0x6f, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65,
-0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x49, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d,
-0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b,
-0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b,
-0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e,
-0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432,
-0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430,
-0x44f, 0x3b, 0x438, 0x44e, 0x43d, 0x2e, 0x3b, 0x438, 0x44e, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d,
-0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f,
-0x43d, 0x432, 0x430, 0x440, 0x44f, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x430, 0x3b,
-0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x438, 0x44e, 0x43d, 0x44f, 0x3b, 0x438, 0x44e, 0x43b, 0x44f,
-0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x430, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43e, 0x43a,
-0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44f,
-0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x3b, 0x4d, 0x62, 0xe4, 0x3b, 0x4e, 0x67, 0x75, 0x3b, 0x42, 0xea, 0x6c,
-0x3b, 0x46, 0xf6, 0x6e, 0x3b, 0x4c, 0x65, 0x6e, 0x3b, 0x4b, 0xfc, 0x6b, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x4e, 0x67, 0x62,
-0x3b, 0x4e, 0x61, 0x62, 0x3b, 0x4b, 0x61, 0x6b, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x75,
-0x6e, 0x64, 0xef, 0x67, 0x69, 0x3b, 0x4d, 0x62, 0xe4, 0x6e, 0x67, 0xfc, 0x3b, 0x4e, 0x67, 0x75, 0x62, 0xf9, 0x65, 0x3b,
-0x42, 0xea, 0x6c, 0xe4, 0x77, 0xfc, 0x3b, 0x46, 0xf6, 0x6e, 0x64, 0x6f, 0x3b, 0x4c, 0x65, 0x6e, 0x67, 0x75, 0x61, 0x3b,
-0x4b, 0xfc, 0x6b, 0xfc, 0x72, 0xfc, 0x3b, 0x4d, 0x76, 0x75, 0x6b, 0x61, 0x3b, 0x4e, 0x67, 0x62, 0x65, 0x72, 0x65, 0x72,
-0x65, 0x3b, 0x4e, 0x61, 0x62, 0xe4, 0x6e, 0x64, 0xfc, 0x72, 0x75, 0x3b, 0x4b, 0x61, 0x6b, 0x61, 0x75, 0x6b, 0x61, 0x3b,
-0x4e, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, 0x46, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b,
-0x4e, 0x3b, 0x4b, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b,
-0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b,
-0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444,
-0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430,
-0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f,
-0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c,
-0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62,
-0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75,
-0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64,
-0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61,
-0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c,
-0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6f, 0x6b,
-0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d,
-0x62, 0x61, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b,
-0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b,
-0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62,
-0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b,
-0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b,
-0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430,
-0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430,
-0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b,
-0x42f, 0x43d, 0x432, 0x2e, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x2e, 0x3b, 0x410, 0x43f, 0x440,
-0x2e, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x2e,
-0x3b, 0x421, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x41e, 0x43a, 0x442, 0x2e, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x2e, 0x3b, 0x414, 0x435,
-0x43a, 0x2e, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x41c, 0x430,
-0x440, 0x442, 0x44a, 0x438, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x44c,
-0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440,
-0x44c, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x414, 0x435, 0x43a,
-0x430, 0x431, 0x440, 0x44c, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b,
-0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x44b, 0x3b, 0x438, 0x44e, 0x43d, 0x44b, 0x3b, 0x438, 0x44e, 0x43b, 0x44b, 0x3b,
-0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x2e, 0x3b,
-0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44b, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44b, 0x3b,
-0x43c, 0x430, 0x440, 0x442, 0x44a, 0x438, 0x439, 0x44b, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44b, 0x3b, 0x43c, 0x430, 0x439, 0x44b,
-0x3b, 0x438, 0x44e, 0x43d, 0x44b, 0x3b, 0x438, 0x44e, 0x43b, 0x44b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x44b, 0x3b, 0x441,
-0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x43d, 0x43e, 0x44f, 0x431,
-0x440, 0x44b, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44b, 0x3b, 0x4e, 0x64, 0x69, 0x3b, 0x4b, 0x75, 0x6b, 0x3b, 0x4b,
-0x75, 0x72, 0x3b, 0x4b, 0x75, 0x62, 0x3b, 0x43, 0x68, 0x76, 0x3b, 0x43, 0x68, 0x6b, 0x3b, 0x43, 0x68, 0x67, 0x3b, 0x4e,
-0x79, 0x61, 0x3b, 0x47, 0x75, 0x6e, 0x3b, 0x47, 0x75, 0x6d, 0x3b, 0x4d, 0x62, 0x75, 0x3b, 0x5a, 0x76, 0x69, 0x3b, 0x4e,
-0x64, 0x69, 0x72, 0x61, 0x3b, 0x4b, 0x75, 0x6b, 0x61, 0x64, 0x7a, 0x69, 0x3b, 0x4b, 0x75, 0x72, 0x75, 0x6d, 0x65, 0x3b,
-0x4b, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x62, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x76, 0x61, 0x62, 0x76, 0x75, 0x3b, 0x43, 0x68,
-0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, 0x6e, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4e, 0x79, 0x61,
-0x6d, 0x61, 0x76, 0x68, 0x75, 0x76, 0x68, 0x75, 0x3b, 0x47, 0x75, 0x6e, 0x79, 0x61, 0x6e, 0x61, 0x3b, 0x47, 0x75, 0x6d,
-0x69, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4d, 0x62, 0x75, 0x64, 0x7a, 0x69, 0x3b, 0x5a, 0x76, 0x69, 0x74, 0x61, 0x3b, 0x4e,
-0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x4e, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d,
-0x3b, 0x5a, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x64a, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631,
-0x686, 0x3b, 0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x64a, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627,
-0x621, 0x650, 0x3b, 0x622, 0x6af, 0x633, 0x67d, 0x3b, 0x633, 0x64a, 0x67e, 0x67d, 0x645, 0x628, 0x631, 0x3b, 0x622, 0x6aa, 0x67d, 0x648,
-0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x68a, 0x633, 0x645, 0x628, 0x631, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9,
-0xdb6, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2,
-0x3b, 0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0x3b,
-0xd94, 0xd9a, 0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0x3b, 0xda2, 0xdb1, 0xdc0, 0xdcf, 0xdbb, 0xdd2,
-0x3b, 0xdb4, 0xdd9, 0xdb6, 0xdbb, 0xdc0, 0xdcf, 0xdbb, 0xdd2, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0xdad, 0xdd4, 0x3b, 0xd85, 0xdb4, 0xdca,
-0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2,
-0x3b, 0xd85, 0xd9c, 0xddd, 0xdc3, 0xdca, 0xdad, 0xdd4, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0xdad, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca,
-0x3b, 0xd94, 0xd9a, 0xdca, 0xdad, 0xddd, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b,
-0xdaf, 0xdd9, 0xdc3, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xda2, 0x3b, 0xdb4, 0xdd9, 0x3b, 0xdb8, 0xdcf, 0x3b, 0xd85, 0x3b,
-0xdb8, 0xdd0, 0x3b, 0xda2, 0xdd6, 0x3b, 0xda2, 0xdd6, 0x3b, 0xd85, 0x3b, 0xdc3, 0xdd0, 0x3b, 0xd94, 0x3b, 0xdb1, 0xdd9, 0x3b, 0xdaf,
-0xdd9, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0xdad, 0xdd4, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d,
-0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b,
-0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9,
-0xdc3, 0xdd0, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d,
-0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f,
-0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65,
-0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0xe1,
-0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70,
-0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d,
-0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x61,
-0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0xed,
-0x6c, 0x61, 0x3b, 0x6d, 0xe1, 0x6a, 0x61, 0x3b, 0x6a, 0xfa, 0x6e, 0x61, 0x3b, 0x6a, 0xfa, 0x6c, 0x61, 0x3b, 0x61, 0x75,
-0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0xf3,
-0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72,
-0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72,
-0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x76, 0x67, 0x2e,
-0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e,
-0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65,
-0x63, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75,
-0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72,
-0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65,
-0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41,
-0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x73, 0x3b, 0x53,
-0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x66, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x61,
-0x61, 0x79, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x61, 0x61, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x73, 0x6f, 0x3b,
-0x41, 0x62, 0x72, 0x69, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x75, 0x6c,
-0x69, 0x79, 0x6f, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x62, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b,
-0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x66, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65,
-0x73, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c,
-0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x6f,
-0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69,
-0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x64, 0x64, 0x65, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20,
-0x41, 0x66, 0x72, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x68, 0x61, 0x6e, 0x61, 0x61, 0x64,
-0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x69, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20,
-0x54, 0x6f, 0x64, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x69, 0x64, 0x65, 0x65,
-0x64, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x67, 0x61, 0x61, 0x6c, 0x61, 0x61, 0x64,
-0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61,
-0x20, 0x4b, 0x6f, 0x77, 0x20, 0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73,
-0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x20, 0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b,
-0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b,
-0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b,
-0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e,
-0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f,
-0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75,
-0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72,
-0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b,
-0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b,
-0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66,
-0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a,
-0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f,
-0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e, 0x3b, 0x45, 0x6e, 0x65, 0x2e, 0x3b, 0x46,
-0x65, 0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x79, 0x2e, 0x3b, 0x4a,
-0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x67, 0x6f, 0x2e, 0x3b, 0x53, 0x65, 0x74, 0x2e, 0x3b, 0x4f,
-0x63, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x69, 0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66,
-0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a,
-0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f,
-0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x3b,
-0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b,
-0x6d, 0x61, 0x79, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f,
-0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72,
-0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72,
-0x65, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65,
-0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b,
-0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65,
-0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b,
-0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74,
-0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f,
-0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66,
-0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75,
-0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b,
-0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69,
-0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c,
-0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73,
-0x74, 0x69, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72,
-0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x42f,
-0x43d, 0x432, 0x430, 0x440, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440,
-0x435, 0x43b, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441,
-0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41d, 0x43e, 0x44f,
-0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0xb9c, 0xba9, 0x2e, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0x2e, 0x3b,
-0xbae, 0xbbe, 0xbb0, 0xbcd, 0x2e, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c,
-0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0x2e, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xb85, 0xb95, 0xbcd, 0x2e, 0x3b, 0xba8,
-0xbb5, 0x2e, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0x2e, 0x3b, 0xb9c, 0xba9, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0xbb0, 0xbb5,
-0xbb0, 0xbbf, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0xb9a, 0xbcd, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0xbb0, 0xbb2, 0xbcd, 0x3b, 0xbae, 0xbc7, 0x3b,
-0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0xbb8, 0xbcd, 0xb9f, 0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbaa,
-0xbcd, 0xb9f, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xba8, 0xbb5, 0xbae,
-0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9c, 0x3b, 0xbaa, 0xbbf, 0x3b, 0xbae,
-0xbbe, 0x3b, 0xb8f, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb86, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xb85, 0x3b,
-0xba8, 0x3b, 0xb9f, 0xbbf, 0x3b, 0x433, 0x44b, 0x439, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e,
-0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b,
-0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431,
-0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x433, 0x44b, 0x439, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430,
-0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438,
-0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442,
-0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b,
-0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0xc1c, 0xc28, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0x3b, 0xc2e, 0xc3e, 0xc30,
-0xc4d, 0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc41,
-0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0x3b,
-0xc28, 0xc35, 0xc02, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, 0x3b, 0xc1c, 0xc28, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d,
-0xc30, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b,
-0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc41, 0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b,
-0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b,
-0xc28, 0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f,
-0x3b, 0xc2e, 0xc3e, 0x3b, 0xc0f, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b,
-0xc05, 0x3b, 0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e,
-0xe04, 0x2e, 0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b,
-0xe01, 0x2e, 0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b,
-0xe1e, 0x2e, 0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe01, 0xe23, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21,
-0xe20, 0xe32, 0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19, 0xe32, 0xe04, 0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22,
-0xe19, 0x3b, 0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0xe34, 0xe16, 0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01,
-0xe23, 0xe01, 0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32,
-0xe22, 0xe19, 0x3b, 0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e, 0xe24, 0xe28, 0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b,
-0xe18, 0xe31, 0xe19, 0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf66,
-0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3,
-0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54,
-0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b,
-0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b,
-0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45,
-0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42,
-0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0x3b, 0xf5f, 0xfb3,
-0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b,
-0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94,
-0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b,
-0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0x3b,
-0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b,
-0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3,
-0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x3b,
-0x1218, 0x130b, 0x3b, 0x121a, 0x12eb, 0x3b, 0x130d, 0x1295, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x3b, 0x1290, 0x1213, 0x3b, 0x1218, 0x1235,
-0x3b, 0x1325, 0x1245, 0x3b, 0x1215, 0x12f3, 0x3b, 0x1273, 0x1215, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b,
-0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x12eb, 0x3b, 0x130d, 0x1295, 0x1266, 0x1275, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b,
-0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x1228, 0x121d, 0x3b, 0x1325, 0x1245, 0x121d, 0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273,
-0x1215, 0x1233, 0x1235, 0x3b, 0x1325, 0x3b, 0x1208, 0x3b, 0x1218, 0x3b, 0x121a, 0x3b, 0x130d, 0x3b, 0x1230, 0x3b, 0x1213, 0x3b, 0x1290, 0x3b,
-0x1218, 0x3b, 0x1325, 0x3b, 0x1215, 0x3b, 0x1273, 0x3b, 0x53, 0x101, 0x6e, 0x3b, 0x46, 0x113, 0x70, 0x3b, 0x4d, 0x61, 0x2bb, 0x61,
-0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x53, 0x69, 0x75, 0x3b, 0x2bb, 0x41, 0x6f,
-0x6b, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x3b, 0x54, 0x12b, 0x73, 0x3b, 0x53,
-0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70, 0x75, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x73,
-0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x65, 0x3b, 0x53,
-0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x69, 0x74, 0x65,
-0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x65, 0x6d, 0x61, 0x3b, 0x54,
-0x12b, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b,
-0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4f, 0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61,
-0x72, 0x3b, 0x4e, 0x69, 0x73, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f,
-0x75, 0x3b, 0x45, 0x79, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63,
-0x61, 0x6b, 0x3b, 0x15e, 0x75, 0x62, 0x61, 0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b,
-0x4d, 0x61, 0x79, 0x131, 0x73, 0x3b, 0x48, 0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a,
-0x3b, 0x41, 0x11f, 0x75, 0x73, 0x74, 0x6f, 0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b,
-0x4b, 0x61, 0x73, 0x131, 0x6d, 0x3b, 0x41, 0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e,
-0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0xdd, 0x61, 0x6e,
-0x3b, 0x46, 0x65, 0x77, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0xfd, 0x3b, 0x49, 0xfd, 0x75,
-0x6e, 0x3b, 0x49, 0xfd, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x67, 0x3b, 0x53, 0x65, 0x6e, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e,
-0x6f, 0xfd, 0x3b, 0x44, 0x65, 0x6b, 0x3b, 0xdd, 0x61, 0x6e, 0x77, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x77, 0x72, 0x61, 0x6c,
-0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0xfd, 0x3b, 0x49, 0xfd, 0x75, 0x6e,
-0x3b, 0x49, 0xfd, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0xfd, 0x61, 0x62,
-0x72, 0x3b, 0x4f, 0x6b, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, 0x6b,
-0x61, 0x62, 0x72, 0x3b, 0xdd, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b,
-0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0xfd, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x77, 0x3b, 0x6d, 0x61, 0x72, 0x74,
-0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0xfd, 0x3b, 0x69, 0xfd, 0x75, 0x6e, 0x3b, 0x69, 0xfd, 0x75, 0x6c, 0x3b, 0x61,
-0x77, 0x67, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0xfd, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0xfd,
-0x61, 0x6e, 0x77, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x77, 0x72, 0x61, 0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70,
-0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0xfd, 0x3b, 0x69, 0xfd, 0x75, 0x6e, 0x3b, 0x69, 0xfd, 0x75, 0x6c, 0x3b, 0x61, 0x77,
-0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xfd, 0x61, 0x62,
-0x72, 0x3b, 0x6e, 0x6f, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x64a, 0x627, 0x646, 0x6cb,
-0x627, 0x631, 0x3b, 0x641, 0x6d0, 0x6cb, 0x631, 0x627, 0x644, 0x3b, 0x645, 0x627, 0x631, 0x62a, 0x3b, 0x626, 0x627, 0x67e, 0x631, 0x6d0,
-0x644, 0x3b, 0x645, 0x627, 0x64a, 0x3b, 0x626, 0x649, 0x64a, 0x6c7, 0x646, 0x3b, 0x626, 0x649, 0x64a, 0x6c7, 0x644, 0x3b, 0x626, 0x627,
-0x6cb, 0x63a, 0x6c7, 0x633, 0x62a, 0x3b, 0x633, 0x6d0, 0x646, 0x62a, 0x6d5, 0x628, 0x649, 0x631, 0x3b, 0x626, 0x6c6, 0x643, 0x62a, 0x6d5,
-0x628, 0x649, 0x631, 0x3b, 0x646, 0x648, 0x64a, 0x627, 0x628, 0x649, 0x631, 0x3b, 0x62f, 0x6d0, 0x643, 0x627, 0x628, 0x649, 0x631, 0x3b,
-0x441, 0x456, 0x447, 0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x431, 0x435, 0x440, 0x3b, 0x43a, 0x432, 0x456, 0x3b, 0x442, 0x440, 0x430, 0x3b,
-0x447, 0x435, 0x440, 0x3b, 0x43b, 0x438, 0x43f, 0x3b, 0x441, 0x435, 0x440, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x436, 0x43e, 0x432, 0x3b,
-0x43b, 0x438, 0x441, 0x3b, 0x433, 0x440, 0x443, 0x3b, 0x441, 0x456, 0x447, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x44e, 0x442, 0x438, 0x439,
-0x3b, 0x431, 0x435, 0x440, 0x435, 0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x442, 0x440,
-0x430, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x438, 0x43f, 0x435, 0x43d, 0x44c,
-0x3b, 0x441, 0x435, 0x440, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x436, 0x43e,
-0x432, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x435,
-0x43d, 0x44c, 0x3b, 0x421, 0x3b, 0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b, 0x412,
-0x3b, 0x416, 0x3b, 0x41b, 0x3b, 0x413, 0x3b, 0x441, 0x456, 0x447, 0x2e, 0x3b, 0x43b, 0x44e, 0x442, 0x2e, 0x3b, 0x431, 0x435, 0x440,
-0x2e, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x2e, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x2e, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x2e, 0x3b,
-0x43b, 0x438, 0x43f, 0x2e, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x2e, 0x3b, 0x432, 0x435, 0x440, 0x2e, 0x3b, 0x436, 0x43e, 0x432, 0x442,
-0x2e, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x2e, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x2e, 0x3b, 0x441, 0x456, 0x447, 0x43d, 0x44f, 0x3b,
-0x43b, 0x44e, 0x442, 0x43e, 0x433, 0x43e, 0x3b, 0x431, 0x435, 0x440, 0x435, 0x437, 0x43d, 0x44f, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x43d,
-0x44f, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x43d, 0x44f, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x43f, 0x43d,
-0x44f, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x43d, 0x44f, 0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x43d, 0x44f, 0x3b, 0x436, 0x43e, 0x432,
-0x442, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x43d, 0x44f,
-0x3b, 0x441, 0x3b, 0x43b, 0x3b, 0x431, 0x3b, 0x43a, 0x3b, 0x442, 0x3b, 0x447, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x432, 0x3b, 0x436,
-0x3b, 0x43b, 0x3b, 0x433, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631,
-0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627,
-0x626, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631,
-0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76,
-0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x49, 0x79, 0x6e, 0x3b, 0x49, 0x79, 0x6c,
-0x3b, 0x41, 0x76, 0x67, 0x3b, 0x53, 0x65, 0x6e, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x79, 0x3b, 0x44, 0x65, 0x6b,
-0x3b, 0x59, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b,
-0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x49, 0x79, 0x75, 0x6e, 0x3b, 0x49, 0x79, 0x75, 0x6c, 0x3b,
-0x41, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x61, 0x62,
-0x72, 0x3b, 0x4e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x59, 0x3b, 0x46, 0x3b,
-0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b,
-0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b,
-0x69, 0x79, 0x6e, 0x3b, 0x69, 0x79, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b,
-0x6e, 0x6f, 0x79, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x79, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x61,
-0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x75,
-0x6e, 0x3b, 0x69, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x62,
-0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x6e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65, 0x6b, 0x61,
-0x62, 0x72, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x3b, 0x627, 0x67e, 0x631, 0x3b, 0x645,
-0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x3b, 0x633, 0x67e, 0x62a, 0x3b, 0x627, 0x6a9,
-0x62a, 0x3b, 0x646, 0x648, 0x645, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x44f, 0x43d, 0x432, 0x3b, 0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430,
-0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x3b, 0x438, 0x44e, 0x43b, 0x3b, 0x430, 0x432,
-0x433, 0x3b, 0x441, 0x435, 0x43d, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x44f, 0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x44f, 0x43d,
-0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435,
-0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x3b, 0x438, 0x44e, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442,
-0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x43d, 0x43e, 0x44f, 0x431,
-0x440, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x32,
-0x3b, 0x54, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x34, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x54,
-0x68, 0x67, 0x20, 0x36, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x37, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x54, 0x68, 0x67,
-0x20, 0x39, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x54, 0x68, 0x67,
-0x20, 0x31, 0x32, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x32, 0x3b,
-0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x33, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x34, 0x3b, 0x54, 0x68, 0xe1, 0x6e,
-0x67, 0x20, 0x35, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x36, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x37, 0x3b,
-0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x38, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x39, 0x3b, 0x54, 0x68, 0xe1, 0x6e,
-0x67, 0x20, 0x31, 0x30, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20,
-0x31, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33,
-0x3b, 0x74, 0x68, 0x67, 0x20, 0x34, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74,
-0x68, 0x67, 0x20, 0x37, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67,
-0x20, 0x31, 0x30, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68,
-0xe1, 0x6e, 0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20,
-0x33, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x34, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68,
-0xe1, 0x6e, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x37, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20,
-0x38, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x74,
-0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x79, 0x61, 0x6e,
-0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0xe4, 0x7a, 0x3b, 0x70, 0x72, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e,
-0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x67, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x74, 0x6f, 0x62, 0x3b, 0x6e, 0x6f, 0x76,
-0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x79, 0x61, 0x6e, 0x75, 0x6c, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x6c, 0x3b, 0x6d, 0xe4, 0x7a,
-0x75, 0x6c, 0x3b, 0x70, 0x72, 0x69, 0x6c, 0x75, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x75, 0x6c, 0x3b, 0x79, 0x75, 0x6e, 0x75,
-0x6c, 0x3b, 0x79, 0x75, 0x6c, 0x75, 0x6c, 0x3b, 0x67, 0x75, 0x73, 0x74, 0x75, 0x6c, 0x3b, 0x73, 0x65, 0x74, 0x75, 0x6c,
-0x3b, 0x74, 0x6f, 0x62, 0x75, 0x6c, 0x3b, 0x6e, 0x6f, 0x76, 0x75, 0x6c, 0x3b, 0x64, 0x65, 0x6b, 0x75, 0x6c, 0x3b, 0x59,
-0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4e,
-0x3b, 0x44, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0xe4, 0x7a, 0x3b, 0x70, 0x72, 0x6c, 0x3b, 0x6d,
-0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x67, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x74,
-0x6f, 0x6e, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x3b, 0x4d,
-0x61, 0x77, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x41,
-0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52, 0x68,
-0x61, 0x67, 0x3b, 0x49, 0x6f, 0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, 0x72, 0x3b, 0x4d,
-0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68,
-0x65, 0x66, 0x69, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, 0x6e, 0x6e, 0x61, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74,
-0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x77, 0x65, 0x64,
-0x64, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x66, 0x79, 0x72, 0x3b, 0x49, 0x3b, 0x43, 0x68, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d,
-0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x68, 0x3b, 0x49, 0x6f, 0x6e, 0x3b,
-0x43, 0x68, 0x77, 0x65, 0x66, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69,
-0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69,
-0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x46,
-0x65, 0x77, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x77, 0x3b, 0x53,
-0x75, 0x6c, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0xe0, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x77, 0x3b, 0x44, 0x65,
-0x73, 0x3b, 0x53, 0x61, 0x6d, 0x77, 0x69, 0x79, 0x65, 0x65, 0x3b, 0x46, 0x65, 0x77, 0x72, 0x69, 0x79, 0x65, 0x65, 0x3b,
-0x4d, 0x61, 0x72, 0x73, 0x3b, 0x41, 0x77, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x77, 0x65, 0x3b,
-0x53, 0x75, 0x6c, 0x65, 0x74, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0xe0, 0x74, 0x74, 0x75, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f,
-0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x77, 0xe0, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x73,
-0xe0, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x45, 0x70,
-0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65,
-0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x79, 0x75, 0x77,
-0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74, 0x73, 0x68, 0x69,
-0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75,
-0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61,
-0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73,
-0x65, 0x6d, 0x62, 0x61, 0x3b, 0x5d9, 0x5d0, 0x5b7, 0x5e0, 0x3b, 0x5e4, 0x5bf, 0x5e2, 0x5d1, 0x3b, 0x5de, 0x5e2, 0x5e8, 0x5e5, 0x3b,
-0x5d0, 0x5b7, 0x5e4, 0x5bc, 0x5e8, 0x3b, 0x5de, 0x5d9, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b,
-0x5d0, 0x5d5, 0x5d9, 0x5d2, 0x3b, 0x5e1, 0x5e2, 0x5e4, 0x5bc, 0x3b, 0x5d0, 0x5e7, 0x5d8, 0x3b, 0x5e0, 0x5d0, 0x5d5, 0x5d5, 0x3b, 0x5d3,
-0x5e2, 0x5e6, 0x3b, 0x5d9, 0x5d0, 0x5b7, 0x5e0, 0x5d5, 0x5d0, 0x5b7, 0x5e8, 0x3b, 0x5e4, 0x5bf, 0x5e2, 0x5d1, 0x5e8, 0x5d5, 0x5d0, 0x5b7,
-0x5e8, 0x3b, 0x5de, 0x5e2, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5b7, 0x5e4, 0x5bc, 0x5e8, 0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d9, 0x5d9, 0x3b, 0x5d9,
-0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d9, 0x5d2, 0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e2, 0x5e4,
-0x5bc, 0x5d8, 0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5d0, 0x5e7, 0x5d8, 0x5d0, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5e0, 0x5d0, 0x5d5, 0x5d5,
-0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5d3, 0x5e2, 0x5e6, 0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x3b, 0xc8,
-0x72, 0x3b, 0x1eb8, 0x72, 0x3b, 0xcc, 0x67, 0x3b, 0x1eb8, 0x300, 0x62, 0x3b, 0xd2, 0x6b, 0x3b, 0x41, 0x67, 0x3b, 0xd2, 0x67,
-0x3b, 0x4f, 0x77, 0x3b, 0x1ecc, 0x300, 0x77, 0x3b, 0x42, 0xe9, 0x3b, 0x1ecc, 0x300, 0x70, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9,
-0x301, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b,
-0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2,
-0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c,
-0xfa, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x53, 0x3b, 0xc8, 0x3b, 0x1eb8, 0x3b, 0xcc, 0x3b, 0x1eb8, 0x300, 0x3b, 0xd2,
-0x3b, 0x41, 0x3b, 0xd2, 0x3b, 0x4f, 0x3b, 0x1ecc, 0x300, 0x3b, 0x42, 0x3b, 0x1ecc, 0x300, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x3b,
-0xc8, 0x72, 0xe8, 0x6c, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0x3b, 0xcc, 0x67, 0x62, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x3b,
-0xd2, 0x6b, 0xfa, 0x3b, 0x41, 0x67, 0x1eb9, 0x3b, 0xd2, 0x67, 0xfa, 0x3b, 0x4f, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0,
-0x3b, 0x42, 0xe9, 0x6c, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x301,
-0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e,
-0xe0, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62,
-0x69, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d,
-0x1ecd, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65,
-0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa,
-0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x53, 0x68, 0x25b, 0x301, 0x3b, 0xc8, 0x72, 0x3b, 0x190,
-0x72, 0x3b, 0xcc, 0x67, 0x3b, 0x190, 0x300, 0x62, 0x3b, 0xd2, 0x6b, 0x3b, 0x41, 0x67, 0x3b, 0xd2, 0x67, 0x3b, 0x4f, 0x77,
-0x3b, 0x186, 0x300, 0x77, 0x3b, 0x42, 0xe9, 0x3b, 0x186, 0x300, 0x70, 0x3b, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x25b, 0x301, 0x3b,
-0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x190, 0x72, 0x25b, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x190, 0x300,
-0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x25b, 0x6d, 0x254, 0x3b, 0xd2, 0x67, 0xfa,
-0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x186, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b,
-0x186, 0x300, 0x70, 0x25b, 0x300, 0x3b, 0x53, 0x3b, 0xc8, 0x3b, 0x190, 0x3b, 0xcc, 0x3b, 0x190, 0x300, 0x3b, 0xd2, 0x3b, 0x41,
-0x3b, 0xd2, 0x3b, 0x4f, 0x3b, 0x186, 0x300, 0x3b, 0x42, 0x3b, 0x186, 0x300, 0x3b, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x3b, 0xc8,
-0x72, 0xe8, 0x6c, 0x3b, 0x190, 0x72, 0x25b, 0x300, 0x6e, 0x3b, 0xcc, 0x67, 0x62, 0x3b, 0x190, 0x300, 0x62, 0x69, 0x3b, 0xd2,
-0x6b, 0xfa, 0x3b, 0x41, 0x67, 0x25b, 0x3b, 0xd2, 0x67, 0xfa, 0x3b, 0x4f, 0x77, 0x65, 0x3b, 0x186, 0x300, 0x77, 0xe0, 0x3b,
-0x42, 0xe9, 0x6c, 0x3b, 0x186, 0x300, 0x70, 0x25b, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x25b,
-0x301, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x190, 0x72,
-0x25b, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20,
-0x190, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x73,
-0x68, 0xf9, 0x20, 0x41, 0x67, 0x25b, 0x6d, 0x254, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f,
-0x73, 0x68, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x186, 0x300, 0x77, 0xe0, 0x72,
-0xe0, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x186, 0x300, 0x70,
-0x25b, 0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x45, 0x70, 0x68, 0x3b, 0x4d,
-0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f,
-0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b,
-0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x68, 0x72,
-0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69,
-0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b,
-0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62,
-0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b,
-0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73,
-0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b,
-0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b,
-0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b,
-0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b,
-0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61,
-0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x64,
-0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x3b,
-0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x443, 0x433, 0x3b,
-0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b, 0x458, 0x430, 0x43d, 0x443,
-0x430, 0x440, 0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438,
-0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, 0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x443, 0x433, 0x443,
-0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440,
-0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x4a,
-0x2d, 0x67, 0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74,
-0x3b, 0x41, 0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f,
-0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73,
-0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69,
-0x72, 0x3b, 0x4d, 0x2d, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x2d, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b,
-0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69,
-0x61, 0x67, 0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76,
-0x65, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f,
-0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c,
-0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72,
-0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48,
-0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e, 0x79, 0x20, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b,
-0x3b, 0x47, 0x65, 0x6e, 0x3b, 0x48, 0x77, 0x65, 0x3b, 0x4d, 0x65, 0x75, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b,
-0x4d, 0x65, 0x74, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b,
-0x44, 0x75, 0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x47, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x6d, 0x69,
-0x73, 0x20, 0x48, 0x77, 0x65, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4d, 0x65, 0x75, 0x72, 0x74, 0x68,
-0x3b, 0x6d, 0x69, 0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4d, 0x65, 0x3b, 0x6d, 0x69,
-0x73, 0x20, 0x4d, 0x65, 0x74, 0x68, 0x65, 0x76, 0x65, 0x6e, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x47, 0x6f, 0x72, 0x74, 0x68,
-0x65, 0x72, 0x65, 0x6e, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x45, 0x73, 0x74, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x47, 0x77, 0x79,
-0x6e, 0x6e, 0x67, 0x61, 0x6c, 0x61, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x48, 0x65, 0x64, 0x72, 0x61, 0x3b, 0x6d, 0x69, 0x73,
-0x20, 0x44, 0x75, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4b, 0x65, 0x76, 0x61, 0x72, 0x64, 0x68, 0x75, 0x3b, 0x53, 0x2d, 0x186,
-0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x4f, 0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f, 0x2d, 0x41,
-0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186, 0x3b, 0x46, 0x2d, 0x190, 0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186, 0x2d, 0x4f,
-0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x61, 0x2d, 0x186, 0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b, 0x4b, 0x77,
-0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d, 0x186, 0x67, 0x79, 0x65, 0x66, 0x75, 0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77, 0x2d, 0x186,
-0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62, 0x254, 0x62, 0x69, 0x72, 0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72, 0x69, 0x73,
-0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f, 0x77, 0x20, 0x41, 0x6b, 0x65, 0x74, 0x73, 0x65, 0x61, 0x62, 0x61, 0x2d,
-0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x62, 0x69, 0x72, 0x61, 0x64, 0x65, 0x2d, 0x41, 0x79,
-0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d, 0x75, 0x3b, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d, 0x4b, 0x69,
-0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b, 0x44, 0x69, 0x66, 0x75, 0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e, 0x64, 0x61,
-0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61, 0x2d, 0x190, 0x62, 0x254, 0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b, 0x2d, 0x41,
-0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186, 0x62, 0x65, 0x72, 0x25b, 0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62, 0x75, 0x62,
-0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d, 0x186, 0x70, 0x25b, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928,
-0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930,
-0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932,
-0x93e, 0x92f, 0x3b, 0x906, 0x917, 0x94b, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x911,
-0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938,
-0x947, 0x902, 0x92c, 0x930, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x45, 0x70, 0x72,
-0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x65, 0x70,
-0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, 0x6e, 0x1ee5, 0x77, 0x61, 0x72,
-0x1ecb, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, 0x63, 0x68, 0x1ecb, 0x3b, 0x45,
-0x70, 0x72, 0x65, 0x65, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x1ecb,
-0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74,
-0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b,
-0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x1ecc, 0x3b, 0x53, 0x3b, 0x1ecc, 0x3b,
-0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, 0x4b, 0x74, 0x169, 0x3b, 0x4b, 0x61, 0x6e, 0x3b,
-0x4b, 0x74, 0x6e, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x4b, 0x6e, 0x64, 0x3b,
-0x128, 0x6b, 0x75, 0x3b, 0x128, 0x6b, 0x6d, 0x3b, 0x128, 0x6b, 0x6c, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x6d, 0x62, 0x65, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x4d, 0x77,
-0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61,
-0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f,
-0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d,
-0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x75, 0x6f, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77,
-0x61, 0x20, 0x6e, 0x79, 0x61, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65,
-0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77,
-0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x129, 0x6d, 0x77, 0x65, 0x3b,
-0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x129,
-0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x128,
-0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x5a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72,
-0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74,
-0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46,
-0x65, 0x76, 0x72, 0xe2, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x3b, 0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69,
-0x3b, 0x4a, 0x75, 0x67, 0x6e, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65,
-0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72,
-0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b,
-0x4a, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x64, 0x7a, 0x76, 0x3b, 0x64, 0x7a,
-0x64, 0x3b, 0x74, 0x65, 0x64, 0x3b, 0x61, 0x66, 0x254, 0x3b, 0x64, 0x61, 0x6d, 0x3b, 0x6d, 0x61, 0x73, 0x3b, 0x73, 0x69,
-0x61, 0x3b, 0x64, 0x65, 0x61, 0x3b, 0x61, 0x6e, 0x79, 0x3b, 0x6b, 0x65, 0x6c, 0x3b, 0x61, 0x64, 0x65, 0x3b, 0x64, 0x7a,
-0x6d, 0x3b, 0x64, 0x7a, 0x6f, 0x76, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x64, 0x7a, 0x65, 0x3b, 0x74, 0x65, 0x64, 0x6f, 0x78,
-0x65, 0x3b, 0x61, 0x66, 0x254, 0x66, 0x129, 0x65, 0x3b, 0x64, 0x61, 0x6d, 0x61, 0x3b, 0x6d, 0x61, 0x73, 0x61, 0x3b, 0x73,
-0x69, 0x61, 0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x64, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x61, 0x6e,
-0x79, 0x254, 0x6e, 0x79, 0x254, 0x3b, 0x6b, 0x65, 0x6c, 0x65, 0x3b, 0x61, 0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254,
-0x78, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x64, 0x3b, 0x64, 0x3b, 0x74, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x6d,
-0x3b, 0x73, 0x3b, 0x64, 0x3b, 0x61, 0x3b, 0x6b, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x49, 0x61, 0x6e, 0x2e, 0x3b, 0x50, 0x65,
-0x70, 0x2e, 0x3b, 0x4d, 0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70, 0x2e, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e,
-0x2e, 0x3b, 0x49, 0x75, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e, 0x3b, 0x4b, 0x65, 0x70, 0x2e, 0x3b, 0x2bb, 0x4f, 0x6b,
-0x2e, 0x3b, 0x4e, 0x6f, 0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e, 0x3b, 0x49, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b,
-0x50, 0x65, 0x70, 0x65, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x6b, 0x69, 0x3b, 0x2bb, 0x41, 0x70,
-0x65, 0x6c, 0x69, 0x6c, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x65, 0x3b, 0x49, 0x75, 0x6c, 0x61, 0x69,
-0x3b, 0x2bb, 0x41, 0x75, 0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65, 0x70, 0x61, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b,
-0x2bb, 0x4f, 0x6b, 0x61, 0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x77, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4b, 0x65,
-0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x50, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41,
-0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53,
-0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f,
-0x3b, 0x50, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c,
-0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67,
-0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62,
-0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62,
-0x72, 0x65, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c,
-0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73,
-0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a,
-0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69,
-0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x63, 0x68, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b,
-0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65,
-0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xa2cd, 0xa1aa, 0x3b, 0xa44d, 0xa1aa, 0x3b, 0xa315, 0xa1aa, 0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c,
-0xa1aa, 0x3b, 0xa0d8, 0xa1aa, 0x3b, 0xa3c3, 0xa1aa, 0x3b, 0xa246, 0xa1aa, 0x3b, 0xa22c, 0xa1aa, 0x3b, 0xa2b0, 0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa,
-0x3b, 0xa2b0, 0xa44b, 0xa1aa, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b,
-0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41,
-0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44,
-0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x61, 0x72,
-0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69,
-0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62,
-0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x76, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b,
-0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e,
-0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, 0x6f, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75,
-0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b,
-0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e,
-0x75, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61,
-0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6d, 0x69, 0x65,
-0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75,
-0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x65, 0x6d,
-0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x6f, 0x6c, 0x67,
-0x67, 0x6f, 0x74, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x6d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75,
-0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x4f, 0x3b, 0x47, 0x3b, 0x4e, 0x3b, 0x43,
-0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x6f, 0x111, 0x111,
-0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x3b, 0x6d, 0x69, 0x65,
-0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x3b, 0x10d, 0x61, 0x6b,
-0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x3b, 0x43, 0x61, 0x6e,
-0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e,
-0x3b, 0x43, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62,
-0x3b, 0x44, 0x69, 0x73, 0x3b, 0x43, 0x68, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x61,
-0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x69, 0x72, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x65, 0x69,
-0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b,
-0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x62,
-0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x43, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41,
-0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x49, 0x6d, 0x62,
-0x3b, 0x4b, 0x61, 0x77, 0x3b, 0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4b, 0x61, 0x72,
-0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b, 0x65, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77,
-0x3b, 0x49, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6d, 0x62, 0x69, 0x72,
-0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72,
-0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67,
-0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b,
-0x61, 0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x72, 0x61,
-0x6e, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6d, 0x66, 0x75, 0x6e,
-0x67, 0x61, 0x64, 0x65, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x77, 0x75, 0x6e, 0x79, 0x61,
-0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x65, 0x6e, 0x64, 0x61,
-0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x6f, 0x72,
-0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77, 0x65,
-0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e,
-0x61, 0x20, 0x69, 0x77, 0x69, 0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b,
-0x57, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73, 0x69, 0x69, 0x3b, 0x63, 0x6f, 0x6c, 0x3b, 0x6d, 0x62,
-0x6f, 0x3b, 0x73, 0x65, 0x65, 0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b, 0x6f, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x3b, 0x6a, 0x75,
-0x6b, 0x3b, 0x73, 0x6c, 0x74, 0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a, 0x6f, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x3b, 0x73, 0x69,
-0x69, 0x6c, 0x6f, 0x3b, 0x63, 0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d, 0x62, 0x6f, 0x6f, 0x79, 0x3b, 0x73, 0x65, 0x65, 0x257,
-0x74, 0x6f, 0x3b, 0x64, 0x75, 0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b, 0x6f, 0x72, 0x73, 0x65, 0x3b, 0x6d, 0x6f, 0x72, 0x73,
-0x6f, 0x3b, 0x6a, 0x75, 0x6b, 0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x74, 0x6f, 0x3b, 0x79, 0x61, 0x72, 0x6b, 0x6f, 0x6d,
-0x61, 0x61, 0x3b, 0x6a, 0x6f, 0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x74, 0x65, 0x3b, 0x73, 0x3b, 0x63, 0x3b, 0x6d,
-0x3b, 0x73, 0x3b, 0x64, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x79, 0x3b, 0x6a, 0x3b, 0x62, 0x3b, 0x4a,
-0x45, 0x4e, 0x3b, 0x57, 0x4b, 0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b, 0x57, 0x4b, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x57,
-0x54, 0x44, 0x3b, 0x57, 0x4d, 0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b, 0x57, 0x4b, 0x44, 0x3b, 0x57, 0x49, 0x4b, 0x3b, 0x57,
-0x4d, 0x57, 0x3b, 0x44, 0x49, 0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72,
-0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67,
-0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b,
-0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72,
-0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65,
-0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77,
-0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65,
-0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d,
-0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77,
-0x65, 0x3b, 0x4e, 0x64, 0x69, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x4b, 0x3b,
-0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x44, 0x3b, 0x4f, 0x62, 0x6f, 0x3b,
-0x57, 0x61, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6d, 0x65, 0x3b, 0x49, 0x6c, 0x65, 0x3b,
-0x53, 0x61, 0x70, 0x3b, 0x49, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x3b, 0x54, 0x6f, 0x6d, 0x3b, 0x54, 0x6f, 0x62, 0x3b,
-0x54, 0x6f, 0x77, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61,
-0x20, 0x6c, 0x65, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6b,
-0x75, 0x6e, 0x69, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x2019, 0x77, 0x61, 0x6e, 0x3b,
-0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65,
-0x20, 0x69, 0x6c, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4c, 0x61,
-0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x69, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20,
-0x73, 0x61, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x3b, 0x4c,
-0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70,
-0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4f, 0x3b, 0x57,
-0x3b, 0x4f, 0x3b, 0x4f, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54,
-0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69,
-0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75,
-0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x76,
-0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61,
-0x69, 0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73,
-0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e,
-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x5a, 0x69, 0x62,
-0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x3b, 0x4d, 0x62, 0x69, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x77, 0x3b, 0x4e, 0x68,
-0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75, 0x3b, 0x4e, 0x63, 0x77, 0x3b, 0x4d, 0x70, 0x61, 0x6e, 0x3b, 0x4d, 0x66, 0x75, 0x3b,
-0x4c, 0x77, 0x65, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x3b, 0x5a, 0x69, 0x62, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x6c, 0x61, 0x3b,
-0x4e, 0x68, 0x6c, 0x6f, 0x6c, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x62, 0x69, 0x6d, 0x62, 0x69, 0x74, 0x68, 0x6f, 0x3b,
-0x4d, 0x61, 0x62, 0x61, 0x73, 0x61, 0x3b, 0x4e, 0x6b, 0x77, 0x65, 0x6e, 0x6b, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4e, 0x68,
-0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75, 0x6c, 0x69, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4e, 0x63,
-0x77, 0x61, 0x62, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6e, 0x64, 0x75, 0x6c, 0x61, 0x3b, 0x4d, 0x66,
-0x75, 0x6d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x61, 0x6b, 0x61, 0x7a, 0x69,
-0x3b, 0x5a, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d,
-0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x31, 0x3b, 0x4d, 0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4d, 0x34, 0x3b, 0x4d, 0x35, 0x3b,
-0x4d, 0x36, 0x3b, 0x4d, 0x37, 0x3b, 0x4d, 0x38, 0x3b, 0x4d, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b,
-0x4d, 0x31, 0x32, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b,
-0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69,
-0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x6b, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x61, 0x6e, 0x75, 0x3b,
-0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20,
-0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e,
-0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72,
-0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20,
-0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4b, 0x3b,
-0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x49, 0x3b,
-0x49, 0x3b, 0x2d49, 0x2d4f, 0x2d4f, 0x3b, 0x2d31, 0x2d55, 0x2d30, 0x3b, 0x2d4e, 0x2d30, 0x2d55, 0x3b, 0x2d49, 0x2d31, 0x2d54, 0x3b, 0x2d4e, 0x2d30,
-0x2d62, 0x3b, 0x2d62, 0x2d53, 0x2d4f, 0x3b, 0x2d62, 0x2d53, 0x2d4d, 0x3b, 0x2d56, 0x2d53, 0x2d5b, 0x3b, 0x2d5b, 0x2d53, 0x2d5c, 0x3b, 0x2d3d, 0x2d5c,
-0x2d53, 0x3b, 0x2d4f, 0x2d53, 0x2d61, 0x3b, 0x2d37, 0x2d53, 0x2d4a, 0x3b, 0x2d49, 0x2d4f, 0x2d4f, 0x2d30, 0x2d62, 0x2d54, 0x3b, 0x2d31, 0x2d55, 0x2d30,
-0x2d62, 0x2d55, 0x3b, 0x2d4e, 0x2d30, 0x2d55, 0x2d5a, 0x3b, 0x2d49, 0x2d31, 0x2d54, 0x2d49, 0x2d54, 0x3b, 0x2d4e, 0x2d30, 0x2d62, 0x2d62, 0x2d53, 0x3b,
-0x2d62, 0x2d53, 0x2d4f, 0x2d62, 0x2d53, 0x3b, 0x2d62, 0x2d53, 0x2d4d, 0x2d62, 0x2d53, 0x2d63, 0x3b, 0x2d56, 0x2d53, 0x2d5b, 0x2d5c, 0x3b, 0x2d5b, 0x2d53,
-0x2d5c, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b, 0x2d3d, 0x2d5c, 0x2d53, 0x2d31, 0x2d54, 0x3b, 0x2d4f, 0x2d53, 0x2d61, 0x2d30, 0x2d4f, 0x2d31, 0x2d49,
-0x2d54, 0x3b, 0x2d37, 0x2d53, 0x2d4a, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b, 0x2d49, 0x3b, 0x2d31, 0x3b, 0x2d4e, 0x3b, 0x2d49, 0x3b, 0x2d4e,
-0x3b, 0x2d62, 0x3b, 0x2d62, 0x3b, 0x2d56, 0x3b, 0x2d5b, 0x3b, 0x2d3d, 0x3b, 0x2d4f, 0x3b, 0x2d37, 0x3b, 0x69, 0x6e, 0x6e, 0x3b, 0x62,
-0x1e5b, 0x61, 0x3b, 0x6d, 0x61, 0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79,
-0x75, 0x6c, 0x3b, 0x263, 0x75, 0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b, 0x6b, 0x74, 0x75, 0x3b, 0x6e, 0x75, 0x77, 0x3b, 0x64,
-0x75, 0x6a, 0x3b, 0x69, 0x6e, 0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62, 0x1e5b, 0x61, 0x79, 0x1e5b, 0x3b, 0x6d, 0x61, 0x1e5b, 0x1e63,
-0x3b, 0x69, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x79,
-0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b, 0x63, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b,
-0x6b, 0x74, 0x75, 0x62, 0x72, 0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x64, 0x75, 0x6a, 0x61, 0x6e,
-0x62, 0x69, 0x72, 0x3b, 0x69, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69, 0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b, 0x263, 0x3b,
-0x63, 0x3b, 0x6b, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x3b,
-0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b,
-0x43, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x57, 0x61, 0x6d, 0x3b, 0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e,
-0x61, 0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, 0x59, 0x65,
-0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c,
-0x79, 0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, 0x62, 0x65,
-0x1e5b, 0x3b, 0x57, 0x61, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x59, 0x3b,
-0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4e, 0x3b,
-0x44, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61,
-0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x74, 0x65, 0x3b, 0x54, 0x75,
-0x62, 0x3b, 0x4e, 0x75, 0x6e, 0x3b, 0x44, 0x75, 0x1e7, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x46,
-0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d,
-0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x3b, 0x194, 0x75, 0x63,
-0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, 0x62, 0x65, 0x1e5b, 0x3b, 0x4e, 0x75, 0x6e, 0x65,
-0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x194, 0x3b,
-0x42, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4c, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x52, 0x3b, 0x57, 0x3b, 0x44, 0x3b, 0x4b, 0x42,
-0x5a, 0x3b, 0x4b, 0x42, 0x52, 0x3b, 0x4b, 0x53, 0x54, 0x3b, 0x4b, 0x4b, 0x4e, 0x3b, 0x4b, 0x54, 0x4e, 0x3b, 0x4b, 0x4d,
-0x4b, 0x3b, 0x4b, 0x4d, 0x53, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4d, 0x57, 0x3b, 0x4b, 0x4b, 0x4d, 0x3b, 0x4b, 0x4e,
-0x4b, 0x3b, 0x4b, 0x4e, 0x42, 0x3b, 0x4f, 0x6b, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4f, 0x6b,
-0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x73, 0x68, 0x61, 0x74, 0x75,
-0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x74, 0x61, 0x61, 0x6e,
-0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75,
-0x73, 0x68, 0x61, 0x6e, 0x6a, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6e, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f,
-0x6b, 0x77, 0x61, 0x6d, 0x77, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b,
-0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x77, 0x65, 0x3b, 0x4f,
-0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x48, 0x75,
-0x74, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x44, 0x61, 0x74, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x48, 0x61, 0x6e, 0x3b, 0x53, 0x69,
-0x74, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, 0x73, 0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4b, 0x6d,
-0x6a, 0x3b, 0x4b, 0x6d, 0x62, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20,
-0x68, 0x75, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61,
-0x20, 0x77, 0x75, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77,
-0x61, 0x20, 0x77, 0x75, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67,
-0x77, 0x61, 0x20, 0x77, 0x75, 0x74, 0x61, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67,
-0x77, 0x61, 0x20, 0x77, 0x75, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20,
-0x67, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67,
-0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77,
-0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61,
-0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20,
-0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b,
-0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a,
-0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b,
-0x48, 0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b,
-0x4b, 0x3b, 0x4b, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69,
-0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a,
-0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x53,
-0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d,
-0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d,
-0x61, 0x72, 0x3b, 0x61, 0x77, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x3b, 0x7a, 0x75, 0x6c, 0x3b, 0x75, 0x74,
-0x69, 0x3b, 0x73, 0x25b, 0x74, 0x3b, 0x254, 0x6b, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61,
-0x6e, 0x77, 0x75, 0x79, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x72, 0x75, 0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x69, 0x73,
-0x69, 0x3b, 0x61, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x25b, 0x6e, 0x3b, 0x7a,
-0x75, 0x6c, 0x75, 0x79, 0x65, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b,
-0x254, 0x6b, 0x75, 0x74, 0x254, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b,
-0x64, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b,
-0x5a, 0x3b, 0x5a, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x186, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x61,
-0x69, 0x3b, 0x4b, 0x61, 0x74, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x47, 0x61, 0x74, 0x3b, 0x47, 0x61, 0x6e, 0x3b, 0x4d, 0x75,
-0x67, 0x3b, 0x4b, 0x6e, 0x6e, 0x3b, 0x4b, 0x65, 0x6e, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x67,
-0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x72, 0x65, 0x3b, 0x4d, 0x77, 0x65,
-0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x129, 0x72, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61,
-0x20, 0x6b, 0x61, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61,
-0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d,
-0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77,
-0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72,
-0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61,
-0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d,
-0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20,
-0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20,
-0x6e, 0x61, 0x20, 0x4b, 0x61, 0x129, 0x72, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47,
-0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x13a4, 0x13c3, 0x3b, 0x13a7, 0x13a6, 0x3b, 0x13a0,
-0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, 0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad, 0x3b, 0x13ab, 0x13f0, 0x3b, 0x13a6, 0x13b6, 0x3b, 0x13da, 0x13b5, 0x3b,
-0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, 0x3b, 0x13a5, 0x13cd, 0x3b, 0x13a4, 0x13c3, 0x13b8, 0x13d4, 0x13c5, 0x3b, 0x13a7, 0x13a6, 0x13b5, 0x3b, 0x13a0,
-0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, 0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd, 0x13ac, 0x13d8, 0x3b, 0x13d5, 0x13ad, 0x13b7, 0x13f1, 0x3b, 0x13ab, 0x13f0,
-0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, 0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd, 0x13d7, 0x3b, 0x13da, 0x13c2, 0x13c5, 0x13d7, 0x3b, 0x13c5, 0x13d3, 0x13d5,
-0x13c6, 0x3b, 0x13a5, 0x13cd, 0x13a9, 0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13d5, 0x3b, 0x13ab,
-0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, 0x13da, 0x3b, 0x13c5, 0x3b, 0x13a5, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d,
-0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x3b, 0x6f, 0x75,
-0x74, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61,
-0x6e, 0x76, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76,
-0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x79, 0x65, 0x3b, 0x6f, 0x75, 0x74,
-0x3b, 0x73, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x3b, 0x6e, 0x6f, 0x76, 0x61, 0x6d, 0x3b,
-0x64, 0x65, 0x73, 0x61, 0x6d, 0x3b, 0x7a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x7a, 0x3b, 0x7a, 0x3b,
-0x6f, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x4e, 0x74, 0x61, 0x6e,
-0x64, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x50, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65,
-0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x54, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20,
-0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79,
-0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20,
-0x6e, 0x61, 0x20, 0x55, 0x6d, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61,
-0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77,
-0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d,
-0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x63,
-0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e,
-0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61,
-0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61,
-0x20, 0x55, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e,
-0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x3b, 0x46, 0xfa, 0x6e, 0x67, 0x61, 0x74,
-0x268, 0x3b, 0x4e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x49, 0x6b, 0xfa, 0x6d, 0x69,
-0x3b, 0x49, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0x61, 0x6c, 0x61, 0x3b, 0x49, 0x64, 0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4d,
-0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x56, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x53, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x49,
-0x6e, 0x79, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x53, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x289, 0x66,
-0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4b, 0x289, 0x6e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x289, 0x6b, 0x65, 0x65,
-0x6e, 0x64, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x61,
-0x6d, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x64, 0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4b, 0x289, 0x6d,
-0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x4b, 0x289, 0x76, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61,
-0x74, 0x289, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x69, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4b,
-0x289, 0x73, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x46, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b,
-0x4d, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b,
-0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b,
-0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x69, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b,
-0x4a, 0x61, 0x6e, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b,
-0x4d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x70, 0x75, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x4a,
-0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x69, 0x74, 0x6f,
-0x3b, 0x53, 0x65, 0x62, 0x75, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x62, 0x61,
-0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e,
-0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e,
-0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76,
-0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72,
-0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75,
-0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74,
-0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b,
-0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b,
-0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b,
-0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b,
-0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x3b, 0x44, 0x69, 0x7a, 0x3b,
-0x4a, 0x61, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x75,
-0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x75, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x75, 0x3b, 0x4a, 0x75,
-0x6c, 0x68, 0x75, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b,
-0x4f, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x7a, 0x65,
-0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x41, 0x4e, 0x3b, 0x46, 0x45, 0x42, 0x3b, 0x4d, 0x41, 0x43, 0x3b, 0x128, 0x50, 0x55,
-0x3b, 0x4d, 0x128, 0x128, 0x3b, 0x4e, 0x4a, 0x55, 0x3b, 0x4e, 0x4a, 0x52, 0x3b, 0x41, 0x47, 0x41, 0x3b, 0x53, 0x50, 0x54,
-0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4e, 0x4f, 0x56, 0x3b, 0x44, 0x45, 0x43, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x129,
-0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x128, 0x70, 0x75,
-0x72, 0x169, 0x3b, 0x4d, 0x129, 0x129, 0x3b, 0x4e, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x4e, 0x6a, 0x75, 0x72, 0x61, 0x129, 0x3b,
-0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x169,
-0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a,
-0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x128, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e,
-0x3b, 0x44, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x61, 0x74, 0x3b, 0x54, 0x61, 0x61, 0x3b, 0x49, 0x77, 0x6f, 0x3b,
-0x4d, 0x61, 0x6d, 0x3b, 0x50, 0x61, 0x61, 0x3b, 0x4e, 0x67, 0x65, 0x3b, 0x52, 0x6f, 0x6f, 0x3b, 0x42, 0x75, 0x72, 0x3b,
-0x45, 0x70, 0x65, 0x3b, 0x4b, 0x70, 0x74, 0x3b, 0x4b, 0x70, 0x61, 0x3b, 0x4d, 0x75, 0x6c, 0x67, 0x75, 0x6c, 0x3b, 0x4e,
-0x67, 0x2019, 0x61, 0x74, 0x79, 0x61, 0x61, 0x74, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x74, 0x61, 0x61, 0x6d, 0x6f, 0x3b, 0x49,
-0x77, 0x6f, 0x6f, 0x74, 0x6b, 0x75, 0x75, 0x74, 0x3b, 0x4d, 0x61, 0x6d, 0x75, 0x75, 0x74, 0x3b, 0x50, 0x61, 0x61, 0x67,
-0x69, 0x3b, 0x4e, 0x67, 0x2019, 0x65, 0x69, 0x79, 0x65, 0x65, 0x74, 0x3b, 0x52, 0x6f, 0x6f, 0x70, 0x74, 0x75, 0x69, 0x3b,
-0x42, 0x75, 0x72, 0x65, 0x65, 0x74, 0x3b, 0x45, 0x70, 0x65, 0x65, 0x73, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x75,
-0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x20, 0x74, 0x61, 0x61, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x75, 0x6e, 0x64,
-0x65, 0x20, 0x6e, 0x65, 0x62, 0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x2019, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49,
-0x3b, 0x4d, 0x3b, 0x50, 0x3b, 0x4e, 0x3b, 0x52, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x1c3, 0x4b, 0x68,
-0x61, 0x6e, 0x6e, 0x69, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x1c0, 0x67, 0xf4, 0x61, 0x62, 0x3b, 0x1c0, 0x4b, 0x68, 0x75,
-0x75, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c3, 0x48, 0xf4, 0x61, 0x1c2, 0x6b, 0x68, 0x61, 0x69, 0x62, 0x3b, 0x1c3, 0x4b,
-0x68, 0x61, 0x69, 0x74, 0x73, 0xe2, 0x62, 0x3b, 0x47, 0x61, 0x6d, 0x61, 0x1c0, 0x61, 0x65, 0x62, 0x3b, 0x1c2, 0x4b, 0x68,
-0x6f, 0x65, 0x73, 0x61, 0x6f, 0x62, 0x3b, 0x41, 0x6f, 0x1c1, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2,
-0x62, 0x3b, 0x54, 0x61, 0x72, 0x61, 0x1c0, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c2,
-0x4e, 0xfb, 0x1c1, 0x6e, 0xe2, 0x69, 0x73, 0x65, 0x62, 0x3b, 0x1c0, 0x48, 0x6f, 0x6f, 0x1c2, 0x67, 0x61, 0x65, 0x62, 0x3b,
-0x48, 0xf4, 0x61, 0x73, 0x6f, 0x72, 0x65, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0xe4,
-0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x7a, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e,
-0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x4f, 0x75, 0x6a, 0x2e, 0x3b, 0x53, 0xe4, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74,
-0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x3b,
-0x46, 0xe4, 0x62, 0x72, 0x6f, 0x77, 0x61, 0x3b, 0x4d, 0xe4, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x6c, 0x3b,
-0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x4f, 0x75, 0x6a, 0x6f,
-0xdf, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x68, 0x62, 0x65, 0x72,
-0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a,
-0x61, 0x6e, 0x3b, 0x46, 0xe4, 0x62, 0x3b, 0x4d, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a,
-0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x75, 0x6a, 0x3b, 0x53, 0xe4, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e,
-0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x44, 0x61, 0x6c, 0x3b, 0x41, 0x72, 0xe1, 0x3b, 0x186, 0x25b, 0x6e, 0x3b, 0x44,
-0x6f, 0x79, 0x3b, 0x4c, 0xe9, 0x70, 0x3b, 0x52, 0x6f, 0x6b, 0x3b, 0x53, 0xe1, 0x73, 0x3b, 0x42, 0x254, 0x301, 0x72, 0x3b,
-0x4b, 0xfa, 0x73, 0x3b, 0x47, 0xed, 0x73, 0x3b, 0x53, 0x68, 0x289, 0x301, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x3b, 0x4f, 0x6c,
-0x61, 0x64, 0x61, 0x6c, 0x289, 0x301, 0x3b, 0x41, 0x72, 0xe1, 0x74, 0x3b, 0x186, 0x25b, 0x6e, 0x268, 0x301, 0x254, 0x268, 0x14b,
-0x254, 0x6b, 0x3b, 0x4f, 0x6c, 0x6f, 0x64, 0x6f, 0x79, 0xed, 0xf3, 0x72, 0xed, 0xea, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b,
-0xfa, 0xe2, 0x3b, 0x4f, 0x6c, 0x6f, 0x69, 0x6c, 0xe9, 0x70, 0x16b, 0x6e, 0x79, 0x12b, 0x113, 0x20, 0x69, 0x6e, 0x6b, 0xf3,
-0x6b, 0xfa, 0xe2, 0x3b, 0x4b, 0xfa, 0x6a, 0xfa, 0x254, 0x72, 0x254, 0x6b, 0x3b, 0x4d, 0xf3, 0x72, 0x75, 0x73, 0xe1, 0x73,
-0x69, 0x6e, 0x3b, 0x186, 0x6c, 0x254, 0x301, 0x268, 0x301, 0x62, 0x254, 0x301, 0x72, 0xe1, 0x72, 0x25b, 0x3b, 0x4b, 0xfa, 0x73,
-0x68, 0xee, 0x6e, 0x3b, 0x4f, 0x6c, 0x67, 0xed, 0x73, 0x61, 0x6e, 0x3b, 0x50, 0x289, 0x73, 0x68, 0x289, 0x301, 0x6b, 0x61,
-0x3b, 0x4e, 0x74, 0x289, 0x301, 0x14b, 0x289, 0x301, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61,
-0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67,
-0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61,
-0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75,
-0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f,
-0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4d, 0x75, 0x6b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x44, 0x75,
-0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x6f, 0x64, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, 0x50, 0x65, 0x64, 0x3b, 0x53, 0x6f,
-0x6b, 0x3b, 0x54, 0x69, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b, 0x50, 0x6f, 0x6f, 0x3b, 0x4f, 0x72, 0x61, 0x72, 0x61, 0x3b,
-0x4f, 0x6d, 0x75, 0x6b, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x67, 0x2019, 0x3b, 0x4f, 0x64, 0x75, 0x6e, 0x67, 0x2019, 0x65,
-0x6c, 0x3b, 0x4f, 0x6d, 0x61, 0x72, 0x75, 0x6b, 0x3b, 0x4f, 0x6d, 0x6f, 0x64, 0x6f, 0x6b, 0x2019, 0x6b, 0x69, 0x6e, 0x67,
-0x2019, 0x6f, 0x6c, 0x3b, 0x4f, 0x6a, 0x6f, 0x6c, 0x61, 0x3b, 0x4f, 0x70, 0x65, 0x64, 0x65, 0x6c, 0x3b, 0x4f, 0x73, 0x6f,
-0x6b, 0x6f, 0x73, 0x6f, 0x6b, 0x6f, 0x6d, 0x61, 0x3b, 0x4f, 0x74, 0x69, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6c, 0x61, 0x62,
-0x6f, 0x72, 0x3b, 0x4f, 0x70, 0x6f, 0x6f, 0x3b, 0x52, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b,
-0x4a, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x50, 0x3b, 0x17d, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x65, 0x3b,
-0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x69, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77, 0x3b, 0x17d, 0x75, 0x79, 0x3b, 0x55,
-0x74, 0x3b, 0x53, 0x65, 0x6b, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x6f, 0x3b, 0x44, 0x65, 0x65, 0x3b, 0x17d, 0x61,
-0x6e, 0x77, 0x69, 0x79, 0x65, 0x3b, 0x46, 0x65, 0x65, 0x77, 0x69, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73,
-0x69, 0x3b, 0x41, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77, 0x65, 0x14b, 0x3b, 0x17d, 0x75,
-0x79, 0x79, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x4f, 0x6b, 0x74,
-0x6f, 0x6f, 0x62, 0x75, 0x72, 0x3b, 0x4e, 0x6f, 0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x44, 0x65, 0x65, 0x73,
-0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x17d, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x17d, 0x3b, 0x17d, 0x3b,
-0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44, 0x41, 0x43, 0x3b, 0x44, 0x41, 0x52, 0x3b, 0x44, 0x41,
-0x44, 0x3b, 0x44, 0x41, 0x4e, 0x3b, 0x44, 0x41, 0x48, 0x3b, 0x44, 0x41, 0x55, 0x3b, 0x44, 0x41, 0x4f, 0x3b, 0x44, 0x41,
-0x42, 0x3b, 0x44, 0x4f, 0x43, 0x3b, 0x44, 0x41, 0x50, 0x3b, 0x44, 0x47, 0x49, 0x3b, 0x44, 0x41, 0x47, 0x3b, 0x44, 0x77,
-0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72,
-0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b,
-0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x6e, 0x67, 0x2019, 0x77, 0x65, 0x6e, 0x3b, 0x44, 0x77, 0x65, 0x20,
-0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x75,
-0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x72, 0x69, 0x79,
-0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20,
-0x6d, 0x61, 0x72, 0x20, 0x4f, 0x63, 0x68, 0x69, 0x6b, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41,
-0x70, 0x61, 0x72, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x63, 0x68, 0x69, 0x65,
-0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x72,
-0x69, 0x79, 0x6f, 0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x44, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, 0x55, 0x3b, 0x42, 0x3b, 0x42, 0x3b,
-0x43, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b,
-0x49, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b,
-0x43, 0x75, 0x74, 0x3b, 0x4b, 0x1e6d, 0x75, 0x3b, 0x4e, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e,
-0x61, 0x79, 0x65, 0x72, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x49,
-0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c,
-0x79, 0x75, 0x7a, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x4b, 0x1e6d,
-0x75, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x44, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69,
-0x72, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b,
-0x4b, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x6c, 0x75, 0x61,
-0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x6c, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b,
-0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65,
-0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
-0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b,
-0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x938, 0x3b, 0x90f, 0x92b, 0x94d, 0x930,
-0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x907, 0x3b, 0x906, 0x917, 0x938, 0x94d,
-0x925, 0x3b, 0x938, 0x947, 0x92c, 0x925, 0x947, 0x91c, 0x94d, 0x92c, 0x93c, 0x930, 0x3b, 0x905, 0x916, 0x925, 0x92c, 0x930, 0x3b, 0x928,
-0x92c, 0x947, 0x91c, 0x94d, 0x92c, 0x93c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x947, 0x91c, 0x94d, 0x92c, 0x93c, 0x930, 0x3b, 0x91c, 0x3b,
-0x92b, 0x947, 0x3b, 0x92e, 0x93e, 0x3b, 0x90f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x3b, 0x91c, 0x941, 0x3b, 0x906, 0x3b, 0x938,
-0x947, 0x3b, 0x905, 0x3b, 0x928, 0x3b, 0x926, 0x93f, 0x3b, 0x456, 0x486, 0x430, 0x2de9, 0x487, 0x3b, 0x444, 0x435, 0x2de1, 0x487, 0x3b,
-0x43c, 0x430, 0x2dec, 0x487, 0x3b, 0x430, 0x486, 0x43f, 0x2dec, 0x487, 0x3b, 0x43c, 0x430, 0xa675, 0x3b, 0x456, 0x486, 0xa64b, 0x2de9, 0x487,
-0x3b, 0x456, 0x486, 0xa64b, 0x2de7, 0x487, 0x3b, 0x430, 0x486, 0x301, 0x475, 0x2de2, 0x487, 0x3b, 0x441, 0x435, 0x2deb, 0x487, 0x3b, 0x47b,
-0x486, 0x43a, 0x2dee, 0x3b, 0x43d, 0x43e, 0x435, 0x2de8, 0x3b, 0x434, 0x435, 0x2de6, 0x487, 0x3b, 0x456, 0x486, 0x430, 0x43d, 0x43d, 0xa64b,
-0x430, 0x301, 0x440, 0x457, 0x439, 0x3b, 0x444, 0x435, 0x432, 0x440, 0xa64b, 0x430, 0x301, 0x440, 0x457, 0x439, 0x3b, 0x43c, 0x430, 0x301,
-0x440, 0x442, 0x44a, 0x3b, 0x430, 0x486, 0x43f, 0x440, 0x456, 0x301, 0x43b, 0x43b, 0x457, 0x439, 0x3b, 0x43c, 0x430, 0x301, 0x457, 0x439,
-0x3b, 0x456, 0x486, 0xa64b, 0x301, 0x43d, 0x457, 0x439, 0x3b, 0x456, 0x486, 0xa64b, 0x301, 0x43b, 0x457, 0x439, 0x3b, 0x430, 0x486, 0x301,
-0x475, 0x433, 0xa64b, 0x441, 0x442, 0x44a, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x439, 0x3b, 0x47b,
-0x486, 0x43a, 0x442, 0x461, 0x301, 0x432, 0x440, 0x457, 0x439, 0x3b, 0x43d, 0x43e, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x439, 0x3b,
-0x434, 0x435, 0x43a, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x439, 0x3b, 0x406, 0x486, 0x3b, 0x424, 0x3b, 0x41c, 0x3b, 0x410, 0x486,
-0x3b, 0x41c, 0x3b, 0x406, 0x486, 0x3b, 0x406, 0x486, 0x3b, 0x410, 0x486, 0x3b, 0x421, 0x3b, 0x47a, 0x486, 0x3b, 0x41d, 0x3b, 0x414,
-0x3b, 0x456, 0x486, 0x430, 0x43d, 0x43d, 0xa64b, 0x430, 0x301, 0x440, 0x457, 0x430, 0x3b, 0x444, 0x435, 0x432, 0x440, 0xa64b, 0x430, 0x301,
-0x440, 0x457, 0x430, 0x3b, 0x43c, 0x430, 0x301, 0x440, 0x442, 0x430, 0x3b, 0x430, 0x486, 0x43f, 0x440, 0x456, 0x301, 0x43b, 0x43b, 0x457,
-0x430, 0x3b, 0x43c, 0x430, 0x301, 0x457, 0x430, 0x3b, 0x456, 0x486, 0xa64b, 0x301, 0x43d, 0x457, 0x430, 0x3b, 0x456, 0x486, 0xa64b, 0x301,
-0x43b, 0x457, 0x430, 0x3b, 0x430, 0x486, 0x301, 0x475, 0x433, 0xa64b, 0x441, 0x442, 0x430, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x301,
-0x43c, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x47b, 0x486, 0x43a, 0x442, 0x461, 0x301, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x43d, 0x43e, 0x435,
-0x301, 0x43c, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x43, 0x69,
-0x6f, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x4c, 0x75, 0x73, 0x3b, 0x4d, 0x75, 0x75, 0x3b, 0x4c, 0x75, 0x6d, 0x3b, 0x4c, 0x75,
-0x66, 0x3b, 0x4b, 0x61, 0x62, 0x3b, 0x4c, 0x75, 0x73, 0x68, 0x3b, 0x4c, 0x75, 0x74, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4b,
-0x61, 0x73, 0x3b, 0x43, 0x69, 0x73, 0x3b, 0x43, 0x69, 0x6f, 0x6e, 0x67, 0x6f, 0x3b, 0x4c, 0xf9, 0x69, 0x73, 0x68, 0x69,
-0x3b, 0x4c, 0x75, 0x73, 0xf2, 0x6c, 0x6f, 0x3b, 0x4d, 0xf9, 0x75, 0x79, 0xe0, 0x3b, 0x4c, 0x75, 0x6d, 0xf9, 0x6e, 0x67,
-0xf9, 0x6c, 0xf9, 0x3b, 0x4c, 0x75, 0x66, 0x75, 0x69, 0x6d, 0x69, 0x3b, 0x4b, 0x61, 0x62, 0xe0, 0x6c, 0xe0, 0x73, 0x68,
-0xec, 0x70, 0xf9, 0x3b, 0x4c, 0xf9, 0x73, 0x68, 0xec, 0x6b, 0xe0, 0x3b, 0x4c, 0x75, 0x74, 0x6f, 0x6e, 0x67, 0x6f, 0x6c,
-0x6f, 0x3b, 0x4c, 0x75, 0x6e, 0x67, 0xf9, 0x64, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x77, 0xe8, 0x6b, 0xe8, 0x73, 0xe8, 0x3b,
-0x43, 0x69, 0x73, 0x77, 0xe0, 0x3b, 0x43, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b,
-0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4,
-0x65, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75,
-0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61,
-0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x65, 0x72, 0x7a, 0x3b, 0x41,
-0x62, 0x72, 0xeb, 0x6c, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b,
-0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74,
-0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62,
-0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x65, 0x2e, 0x3b, 0x41, 0x62,
-0x72, 0x2e, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67,
-0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a,
-0x2e, 0x3b, 0x6e, 0xf9, 0x6d, 0x3b, 0x6b, 0x268, 0x7a, 0x3b, 0x74, 0x268, 0x64, 0x3b, 0x74, 0x61, 0x61, 0x3b, 0x73, 0x65,
-0x65, 0x3b, 0x6e, 0x7a, 0x75, 0x3b, 0x64, 0x75, 0x6d, 0x3b, 0x66, 0x254, 0x65, 0x3b, 0x64, 0x7a, 0x75, 0x3b, 0x6c, 0x254,
-0x6d, 0x3b, 0x6b, 0x61, 0x61, 0x3b, 0x66, 0x77, 0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6e, 0xf9,
-0x6d, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6b, 0x197, 0x300, 0x7a, 0xf9, 0x294, 0x3b, 0x6e, 0x64, 0x7a,
-0x254, 0x300, 0x14b, 0x254, 0x300, 0x74, 0x197, 0x300, 0x64, 0x289, 0x300, 0x67, 0x68, 0xe0, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300,
-0x14b, 0x254, 0x300, 0x74, 0x1ce, 0x61, 0x66, 0x289, 0x304, 0x67, 0x68, 0x101, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0xe8,
-0x73, 0xe8, 0x65, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6e, 0x7a, 0xf9, 0x67, 0x68, 0xf2, 0x3b, 0x6e,
-0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x64, 0xf9, 0x6d, 0x6c, 0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254,
-0x300, 0x6b, 0x77, 0xee, 0x66, 0x254, 0x300, 0x65, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x74, 0x197, 0x300,
-0x66, 0x289, 0x300, 0x67, 0x68, 0xe0, 0x64, 0x7a, 0x75, 0x67, 0x68, 0xf9, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254,
-0x300, 0x67, 0x68, 0x1d4, 0x75, 0x77, 0x65, 0x6c, 0x254, 0x300, 0x6d, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300,
-0x63, 0x68, 0x77, 0x61, 0x294, 0xe0, 0x6b, 0x61, 0x61, 0x20, 0x77, 0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0xe8,
-0x66, 0x77, 0xf2, 0x6f, 0x3b, 0x6e, 0x3b, 0x6b, 0x3b, 0x74, 0x3b, 0x74, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x6b, 0x3b, 0x66,
-0x3b, 0x64, 0x3b, 0x6c, 0x3b, 0x63, 0x3b, 0x66, 0x3b, 0x6b, 0x254, 0x6e, 0x3b, 0x6d, 0x61, 0x63, 0x3b, 0x6d, 0x61, 0x74,
-0x3b, 0x6d, 0x74, 0x6f, 0x3b, 0x6d, 0x70, 0x75, 0x3b, 0x68, 0x69, 0x6c, 0x3b, 0x6e, 0x6a, 0x65, 0x3b, 0x68, 0x69, 0x6b,
-0x3b, 0x64, 0x69, 0x70, 0x3b, 0x62, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x6c, 0x69, 0x253, 0x3b, 0x4b, 0x254, 0x6e,
-0x64, 0x254, 0x14b, 0x3b, 0x4d, 0xe0, 0x63, 0x25b, 0x302, 0x6c, 0x3b, 0x4d, 0xe0, 0x74, 0xf9, 0x6d, 0x62, 0x3b, 0x4d, 0xe0,
-0x74, 0x6f, 0x70, 0x3b, 0x4d, 0x300, 0x70, 0x75, 0x79, 0x25b, 0x3b, 0x48, 0xec, 0x6c, 0xf2, 0x6e, 0x64, 0x25b, 0x300, 0x3b,
-0x4e, 0x6a, 0xe8, 0x62, 0xe0, 0x3b, 0x48, 0xec, 0x6b, 0x61, 0x14b, 0x3b, 0x44, 0xec, 0x70, 0x254, 0x300, 0x73, 0x3b, 0x42,
-0xec, 0xf2, 0xf4, 0x6d, 0x3b, 0x4d, 0xe0, 0x79, 0x25b, 0x73, 0xe8, 0x70, 0x3b, 0x4c, 0xec, 0x62, 0x75, 0x79, 0x20, 0x6c,
-0x69, 0x20, 0x144, 0x79, 0xe8, 0x65, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x68, 0x3b, 0x6e,
-0x3b, 0x68, 0x3b, 0x64, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x6c, 0x3b, 0x64, 0x69, 0x3b, 0x14b, 0x67, 0x254, 0x6e, 0x3b, 0x73,
-0x254, 0x14b, 0x3b, 0x64, 0x69, 0x253, 0x3b, 0x65, 0x6d, 0x69, 0x3b, 0x65, 0x73, 0x254, 0x3b, 0x6d, 0x61, 0x64, 0x3b, 0x64,
-0x69, 0x14b, 0x3b, 0x6e, 0x79, 0x25b, 0x74, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x74, 0x69, 0x6e, 0x3b, 0x65, 0x6c, 0xe1, 0x3b,
-0x64, 0x69, 0x6d, 0x254, 0x301, 0x64, 0x69, 0x3b, 0x14b, 0x67, 0x254, 0x6e, 0x64, 0x25b, 0x3b, 0x73, 0x254, 0x14b, 0x25b, 0x3b,
-0x64, 0x69, 0x253, 0xe1, 0x253, 0xe1, 0x3b, 0x65, 0x6d, 0x69, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x3b, 0x65, 0x73, 0x254, 0x70,
-0x25b, 0x73, 0x254, 0x70, 0x25b, 0x3b, 0x6d, 0x61, 0x64, 0x69, 0x253, 0x25b, 0x301, 0x64, 0xed, 0x253, 0x25b, 0x301, 0x3b, 0x64,
-0x69, 0x14b, 0x67, 0x69, 0x6e, 0x64, 0x69, 0x3b, 0x6e, 0x79, 0x25b, 0x74, 0x25b, 0x6b, 0x69, 0x3b, 0x6d, 0x61, 0x79, 0xe9,
-0x73, 0x25b, 0x301, 0x3b, 0x74, 0x69, 0x6e, 0xed, 0x6e, 0xed, 0x3b, 0x65, 0x6c, 0xe1, 0x14b, 0x67, 0x25b, 0x301, 0x3b, 0x64,
-0x3b, 0x14b, 0x3b, 0x73, 0x3b, 0x64, 0x3b, 0x65, 0x3b, 0x65, 0x3b, 0x6d, 0x3b, 0x64, 0x3b, 0x6e, 0x3b, 0x6d, 0x3b, 0x74,
-0x3b, 0x65, 0x3b, 0x53, 0x61, 0x3b, 0x46, 0x65, 0x3b, 0x4d, 0x61, 0x3b, 0x41, 0x62, 0x3b, 0x4d, 0x65, 0x3b, 0x53, 0x75,
-0x3b, 0x53, 0xfa, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x3b, 0x4f, 0x6b, 0x3b, 0x4e, 0x6f, 0x3b, 0x44, 0x65, 0x3b, 0x53,
-0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x46, 0xe9, 0x62, 0x69, 0x72, 0x69, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x41,
-0x62, 0x75, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x65, 0x14b, 0x3b, 0x53, 0xfa, 0x75, 0x79, 0x65,
-0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62,
-0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x61, 0x72,
-0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f,
-0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6e, 0x67, 0x6f, 0x3b, 0x6e, 0x67, 0x62, 0x3b, 0x6e, 0x67, 0x6c, 0x3b, 0x6e, 0x67, 0x6e,
-0x3b, 0x6e, 0x67, 0x74, 0x3b, 0x6e, 0x67, 0x73, 0x3b, 0x6e, 0x67, 0x7a, 0x3b, 0x6e, 0x67, 0x6d, 0x3b, 0x6e, 0x67, 0x65,
-0x3b, 0x6e, 0x67, 0x61, 0x3b, 0x6e, 0x67, 0x61, 0x64, 0x3b, 0x6e, 0x67, 0x61, 0x62, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20,
-0x6f, 0x73, 0xfa, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x62, 0x25b, 0x30c, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6c, 0xe1,
-0x6c, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6e, 0x79, 0x69, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x74,
-0xe1, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x73, 0x61, 0x6d, 0x259, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e,
-0x20, 0x7a, 0x61, 0x6d, 0x67, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6d, 0x77, 0x6f, 0x6d, 0x3b,
-0x6e, 0x67, 0x254, 0x6e, 0x20, 0x65, 0x62, 0x75, 0x6c, 0xfa, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x61, 0x77, 0xf3, 0x6d,
-0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x61, 0x77, 0xf3, 0x6d, 0x20, 0x61, 0x69, 0x20, 0x64, 0x7a, 0x69, 0xe1, 0x3b, 0x6e,
-0x67, 0x254, 0x6e, 0x20, 0x61, 0x77, 0xf3, 0x6d, 0x20, 0x61, 0x69, 0x20, 0x62, 0x25b, 0x30c, 0x3b, 0x6f, 0x3b, 0x62, 0x3b,
-0x6c, 0x3b, 0x6e, 0x3b, 0x74, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x6d, 0x3b, 0x65, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x62, 0x3b,
-0x14b, 0x31, 0x3b, 0x14b, 0x32, 0x3b, 0x14b, 0x33, 0x3b, 0x14b, 0x34, 0x3b, 0x14b, 0x35, 0x3b, 0x14b, 0x36, 0x3b, 0x14b, 0x37,
-0x3b, 0x14b, 0x38, 0x3b, 0x14b, 0x39, 0x3b, 0x14b, 0x31, 0x30, 0x3b, 0x14b, 0x31, 0x31, 0x3b, 0x14b, 0x31, 0x32, 0x3b, 0x14b,
-0x77, 0xed, 0xed, 0x20, 0x61, 0x20, 0x6e, 0x74, 0x254, 0x301, 0x6e, 0x74, 0x254, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61,
-0x6b, 0x1dd, 0x20, 0x62, 0x25b, 0x301, 0x25b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x72, 0xe1, 0xe1,
-0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x69, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61,
-0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61,
-0x66, 0x254, 0x6b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x62, 0x25b, 0x25b, 0x3b,
-0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x72, 0x61, 0x61, 0x3b, 0x14b, 0x77, 0xed, 0xed,
-0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x6e, 0x69, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd,
-0x20, 0x6e, 0x74, 0x25b, 0x6b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, 0x6b, 0x20,
-0x64, 0x69, 0x20, 0x62, 0x254, 0x301, 0x6b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b,
-0x6b, 0x20, 0x64, 0x69, 0x20, 0x62, 0x25b, 0x301, 0x25b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x55, 0x6e, 0x61, 0x3b, 0x52, 0x61,
-0x72, 0x3b, 0x43, 0x68, 0x65, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x63, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61,
-0x6e, 0x3b, 0x54, 0x69, 0x73, 0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4d, 0x6f, 0x6a, 0x3b, 0x59, 0x65, 0x6c, 0x3b, 0x4d, 0x77,
-0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20,
-0x77, 0x6f, 0x20, 0x75, 0x6e, 0x61, 0x79, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20,
-0x75, 0x6e, 0x65, 0x72, 0x61, 0x72, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65,
-0x63, 0x68, 0x65, 0x73, 0x68, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x74,
-0x68, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x75, 0x20,
-0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x63, 0x68, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x73, 0x61,
-0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65,
-0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20,
-0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e,
-0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69,
-0x20, 0x6e, 0x61, 0x20, 0x79, 0x65, 0x6c, 0x2019, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x55, 0x3b, 0x52, 0x3b, 0x43, 0x3b, 0x54,
-0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x46, 0x4c, 0x4f, 0x3b, 0x43,
-0x4c, 0x41, 0x3b, 0x43, 0x4b, 0x49, 0x3b, 0x46, 0x4d, 0x46, 0x3b, 0x4d, 0x41, 0x44, 0x3b, 0x4d, 0x42, 0x49, 0x3b, 0x4d,
-0x4c, 0x49, 0x3b, 0x4d, 0x41, 0x4d, 0x3b, 0x46, 0x44, 0x45, 0x3b, 0x46, 0x4d, 0x55, 0x3b, 0x46, 0x47, 0x57, 0x3b, 0x46,
-0x59, 0x55, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x4c, 0x6f, 0x6f, 0x3b, 0x43, 0x6f, 0x6b, 0x63, 0x77, 0x61, 0x6b, 0x6c, 0x61,
-0x14b, 0x6e, 0x65, 0x3b, 0x43, 0x6f, 0x6b, 0x63, 0x77, 0x61, 0x6b, 0x6c, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x4d,
-0x61, 0x72, 0x66, 0x6f, 0x6f, 0x3b, 0x4d, 0x61, 0x64, 0x1dd, 0x1dd, 0x75, 0x75, 0x74, 0x1dd, 0x62, 0x69, 0x6a, 0x61, 0x14b,
-0x3b, 0x4d, 0x61, 0x6d, 0x1dd, 0x14b, 0x67, 0x77, 0xe3, 0x61, 0x66, 0x61, 0x68, 0x62, 0x69, 0x69, 0x3b, 0x4d, 0x61, 0x6d,
-0x1dd, 0x14b, 0x67, 0x77, 0xe3, 0x61, 0x6c, 0x69, 0x69, 0x3b, 0x4d, 0x61, 0x64, 0x1dd, 0x6d, 0x62, 0x69, 0x69, 0x3b, 0x46,
-0x129, 0x69, 0x20, 0x44, 0x1dd, 0x253, 0x6c, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x4d, 0x75, 0x6e, 0x64, 0x61, 0x14b,
-0x3b, 0x46, 0x129, 0x69, 0x20, 0x47, 0x77, 0x61, 0x68, 0x6c, 0x6c, 0x65, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x59, 0x75, 0x72,
-0x75, 0x3b, 0x4f, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x46, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x45, 0x3b,
-0x55, 0x3b, 0x57, 0x3b, 0x59, 0x3b, 0x6e, 0x67, 0x31, 0x3b, 0x6e, 0x67, 0x32, 0x3b, 0x6e, 0x67, 0x33, 0x3b, 0x6e, 0x67,
-0x34, 0x3b, 0x6e, 0x67, 0x35, 0x3b, 0x6e, 0x67, 0x36, 0x3b, 0x6e, 0x67, 0x37, 0x3b, 0x6e, 0x67, 0x38, 0x3b, 0x6e, 0x67,
-0x39, 0x3b, 0x6e, 0x67, 0x31, 0x30, 0x3b, 0x6e, 0x67, 0x31, 0x31, 0x3b, 0x6b, 0x72, 0x69, 0x73, 0x3b, 0x6e, 0x67, 0x77,
-0x25b, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0xe1, 0x68, 0x72, 0x61, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6d, 0x62,
-0x61, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6c, 0x61, 0x6c, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144,
-0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x74, 0x61, 0x6e, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20,
-0x144, 0x74, 0x75, 0xf3, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x68, 0x25b, 0x6d, 0x62, 0x75, 0x25b, 0x72, 0xed, 0x3b,
-0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x6c, 0x254, 0x6d, 0x62, 0x69, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x72, 0x25b,
-0x62, 0x76, 0x75, 0xe2, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x77, 0x75, 0x6d, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e,
-0x20, 0x77, 0x75, 0x6d, 0x20, 0x6e, 0x61, 0x76, 0x1d4, 0x72, 0x3b, 0x6b, 0x72, 0xed, 0x73, 0x69, 0x6d, 0x69, 0x6e, 0x3b,
-0x54, 0x69, 0x6f, 0x70, 0x3b, 0x50, 0x25b, 0x74, 0x3b, 0x44, 0x75, 0x254, 0x331, 0x254, 0x331, 0x3b, 0x47, 0x75, 0x61, 0x6b,
-0x3b, 0x44, 0x75, 0xe4, 0x3b, 0x4b, 0x6f, 0x72, 0x3b, 0x50, 0x61, 0x79, 0x3b, 0x54, 0x68, 0x6f, 0x6f, 0x3b, 0x54, 0x25b,
-0x25b, 0x3b, 0x4c, 0x61, 0x61, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x54, 0x69, 0x64, 0x3b, 0x54, 0x69, 0x6f, 0x70, 0x20, 0x74,
-0x68, 0x61, 0x72, 0x20, 0x70, 0x25b, 0x74, 0x3b, 0x50, 0x25b, 0x74, 0x3b, 0x44, 0x75, 0x254, 0x331, 0x254, 0x331, 0x14b, 0x3b,
-0x47, 0x75, 0x61, 0x6b, 0x3b, 0x44, 0x75, 0xe4, 0x74, 0x3b, 0x4b, 0x6f, 0x72, 0x6e, 0x79, 0x6f, 0x6f, 0x74, 0x3b, 0x50,
-0x61, 0x79, 0x20, 0x79, 0x69, 0x65, 0x331, 0x74, 0x6e, 0x69, 0x3b, 0x54, 0x68, 0x6f, 0x331, 0x6f, 0x331, 0x72, 0x3b, 0x54,
-0x25b, 0x25b, 0x72, 0x3b, 0x4c, 0x61, 0x61, 0x74, 0x68, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x54, 0x69, 0x6f, 0x331, 0x70, 0x20,
-0x69, 0x6e, 0x20, 0x64, 0x69, 0x331, 0x69, 0x331, 0x74, 0x3b, 0x54, 0x3b, 0x50, 0x3b, 0x44, 0x3b, 0x47, 0x3b, 0x44, 0x3b,
-0x4b, 0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x422, 0x43e, 0x445, 0x441, 0x3b, 0x41e,
-0x43b, 0x443, 0x43d, 0x3b, 0x41a, 0x43b, 0x43d, 0x3b, 0x41c, 0x441, 0x443, 0x3b, 0x42b, 0x430, 0x43c, 0x3b, 0x411, 0x44d, 0x441, 0x3b,
-0x41e, 0x442, 0x439, 0x3b, 0x410, 0x442, 0x440, 0x3b, 0x411, 0x43b, 0x495, 0x3b, 0x410, 0x43b, 0x442, 0x3b, 0x421, 0x44d, 0x442, 0x3b,
-0x410, 0x445, 0x441, 0x3b, 0x442, 0x43e, 0x445, 0x441, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x43e, 0x43b, 0x443, 0x43d, 0x43d, 0x44c,
-0x443, 0x3b, 0x43a, 0x443, 0x43b, 0x443, 0x43d, 0x20, 0x442, 0x443, 0x442, 0x430, 0x440, 0x3b, 0x43c, 0x443, 0x443, 0x441, 0x20, 0x443,
-0x441, 0x442, 0x430, 0x440, 0x3b, 0x44b, 0x430, 0x43c, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x431, 0x44d, 0x441, 0x20, 0x44b, 0x439, 0x430,
-0x3b, 0x43e, 0x442, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x430, 0x442, 0x44b, 0x440, 0x434, 0x44c, 0x44b, 0x445, 0x20, 0x44b, 0x439, 0x430,
-0x3b, 0x431, 0x430, 0x43b, 0x430, 0x495, 0x430, 0x43d, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x430, 0x43b, 0x442, 0x44b, 0x43d, 0x43d, 0x44c,
-0x44b, 0x3b, 0x441, 0x44d, 0x442, 0x438, 0x43d, 0x43d, 0x44c, 0x438, 0x3b, 0x430, 0x445, 0x441, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b,
-0x422, 0x3b, 0x41e, 0x3b, 0x41a, 0x3b, 0x41c, 0x3b, 0x42b, 0x3b, 0x411, 0x3b, 0x41e, 0x3b, 0x410, 0x3b, 0x411, 0x3b, 0x410, 0x3b,
-0x421, 0x3b, 0x410, 0x3b, 0x422, 0x43e, 0x445, 0x441, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x41e, 0x43b, 0x443, 0x43d, 0x43d, 0x44c,
-0x443, 0x3b, 0x41a, 0x443, 0x43b, 0x443, 0x43d, 0x20, 0x442, 0x443, 0x442, 0x430, 0x440, 0x3b, 0x41c, 0x443, 0x443, 0x441, 0x20, 0x443,
-0x441, 0x442, 0x430, 0x440, 0x3b, 0x42b, 0x430, 0x43c, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x411, 0x44d, 0x441, 0x20, 0x44b, 0x439,
-0x44b, 0x43d, 0x3b, 0x41e, 0x442, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x410, 0x442, 0x44b, 0x440, 0x434, 0x44c, 0x44b, 0x445, 0x20,
-0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x411, 0x430, 0x43b, 0x430, 0x495, 0x430, 0x43d, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x410, 0x43b,
-0x442, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x421, 0x44d, 0x442, 0x438, 0x43d, 0x43d, 0x44c, 0x438, 0x3b, 0x430, 0x445, 0x441, 0x44b,
-0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x4d, 0x75, 0x70, 0x3b, 0x4d, 0x77, 0x69, 0x3b, 0x4d, 0x73, 0x68, 0x3b, 0x4d, 0x75, 0x6e,
-0x3b, 0x4d, 0x61, 0x67, 0x3b, 0x4d, 0x75, 0x6a, 0x3b, 0x4d, 0x73, 0x70, 0x3b, 0x4d, 0x70, 0x67, 0x3b, 0x4d, 0x79, 0x65,
-0x3b, 0x4d, 0x6f, 0x6b, 0x3b, 0x4d, 0x75, 0x73, 0x3b, 0x4d, 0x75, 0x68, 0x3b, 0x4d, 0x75, 0x70, 0x61, 0x6c, 0x61, 0x6e,
-0x67, 0x75, 0x6c, 0x77, 0x61, 0x3b, 0x4d, 0x77, 0x69, 0x74, 0x6f, 0x70, 0x65, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x65, 0x6e,
-0x64, 0x65, 0x3b, 0x4d, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x65, 0x6e, 0x64, 0x65, 0x20, 0x4d, 0x61,
-0x67, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x75, 0x6a, 0x69, 0x6d, 0x62, 0x69, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x69, 0x70, 0x65,
-0x70, 0x6f, 0x3b, 0x4d, 0x75, 0x70, 0x75, 0x67, 0x75, 0x74, 0x6f, 0x3b, 0x4d, 0x75, 0x6e, 0x79, 0x65, 0x6e, 0x73, 0x65,
-0x3b, 0x4d, 0x6f, 0x6b, 0x68, 0x75, 0x3b, 0x4d, 0x75, 0x73, 0x6f, 0x6e, 0x67, 0x61, 0x6e, 0x64, 0x65, 0x6d, 0x62, 0x77,
-0x65, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0xa5a8, 0xa595, 0xa51e, 0x3b, 0xa552, 0xa561, 0x3b, 0xa57e, 0xa5ba, 0x3b,
-0xa5a2, 0xa595, 0x3b, 0xa591, 0xa571, 0x3b, 0xa5b1, 0xa60b, 0x3b, 0xa5b1, 0xa55e, 0x3b, 0xa5db, 0xa515, 0x3b, 0xa562, 0xa54c, 0x3b, 0xa56d, 0xa583,
-0x3b, 0xa51e, 0xa60b, 0x3b, 0xa5a8, 0xa595, 0xa5cf, 0x3b, 0xa5a8, 0xa595, 0x20, 0xa56a, 0xa574, 0x20, 0xa51e, 0xa500, 0xa56e, 0xa54a, 0x3b, 0xa552,
-0xa561, 0xa59d, 0xa595, 0x3b, 0xa57e, 0xa5ba, 0x3b, 0xa5a2, 0xa595, 0x3b, 0xa591, 0xa571, 0x3b, 0xa5b1, 0xa60b, 0x3b, 0xa5b1, 0xa55e, 0xa524, 0x3b,
-0xa5db, 0xa515, 0x3b, 0xa562, 0xa54c, 0x3b, 0xa56d, 0xa583, 0x3b, 0xa51e, 0xa60b, 0xa554, 0xa57f, 0x20, 0xa578, 0xa583, 0xa5cf, 0x3b, 0xa5a8, 0xa595,
-0x20, 0xa56a, 0xa574, 0x20, 0xa5cf, 0xa5ba, 0xa56e, 0xa54a, 0x3b, 0x6c, 0x75, 0x75, 0x6b, 0x61, 0x6f, 0x20, 0x6b, 0x65, 0x6d, 0xe3,
-0x3b, 0x253, 0x61, 0x6e, 0x64, 0x61, 0x253, 0x75, 0x3b, 0x76, 0x254, 0x254, 0x3b, 0x66, 0x75, 0x6c, 0x75, 0x3b, 0x67, 0x6f,
-0x6f, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x6b, 0x254, 0x6e, 0x64, 0x65, 0x3b, 0x73, 0x61, 0x61, 0x68, 0x3b, 0x67, 0x61, 0x6c,
-0x6f, 0x3b, 0x6b, 0x65, 0x6e, 0x70, 0x6b, 0x61, 0x74, 0x6f, 0x20, 0x253, 0x6f, 0x6c, 0x6f, 0x6c, 0x254, 0x3b, 0x6c, 0x75,
-0x75, 0x6b, 0x61, 0x6f, 0x20, 0x6c, 0x254, 0x6d, 0x61, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x48, 0x6f, 0x72, 0x3b, 0x4d, 0xe4,
-0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x42, 0x72, 0xe1, 0x3b, 0x48, 0x65, 0x69, 0x3b, 0xd6, 0x69,
-0x67, 0x3b, 0x48, 0x65, 0x72, 0x3b, 0x57, 0xed, 0x6d, 0x3b, 0x57, 0x69, 0x6e, 0x3b, 0x43, 0x68, 0x72, 0x3b, 0x4a, 0x65,
-0x6e, 0x6e, 0x65, 0x72, 0x3b, 0x48, 0x6f, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x65, 0x3b, 0x41, 0x62,
-0x72, 0x69, 0x6c, 0x6c, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x6a, 0x65, 0x3b, 0x42, 0x72, 0xe1, 0x10d, 0x65, 0x74, 0x3b, 0x48,
-0x65, 0x69, 0x77, 0x65, 0x74, 0x3b, 0xd6, 0x69, 0x67, 0x161, 0x74, 0x65, 0x3b, 0x48, 0x65, 0x72, 0x62, 0x161, 0x74, 0x6d,
-0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x57, 0xed, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d,
-0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x43, 0x68, 0x72, 0x69, 0x161, 0x74, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x4a, 0x3b, 0x48,
-0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x42, 0x3b, 0x48, 0x3b, 0xd6, 0x3b, 0x48, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x43,
-0x3b, 0x6f, 0x2e, 0x31, 0x3b, 0x6f, 0x2e, 0x32, 0x3b, 0x6f, 0x2e, 0x33, 0x3b, 0x6f, 0x2e, 0x34, 0x3b, 0x6f, 0x2e, 0x35,
-0x3b, 0x6f, 0x2e, 0x36, 0x3b, 0x6f, 0x2e, 0x37, 0x3b, 0x6f, 0x2e, 0x38, 0x3b, 0x6f, 0x2e, 0x39, 0x3b, 0x6f, 0x2e, 0x31,
-0x30, 0x3b, 0x6f, 0x2e, 0x31, 0x31, 0x3b, 0x6f, 0x2e, 0x31, 0x32, 0x3b, 0x70, 0x69, 0x6b, 0xed, 0x74, 0xed, 0x6b, 0xed,
-0x74, 0x69, 0x65, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0xed, 0x20, 0xfa, 0x20, 0x6b, 0x75, 0x74, 0xfa, 0x61, 0x6e, 0x3b, 0x73,
-0x69, 0x25b, 0x79, 0x25b, 0x301, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x6e, 0x64, 0xed, 0x25b,
-0x3b, 0x254, 0x6e, 0x73, 0xfa, 0x6d, 0x62, 0x254, 0x6c, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1,
-0x74, 0xe1, 0x74, 0xfa, 0x25b, 0x3b, 0x6d, 0x65, 0x73, 0x69, 0x14b, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20,
-0x6b, 0xe9, 0x6e, 0x69, 0x65, 0x3b, 0x65, 0x6e, 0x73, 0x69, 0x6c, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20,
-0x6b, 0xe1, 0x74, 0xe1, 0x6e, 0x75, 0x25b, 0x3b, 0x254, 0x73, 0x254, 0x6e, 0x3b, 0x65, 0x66, 0x75, 0x74, 0x65, 0x3b, 0x70,
-0x69, 0x73, 0x75, 0x79, 0xfa, 0x3b, 0x69, 0x6d, 0x25b, 0x14b, 0x20, 0x69, 0x20, 0x70, 0x75, 0x254, 0x73, 0x3b, 0x69, 0x6d,
-0x25b, 0x14b, 0x20, 0x69, 0x20, 0x70, 0x75, 0x74, 0xfa, 0x6b, 0x2c, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1,
-0x74, 0xed, 0x25b, 0x3b, 0x6d, 0x61, 0x6b, 0x61, 0x6e, 0x64, 0x69, 0x6b, 0x25b, 0x3b, 0x70, 0x69, 0x6c, 0x254, 0x6e, 0x64,
-0x254, 0x301, 0x3b, 0x58, 0x69, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d,
-0x61, 0x79, 0x3b, 0x58, 0x75, 0x6e, 0x3b, 0x58, 0x6e, 0x74, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f,
-0x63, 0x68, 0x3b, 0x50, 0x61, 0x79, 0x3b, 0x41, 0x76, 0x69, 0x3b, 0x78, 0x69, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x66, 0x65,
-0x62, 0x72, 0x65, 0x72, 0x75, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61,
-0x79, 0x75, 0x3b, 0x78, 0x75, 0x6e, 0x75, 0x3b, 0x78, 0x75, 0x6e, 0x65, 0x74, 0x75, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74,
-0x75, 0x3b, 0x73, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x68, 0x6f, 0x62, 0x72, 0x65, 0x3b,
-0x70, 0x61, 0x79, 0x61, 0x72, 0x65, 0x73, 0x3b, 0x61, 0x76, 0x69, 0x65, 0x6e, 0x74, 0x75, 0x3b, 0x58, 0x3b, 0x46, 0x3b,
-0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, 0x58, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x50, 0x3b, 0x41, 0x3b,
-0x78, 0x69, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b,
-0x78, 0x75, 0x6e, 0x3b, 0x78, 0x6e, 0x74, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x63, 0x68, 0x3b,
-0x70, 0x61, 0x79, 0x3b, 0x61, 0x76, 0x69, 0x3b, 0x64, 0x65, 0x20, 0x78, 0x69, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x64, 0x65,
-0x20, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x64, 0x2019,
-0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x78, 0x75, 0x6e,
-0x75, 0x3b, 0x64, 0x65, 0x20, 0x78, 0x75, 0x6e, 0x65, 0x74, 0x75, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x75,
-0x3b, 0x64, 0x65, 0x20, 0x73, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x68, 0x6f,
-0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x70, 0x61, 0x79, 0x61, 0x72, 0x65, 0x73, 0x3b, 0x64, 0x2019, 0x61, 0x76, 0x69,
-0x65, 0x6e, 0x74, 0x75, 0x3b, 0x4e, 0x64, 0x75, 0x14b, 0x6d, 0x62, 0x69, 0x20, 0x53, 0x61, 0x14b, 0x3b, 0x50, 0x25b, 0x73,
-0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x70, 0xe1, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x74, 0xe1,
-0x74, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x6b, 0x77, 0x61, 0x3b, 0x50, 0x25b,
-0x73, 0x61, 0x14b, 0x20, 0x50, 0x61, 0x74, 0x61, 0x61, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e,
-0x25b, 0x301, 0x6e, 0x74, 0xfa, 0x6b, 0xfa, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x53, 0x61, 0x61, 0x6d, 0x62, 0xe1,
-0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x66, 0x254, 0x6d, 0x3b, 0x50, 0x25b, 0x73,
-0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x70, 0x66, 0xfa, 0xa78b, 0xfa, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b,
-0x20, 0x4e, 0x25b, 0x67, 0x25b, 0x301, 0x6d, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x4e, 0x74, 0x73, 0x254, 0x30c, 0x70,
-0x6d, 0x254, 0x301, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x4e, 0x74, 0x73, 0x254, 0x30c, 0x70, 0x70, 0xe1, 0x3b, 0x70,
-0x61, 0x6d, 0x62, 0x61, 0x3b, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x6d, 0x62, 0x69, 0x79, 0x254, 0x20, 0x6d, 0x25b, 0x6e,
-0x64, 0x6f, 0x14b, 0x67, 0x254, 0x3b, 0x4e, 0x79, 0x254, 0x6c, 0x254, 0x6d, 0x62, 0x254, 0x14b, 0x67, 0x254, 0x3b, 0x4d, 0x254,
-0x6e, 0x254, 0x20, 0x14b, 0x67, 0x62, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x14b, 0x67, 0x77, 0x25b, 0x20, 0x14b,
-0x67, 0x62, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x6b, 0x75, 0x14b, 0x67, 0x77, 0x25b, 0x3b, 0x66, 0x25b, 0x3b, 0x6e, 0x6a, 0x61,
-0x70, 0x69, 0x3b, 0x6e, 0x79, 0x75, 0x6b, 0x75, 0x6c, 0x3b, 0x31, 0x31, 0x3b, 0x253, 0x75, 0x6c, 0x253, 0x75, 0x73, 0x25b,
-0x3b, 0x6d, 0x62, 0x65, 0x67, 0x74, 0x75, 0x67, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, 0xe0, 0x62, 0xf9, 0x62, 0xec, 0x3b,
-0x69, 0x6d, 0x65, 0x67, 0x20, 0x6d, 0x62, 0x259, 0x14b, 0x63, 0x68, 0x75, 0x62, 0x69, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20,
-0x6e, 0x67, 0x77, 0x259, 0x300, 0x74, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x66, 0x6f, 0x67, 0x3b, 0x69, 0x6d, 0x259, 0x67,
-0x20, 0x69, 0x63, 0x68, 0x69, 0x69, 0x62, 0x254, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0xe0, 0x64, 0xf9, 0x6d, 0x62,
-0x259, 0x300, 0x14b, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, 0x6b, 0x61, 0x3b, 0x69, 0x6d, 0x259, 0x67,
-0x20, 0x6b, 0x75, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x74, 0xe8, 0x73, 0x69, 0x2bc, 0x65, 0x3b, 0x69, 0x6d, 0x259,
-0x67, 0x20, 0x7a, 0xf2, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x72, 0x69, 0x7a, 0x6d, 0x65, 0x64, 0x3b, 0x69, 0x6d,
-0x259, 0x67, 0x20, 0x6d, 0x62, 0x65, 0x67, 0x74, 0x75, 0x67, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, 0xe0, 0x62, 0xf9, 0x62,
-0xec, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, 0x6d, 0x62, 0x259, 0x14b, 0x63, 0x68, 0x75, 0x62, 0x69, 0x3b, 0x69, 0x6d, 0x259,
-0x67, 0x20, 0x6e, 0x67, 0x77, 0x259, 0x300, 0x74, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x66, 0x6f, 0x67, 0x3b, 0x69, 0x6d,
-0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, 0x69, 0x62, 0x254, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0xe0, 0x64, 0xf9,
-0x6d, 0x62, 0x259, 0x300, 0x14b, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, 0x6b, 0x61, 0x3b, 0x69, 0x6d,
-0x259, 0x67, 0x20, 0x6b, 0x75, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x74, 0xe8, 0x73, 0x69, 0x2bc, 0x65, 0x3b, 0x69,
-0x6d, 0x259, 0x67, 0x20, 0x7a, 0xf2, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x72, 0x69, 0x7a, 0x6d, 0x65, 0x64, 0x3b,
-0x4d, 0x31, 0x3b, 0x41, 0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4e, 0x34, 0x3b, 0x46, 0x35, 0x3b, 0x49, 0x36, 0x3b, 0x41, 0x37,
-0x3b, 0x49, 0x38, 0x3b, 0x4b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x73, 0x61, 0x14b, 0x20,
-0x74, 0x73, 0x65, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20, 0x6c, 0xf9, 0x6d, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6b, 0xe0, 0x67,
-0x20, 0x6e, 0x67, 0x77, 0xf3, 0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6c, 0x65, 0x70, 0x79, 0xe8, 0x20, 0x73, 0x68, 0xfa,
-0x6d, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x63, 0xff, 0xf3, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20,
-0x63, 0xff, 0xf3, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6e, 0x6a, 0xff, 0x6f, 0x6c, 0xe1, 0x2bc, 0x3b, 0x73, 0x61, 0x14b, 0x20,
-0x74, 0x79, 0x25b, 0x300, 0x62, 0x20, 0x74, 0x79, 0x25b, 0x300, 0x62, 0x20, 0x6d, 0x62, 0x289, 0x300, 0x14b, 0x3b, 0x73, 0x61,
-0x14b, 0x20, 0x6d, 0x62, 0x289, 0x300, 0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6e, 0x67, 0x77, 0x254, 0x300, 0x2bc, 0x20, 0x6d,
-0x62, 0xff, 0x25b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0xe0, 0x14b, 0x61, 0x20, 0x74, 0x73, 0x65, 0x74, 0x73, 0xe1, 0x2bc,
-0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6d, 0x65, 0x6a, 0x77, 0x6f, 0x14b, 0xf3, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6c, 0xf9, 0x6d,
-0x3b, 0x57, 0x69, 0xf3, 0x74, 0x68, 0x65, 0x21f, 0x69, 0x6b, 0x61, 0x20, 0x57, 0xed, 0x3b, 0x54, 0x68, 0x69, 0x79, 0xf3,
-0x21f, 0x65, 0x79, 0x75, 0x14b, 0x6b, 0x61, 0x20, 0x57, 0xed, 0x3b, 0x49, 0x161, 0x74, 0xe1, 0x77, 0x69, 0x10d, 0x68, 0x61,
-0x79, 0x61, 0x7a, 0x61, 0x14b, 0x20, 0x57, 0xed, 0x3b, 0x50, 0x21f, 0x65, 0x17e, 0xed, 0x74, 0x21f, 0x6f, 0x20, 0x57, 0xed,
-0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x77, 0xe1, 0x70, 0x65, 0x74, 0x21f, 0x6f, 0x20, 0x57, 0xed, 0x3b, 0x57, 0xed, 0x70, 0x61,
-0x7a, 0x75, 0x6b, 0x21f, 0x61, 0x2d, 0x77, 0x61, 0x161, 0x74, 0xe9, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x70,
-0x21f, 0xe1, 0x73, 0x61, 0x70, 0x61, 0x20, 0x57, 0xed, 0x3b, 0x57, 0x61, 0x73, 0xfa, 0x74, 0x21f, 0x75, 0x14b, 0x20, 0x57,
-0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x77, 0xe1, 0x70, 0x65, 0x1e7, 0x69, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b,
-0x77, 0xe1, 0x70, 0x65, 0x2d, 0x6b, 0x61, 0x73, 0x6e, 0xe1, 0x20, 0x57, 0xed, 0x3b, 0x57, 0x61, 0x6e, 0xed, 0x79, 0x65,
-0x74, 0x75, 0x20, 0x57, 0xed, 0x3b, 0x54, 0x21f, 0x61, 0x68, 0xe9, 0x6b, 0x61, 0x70, 0x161, 0x75, 0x14b, 0x20, 0x57, 0xed,
-0x3b, 0x6a9, 0x627, 0x646, 0x648, 0x648, 0x646, 0x6cc, 0x20, 0x62f, 0x648, 0x648, 0x6d5, 0x645, 0x3b, 0x634, 0x648, 0x628, 0x627, 0x62a,
-0x3b, 0x626, 0x627, 0x632, 0x627, 0x631, 0x3b, 0x646, 0x6cc, 0x633, 0x627, 0x646, 0x3b, 0x626, 0x627, 0x6cc, 0x627, 0x631, 0x3b, 0x62d,
-0x648, 0x632, 0x6d5, 0x6cc, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x6d5, 0x645, 0x648, 0x648, 0x632, 0x3b, 0x626, 0x627, 0x628, 0x3b, 0x626,
-0x6d5, 0x6cc, 0x644, 0x648, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x6cc, 0x646, 0x6cc, 0x20, 0x6cc, 0x6d5, 0x6a9, 0x6d5, 0x645, 0x3b,
-0x62a, 0x634, 0x631, 0x6cc, 0x646, 0x6cc, 0x20, 0x62f, 0x648, 0x648, 0x6d5, 0x645, 0x3b, 0x6a9, 0x627, 0x646, 0x648, 0x646, 0x6cc, 0x20,
-0x6cc, 0x6d5, 0x6a9, 0x6d5, 0x645, 0x3b, 0x6a9, 0x3b, 0x634, 0x3b, 0x626, 0x3b, 0x646, 0x3b, 0x626, 0x3b, 0x62d, 0x3b, 0x62a, 0x3b,
-0x626, 0x3b, 0x626, 0x3b, 0x62a, 0x3b, 0x62a, 0x3b, 0x6a9, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x11b,
-0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x77,
-0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61,
-0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x3b, 0x61, 0x70,
-0x72, 0x79, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b,
-0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74,
-0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62,
-0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x11b, 0x72, 0x2e, 0x3b, 0x61, 0x70,
-0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x77,
-0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x77, 0x2e, 0x3b, 0x64, 0x65,
-0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x61, 0x3b,
-0x6d, 0x11b, 0x72, 0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x6a, 0x75,
-0x6e, 0x69, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x61, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b,
-0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f,
-0x77, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x3b,
-0x66, 0x65, 0x62, 0x3b, 0x6d, 0x11b, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x65, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b,
-0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x77, 0x3b,
-0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d,
-0x11b, 0x72, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x3b, 0x6d, 0x65, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a,
-0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d,
-0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x65, 0x72,
-0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b,
-0x6d, 0x11b, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x65, 0x6a, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b,
-0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x77, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b,
-0x6e, 0x6f, 0x77, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x66, 0x65,
-0x62, 0x72, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x61, 0x3b,
-0x6d, 0x65, 0x6a, 0x65, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x61, 0x3b, 0x61,
-0x77, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74,
-0x6f, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62,
-0x72, 0x61, 0x3b, 0x72, 0x61, 0x67, 0x3b, 0x77, 0x61, 0x73, 0x3b, 0x70, 0x16b, 0x6c, 0x3b, 0x73, 0x61, 0x6b, 0x3b, 0x7a,
-0x61, 0x6c, 0x3b, 0x73, 0x12b, 0x6d, 0x3b, 0x6c, 0x12b, 0x70, 0x3b, 0x64, 0x61, 0x67, 0x3b, 0x73, 0x69, 0x6c, 0x3b, 0x73,
-0x70, 0x61, 0x3b, 0x6c, 0x61, 0x70, 0x3b, 0x73, 0x61, 0x6c, 0x3b, 0x72, 0x61, 0x67, 0x73, 0x3b, 0x77, 0x61, 0x73, 0x73,
-0x61, 0x72, 0x69, 0x6e, 0x73, 0x3b, 0x70, 0x16b, 0x6c, 0x69, 0x73, 0x3b, 0x73, 0x61, 0x6b, 0x6b, 0x69, 0x73, 0x3b, 0x7a,
-0x61, 0x6c, 0x6c, 0x61, 0x77, 0x73, 0x3b, 0x73, 0x12b, 0x6d, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x6c, 0x12b, 0x70, 0x61, 0x3b,
-0x64, 0x61, 0x67, 0x67, 0x69, 0x73, 0x3b, 0x73, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x73, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x6c,
-0x69, 0x6e, 0x73, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x16b, 0x74, 0x69, 0x73, 0x3b, 0x73, 0x61, 0x6c, 0x6c, 0x61, 0x77,
-0x73, 0x3b, 0x52, 0x3b, 0x57, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x5a, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x44, 0x3b, 0x53, 0x3b,
-0x53, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x75, 0x111, 0x69, 0x76, 0x3b, 0x6b, 0x75, 0x6f, 0x76, 0xe2, 0x3b, 0x6e, 0x6a, 0x75,
-0x68, 0x10d, 0xe2, 0x3b, 0x63, 0x75, 0xe1, 0x14b, 0x75, 0x69, 0x3b, 0x76, 0x79, 0x65, 0x73, 0x69, 0x3b, 0x6b, 0x65, 0x73,
-0x69, 0x3b, 0x73, 0x79, 0x65, 0x69, 0x6e, 0x69, 0x3b, 0x70, 0x6f, 0x72, 0x67, 0x65, 0x3b, 0x10d, 0x6f, 0x68, 0x10d, 0xe2,
-0x3b, 0x72, 0x6f, 0x6f, 0x76, 0x76, 0xe2, 0x64, 0x3b, 0x73, 0x6b, 0x61, 0x6d, 0x6d, 0xe2, 0x3b, 0x6a, 0x75, 0x6f, 0x76,
-0x6c, 0xe2, 0x3b, 0x75, 0x111, 0x111, 0xe2, 0x69, 0x76, 0x65, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6b, 0x75, 0x6f, 0x76,
-0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6e, 0x6a, 0x75, 0x68, 0x10d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x63,
-0x75, 0xe1, 0x14b, 0x75, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x76, 0x79, 0x65, 0x73, 0x69, 0x6d, 0xe1, 0xe1, 0x6e,
-0x75, 0x3b, 0x6b, 0x65, 0x73, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x73, 0x79, 0x65, 0x69, 0x6e, 0x69, 0x6d, 0xe1,
-0xe1, 0x6e, 0x75, 0x3b, 0x70, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x10d, 0x6f, 0x68, 0x10d, 0xe2,
-0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x72, 0x6f, 0x6f, 0x76, 0x76, 0xe2, 0x64, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x73,
-0x6b, 0x61, 0x6d, 0x6d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0xe2, 0x6d, 0xe1, 0xe1,
-0x6e, 0x75, 0x3b, 0x55, 0x3b, 0x4b, 0x3b, 0x4e, 0x4a, 0x3b, 0x43, 0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x50, 0x3b,
-0x10c, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x62c, 0x627, 0x646, 0x6a4, 0x6cc, 0x6d5, 0x3b, 0x641, 0x626, 0x6a4, 0x631, 0x6cc,
-0x6d5, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x6a4, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x6cc, 0x3b, 0x62c, 0x648, 0x659,
-0x623, 0x646, 0x3b, 0x62c, 0x648, 0x659, 0x644, 0x627, 0x3b, 0x622, 0x6af, 0x648, 0x633, 0x62a, 0x3b, 0x633, 0x626, 0x67e, 0x62a, 0x627,
-0x645, 0x631, 0x3b, 0x626, 0x648, 0x6a9, 0x62a, 0x648, 0x6a4, 0x631, 0x3b, 0x646, 0x648, 0x6a4, 0x627, 0x645, 0x631, 0x3b, 0x62f, 0x626,
-0x633, 0x627, 0x645, 0x631, 0x3b, 0x45, 0x6e, 0x3b, 0x50, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b,
-0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f,
-0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62,
-0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79,
-0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f,
-0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e,
-0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45,
-0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e,
-0x3b, 0x44, 0x3b
-};
-
static const ushort days_data[] = {
0x53, 0x75, 0x6e, 0x3b, 0x4d, 0x6f, 0x6e, 0x3b, 0x54, 0x75, 0x65, 0x3b, 0x57, 0x65, 0x64, 0x3b, 0x54, 0x68, 0x75, 0x3b,
0x46, 0x72, 0x69, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x53, 0x75, 0x6e, 0x64, 0x61, 0x79, 0x3b, 0x4d, 0x6f, 0x6e, 0x64, 0x61,
diff --git a/src/corelib/text/qlocale_p.h b/src/corelib/text/qlocale_p.h
index 37afb8542b..5ebed9b385 100644
--- a/src/corelib/text/qlocale_p.h
+++ b/src/corelib/text/qlocale_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Copyright (C) 2016 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
@@ -57,6 +57,7 @@
#include "QtCore/qvarlengtharray.h"
#include "QtCore/qvariant.h"
#include "QtCore/qnumeric.h"
+#include <QtCore/qcalendar.h>
#include "qlocale.h"
@@ -171,9 +172,14 @@ Q_DECLARE_TYPEINFO(QLocaleId, Q_PRIMITIVE_TYPE);
struct QLocaleData
{
public:
+ // TODO: Remove this?
static const QLocaleData *findLocaleData(QLocale::Language language,
QLocale::Script script,
QLocale::Country country);
+ // Having an offset of current locale, enables us to have multiple sources of data, i.e. user-provided calendar locales
+ static uint findLocaleOffset(QLocale::Language language,
+ QLocale::Script script,
+ QLocale::Country country);
static const QLocaleData *c();
// Maximum number of significant digits needed to represent a double.
@@ -297,12 +303,6 @@ public:
quint16 m_long_date_format_idx, m_long_date_format_size;
quint16 m_short_time_format_idx, m_short_time_format_size;
quint16 m_long_time_format_idx, m_long_time_format_size;
- quint16 m_standalone_short_month_names_idx, m_standalone_short_month_names_size;
- quint16 m_standalone_long_month_names_idx, m_standalone_long_month_names_size;
- quint16 m_standalone_narrow_month_names_idx, m_standalone_narrow_month_names_size;
- quint16 m_short_month_names_idx, m_short_month_names_size;
- quint16 m_long_month_names_idx, m_long_month_names_size;
- quint16 m_narrow_month_names_idx, m_narrow_month_names_size;
quint16 m_standalone_short_day_names_idx, m_standalone_short_day_names_size;
quint16 m_standalone_long_day_names_idx, m_standalone_long_day_names_size;
quint16 m_standalone_narrow_day_names_idx, m_standalone_narrow_day_names_size;
@@ -328,22 +328,23 @@ public:
quint16 m_weekend_end : 3;
};
-class Q_CORE_EXPORT QLocalePrivate
+class Q_CORE_EXPORT QLocalePrivate // A POD type
{
public:
static QLocalePrivate *create(
- const QLocaleData *data,
+ const QLocaleData *data, const uint data_offset = 0,
QLocale::NumberOptions numberOptions = QLocale::DefaultNumberOptions)
{
- QLocalePrivate *retval = new QLocalePrivate;
+ auto *retval = new QLocalePrivate;
retval->m_data = data;
retval->ref.storeRelaxed(0);
+ retval->m_data_offset = data_offset;
retval->m_numberOptions = numberOptions;
return retval;
}
static QLocalePrivate *get(QLocale &l) { return l.d; }
- static const QLocalePrivate *get(const QLocale &l) { return l.d; }
+ static const QLocalePrivate *get(const QLocale &l) { return l.d; }
QChar decimal() const { return QChar(m_data->m_decimal); }
QChar group() const { return QChar(m_data->m_group); }
@@ -374,12 +375,9 @@ public:
QLocale::MeasurementSystem measurementSystem() const;
- QString dateTimeToString(QStringView format, const QDateTime &datetime,
- const QDate &dateOnly, const QTime &timeOnly,
- const QLocale *q) const;
-
const QLocaleData *m_data;
QBasicAtomicInt ref;
+ uint m_data_offset;
QLocale::NumberOptions m_numberOptions;
};
@@ -392,7 +390,7 @@ inline QLocalePrivate *QSharedDataPointer<QLocalePrivate>::clone()
{
// cannot use QLocalePrivate's copy constructor
// since it is deleted in C++11
- return QLocalePrivate::create(d->m_data, d->m_numberOptions);
+ return QLocalePrivate::create(d->m_data, d->m_data_offset, d->m_numberOptions);
}
inline char QLocaleData::digitToCLocale(QChar in) const
diff --git a/src/corelib/text/qlocale_win.cpp b/src/corelib/text/qlocale_win.cpp
index dc904ad02d..79ea67f966 100644
--- a/src/corelib/text/qlocale_win.cpp
+++ b/src/corelib/text/qlocale_win.cpp
@@ -116,8 +116,8 @@ struct QSystemLocalePrivate
QVariant dateTimeFormat(QLocale::FormatType);
QVariant dayName(int, QLocale::FormatType);
QVariant monthName(int, QLocale::FormatType);
- QVariant toString(const QDate &, QLocale::FormatType);
- QVariant toString(const QTime &, QLocale::FormatType);
+ QVariant toString(QDate, QLocale::FormatType);
+ QVariant toString(QTime, QLocale::FormatType);
QVariant toString(const QDateTime &, QLocale::FormatType);
QVariant measurementSystem();
QVariant collation();
@@ -394,7 +394,7 @@ QVariant QSystemLocalePrivate::monthName(int month, QLocale::FormatType type)
return getLocaleInfo(lctype);
}
-QVariant QSystemLocalePrivate::toString(const QDate &date, QLocale::FormatType type)
+QVariant QSystemLocalePrivate::toString(QDate date, QLocale::FormatType type)
{
SYSTEMTIME st;
memset(&st, 0, sizeof(SYSTEMTIME));
@@ -413,7 +413,7 @@ QVariant QSystemLocalePrivate::toString(const QDate &date, QLocale::FormatType t
return QString();
}
-QVariant QSystemLocalePrivate::toString(const QTime &time, QLocale::FormatType type)
+QVariant QSystemLocalePrivate::toString(QTime time, QLocale::FormatType type)
{
SYSTEMTIME st;
memset(&st, 0, sizeof(SYSTEMTIME));
diff --git a/src/corelib/text/qregexp.cpp b/src/corelib/text/qregexp.cpp
index d81826b47b..41f3508ff8 100644
--- a/src/corelib/text/qregexp.cpp
+++ b/src/corelib/text/qregexp.cpp
@@ -52,6 +52,7 @@
#include "qstringlist.h"
#include "qstringmatcher.h"
#include "qvector.h"
+#include "private/qlocking_p.h"
#include <limits.h>
#include <algorithm>
@@ -3825,7 +3826,7 @@ static QBasicMutex engineCacheMutex;
static void derefEngine(QRegExpEngine *eng, const QRegExpEngineKey &key)
{
#if !defined(QT_NO_REGEXP_OPTIM)
- QMutexLocker locker(&engineCacheMutex);
+ const auto locker = qt_scoped_lock(engineCacheMutex);
if (!eng->ref.deref()) {
if (QRECache *c = engineCache()) {
c->unusedEngines.insert(key, eng, 4 + key.pattern.length() / 4);
@@ -3846,7 +3847,7 @@ static void prepareEngine_helper(QRegExpPrivate *priv)
Q_ASSERT(!priv->eng);
#if !defined(QT_NO_REGEXP_OPTIM)
- QMutexLocker locker(&engineCacheMutex);
+ const auto locker = qt_scoped_lock(engineCacheMutex);
if (QRECache *c = engineCache()) {
priv->eng = c->unusedEngines.take(priv->engineKey);
if (!priv->eng)
diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h
index 88286b902a..5def2c81a1 100644
--- a/src/corelib/text/qstring.h
+++ b/src/corelib/text/qstring.h
@@ -57,15 +57,6 @@
#include <string>
#include <iterator>
-#if defined(Q_OS_ANDROID) && !defined(ANDROID_HAS_WSTRING)
-// std::wstring is disabled on android's glibc, as bionic lacks certain features
-// that libstdc++ checks for (like mbcslen).
-namespace std
-{
- typedef basic_string<wchar_t> wstring;
-}
-#endif
-
#include <stdarg.h>
#ifdef truncate
@@ -229,7 +220,8 @@ Q_DECLARE_TYPEINFO(QLatin1String, Q_MOVABLE_TYPE);
// Qt 4.x compatibility
#if QT_DEPRECATED_SINCE(5, 14)
-QT_DEPRECATED_X("Use QLatin1String") typedef QLatin1String QLatin1Literal;
+QT_DEPRECATED_X("Use QLatin1String")
+typedef QLatin1String QLatin1Literal;
#endif
//
diff --git a/src/corelib/text/qstringbuilder.h b/src/corelib/text/qstringbuilder.h
index b3cf2f695e..288d98d633 100644
--- a/src/corelib/text/qstringbuilder.h
+++ b/src/corelib/text/qstringbuilder.h
@@ -375,7 +375,7 @@ template <> struct QConcatenable<const char16_t *> : private QAbstractConcatenab
using type = const char16_t *;
using ConvertTo = QString;
enum { ExactSize = true };
- static int size(const char16_t *a) { return QStringView(a).length(); };
+ static int size(const char16_t *a) { return QStringView(a).length(); }
static inline void QT_ASCII_CAST_WARN appendTo(const char16_t *a, QChar *&out)
{
if (!a)
diff --git a/src/corelib/text/qstringliteral.h b/src/corelib/text/qstringliteral.h
index 603f19c0b4..2a7e607c63 100644
--- a/src/corelib/text/qstringliteral.h
+++ b/src/corelib/text/qstringliteral.h
@@ -82,11 +82,8 @@ Q_STATIC_ASSERT_X(sizeof(qunicodechar) == 2,
Q_STATIC_STRING_DATA_HEADER_INITIALIZER_WITH_OFFSET(size, sizeof(QStringData)) \
/**/
-#ifndef QT_NO_UNICODE_LITERAL
-# ifndef QT_UNICODE_LITERAL
-# error "If you change QStringLiteral, please change QStringViewLiteral, too"
-# endif
-# define QStringViewLiteral(str) QStringView(QT_UNICODE_LITERAL(str))
+#if QT_DEPRECATED_SINCE(5, 14)
+# define QStringViewLiteral(str) QStringView(QT_UNICODE_LITERAL(str), QtPrivate::Deprecated)
#endif
template <int N>
diff --git a/src/corelib/text/qstringview.h b/src/corelib/text/qstringview.h
index 0a82ac4201..4ab4d2570f 100644
--- a/src/corelib/text/qstringview.h
+++ b/src/corelib/text/qstringview.h
@@ -185,6 +185,13 @@ public:
template <typename Char>
Q_DECL_CONSTEXPR QStringView(const Char *str) noexcept;
#else
+#if QT_DEPRECATED_SINCE(5, 14)
+ template <typename Array, if_compatible_array<Array> = true>
+ QT_DEPRECATED_VERSION_X_5_14(R"(Use u"~~~" or QStringView(u"~~~") instead of QStringViewLiteral("~~~"))")
+ Q_DECL_CONSTEXPR QStringView(const Array &str, QtPrivate::Deprecated_t) noexcept
+ : QStringView(str, lengthHelperArray(str)) {}
+#endif // QT_DEPRECATED_SINCE
+
template <typename Array, if_compatible_array<Array> = true>
Q_DECL_CONSTEXPR QStringView(const Array &str) noexcept
: QStringView(str, lengthHelperArray(str)) {}
diff --git a/src/corelib/thread/qfutureinterface.cpp b/src/corelib/thread/qfutureinterface.cpp
index 8f4cae8816..6430f38a3b 100644
--- a/src/corelib/thread/qfutureinterface.cpp
+++ b/src/corelib/thread/qfutureinterface.cpp
@@ -429,6 +429,11 @@ QMutex *QFutureInterfaceBase::mutex() const
return &d->m_mutex;
}
+QMutex &QFutureInterfaceBase::mutex(int) const
+{
+ return d->m_mutex;
+}
+
QtPrivate::ExceptionStore &QFutureInterfaceBase::exceptionStore()
{
return d->m_exceptionStore;
diff --git a/src/corelib/thread/qfutureinterface.h b/src/corelib/thread/qfutureinterface.h
index d5e2401eee..bcdae24833 100644
--- a/src/corelib/thread/qfutureinterface.h
+++ b/src/corelib/thread/qfutureinterface.h
@@ -45,6 +45,8 @@
#include <QtCore/qexception.h>
#include <QtCore/qresultstore.h>
+#include <mutex>
+
QT_REQUIRE_CONFIG(future);
QT_BEGIN_NAMESPACE
@@ -118,6 +120,7 @@ public:
void waitForResume();
QMutex *mutex() const;
+ QMutex &mutex(int) const;
QtPrivate::ExceptionStore &exceptionStore();
QtPrivate::ResultStoreBase &resultStoreBase();
const QtPrivate::ResultStoreBase &resultStoreBase() const;
@@ -188,7 +191,7 @@ public:
template <typename T>
inline void QFutureInterface<T>::reportResult(const T *result, int index)
{
- QMutexLocker locker(mutex());
+ std::lock_guard<QMutex> locker(mutex(0));
if (this->queryState(Canceled) || this->queryState(Finished)) {
return;
}
@@ -214,7 +217,7 @@ inline void QFutureInterface<T>::reportResult(const T &result, int index)
template <typename T>
inline void QFutureInterface<T>::reportResults(const QVector<T> &_results, int beginIndex, int count)
{
- QMutexLocker locker(mutex());
+ std::lock_guard<QMutex> locker(mutex(0));
if (this->queryState(Canceled) || this->queryState(Finished)) {
return;
}
@@ -242,14 +245,14 @@ inline void QFutureInterface<T>::reportFinished(const T *result)
template <typename T>
inline const T &QFutureInterface<T>::resultReference(int index) const
{
- QMutexLocker lock(mutex());
+ std::lock_guard<QMutex> locker(mutex(0));
return resultStoreBase().resultAt(index).template value<T>();
}
template <typename T>
inline const T *QFutureInterface<T>::resultPointer(int index) const
{
- QMutexLocker lock(mutex());
+ std::lock_guard<QMutex> locker(mutex(0));
return resultStoreBase().resultAt(index).template pointer<T>();
}
@@ -263,7 +266,7 @@ inline QList<T> QFutureInterface<T>::results()
QFutureInterfaceBase::waitForResult(-1);
QList<T> res;
- QMutexLocker lock(mutex());
+ std::lock_guard<QMutex> locker(mutex(0));
QtPrivate::ResultIteratorBase it = resultStoreBase().begin();
while (it != resultStoreBase().end()) {
diff --git a/src/corelib/thread/qlocking_p.h b/src/corelib/thread/qlocking_p.h
new file mode 100644
index 0000000000..9a796cf7f7
--- /dev/null
+++ b/src/corelib/thread/qlocking_p.h
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Marc Mutz <marc.mutz@kdab.com>
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QLOCKING_P_H
+#define QLOCKING_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of qmutex.cpp, qmutex_unix.cpp, and qmutex_win.cpp. This header
+// file may change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qmutex.h>
+
+#include <mutex>
+
+QT_BEGIN_NAMESPACE
+
+//
+// This API is bridging the time until we can depend on C++17:
+//
+// - qt_scoped_lock returns a lock that cannot be unlocked again before the end of the scope
+// - qt_unique_lock returns a lock that can be unlock()ed and moved around
+// - for compat with QMutexLocker, qt_unique_lock supports passing by pointer.
+// Do NOT use this overload lightly; it's only for cases such as where a Q_GLOBAL_STATIC
+// may have already been deleted. In particular, do NOT port from
+// QMutexLocker locker(&mutex);
+// to
+// auto locker = qt_unique_lock(&mutex);
+// as this will not port automatically to std::unique_lock come C++17!
+//
+// The intent, come C++17, is to replace
+// qt_scoped_lock(mutex);
+// qt_unique_lock(mutex); // except qt_unique_lock(&mutex)
+// with
+// std::scoped_lock(mutex);
+// std::unique_lock(mutex);
+// resp. (C++17 meaning CTAD, guaranteed copy elision + scoped_lock available on all platforms),
+// so please use these functions only in ways which don't break this mechanical search & replace.
+//
+
+namespace {
+
+template <typename Mutex, typename Lock =
+#if defined(__cpp_guaranteed_copy_elision) && __cpp_guaranteed_copy_elision >= 201606L
+# if defined(__cpp_lib_scoped_lock) && __cpp_lib_scoped_lock >= 201703L
+ std::scoped_lock
+# else
+ std::lock_guard
+# endif
+#else
+ std::unique_lock
+#endif
+ <typename std::decay<Mutex>::type>
+>
+Lock qt_scoped_lock(Mutex &mutex)
+{
+ return Lock(mutex);
+}
+
+template <typename Mutex, typename Lock = std::unique_lock<typename std::decay<Mutex>::type>>
+Lock qt_unique_lock(Mutex &mutex)
+{
+ return Lock(mutex);
+}
+
+template <typename Mutex, typename Lock = std::unique_lock<typename std::decay<Mutex>::type>>
+Lock qt_unique_lock(Mutex *mutex)
+{
+ return mutex ? Lock(*mutex) : Lock() ;
+}
+
+} // unnamed namespace
+
+QT_END_NAMESPACE
+
+#endif // QLOCKING_P_H
diff --git a/src/corelib/thread/qreadwritelock.h b/src/corelib/thread/qreadwritelock.h
index 139fde9214..3c1ed91b94 100644
--- a/src/corelib/thread/qreadwritelock.h
+++ b/src/corelib/thread/qreadwritelock.h
@@ -183,15 +183,15 @@ public:
inline explicit QReadWriteLock(RecursionMode = NonRecursive) noexcept { }
inline ~QReadWriteLock() { }
- static inline void lockForRead() noexcept { }
- static inline bool tryLockForRead() noexcept { return true; }
- static inline bool tryLockForRead(int timeout) noexcept { Q_UNUSED(timeout); return true; }
+ void lockForRead() noexcept { }
+ bool tryLockForRead() noexcept { return true; }
+ bool tryLockForRead(int timeout) noexcept { Q_UNUSED(timeout); return true; }
- static inline void lockForWrite() noexcept { }
- static inline bool tryLockForWrite() noexcept { return true; }
- static inline bool tryLockForWrite(int timeout) noexcept { Q_UNUSED(timeout); return true; }
+ void lockForWrite() noexcept { }
+ bool tryLockForWrite() noexcept { return true; }
+ bool tryLockForWrite(int timeout) noexcept { Q_UNUSED(timeout); return true; }
- static inline void unlock() noexcept { }
+ void unlock() noexcept { }
private:
Q_DISABLE_COPY(QReadWriteLock)
@@ -200,12 +200,12 @@ private:
class Q_CORE_EXPORT QReadLocker
{
public:
- inline QReadLocker(QReadWriteLock *) noexcept { }
+ inline explicit QReadLocker(QReadWriteLock *) noexcept { }
inline ~QReadLocker() noexcept { }
- static inline void unlock() noexcept { }
- static inline void relock() noexcept { }
- static inline QReadWriteLock *readWriteLock() noexcept { return nullptr; }
+ void unlock() noexcept { }
+ void relock() noexcept { }
+ QReadWriteLock *readWriteLock() noexcept { return nullptr; }
private:
Q_DISABLE_COPY(QReadLocker)
@@ -217,9 +217,9 @@ public:
inline explicit QWriteLocker(QReadWriteLock *) noexcept { }
inline ~QWriteLocker() noexcept { }
- static inline void unlock() noexcept { }
- static inline void relock() noexcept { }
- static inline QReadWriteLock *readWriteLock() noexcept { return nullptr; }
+ void unlock() noexcept { }
+ void relock() noexcept { }
+ QReadWriteLock *readWriteLock() noexcept { return nullptr; }
private:
Q_DISABLE_COPY(QWriteLocker)
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp
index 38e9c1c3ec..cb3c0d6bb1 100644
--- a/src/corelib/thread/qthread_unix.cpp
+++ b/src/corelib/thread/qthread_unix.cpp
@@ -108,20 +108,8 @@ Q_STATIC_ASSERT(sizeof(pthread_t) <= sizeof(Qt::HANDLE));
enum { ThreadPriorityResetFlag = 0x80000000 };
-#if defined(Q_OS_LINUX) && defined(__GLIBC__) && (defined(Q_CC_GNU) || defined(Q_CC_INTEL)) && !defined(QT_LINUXBASE)
-/* LSB doesn't have __thread, https://lsbbugs.linuxfoundation.org/show_bug.cgi?id=993 */
-#define HAVE_TLS
-#endif
-#if defined(Q_CC_XLC) || defined (Q_CC_SUN)
-#define HAVE_TLS
-#endif
-#if defined(Q_OS_RTEMS)
-#define HAVE_TLS
-#endif
-#ifdef HAVE_TLS
-static __thread QThreadData *currentThreadData = 0;
-#endif
+static thread_local QThreadData *currentThreadData = 0;
static pthread_once_t current_thread_data_once = PTHREAD_ONCE_INIT;
static pthread_key_t current_thread_data_key;
@@ -182,28 +170,19 @@ Q_DESTRUCTOR_FUNCTION(destroy_current_thread_data_key)
// Utility functions for getting, setting and clearing thread specific data.
static QThreadData *get_thread_data()
{
-#ifdef HAVE_TLS
return currentThreadData;
-#else
- pthread_once(&current_thread_data_once, create_current_thread_data_key);
- return reinterpret_cast<QThreadData *>(pthread_getspecific(current_thread_data_key));
-#endif
}
static void set_thread_data(QThreadData *data)
{
-#ifdef HAVE_TLS
currentThreadData = data;
-#endif
pthread_once(&current_thread_data_once, create_current_thread_data_key);
pthread_setspecific(current_thread_data_key, data);
}
static void clear_thread_data()
{
-#ifdef HAVE_TLS
currentThreadData = 0;
-#endif
pthread_setspecific(current_thread_data_key, 0);
}
diff --git a/src/corelib/thread/qthread_win.cpp b/src/corelib/thread/qthread_win.cpp
index f8a0b0abaa..a72df2fc40 100644
--- a/src/corelib/thread/qthread_win.cpp
+++ b/src/corelib/thread/qthread_win.cpp
@@ -99,6 +99,8 @@ void qt_create_tls()
return;
static QBasicMutex mutex;
QMutexLocker locker(&mutex);
+ if (qt_current_thread_data_tls_index != TLS_OUT_OF_INDEXES)
+ return;
qt_current_thread_data_tls_index = TlsAlloc();
}
diff --git a/src/corelib/thread/thread.pri b/src/corelib/thread/thread.pri
index d11e6500ff..9fc9af0e65 100644
--- a/src/corelib/thread/thread.pri
+++ b/src/corelib/thread/thread.pri
@@ -28,6 +28,7 @@ qtConfig(thread) {
thread/qbasicatomic.h \
thread/qfutex_p.h \
thread/qgenericatomic.h \
+ thread/qlocking_p.h \
thread/qmutex_p.h \
thread/qorderedmutexlocker_p.h \
thread/qreadwritelock_p.h \
diff --git a/src/corelib/time/qcalendar.cpp b/src/corelib/time/qcalendar.cpp
new file mode 100644
index 0000000000..b569a6834c
--- /dev/null
+++ b/src/corelib/time/qcalendar.cpp
@@ -0,0 +1,1090 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qcalendar.h"
+#include "qcalendarbackend_p.h"
+#include "qgregoriancalendar_p.h"
+#ifndef QT_BOOTSTRAPPED
+#include "qjuliancalendar_p.h"
+#include "qmilankoviccalendar_p.h"
+#endif
+#if QT_CONFIG(jalalicalendar)
+#include "qjalalicalendar_p.h"
+#endif
+#if QT_CONFIG(islamiccivilcalendar)
+#include "qislamiccivilcalendar_p.h"
+#endif
+
+#include "qdatetime.h"
+#include "qcalendarmath_p.h"
+#include <qhash.h>
+#include <qdebug.h>
+
+#include <unordered_map>
+
+QT_BEGIN_NAMESPACE
+
+namespace {
+
+struct CalendarName : public QString
+{
+ CalendarName(const QString &name) : QString(name) {}
+};
+
+inline bool operator==(const CalendarName &u, const CalendarName &v)
+{
+ return u.compare(v, Qt::CaseInsensitive) == 0;
+}
+
+inline uint qHash(const CalendarName &key, uint seed = 0) noexcept
+{
+ return qHash(key.toLower(), seed);
+}
+
+struct Registry {
+ std::vector<QCalendarBackend *> byId;
+ QHash<CalendarName, QCalendarBackend *> byName;
+ QCalendarBackend *gregorianCalendar = nullptr;
+ bool populated = false;
+
+ Registry()
+ {
+ byId.resize(int(QCalendar::System::Last) + 1);
+ }
+
+ ~Registry()
+ {
+ qDeleteAll(byId);
+ }
+
+ bool registerName(QCalendarBackend *calendar, const QString &name)
+ {
+ if (byName.find(name) != byName.end()) {
+ qWarning() << "Calendar name" << name
+ << "is already taken, new calendar will not be registered.";
+ return false;
+ }
+ byName.insert(name, calendar);
+ return true;
+ }
+ void addCalendar(QCalendarBackend *calendar, const QString &name, QCalendar::System id)
+ {
+ if (!registerName(calendar, name))
+ return;
+ Q_ASSERT(byId.size() >= size_t(id));
+ if (id == QCalendar::System::User) {
+ byId.push_back(calendar);
+ } else {
+ Q_ASSERT(byId.at(size_t(id)) == nullptr);
+ byId[size_t(id)] = calendar;
+ }
+ if (id == QCalendar::System::Gregorian) {
+ Q_ASSERT(!gregorianCalendar);
+ gregorianCalendar = calendar;
+ }
+ }
+ /*
+ \internal
+ Ensures each enum-available calendar has been instantiated.
+
+ This arranges for each to register itself by name; it only does anything on
+ its first call, which ensures that name-based lookups can always find all
+ the calendars available via the enum.
+ */
+ void populate()
+ {
+ if (populated)
+ return;
+
+ for (int i = 0; i <= int(QCalendar::System::Last); ++i)
+ (void)QCalendar(QCalendar::System(i));
+ }
+};
+
+}
+
+Q_GLOBAL_STATIC(Registry, calendarRegistry);
+
+
+/*!
+ \since 5.14
+
+ \class QCalendarBackend
+ \inmodule QtCore
+ \reentrant
+ \brief The QCalendarBackend class provides basic calendaring functions.
+
+ QCalendarBackend provides the base class on which all calendar types are
+ implemented. On construction, the backend is registered with its primary
+ name.
+
+ A backend may also be registered with aliases, where the calendar is known
+ by several names. Registering with the name used by CLDR (the Unicode
+ consortium's Common Locale Data Repository) is recommended, particularly
+ when interacting with third-party software. Once a backend is registered for
+ a name, QCalendar can be constructed using that name to select the backend.
+
+ Each calendar backend must inherit from QCalendarBackend and implement its
+ pure virtual methods. It may also override some other virtual methods, as
+ needed.
+
+ Most backends are pure code, with no data elements. Such backends should
+ normally be implemented as singletons. For a backend to be added to the
+ QCalendar::System enum, it should be such a singleton, with a case in
+ QCalendar::fromEnum()'s switch statement to instantiate it.
+
+ Non-singleton calendar backends should ensure that each instance is created
+ with a distinct primary name. Later instances attempting to register with a
+ name already in use shall fail to register and be unavailable to QCalendar,
+ hence unusable.
+
+ \sa registerAlias(), QDate, QDateTime, QDateEdit, QDateTimeEdit, QCalendarWidget
+*/
+
+/*!
+ Constructs the calendar and registers it.
+*/
+QCalendarBackend::QCalendarBackend(const QString &name, QCalendar::System id)
+{
+ calendarRegistry->addCalendar(this, name, id);
+}
+
+/*!
+ Destroys the calendar.
+
+ Never call this from user code. Each calendar backend, once instantiated,
+ shall exist for the lifetime of the program. Its destruction is taken care
+ of by destruction of the registry of calendar backends and their names.
+*/
+QCalendarBackend::~QCalendarBackend()
+{
+}
+
+/*!
+ The calendar system of this calendar.
+
+ Each calendar backend constructible from the QCalendar::System enum should
+ return the member of that enum that produces it. Other calendars should
+ return User.
+
+ \sa QCalendar::fromEnum()
+*/
+QCalendar::System QCalendarBackend::calendarSystem() const
+{
+ return QCalendar::System::User;
+}
+
+/*!
+ The primary name of this calendar.
+ */
+QString QCalendar::name() const
+{
+ return d ? d->name() : QString();
+}
+
+// date queries
+/*!
+ \fn int QCalendarBackend::daysInMonth(int month, int year) const
+
+ Returns number of days in the month number \a month, in year \a year.
+
+ An implementation should return 0 if the given year had no such month. If
+ year is QCalendar::Unspecified, return the usual number of days for the
+ month, in those years that include it.
+
+ Calendars with intercallary days may represent these as extra days of the
+ preceding month, or as short months separate from the usual ones. In the
+ former case, daysInMonth(month, year) should be the number of ordinary days
+ in the month, although \c{isDateValid(year, month, day)} might return \c true for
+ some larger values of \c day.
+
+ \sa daysInYear(), monthsInYear(), minDaysInMonth(), maxDaysInMonth()
+*/
+
+// properties of the calendar
+
+/*!
+ \fn bool QCalendarBackend::isLeapYear(int year) const
+
+ Returns \c true if the specified \a year is a leap year for this calendar.
+
+ \sa daysInYear(), isDateValid()
+*/
+
+/*!
+ \fn bool QCalendarBackend::isLunar() const
+
+ Returns \c true if this calendar is a lunar calendar. Otherwise returns \c
+ false.
+
+ A lunar calendar is a calendar based upon the monthly cycles of the Moon's
+ phases (synodic months). This contrasts with solar calendars, whose annual
+ cycles are based only upon the solar year.
+
+ \sa isLuniSolar(), isSolar(), isProleptic()
+*/
+
+/*!
+ \fn bool QCalendarBackend::isLuniSolar() const
+
+ Returns \c true if this calendar is a lunisolar calendar. Otherwise returns
+ \c false.
+
+ A lunisolar calendar is a calendar whose date indicates both the moon phase
+ and the time of the solar year.
+
+ \sa isLunar(), isSolar(), isProleptic()
+*/
+
+/*!
+ \fn bool QCalendarBackend::isSolar() const
+
+ Returns \c true if this calendar is a solar calendar. Otherwise returns
+ \c false.
+
+ A solar calendar is a calendar whose dates indicate the season or almost
+ equivalently the apparent position of the sun relative to the fixed stars.
+ The Gregorian calendar, widely accepted as standard in the world,
+ is an example of solar calendar.
+
+ \sa isLuniSolar(), isLunar(), isProleptic()
+*/
+
+/*!
+ Returns the total number of days in the year number \a year.
+ Returns zero if there is no such year in this calendar.
+
+ This base implementation returns 366 for leap years and 365 for ordinary
+ years.
+
+ \sa monthsInYear(), daysInMonth(), isLeapYear()
+*/
+int QCalendarBackend::daysInYear(int year) const
+{
+ return monthsInYear(year) ? isLeapYear(year) ? 366 : 365 : 0;
+}
+
+/*!
+ Returns the total number of months in the year number \a year.
+ Returns zero if there is no such year in this calendar.
+
+ This base implementation returns 12 for any valid year.
+
+ \sa daysInYear(), maxMonthsInYear(), isDateValid()
+*/
+int QCalendarBackend::monthsInYear(int year) const
+{
+ return year > 0 || (year < 0 ? isProleptic() : hasYearZero()) ? 12 : 0;
+}
+
+/*!
+ Returns \c true if the date specified by \a year, \a month, and \a day is
+ valid for this calendar; otherwise returns \c false. For example,
+ the date 2018-04-19 is valid for the Gregorian calendar, but 2018-16-19 and
+ 2018-04-38 are invalid.
+
+ Calendars with intercallary days may represent these as extra days of the
+ preceding month or as short months separate from the usual ones. In the
+ former case, a \a day value greater than \c{daysInMonth(\a{month},
+ \a{year})} may be valid.
+
+ \sa daysInMonth(), monthsInYear()
+*/
+bool QCalendarBackend::isDateValid(int year, int month, int day) const
+{
+ return day > 0 && day <= daysInMonth(month, year);
+}
+
+/*!
+ Returns \c true if this calendar is a proleptic calendar. Otherwise returns
+ \c false.
+
+ A proleptic calendar results from allowing negative year numbers to indicate
+ years before the nominal start of the calendar system.
+
+ \sa isLuniSolar(), isSolar(), isLunar(), hasYearZero()
+*/
+
+bool QCalendarBackend::isProleptic() const
+{
+ return true;
+}
+
+/*!
+ Returns \c true if year number \c 0 is considered a valid year in this
+ calendar. Otherwise returns \c false.
+
+ \sa isDateValid(), isProleptic()
+*/
+
+bool QCalendarBackend::hasYearZero() const
+{
+ return false;
+}
+
+/*!
+ Returns the maximum number of days in a month for any year.
+
+ This base implementation returns 31, as this is a common case.
+
+ For calendars with intercallary days, although daysInMonth() doesn't include
+ the intercallary days in its count for an individual month, maxDaysInMonth()
+ should include intercallary days, so that it is the maximum value of \c day
+ for which \c{isDateValid(year, month, day)} can be true.
+
+ \sa maxMonthsInYear(), daysInMonth()
+*/
+int QCalendarBackend::maxDaysInMonth() const
+{
+ return 31;
+}
+
+/*!
+ Returns the minimum number of days in any valid month of any valid year.
+
+ This base implementation returns 29, as this is a common case.
+
+ \sa maxMonthsInYear(), daysInMonth()
+*/
+int QCalendarBackend::minDaysInMonth() const
+{
+ return 29;
+}
+
+/*!
+ Returns the maximum number of months possible in any year.
+
+ This base implementation returns 12, as this is a common case.
+
+ \sa maxDaysInMonth(), monthsInYear()
+*/
+int QCalendarBackend::maxMonthsInYear() const
+{
+ return 12;
+}
+
+// Julian day number calculations
+
+/*!
+ \fn bool dateToJulianDay(int year, int month, int day, qint64 *jd) const
+
+ Computes the Julian day number corresponding to the specified \a year, \a
+ month, and \a day. Returns true and sets \a jd if there is such a date in
+ this calendar; otherwise, returns false.
+
+ \sa QCalendar::partsFromDate(), julianDayToDate()
+*/
+
+/*!
+ \fn QCalendar::YearMonthDay julianDayToDate(qint64 jd) const
+
+ Computes the year, month, and day in this calendar for the given Julian day
+ number \a jd. If the given day falls outside this calendar's scope
+ (e.g. before the start-date of a non-proleptic calendar), the returned
+ structure's isValid() is false; otherwise, its year, month, and day fields
+ provide this calendar's description of the date.
+
+ \sa QCalendar::dateFromParts(), dateToJulianDay()
+*/
+
+/*!
+ Returns the day of the week for a given Julian Day Number.
+
+ This is 1 for Monday through 7 for Sunday.
+
+ Calendars with intercallary days may return larger values for these
+ intercallary days. They should avoid using 0 for any special purpose (it is
+ already used in QDate::dayOfWeek() to mean an invalid date). The calendar
+ should treat the numbers used as an \c enum, whose values need not be
+ contiguous, nor need they follow closely from the 1 through 7 of the usual
+ returns. It suffices that weekDayName() can recognize each such number as
+ identifying a distinct name, that it returns to identify the particular
+ intercallary day.
+
+ This base implementation uses the day-numbering that various calendars have
+ borrowed off the Hebrew calendar.
+
+ \sa weekDayName(), standaloneWeekDayName(), QDate::dayOfWeek()
+ */
+int QCalendarBackend::dayOfWeek(qint64 jd) const
+{
+ return QRoundingDown::qMod(jd, 7) + 1;
+}
+
+// Month and week-day name look-ups (implemented in qlocale.cpp):
+/*!
+ \fn QString QCalendarBackend::monthName(const QLocale &locale, int month, int year,
+ QLocale::FormatType format) const
+
+ Returns the name of the specified \a month in the given \a year for the chosen
+ \a locale, using the given \a format to determine how complete the name is.
+
+ If \a year is Unspecified, return the name for the month that usually has this
+ number within a typical year. Calendars with a leap month that isn't always
+ the last may need to take account of the year to map the month number to the
+ particular year's month with that number.
+
+ \note Backends for which CLDR provides data can configure the default
+ implementation of the two month name look-up methods by arranging for
+ localeMonthIndexData() and localeMonthData() to provide access to the CLDR
+ data (see cldr2qlocalexml.py, qlocalexml2cpp.py and existing backends).
+ Conversely, backends that override both month name look-up methods need not
+ return anything meaningful from localeMonthIndexData() or localeMonthData().
+
+ \sa standaloneMonthName(), QLocale::monthName()
+*/
+
+/*!
+ \fn QString QCalendarBackend::standaloneMonthName(const QLocale &locale, int month, int year
+ QLocale::FormatType format) const
+
+ Returns the standalone name of the specified \a month in the chosen \a locale,
+ using the specified \a format to determine how complete the name is.
+
+ If \a year is Unspecified, return the standalone name for the month that
+ usually has this number within a typical year. Calendars with a leap month
+ that isn't always the last may need to take account of the year to map the
+ month number to the particular year's month with that number.
+
+ \sa monthName(), QLocale::standaloneMonthName()
+*/
+
+/*!
+ \fn QString QCalendarBackend::weekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format) const
+
+ Returns the name of the specified \a day of the week in the chosen \a locale,
+ using the specified \a format to determine how complete the name is.
+
+ The base implementation handles \a day values from 1 to 7 using the day names
+ CLDR provides, which are suitable for calendards that use the same
+ (Hebrew-derived) week as the Gregorian calendar.
+
+ Calendars whose dayOfWeek() returns a value outside the range from 1 to 7 need
+ to reimplement this method to handle such extra week-day values. They can
+ assume that \a day is a value returned by the same calendar's dayOfWeek().
+
+ \sa dayOfWeek(), standaloneWeekDayName(), QLocale::dayName()
+*/
+
+/*!
+ \fn QString QCalendarBackend::standaloneWeekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format) const
+
+ Returns the standalone name of the specified \a day of the week in the chosen
+ \a locale, using the specified \a format to determine how complete the name
+ is.
+
+ The base implementation handles \a day values from 1 to 7 using the standalone
+ day names CLDR provides, which are suitable for calendards that use the same
+ (Hebrew-derived) week as the Gregorian calendar.
+
+ Calendars whose dayOfWeek() returns a value outside the range from 1 to 7 need
+ to reimplement this method to handle such extra week-day values. They can
+ assume that \a day is a value returned by the same calendar's dayOfWeek().
+
+ \sa dayOfWeek(), weekDayName(), QLocale::standaloneDayName()
+*/
+
+/*!
+ \fn QString QCalendarBackend::dateTimeToString(QStringView format, const QDateTime &datetime,
+ const QDate &dateOnly, const QTime &timeOnly,
+ const QLocale &locale) const
+
+ Returns a string representing a given date, time or date-time.
+
+ If \a datetime is specified and valid, it is used and both date and time
+ format tokens are converted to appropriate representations of the parts of the
+ datetime. Otherwise, if \a dateOnly is valid, only date format tokens are
+ converted; else, if \a timeOnly is valid, only time format tokens are
+ converted. If none are valid, an empty string is returned.
+
+ The specified \a locale influences how some format tokens are converted; for
+ example, when substituting day and month names and their short-forms. For the
+ supported formatting tokens, see QDate::toString() and QTime::toString(). As
+ described above, the provided date, time and date-time determine which of
+ these tokens are recognized: where these appear in \a format they are replaced
+ by data. Any text in \a format not recognized as a format token is copied
+ verbatim into the result string.
+
+ \sa QDate::toString(), QTime::toString(), QDateTime::toString()
+*/
+// End of methods implemented in qlocale.cpp
+
+/*!
+ Returns a list of names of the available calendar systems. Any
+ QCalendarBackend sub-class must be registered before being exposed to Date
+ and Time APIs.
+
+ \sa registerCalendar(), fromName()
+*/
+QStringList QCalendarBackend::availableCalendars()
+{
+ if (calendarRegistry.isDestroyed())
+ return {};
+ calendarRegistry->populate();
+ return QStringList(calendarRegistry->byName.keyBegin(), calendarRegistry->byName.keyEnd());
+}
+
+/*!
+ Registers an alias for this calendar backend. Once a backend is registered,
+ its name will be included in the list of available calendars and the
+ calendar can be instantiated by name.
+
+ Returns \c false if the given \a name is already in use, otherwise it
+ registers this calendar backend and returns \c true.
+
+ \sa availableCalendars(), fromName()
+*/
+bool QCalendarBackend::registerAlias(const QString &name)
+{
+ if (calendarRegistry.isDestroyed())
+ return false;
+ return calendarRegistry->registerName(this, name);
+}
+
+/*!
+ Returns a pointer to a named calendar backend.
+
+ If the given \a name is present in availableCalendars(), the backend matching
+ it is returned; otherwise, \c nullptr is returned. Matching of names ignores
+ case. Note that this won't provoke construction of a calendar backend, it will
+ only return ones that have been instantiated (and not yet destroyed) by some
+ other means. However, calendars available via the QCalendar::System enum are
+ always registered when this is called.
+
+ \sa availableCalendars(), registerCalendar(), fromEnum()
+*/
+const QCalendarBackend *QCalendarBackend::fromName(QStringView name)
+{
+ if (calendarRegistry.isDestroyed())
+ return nullptr;
+ calendarRegistry->populate();
+ auto it = calendarRegistry->byName.find(name.toString());
+ return it == calendarRegistry->byName.end() ? nullptr : *it;
+}
+
+/*!
+ \overload
+ */
+const QCalendarBackend *QCalendarBackend::fromName(QLatin1String name)
+{
+ if (calendarRegistry.isDestroyed())
+ return nullptr;
+ calendarRegistry->populate();
+ auto it = calendarRegistry->byName.find(QString(name));
+ return it == calendarRegistry->byName.end() ? nullptr : *it;
+}
+
+/*!
+ Returns a pointer to a calendar backend, specified by enum.
+
+ This will instantiate the indicated calendar (which will enable fromName() to
+ return it subsequently), but only for the Qt-supported calendars for which
+ (where relevant) the appropriate feature has been enabled.
+*/
+const QCalendarBackend *QCalendarBackend::fromEnum(QCalendar::System system)
+{
+ if (calendarRegistry.isDestroyed() || system == QCalendar::System::User)
+ return nullptr;
+ Q_ASSERT(calendarRegistry->byId.size() >= size_t(system));
+ if (auto *c = calendarRegistry->byId.at(size_t(system)))
+ return c;
+ switch (system) {
+ case QCalendar::System::Gregorian:
+ return new QGregorianCalendar;
+#ifndef QT_BOOTSTRAPPED
+ case QCalendar::System::Julian:
+ return new QJulianCalendar;
+ case QCalendar::System::Milankovic:
+ return new QMilankovicCalendar;
+#endif
+#if QT_CONFIG(jalalicalendar)
+ case QCalendar::System::Jalali:
+ return new QJalaliCalendar;
+#endif
+#if QT_CONFIG(islamiccivilcalendar)
+ case QCalendar::System::IslamicCivil:
+ return new QIslamicCivilCalendar;
+#else // When highest-numbered system isn't enabled, ensure we have a case for Last:
+ case QCalendar::System::Last:
+#endif
+ case QCalendar::System::User:
+ Q_UNREACHABLE();
+ }
+ return nullptr;
+}
+
+/*!
+ \since 5.14
+
+ \class QCalendar
+ \inmodule QtCore
+ \reentrant
+ \brief The QCalendar class describes calendar systems.
+
+ A QCalendar object maps a year, month, and day-number to a specific day
+ (ultimately identified by its Julian day number), using the rules of a
+ particular system.
+
+ The default QCalendar() is a proleptic Gregorian calendar, which has no year
+ zero. Other calendars may be supported by enabling suitable features or
+ loading plugins. Calendars supported as features can be constructed by passing
+ the QCalendar::System enumeration to the constructor. All supported calendars
+ may be constructed by name, once they have been constructed. (Thus plugins
+ instantiate their calendar backend to register it.) Built-in backends,
+ accessible via QCalendar::System, are also always available by name.
+
+ A QCalendar value is immutable.
+
+ \sa QCalendarBackend, QDate, QDateTime
+*/
+
+/*!
+ \enum QCalendar::System
+
+ This enumerated type is used to specify a choice of calendar system.
+
+ \value Gregorian The default calendar, used internationally.
+ \value Julian An ancient Roman calendar with too few leap years.
+ \value Milankovic A revised Julian calendar used by some Orthodox churches.
+ \value Jalali The Solar Hijri calendar (also called Persian).
+ \value IslamicCivil The (tabular) Islamic Civil calendar.
+
+ \sa QCalendar
+*/
+
+/*!
+ \fn QCalendar::QCalendar()
+ \fn QCalendar::QCalendar(QCalendar::System system)
+ \fn QCalendar::QCalendar(QLatin1String name)
+ \fn QCalendar::QCalendar(QStringView name)
+
+ Constructs a calendar object.
+
+ The choice of calendar to use may be indicated as \a system, using the
+ enumeration QCalendar::System, or by \a name, using a string (either Unicode
+ or Latin 1). Construction by name may depend on an instance of the given
+ calendar being constructed by other means first. With no argument, the default
+ constructor returns the Gregorian calendar.
+
+ \sa QCalendar, System
+*/
+
+QCalendar::QCalendar()
+ : d(nullptr)
+{
+ if (calendarRegistry.isDestroyed())
+ return;
+ d = calendarRegistry->gregorianCalendar;
+ if (!d)
+ d = new QGregorianCalendar;
+}
+
+QCalendar::QCalendar(QCalendar::System system)
+ : d(QCalendarBackend::fromEnum(system)) {}
+
+QCalendar::QCalendar(QLatin1String name)
+ : d(QCalendarBackend::fromName(name)) {}
+
+QCalendar::QCalendar(QStringView name)
+ : d(QCalendarBackend::fromName(name)) {}
+
+// Date queries:
+
+/*!
+ Returns the number of days in the given \a month of the given \a year.
+
+ Months are numbered consecutively, starting with 1 for the first month of each
+ year.
+
+ \sa maxDaysInMonth(), minDaysInMonth()
+*/
+int QCalendar::daysInMonth(int month, int year) const
+{
+ return d ? d->daysInMonth(month, year) : 0;
+}
+
+/*!
+ Returns the number of days in the given \a year.
+*/
+int QCalendar::daysInYear(int year) const
+{
+ return d ? d->daysInYear(year) : 0;
+}
+
+/*!
+ Returns the number of months in the given \a year.
+*/
+int QCalendar::monthsInYear(int year) const
+{
+ return d ? d->monthsInYear(year) : 0;
+}
+
+/*!
+ Returns \c true precisely if the given \a year, \a month, and \a day specify a
+ valid date in this calendar.
+
+ Usually this means 1 <= month <= monthsInYear(year) and 1 <= day <=
+ daysInMonth(month, year). However, calendars with intercallary days or months
+ may complicate that.
+*/
+bool QCalendar::isDateValid(int year, int month, int day) const
+{
+ return d && d->isDateValid(year, month, day);
+}
+
+// properties of the calendar
+
+/*!
+ Returns \c true if this calendar object is the Gregorian calendar object
+ used as default calendar by other Qt APIs, e.g. in QDate.
+*/
+bool QCalendar::isGregorian() const
+{
+ Q_ASSERT(!calendarRegistry.isDestroyed());
+ return d == calendarRegistry->gregorianCalendar;
+}
+
+/*!
+ Returns \c true if the given year is a leap year.
+
+ Since the year is not a whole number of days long, some years are longer than
+ others. The difference may be a whole month or just a single day; the details
+ vary between calendars.
+
+ \sa isDateValid()
+*/
+bool QCalendar::isLeapYear(int year) const
+{
+ return d && d->isLeapYear(year);
+}
+
+/*!
+ Returns \c true if this calendar is a lunar calendar.
+
+ A lunar calendar is one based primarily on the phases of the moon.
+*/
+bool QCalendar::isLunar() const
+{
+ return d && d->isLunar();
+}
+
+/*!
+ Returns \c true if this calendar is luni-solar.
+
+ A luni-solar calendar expresses the phases of the moon but adapts itself to
+ also keep track of the Sun's varying position in the sky, relative to the
+ fixed stars.
+*/
+bool QCalendar::isLuniSolar() const
+{
+ return d && d->isLuniSolar();
+}
+
+/*!
+ Returns \c true if this calendar is solar.
+
+ A solar calendar is based primarily on the Sun's varying position in the sky,
+ relative to the fixed stars.
+*/
+bool QCalendar::isSolar() const
+{
+ return d && d->isSolar();
+}
+
+/*!
+ Returns \c true if this calendar is proleptic.
+
+ A proleptic calendar is able to describe years arbitrarily long before its
+ first. These are represented by negative year numbers and possibly by a year
+ zero.
+
+ \sa hasYearZero()
+*/
+bool QCalendar::isProleptic() const
+{
+ return d && d->isProleptic();
+}
+
+/*!
+ Returns \c true if this calendar has a year zero.
+
+ A non-proleptic calendar with no year zero represents years from its first
+ year onwards but provides no way to describe years before its first; such a
+ calendar has no year zero and is not proleptic.
+
+ A calendar which represents years before its first may number these years
+ simply by following the usual integer counting, so that the year before the
+ first is year zero, with negative-numbered years preceding this; such a
+ calendar is proleptic and has a year zero. A calendar might also have a year
+ zero (for example, the year of some great event, with subsequent years being
+ the first year after that event, the second year after, and so on) without
+ describing years before its year zero. Such a calendar would have a year zero
+ without being proleptic.
+
+ Some calendars, however, represent years before their first by an alternate
+ numbering; for example, the proleptic Gregorian calendar's first year is 1 CE
+ and the year before it is 1 BCE, preceded by 2 BCE and so on. In this case,
+ we use negative year numbers, with year -1 as the year before year 1, year -2
+ as the year before year -1 and so on. Such a calendar is proleptic but has no
+ year zero.
+
+ \sa isProleptic()
+*/
+bool QCalendar::hasYearZero() const
+{
+ return d && d->hasYearZero();
+}
+
+/*!
+ Returns the number of days in the longest month in the calendar, in any year.
+
+ \sa daysInMonth(), minDaysInMonth()
+*/
+int QCalendar::maxDaysInMonth() const
+{
+ return d ? d->maxDaysInMonth() : 0;
+}
+
+/*!
+ Returns the number of days in the shortest month in the calendar, in any year.
+
+ \sa daysInMonth(), maxDaysInMonth()
+*/
+int QCalendar::minDaysInMonth() const
+{
+ return d ? d->minDaysInMonth() : 0;
+}
+
+/*!
+ Returns the largest number of months that any year may contain.
+
+ \sa monthName(), standaloneMonthName(), monthsInYear()
+*/
+int QCalendar::maxMonthsInYear() const
+{
+ return d ? d->maxMonthsInYear() : 0;
+}
+
+// Julian Day conversions:
+
+/*!
+ \fn QDate QCalendar::dateFromParts(int year, int month, int day) const
+ \fn QDate QCalendar::dateFromParts(QCalendar::YearMonthDay parts) const
+
+ Converts a year, month, and day to a QDate.
+
+ The \a year, \a month, and \a day may be passed as separate numbers or
+ packaged together as the members of \a parts. Returns a QDate with the given
+ year, month, and day of the month in this calendar, if there is one.
+ Otherwise, including the case where any of the values is
+ QCalendar::Unspecified, returns a QDate whose isNull() is true.
+
+ \sa isDateValid(), partsFromDate()
+*/
+QDate QCalendar::dateFromParts(int year, int month, int day) const
+{
+ qint64 jd;
+ return d && d->dateToJulianDay(year, month, day, &jd)
+ ? QDate::fromJulianDay(jd) : QDate();
+}
+
+QDate QCalendar::dateFromParts(const QCalendar::YearMonthDay &parts) const
+{
+ return parts.isValid() ? dateFromParts(parts.year, parts.month, parts.day) : QDate();
+}
+
+/*!
+ Converts a QDate to a year, month, and day of the month.
+
+ The returned structure's isValid() shall be false if the calendar is unable
+ to represent the given \a date. Otherwise its \a year, \a month, and \a day
+ members record the so-named parts of its representation.
+
+ \sa dateFromParts(), isProleptic(), hasYearZero()
+*/
+QCalendar::YearMonthDay QCalendar::partsFromDate(QDate date) const
+{
+ return d ? d->julianDayToDate(date.toJulianDay()) : YearMonthDay();
+}
+
+/*!
+ Returns the day of the week number for the given \a date.
+
+ Returns zero if the calendar is unable to represent the indicated date.
+ Returns 1 for Monday through 7 for Sunday. Calendars with intercallary days
+ may use other numbers to represent these.
+
+ \sa partsFromDate(), Qt::DayOfWeek
+*/
+int QCalendar::dayOfWeek(QDate date) const
+{
+ return d ? d->dayOfWeek(date.toJulianDay()) : 0;
+}
+
+// Locale data access
+
+/*!
+ Returns a suitably localised name for a month.
+
+ The month is indicated by a number, with \a month = 1 meaning the first month
+ of the year and subsequent months numbered accordingly. Returns an empty
+ string if the \a month number is unrecognized.
+
+ The \a year may be Unspecified, in which case the mapping from numbers to
+ names for a typical year's months should be used. Some calendars have leap
+ months that aren't always at the end of the year; their mapping of month
+ numbers to names may then depend on the placement of a leap month. Thus the
+ year should normally be specified, if known.
+
+ The name is returned in the form that would normally be used in a full date,
+ in the specified \a locale; the \a format determines how fully it shall be
+ expressed (i.e. to what extent it is abbreviated).
+
+ \sa standaloneMonthName(), maxMonthsInYear(), dateTimeString()
+*/
+QString QCalendar::monthName(const QLocale &locale, int month, int year,
+ QLocale::FormatType format) const
+{
+ const int maxMonth = year == Unspecified ? maxMonthsInYear() : monthsInYear(year);
+ if (!d || month < 1 || month > maxMonth)
+ return QString();
+
+ return d->monthName(locale, month, year, format);
+}
+
+/*!
+ Returns a suitably localised standalone name for a month.
+
+ The month is indicated by a number, with \a month = 1 meaning the first month
+ of the year and subsequent months numbered accordingly. Returns an empty
+ string if the \a month number is unrecognized.
+
+ The \a year may be Unspecified, in which case the mapping from numbers to
+ names for a typical year's months should be used. Some calendars have leap
+ months that aren't always at the end of the year; their mapping of month
+ numbers to names may then depend on the placement of a leap month. Thus the
+ year should normally be specified, if known.
+
+ The name is returned in the form that would be used in isolation in the
+ specified \a locale; the \a format determines how fully it shall be expressed
+ (i.e. to what extent it is abbreviated).
+
+ \sa monthName(), maxMonthsInYear(), dateTimeString()
+*/
+QString QCalendar::standaloneMonthName(const QLocale &locale, int month, int year,
+ QLocale::FormatType format) const
+{
+ const int maxMonth = year == Unspecified ? maxMonthsInYear() : monthsInYear(year);
+ if (!d || month < 1 || month > maxMonth)
+ return QString();
+
+ return d->standaloneMonthName(locale, month, year, format);
+}
+
+/*!
+ Returns a suitably localised name for a day of the week.
+
+ The days of the week are numbered from 1 for Monday through 7 for Sunday. Some
+ calendars may support higher numbers for other days (e.g. intercallary days,
+ that are not part of any week). Returns an empty string if the \a day number
+ is unrecognized.
+
+ The name is returned in the form that would normally be used in a full date,
+ in the specified \a locale; the \a format determines how fully it shall be
+ expressed (i.e. to what extent it is abbreviated).
+
+ \sa standaloneWeekDayName(), dayOfWeek()
+*/
+QString QCalendar::weekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format) const
+{
+ return d ? d->weekDayName(locale, day, format) : QString();
+}
+
+/*!
+ Returns a suitably localised standalone name for a day of the week.
+
+ The days of the week are numbered from 1 for Monday through 7 for Sunday. Some
+ calendars may support higher numbers for other days (e.g. intercallary days,
+ that are not part of any week). Returns an empty string if the \a day number
+ is unrecognized.
+
+ The name is returned in the form that would be used in isolation (for example
+ as a column heading in a calendar's tabular display of a month with successive
+ weeks as rows) in the specified \a locale; the \a format determines how fully
+ it shall be expressed (i.e. to what extent it is abbreviated).
+
+ \sa weekDayName(), dayOfWeek()
+*/
+QString QCalendar::standaloneWeekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format) const
+{
+ return d ? d->standaloneWeekDayName(locale, day, format) : QString();
+}
+
+/*!
+ Returns a string representing a given date, time or date-time.
+
+ If \a datetime is valid, it is represented and format specifiers for both date
+ and time fields are recognized; otherwise, if \a dateOnly is valid, it is
+ represented and only format specifiers for date fields are recognized;
+ finally, if \a timeOnly is valid, it is represented and only format specifiers
+ for time fields are recognized. If none of these is valid, an empty string is
+ returned.
+
+ See QDate::toString and QTime::toString() for the supported field specifiers.
+ Characters in \a format that are recognized as field specifiers are replaced
+ by text representing appropriate data from the date and/or time being
+ represented. The texts to represent them may depend on the \a locale
+ specified. Other charagers in \a format are copied verbatim into the returned
+ string.
+
+ \sa monthName(), weekDayName(), QDate::toString(), QTime::toString()
+*/
+QString QCalendar::dateTimeToString(QStringView format, const QDateTime &datetime,
+ const QDate &dateOnly, const QTime &timeOnly,
+ const QLocale &locale) const
+{
+ return d ? d->dateTimeToString(format, datetime, dateOnly, timeOnly, locale) : QString();
+}
+
+/*!
+ Returns a list of names of the available calendar systems.
+
+ These may be supplied by plugins or other code linked into an application,
+ in addition to the ones provided by Qt, some of which are controlled by
+ features.
+*/
+QStringList QCalendar::availableCalendars()
+{
+ return QCalendarBackend::availableCalendars();
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/time/qcalendar.h b/src/corelib/time/qcalendar.h
new file mode 100644
index 0000000000..b117f4d6a9
--- /dev/null
+++ b/src/corelib/time/qcalendar.h
@@ -0,0 +1,193 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QCALENDAR_H
+#define QCALENDAR_H
+
+#include <limits>
+
+#include <QtCore/qglobal.h>
+#include <QtCore/qlocale.h>
+#include <QtCore/qstring.h>
+#include <QtCore/qstringview.h>
+
+/* Suggested enum names for other calendars known to CLDR (v33.1)
+
+ Not yet implemented - see QCalendar::System - contributions welcome:
+
+ * Buddhist -- Thai Buddhist, to be specific
+ * Chinese
+ * Coptic
+ * Dangi -- Korean
+ * Ethiopic (Amete Mihret - epoch approx. 8 C.E.)
+ * EthiopicAmeteAlem (Amete Alem - epoch approx. 5493 B.C.E; data from
+ type="ethiopic-amete-alem", an alias for type="ethioaa")
+ * Hebrew
+ * Indian -- National
+ * Islamic -- Based on astronomical observations, not predictions, so hard to
+ implement. CLDR's data for type="islamic" apply, unless overridden, to the
+ other Islamic calendar variants, i.e. IslamicCivil, above, and the three
+ following. See QHijriCalendar, a common base to provide that data.
+ * IslamicTabular -- tabular, astronomical epoch (same as IslamicCivil, except
+ for epoch), CLDR type="islamic-tbla"
+ * Saudi -- Saudi Arabia, sighting; CLDR type="islamic-rgsa"
+ * UmmAlQura -- Umm al-Qura, Saudi Arabia, calculated; CLDR type="islamic-umalqura"
+ * Iso8601 -- as Gregorian, but treating ISO 8601 weeks as "months"
+ * Japanese -- Imperial calendar
+ * Minguo -- Republic of China, Taiwan; CLDR type="roc"
+
+ See:
+ http://www.unicode.org/repos/cldr/tags/latest/common/bcp47/calendar.xml
+
+ These can potentially be supported, as features, using CLDR's data; any
+ others shall need hand-crafted localization data; it would probably be best
+ to do that by contributing data for them to CLDR.
+*/
+
+QT_BEGIN_NAMESPACE
+
+class QCalendarBackend;
+class QDate;
+
+class Q_CORE_EXPORT QCalendar
+{
+ Q_GADGET
+public:
+ // (Extra parentheses to suppress bogus reading of min() as a macro.)
+ enum : int { Unspecified = (std::numeric_limits<int>::min)() };
+ struct YearMonthDay
+ {
+ YearMonthDay() = default;
+ YearMonthDay(int y, int m = 1, int d = 1) : year(y), month(m), day(d) {}
+
+ bool isValid() const
+ { return month != Unspecified && day != Unspecified; }
+ // (The first year supported by QDate has year == Unspecified.)
+
+ int year = Unspecified;
+ int month = Unspecified;
+ int day = Unspecified;
+ };
+ // Feature (\w+)calendar uses CLDR type="\1" data, except as noted in type="..." comments below
+ enum class System
+ {
+ Gregorian, // CLDR: type = "gregory", alias = "gregorian"
+#ifndef QT_BOOTSTRAPPED
+ Julian = 8,
+ Milankovic = 9,
+#endif // These are Roman-based, so share Gregorian's CLDR data
+
+ // Feature-controlled calendars:
+#if QT_CONFIG(jalalicalendar) // type="persian"
+ Jalali = 10,
+#endif
+#if QT_CONFIG(islamiccivilcalendar) // type="islamic-civil", uses data from type="islamic"
+ IslamicCivil = 11,
+ // tabular, civil epoch
+ // 30 year cycle, leap on 2, 5, 7, 10, 13, 16, 18, 21, 24, 26 and 29
+ // (Other variants: 2, 5, 8, (10|11), 13, 16, 19, 21, 24, 27 and 29.)
+#endif
+
+ Last = 11, // Highest number of any above
+ User = -1
+ };
+ // New entries must be added to the \enum doc in qcalendar.cpp and
+ // handled in QCalendar::fromEnum()
+ Q_ENUM(System)
+
+ explicit QCalendar(); // Gregorian, optimised
+ explicit QCalendar(System system);
+ explicit QCalendar(QLatin1String name);
+ explicit QCalendar(QStringView name);
+
+ // QCalendar is a trivially copyable value type.
+ bool isValid() { return d != nullptr; }
+
+ // Date queries:
+ int daysInMonth(int month, int year = Unspecified) const;
+ int daysInYear(int year) const;
+ int monthsInYear(int year) const;
+ bool isDateValid(int year, int month, int day) const;
+
+ // Leap years:
+ bool isLeapYear(int year) const;
+
+ // Properties of the calendar:
+ bool isGregorian() const;
+ bool isLunar() const;
+ bool isLuniSolar() const;
+ bool isSolar() const;
+ bool isProleptic() const;
+ bool hasYearZero() const;
+ int maxDaysInMonth() const;
+ int minDaysInMonth() const;
+ int maxMonthsInYear() const;
+ QString name() const;
+
+ // QDate conversions:
+ QDate dateFromParts(int year, int month, int day) const;
+ QDate dateFromParts(const YearMonthDay &parts) const;
+ YearMonthDay partsFromDate(QDate date) const;
+ int dayOfWeek(QDate date) const;
+
+ // Month and week-day names (as in QLocale):
+ QString monthName(const QLocale &locale, int month, int year = Unspecified,
+ QLocale::FormatType format=QLocale::LongFormat) const;
+ QString standaloneMonthName(const QLocale &locale, int month, int year = Unspecified,
+ QLocale::FormatType format = QLocale::LongFormat) const;
+ QString weekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format = QLocale::LongFormat) const;
+ QString standaloneWeekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format=QLocale::LongFormat) const;
+
+ // Formatting of date-times:
+ QString dateTimeToString(QStringView format, const QDateTime &datetime,
+ const QDate &dateOnly, const QTime &timeOnly,
+ const QLocale &locale) const;
+
+ // What's available ?
+ static QStringList availableCalendars();
+private:
+ // Always supplied by QCalendarBackend and expected to be a singleton
+ const QCalendarBackend *d;
+};
+
+QT_END_NAMESPACE
+
+#endif // QCALENDAR_H
diff --git a/src/corelib/time/qcalendarbackend_p.h b/src/corelib/time/qcalendarbackend_p.h
new file mode 100644
index 0000000000..12db8928ca
--- /dev/null
+++ b/src/corelib/time/qcalendarbackend_p.h
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QCALENDAR_BACKEND_P_H
+#define QCALENDAR_BACKEND_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of calendar implementations. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qobjectdefs.h>
+#include <QtCore/qcalendar.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qstring.h>
+#include <QtCore/qmap.h>
+
+QT_BEGIN_NAMESPACE
+
+// Locale-related parts, mostly handled in ../text/qlocale.cpp
+struct QLocaleDataEntry {
+ quint16 index, size;
+};
+
+struct QCalendarLocale {
+ quint16 m_language_id, m_script_id, m_country_id;
+ // Month name indexes:
+ QLocaleDataEntry m_standalone_short;
+ QLocaleDataEntry m_standalone_long;
+ QLocaleDataEntry m_standalone_narrow;
+ QLocaleDataEntry m_short;
+ QLocaleDataEntry m_long;
+ QLocaleDataEntry m_narrow;
+};
+
+// Partial implementation, of methods with common forms, in qcalendar.cpp
+class Q_CORE_EXPORT QCalendarBackend
+{
+ friend class QCalendar;
+public:
+ virtual ~QCalendarBackend();
+ virtual QString name() const = 0;
+ virtual QCalendar::System calendarSystem() const;
+ // Date queries:
+ virtual int daysInMonth(int month, int year = QCalendar::Unspecified) const = 0;
+ virtual int daysInYear(int year) const;
+ virtual int monthsInYear(int year) const;
+ virtual bool isDateValid(int year, int month, int day) const;
+ // Properties of the calendar:
+ virtual bool isLeapYear(int year) const = 0;
+ virtual bool isLunar() const = 0;
+ virtual bool isLuniSolar() const = 0;
+ virtual bool isSolar() const = 0;
+ virtual bool isProleptic() const;
+ virtual bool hasYearZero() const;
+ virtual int maxDaysInMonth() const;
+ virtual int minDaysInMonth() const;
+ virtual int maxMonthsInYear() const;
+ // Julian Day conversions:
+ virtual bool dateToJulianDay(int year, int month, int day, qint64 *jd) const = 0;
+ virtual QCalendar::YearMonthDay julianDayToDate(qint64 jd) const = 0;
+ // Day of week and week numbering:
+ virtual int dayOfWeek(qint64 jd) const;
+
+ // Names of months and week-days (implemented in qlocale.cpp):
+ virtual QString monthName(const QLocale &locale, int month, int year,
+ QLocale::FormatType format) const;
+ virtual QString standaloneMonthName(const QLocale &locale, int month, int year,
+ QLocale::FormatType format) const;
+ virtual QString weekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format) const;
+ virtual QString standaloneWeekDayName(const QLocale &locale, int day,
+ QLocale::FormatType format) const;
+
+ // Formatting of date-times (implemented in qlocale.cpp):
+ virtual QString dateTimeToString(QStringView format, const QDateTime &datetime,
+ const QDate &dateOnly, const QTime &timeOnly,
+ const QLocale &locale) const;
+
+ // Calendar enumeration by name:
+ static QStringList availableCalendars();
+
+protected:
+ QCalendarBackend(const QString &name, QCalendar::System id = QCalendar::System::User);
+
+ // Locale support:
+ virtual const QCalendarLocale *localeMonthIndexData() const = 0;
+ virtual const ushort *localeMonthData() const = 0;
+
+ bool registerAlias(const QString &name);
+
+private:
+ // QCalendar's access to its registry:
+ static const QCalendarBackend *fromName(QStringView name);
+ static const QCalendarBackend *fromName(QLatin1String name);
+ // QCalendar's access to singletons:
+ static const QCalendarBackend *fromEnum(QCalendar::System system);
+};
+
+QT_END_NAMESPACE
+
+#endif // QCALENDAR_BACKEND_P_H
diff --git a/src/corelib/time/qcalendarmath_p.h b/src/corelib/time/qcalendarmath_p.h
new file mode 100644
index 0000000000..61c2c5d2b5
--- /dev/null
+++ b/src/corelib/time/qcalendarmath_p.h
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QCALENDARMATH_P_H
+#define QCALENDARMATH_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of q*calendar.cpp. This header file may change from version to version
+// without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/private/qglobal_p.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace QRoundingDown {
+/*
+ Division, rounding down (rather than towards zero).
+
+ From C++11 onwards, integer division is defined to round towards zero, so we
+ can rely on that when implementing this. This is only used with denominator b
+ > 0, so we only have to treat negative numerator, a, specially.
+*/
+
+template<typename Int> constexpr Int qDiv(Int a, unsigned b)
+{ return (a - (a < 0 ? int(b - 1) : 0)) / int(b); }
+
+template<typename Int> constexpr Int qMod(Int a, unsigned b)
+{ return a - qDiv(a, b) * b; }
+
+} // QRoundingDown
+
+QT_END_NAMESPACE
+
+#endif // QCALENDARMATH_P_H
diff --git a/src/corelib/time/qdatetime.cpp b/src/corelib/time/qdatetime.cpp
index 64943bdaaf..a9fc47e053 100644
--- a/src/corelib/time/qdatetime.cpp
+++ b/src/corelib/time/qdatetime.cpp
@@ -73,6 +73,9 @@
#include <private/qcore_mac_p.h>
#endif
+#include "qcalendar.h"
+#include "qgregoriancalendar_p.h"
+
QT_BEGIN_NAMESPACE
/*****************************************************************************
@@ -94,78 +97,24 @@ enum {
QDate static helper functions
*****************************************************************************/
-static inline QDate fixedDate(int y, int m, int d)
+static inline QDate fixedDate(QCalendar::YearMonthDay &&parts, QCalendar cal)
{
- QDate result(y, m, 1);
- result.setDate(y, m, qMin(d, result.daysInMonth()));
- return result;
-}
-
-/*
- Division, rounding down (rather than towards zero).
-
- From C++11 onwards, integer division is defined to round towards zero, so we
- can rely on that when implementing this. This is only used with denominator b
- > 0, so we only have to treat negative numerator, a, specially.
- */
-static inline qint64 floordiv(qint64 a, int b)
-{
- return (a - (a < 0 ? b - 1 : 0)) / b;
-}
-
-static inline int floordiv(int a, int b)
-{
- return (a - (a < 0 ? b - 1 : 0)) / b;
-}
-
-static inline qint64 julianDayFromDate(int year, int month, int day)
-{
- // Adjust for no year 0
- if (year < 0)
- ++year;
+ if ((parts.year < 0 && !cal.isProleptic()) || (parts.year == 0 && !cal.hasYearZero()))
+ return QDate();
-/*
- * Math from The Calendar FAQ at http://www.tondering.dk/claus/cal/julperiod.php
- * This formula is correct for all julian days, when using mathematical integer
- * division (round to negative infinity), not c++11 integer division (round to zero)
- */
- int a = floordiv(14 - month, 12);
- qint64 y = (qint64)year + 4800 - a;
- int m = month + 12 * a - 3;
- return day + floordiv(153 * m + 2, 5) + 365 * y + floordiv(y, 4) - floordiv(y, 100) + floordiv(y, 400) - 32045;
+ parts.day = qMin(parts.day, cal.daysInMonth(parts.month, parts.year));
+ return cal.dateFromParts(parts);
}
-struct ParsedDate
+static inline QDate fixedDate(QCalendar::YearMonthDay &&parts)
{
- int year, month, day;
-};
-
-// prevent this function from being inlined into all 10 users
-Q_NEVER_INLINE
-static ParsedDate getDateFromJulianDay(qint64 julianDay)
-{
-/*
- * Math from The Calendar FAQ at http://www.tondering.dk/claus/cal/julperiod.php
- * This formula is correct for all julian days, when using mathematical integer
- * division (round to negative infinity), not c++11 integer division (round to zero)
- */
- qint64 a = julianDay + 32044;
- qint64 b = floordiv(4 * a + 3, 146097);
- int c = a - floordiv(146097 * b, 4);
-
- int d = floordiv(4 * c + 3, 1461);
- int e = c - floordiv(1461 * d, 4);
- int m = floordiv(5 * e + 2, 153);
-
- int day = e - floordiv(153 * m + 2, 5) + 1;
- int month = m + 3 - 12 * floordiv(m, 10);
- int year = 100 * b + d - 4800 + floordiv(m, 10);
-
- // Adjust for no year 0
- if (year <= 0)
- --year ;
-
- return { year, month, day };
+ if (parts.year) {
+ parts.day = qMin(parts.day, QGregorianCalendar::monthLength(parts.month, parts.year));
+ qint64 jd;
+ if (QGregorianCalendar::julianFromParts(parts.year, parts.month, parts.day, &jd))
+ return QDate::fromJulianDay(jd);
+ }
+ return QDate();
}
/*****************************************************************************
@@ -189,7 +138,7 @@ static int qt_monthNumberFromShortName(QStringRef shortName)
static int qt_monthNumberFromShortName(const QString &shortName)
{ return qt_monthNumberFromShortName(QStringRef(&shortName)); }
-static int fromShortMonthName(const QStringRef &monthName)
+static int fromShortMonthName(const QStringRef &monthName, int year)
{
// Assume that English monthnames are the default
int month = qt_monthNumberFromShortName(monthName);
@@ -197,7 +146,7 @@ static int fromShortMonthName(const QStringRef &monthName)
return month;
// If English names can't be found, search the localized ones
for (int i = 1; i <= 12; ++i) {
- if (monthName == QLocale::system().monthName(i, QLocale::ShortFormat))
+ if (monthName == QCalendar().monthName(QLocale::system(), i, year, QLocale::ShortFormat))
return i;
}
return -1;
@@ -303,12 +252,6 @@ static int fromOffsetString(const QStringRef &offsetString, bool *valid) noexcep
}
#endif // datestring
-static constexpr int daysInUsualMonth(int month) // (February isn't usual.)
-{
- // Long if odd up to July = 7, or if even from 8 = August onwards:
- return Q_ASSERT(month != 2 && month > 0 && month <= 12), 30 | ((month & 1) ^ (month >> 3));
-}
-
/*****************************************************************************
QDate member functions
*****************************************************************************/
@@ -385,7 +328,7 @@ static constexpr int daysInUsualMonth(int month) // (February isn't usual.)
for technical reasons limited to between -784350574879 and 784354017364,
which means from before 2 billion BCE to after 2 billion CE.
- \sa QTime, QDateTime, QDateTime::YearRange, QDateEdit, QDateTimeEdit, QCalendarWidget
+ \sa QTime, QDateTime, QCalendar, QDateTime::YearRange, QDateEdit, QDateTimeEdit, QCalendarWidget
*/
/*!
@@ -399,19 +342,24 @@ static constexpr int daysInUsualMonth(int month) // (February isn't usual.)
/*!
Constructs a date with year \a y, month \a m and day \a d.
- If the specified date is invalid, the date is not set and
- isValid() returns \c false.
+ The date is understood in terms of the Gregorian calendar. If the specified
+ date is invalid, the date is not set and isValid() returns \c false.
\warning Years 1 to 99 are interpreted as is. Year 0 is invalid.
- \sa isValid()
+ \sa isValid(), QCalendar::dateFromParts()
*/
QDate::QDate(int y, int m, int d)
{
- setDate(y, m, d);
+ if (!QGregorianCalendar::julianFromParts(y, m, d, &jd))
+ jd = nullJd();
}
+QDate::QDate(int y, int m, int d, QCalendar cal)
+{
+ *this = cal.dateFromParts(y, m, d);
+}
/*!
\fn bool QDate::isNull() const
@@ -429,29 +377,61 @@ QDate::QDate(int y, int m, int d)
Returns \c true if this date is valid; otherwise returns \c false.
- \sa isNull()
+ \sa isNull(), QCalendar::isDateValid()
*/
/*!
- Returns the year of this date. Negative numbers indicate years
- before 1 CE, such that year -44 is 44 BCE.
+ Returns the year of this date.
- Returns 0 if the date is invalid.
+ Uses \a cal as calendar, if supplied, else the Gregorian calendar.
- \sa month(), day()
+ Returns 0 if the date is invalid. For some calendars, dates before their
+ first year may all be invalid.
+
+ If using a calendar which has a year 0, check using isValid() if the return
+ is 0. Such calendars use negative year numbers in the obvious way, with
+ year 1 preceded by year 0, in turn preceded by year -1 and so on.
+
+ Some calendars, despite having no year 0, have a conventional numbering of
+ the years before their first year, counting backwards from 1. For example,
+ in the proleptic Gregorian calendar, successive years before 1 CE (the first
+ year) are identified as 1 BCE, 2 BCE, 3 BCE and so on. For such calendars,
+ negative year numbers are used to indicate these years before year 1, with
+ -1 indicating the year before 1.
+
+ \sa month(), day(), QCalendar::hasYearZero(), QCalendar::isProleptic()
*/
-int QDate::year() const
+int QDate::year(QCalendar cal) const
{
- if (isNull())
- return 0;
+ if (isValid()) {
+ const auto parts = cal.partsFromDate(*this);
+ if (parts.isValid())
+ return parts.year;
+ }
+ return 0;
+}
+
+/*!
+ \overload
+ */
- return getDateFromJulianDay(jd).year;
+int QDate::year() const
+{
+ if (isValid()) {
+ const auto parts = QGregorianCalendar::partsFromJulian(jd);
+ if (parts.isValid())
+ return parts.year;
+ }
+ return 0;
}
/*!
- Returns the number corresponding to the month of this date, using
- the following convention:
+ Returns the month-number for the date.
+
+ Numbers the months of the year starting with 1 for the first. Uses \a cal
+ as calendar if supplied, else the Gregorian calendar, for which the month
+ numbering is as follows:
\list
\li 1 = "January"
@@ -468,118 +448,201 @@ int QDate::year() const
\li 12 = "December"
\endlist
- Returns 0 if the date is invalid.
+ Returns 0 if the date is invalid. Note that some calendars may have more
+ than 12 months in some years.
\sa year(), day()
*/
-int QDate::month() const
+int QDate::month(QCalendar cal) const
{
- if (isNull())
- return 0;
+ if (isValid()) {
+ const auto parts = cal.partsFromDate(*this);
+ if (parts.isValid())
+ return parts.month;
+ }
+ return 0;
+}
+
+/*!
+ \overload
+ */
- return getDateFromJulianDay(jd).month;
+int QDate::month() const
+{
+ if (isValid()) {
+ const auto parts = QGregorianCalendar::partsFromJulian(jd);
+ if (parts.isValid())
+ return parts.month;
+ }
+ return 0;
}
/*!
- Returns the day of the month (1 to 31) of this date.
+ Returns the day of the month for this date.
- Returns 0 if the date is invalid.
+ Uses \a cal as calendar if supplied, else the Gregorian calendar (for which
+ the return ranges from 1 to 31). Returns 0 if the date is invalid.
\sa year(), month(), dayOfWeek()
*/
-int QDate::day() const
+int QDate::day(QCalendar cal) const
{
- if (isNull())
- return 0;
+ if (isValid()) {
+ const auto parts = cal.partsFromDate(*this);
+ if (parts.isValid())
+ return parts.day;
+ }
+ return 0;
+}
+
+/*!
+ \overload
+ */
- return getDateFromJulianDay(jd).day;
+int QDate::day() const
+{
+ if (isValid()) {
+ const auto parts = QGregorianCalendar::partsFromJulian(jd);
+ if (parts.isValid())
+ return parts.day;
+ }
+ return 0;
}
/*!
Returns the weekday (1 = Monday to 7 = Sunday) for this date.
- Returns 0 if the date is invalid.
+ Uses \a cal as calendar if supplied, else the Gregorian calendar. Returns 0
+ if the date is invalid. Some calendars may give special meaning
+ (e.g. intercallary days) to values greater than 7.
\sa day(), dayOfYear(), Qt::DayOfWeek
*/
-int QDate::dayOfWeek() const
+int QDate::dayOfWeek(QCalendar cal) const
{
if (isNull())
return 0;
- if (jd >= 0)
- return (jd % 7) + 1;
- else
- return ((jd + 1) % 7) + 7;
+ return cal.dayOfWeek(*this);
}
/*!
- Returns the day of the year (1 to 365 or 366 on leap years) for
- this date.
+ \overload
+ */
- Returns 0 if the date is invalid.
+int QDate::dayOfWeek() const
+{
+ return isValid() ? QGregorianCalendar::weekDayOfJulian(jd) : 0;
+}
+
+/*!
+ Returns the day of the year (1 for the first day) for this date.
+
+ Uses \a cal as calendar if supplied, else the Gregorian calendar.
+ Returns 0 if either the date or the first day of its year is invalid.
\sa day(), dayOfWeek()
*/
-int QDate::dayOfYear() const
+int QDate::dayOfYear(QCalendar cal) const
{
- if (isNull())
- return 0;
+ if (isValid()) {
+ QDate firstDay = cal.dateFromParts(year(cal), 1, 1);
+ if (firstDay.isValid())
+ return firstDay.daysTo(*this) + 1;
+ }
+ return 0;
+}
+
+/*!
+ \overload
+ */
- return jd - julianDayFromDate(year(), 1, 1) + 1;
+int QDate::dayOfYear() const
+{
+ if (isValid()) {
+ qint64 first;
+ if (QGregorianCalendar::julianFromParts(year(), 1, 1, &first))
+ return jd - first + 1;
+ }
+ return 0;
}
/*!
- Returns the number of days in the month (28 to 31) for this date.
+ Returns the number of days in the month for this date.
- Returns 0 if the date is invalid.
+ Uses \a cal as calendar if supplied, else the Gregorian calendar (for which
+ the result ranges from 28 to 31). Returns 0 if the date is invalid.
\sa day(), daysInYear()
*/
-int QDate::daysInMonth() const
+int QDate::daysInMonth(QCalendar cal) const
{
- if (isNull())
- return 0;
+ if (isValid()) {
+ const auto parts = cal.partsFromDate(*this);
+ if (parts.isValid())
+ return cal.daysInMonth(parts.month, parts.year);
+ }
+ return 0;
+}
- const ParsedDate pd = getDateFromJulianDay(jd);
- if (pd.month == 2)
- return isLeapYear(pd.year) ? 29 : 28;
+/*!
+ \overload
+ */
- return daysInUsualMonth(pd.month);
+int QDate::daysInMonth() const
+{
+ if (isValid()) {
+ const auto parts = QGregorianCalendar::partsFromJulian(jd);
+ if (parts.isValid())
+ return QGregorianCalendar::monthLength(parts.month, parts.year);
+ }
+ return 0;
}
/*!
- Returns the number of days in the year (365 or 366) for this date.
+ Returns the number of days in the year for this date.
- Returns 0 if the date is invalid.
+ Uses \a cal as calendar if supplied, else the Gregorian calendar (for which
+ the result is 365 or 366). Returns 0 if the date is invalid.
\sa day(), daysInMonth()
*/
-int QDate::daysInYear() const
+int QDate::daysInYear(QCalendar cal) const
{
if (isNull())
return 0;
- return isLeapYear(getDateFromJulianDay(jd).year) ? 366 : 365;
+ return cal.daysInYear(year(cal));
}
/*!
- Returns the week number (1 to 53), and stores the year in
- *\a{yearNumber} unless \a yearNumber is null (the default).
+ \overload
+ */
- Returns 0 if the date is invalid.
+int QDate::daysInYear() const
+{
+ return isValid() ? QGregorianCalendar::leapTest(year()) ? 366 : 365 : 0;
+}
- In accordance with ISO 8601, weeks start on Monday and the first
- Thursday of a year is always in week 1 of that year. Most years
- have 52 weeks, but some have 53.
+/*!
+ Returns the ISO 8601 week number (1 to 53).
+
+ Returns 0 if the date is invalid. Otherwise, returns the week number for the
+ date. If \a yearNumber is not \nullptr (its default), stores the year as
+ *\a{yearNumber}.
- *\a{yearNumber} is not always the same as year(). For example, 1
+ In accordance with ISO 8601, each week falls in the year to which most of
+ its days belong, in the Gregorian calendar. As ISO 8601's week starts on
+ Monday, this is the year in which the week's Thursday falls. Most years have
+ 52 weeks, but some have 53.
+
+ \note *\a{yearNumber} is not always the same as year(). For example, 1
January 2000 has week number 52 in the year 1999, and 31 December
2002 has week number 1 in the year 2003.
@@ -591,26 +654,12 @@ int QDate::weekNumber(int *yearNumber) const
if (!isValid())
return 0;
- int year = QDate::year();
- int yday = dayOfYear();
- int wday = dayOfWeek();
-
- int week = (yday - wday + 10) / 7;
-
- if (week == 0) {
- // last week of previous year
- --year;
- week = (yday + 365 + (QDate::isLeapYear(year) ? 1 : 0) - wday + 10) / 7;
- Q_ASSERT(week == 52 || week == 53);
- } else if (week == 53) {
- // maybe first week of next year
- int w = (yday - 365 - (QDate::isLeapYear(year) ? 1 : 0) - wday + 10) / 7;
- if (w > 0) {
- ++year;
- week = w;
- }
- Q_ASSERT(week == 53 || week == 1);
- }
+ // This could be replaced by use of QIso8601Calendar, once we implement it.
+ // The Thursday of the same week determines our answer:
+ QDate thursday(addDays(4 - dayOfWeek()));
+ int year = thursday.year();
+ // Week n's Thurs's DOY has 1 <= DOY - 7*(n-1) < 8, so 0 <= DOY + 6 - 7*n < 7:
+ int week = (thursday.dayOfYear() + 6) / 7;
if (yearNumber)
*yearNumber = year;
@@ -917,9 +966,11 @@ QString QDate::shortMonthName(int month, QDate::MonthNameType type)
{
switch (type) {
case QDate::DateFormat:
- return QLocale::system().monthName(month, QLocale::ShortFormat);
+ return QCalendar().monthName(QLocale::system(), month,
+ QCalendar::Unspecified, QLocale::ShortFormat);
case QDate::StandaloneFormat:
- return QLocale::system().standaloneMonthName(month, QLocale::ShortFormat);
+ return QCalendar().standaloneMonthName(QLocale::system(), month,
+ QCalendar::Unspecified, QLocale::ShortFormat);
}
return QString();
}
@@ -960,9 +1011,11 @@ QString QDate::longMonthName(int month, MonthNameType type)
{
switch (type) {
case QDate::DateFormat:
- return QLocale::system().monthName(month, QLocale::LongFormat);
+ return QCalendar().monthName(QLocale::system(), month,
+ QCalendar::Unspecified, QLocale::LongFormat);
case QDate::StandaloneFormat:
- return QLocale::system().standaloneMonthName(month, QLocale::LongFormat);
+ return QCalendar().standaloneMonthName(QLocale::system(), month,
+ QCalendar::Unspecified, QLocale::LongFormat);
}
return QString();
}
@@ -1047,24 +1100,32 @@ QString QDate::longDayName(int weekday, MonthNameType type)
#if QT_CONFIG(datestring)
#if QT_CONFIG(textdate)
+static QString toStringTextDate(QDate date, QCalendar cal)
+{
+ if (date.isValid()) {
+ const auto parts = cal.partsFromDate(date);
+ if (parts.isValid()) {
+ const QLatin1Char sp(' ');
+ return QLocale::system().dayName(cal.dayOfWeek(date), QLocale::ShortFormat) + sp
+ + cal.monthName(QLocale::system(), parts.month, parts.year, QLocale::ShortFormat)
+ + sp + QString::number(parts.day) + sp + QString::number(parts.year);
+ }
+ }
+ return QString();
+}
+
static QString toStringTextDate(QDate date)
{
- const ParsedDate pd = getDateFromJulianDay(date.toJulianDay());
- static const QLatin1Char sp(' ');
- return QLocale::system().dayName(date.dayOfWeek(), QLocale::ShortFormat) + sp
- + QLocale::system().monthName(pd.month, QLocale::ShortFormat) + sp
- + QString::number(pd.day) + sp
- + QString::number(pd.year);
+ return toStringTextDate(date, QCalendar());
}
#endif // textdate
-static QString toStringIsoDate(qint64 jd)
+static QString toStringIsoDate(const QDate &date)
{
- const ParsedDate pd = getDateFromJulianDay(jd);
- if (pd.year >= 0 && pd.year <= 9999)
- return QString::asprintf("%04d-%02d-%02d", pd.year, pd.month, pd.day);
- else
- return QString();
+ const auto parts = QCalendar().partsFromDate(date);
+ if (parts.isValid() && parts.year >= 0 && parts.year <= 9999)
+ return QString::asprintf("%04d-%02d-%02d", parts.year, parts.month, parts.day);
+ return QString();
}
/*!
@@ -1137,7 +1198,7 @@ QString QDate::toString(Qt::DateFormat format) const
#endif
case Qt::ISODate:
case Qt::ISODateWithMs:
- return toStringIsoDate(jd);
+ return toStringIsoDate(*this);
}
}
@@ -1211,6 +1272,47 @@ QString QDate::toString(const QString &format) const
}
#endif
+QString QDate::toString(Qt::DateFormat format, QCalendar cal) const
+{
+ if (!isValid())
+ return QString();
+
+ switch (format) {
+ case Qt::SystemLocaleDate:
+ case Qt::SystemLocaleShortDate:
+ return QLocale::system().toString(*this, QLocale::ShortFormat, cal);
+ case Qt::SystemLocaleLongDate:
+ return QLocale::system().toString(*this, QLocale::LongFormat, cal);
+ case Qt::LocaleDate:
+ case Qt::DefaultLocaleShortDate:
+ return QLocale().toString(*this, QLocale::ShortFormat, cal);
+ case Qt::DefaultLocaleLongDate:
+ return QLocale().toString(*this, QLocale::LongFormat, cal);
+ case Qt::RFC2822Date:
+ return QLocale::c().toString(*this, QStringView(u"dd MMM yyyy"), cal);
+ default:
+#ifndef QT_NO_TEXTDATE
+ case Qt::TextDate:
+ return toStringTextDate(*this, cal);
+#endif
+ case Qt::ISODate:
+ case Qt::ISODateWithMs:
+ return toStringIsoDate(*this);
+ }
+}
+
+QString QDate::toString(QStringView format, QCalendar cal) const
+{
+ return QLocale::system().toString(*this, format, cal); // QLocale::c() ### Qt6
+}
+
+#if QT_STRINGVIEW_LEVEL < 2
+QString QDate::toString(const QString &format, QCalendar cal) const
+{
+ return toString(qToStringViewIgnoringNull(format), cal);
+}
+#endif
+
#endif // datestring
/*!
@@ -1230,21 +1332,36 @@ QString QDate::toString(const QString &format) const
/*!
\since 4.2
- Sets the date's \a year, \a month, and \a day. Returns \c true if
- the date is valid; otherwise returns \c false.
-
- If the specified date is invalid, the QDate object is set to be
- invalid.
+ Sets this to represent the date, in the Gregorian calendar, with the given
+ \a year, \a month and \a day numbers. Returns true if the resulting date is
+ valid, otherwise it sets this to represent an invalid date and returns
+ false.
- \sa isValid()
+ \sa isValid(), QCalendar::dateFromParts()
*/
bool QDate::setDate(int year, int month, int day)
{
- if (isValid(year, month, day))
- jd = julianDayFromDate(year, month, day);
- else
- jd = nullJd();
+ if (QGregorianCalendar::julianFromParts(year, month, day, &jd))
+ return true;
+ jd = nullJd();
+ return false;
+}
+
+/*!
+ \since 5.14
+
+ Sets this to represent the date, in the given calendar \a cal, with the
+ given \a year, \a month and \a day numbers. Returns true if the resulting
+ date is valid, otherwise it sets this to represent an invalid date and
+ returns false.
+
+ \sa isValid(), QCalendar::dateFromParts()
+*/
+
+bool QDate::setDate(int year, int month, int day, QCalendar cal)
+{
+ *this = QDate(year, month, day, cal);
return isValid();
}
@@ -1258,20 +1375,21 @@ bool QDate::setDate(int year, int month, int day)
\note In Qt versions prior to 5.7, this function is marked as non-\c{const}.
- \sa year(), month(), day(), isValid()
+ \sa year(), month(), day(), isValid(), QCalendar::partsFromDate()
*/
void QDate::getDate(int *year, int *month, int *day) const
{
- ParsedDate pd = { 0, 0, 0 };
+ QCalendar::YearMonthDay parts; // invalid by default
if (isValid())
- pd = getDateFromJulianDay(jd);
+ parts = QGregorianCalendar::partsFromJulian(jd);
+ const bool ok = parts.isValid();
if (year)
- *year = pd.year;
+ *year = ok ? parts.year : 0;
if (month)
- *month = pd.month;
+ *month = ok ? parts.month : 0;
if (day)
- *day = pd.day;
+ *day = ok ? parts.day : 0;
}
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
@@ -1309,96 +1427,129 @@ QDate QDate::addDays(qint64 ndays) const
Returns a QDate object containing a date \a nmonths later than the
date of this object (or earlier if \a nmonths is negative).
- \note If the ending day/month combination does not exist in the
- resulting month/year, this function will return a date that is the
- latest valid date.
+ Uses \a cal as calendar, if supplied, else the Gregorian calendar.
+
+ \note If the ending day/month combination does not exist in the resulting
+ month/year, this function will return a date that is the latest valid date
+ in the selected month.
\sa addDays(), addYears()
*/
-QDate QDate::addMonths(int nmonths) const
+QDate QDate::addMonths(int nmonths, QCalendar cal) const
{
if (!isValid())
return QDate();
- if (!nmonths)
+
+ if (nmonths == 0)
return *this;
- int old_y, y, m, d;
- {
- const ParsedDate pd = getDateFromJulianDay(jd);
- y = pd.year;
- m = pd.month;
- d = pd.day;
+ auto parts = cal.partsFromDate(*this);
+
+ if (!parts.isValid())
+ return QDate();
+ Q_ASSERT(parts.year || cal.hasYearZero());
+
+ parts.month += nmonths;
+ while (parts.month <= 0) {
+ if (--parts.year || cal.hasYearZero())
+ parts.month += cal.monthsInYear(parts.year);
}
- old_y = y;
-
- bool increasing = nmonths > 0;
-
- while (nmonths != 0) {
- if (nmonths < 0 && nmonths + 12 <= 0) {
- y--;
- nmonths+=12;
- } else if (nmonths < 0) {
- m+= nmonths;
- nmonths = 0;
- if (m <= 0) {
- --y;
- m += 12;
- }
- } else if (nmonths - 12 >= 0) {
- y++;
- nmonths -= 12;
- } else if (m == 12) {
- y++;
- m = 0;
- } else {
- m += nmonths;
- nmonths = 0;
- if (m > 12) {
- ++y;
- m -= 12;
- }
- }
+ int count = cal.monthsInYear(parts.year);
+ while (parts.month > count) {
+ parts.month -= count;
+ count = (++parts.year || cal.hasYearZero()) ? cal.monthsInYear(parts.year) : 0;
}
- // was there a sign change?
- if ((old_y > 0 && y <= 0) ||
- (old_y < 0 && y >= 0))
- // yes, adjust the date by +1 or -1 years
- y += increasing ? +1 : -1;
+ return fixedDate(std::move(parts), cal);
+}
+
+/*!
+ \override
+*/
+
+QDate QDate::addMonths(int nmonths) const
+{
+ if (isNull())
+ return QDate();
+
+ if (nmonths == 0)
+ return *this;
+
+ auto parts = QGregorianCalendar::partsFromJulian(jd);
- return fixedDate(y, m, d);
+ if (!parts.isValid())
+ return QDate();
+ Q_ASSERT(parts.year);
+
+ parts.month += nmonths;
+ while (parts.month <= 0) {
+ if (--parts.year) // skip over year 0
+ parts.month += 12;
+ }
+ while (parts.month > 12) {
+ parts.month -= 12;
+ if (!++parts.year) // skip over year 0
+ ++parts.year;
+ }
+
+ return fixedDate(std::move(parts));
}
/*!
Returns a QDate object containing a date \a nyears later than the
date of this object (or earlier if \a nyears is negative).
- \note If the ending day/month combination does not exist in the
- resulting year (i.e., if the date was Feb 29 and the final year is
- not a leap year), this function will return a date that is the
- latest valid date (that is, Feb 28).
+ Uses \a cal as calendar, if supplied, else the Gregorian calendar.
+
+ \note If the ending day/month combination does not exist in the resulting
+ year (e.g., for the Gregorian calendar, if the date was Feb 29 and the final
+ year is not a leap year), this function will return a date that is the
+ latest valid date in the given month (in the example, Feb 28).
\sa addDays(), addMonths()
*/
-QDate QDate::addYears(int nyears) const
+QDate QDate::addYears(int nyears, QCalendar cal) const
{
if (!isValid())
return QDate();
- ParsedDate pd = getDateFromJulianDay(jd);
+ auto parts = cal.partsFromDate(*this);
+ if (!parts.isValid())
+ return QDate();
+
+ int old_y = parts.year;
+ parts.year += nyears;
+
+ // If we just crossed (or hit) a missing year zero, adjust year by +/- 1:
+ if (!cal.hasYearZero() && ((old_y > 0) != (parts.year > 0) || !parts.year))
+ parts.year += nyears > 0 ? +1 : -1;
+
+ return fixedDate(std::move(parts), cal);
+}
+
+/*!
+ \override
+*/
+
+QDate QDate::addYears(int nyears) const
+{
+ if (isNull())
+ return QDate();
+
+ auto parts = QGregorianCalendar::partsFromJulian(jd);
+ if (!parts.isValid())
+ return QDate();
- int old_y = pd.year;
- pd.year += nyears;
+ int old_y = parts.year;
+ parts.year += nyears;
- // was there a sign change?
- if ((old_y > 0 && pd.year <= 0) ||
- (old_y < 0 && pd.year >= 0))
- // yes, adjust the date by +1 or -1 years
- pd.year += nyears > 0 ? +1 : -1;
+ // If we just crossed (or hit) a missing year zero, adjust year by +/- 1:
+ if ((old_y > 0) != (parts.year > 0) || !parts.year)
+ parts.year += nyears > 0 ? +1 : -1;
- return fixedDate(pd.year, pd.month, pd.day);
+ return fixedDate(std::move(parts));
}
/*!
@@ -1518,7 +1669,7 @@ QDate QDate::fromString(const QString &string, Qt::DateFormat format)
if (!ok || !day)
return QDate();
- const int month = fromShortMonthName(parts.at(1));
+ const int month = fromShortMonthName(parts.at(1), year);
if (month == -1) // Month name matches no English or localised name.
return QDate();
@@ -1544,6 +1695,10 @@ QDate QDate::fromString(const QString &string, Qt::DateFormat format)
Returns the QDate represented by the \a string, using the \a
format given, or an invalid date if the string cannot be parsed.
+ Uses \a cal as calendar if supplied, else the Gregorian calendar. Ranges of
+ values in the format descriptions below are for the latter; they may be
+ different for other calendars.
+
These expressions may be used for the format:
\table
@@ -1603,55 +1758,61 @@ QDate QDate::fromString(const QString &string, Qt::DateFormat format)
QLocale::toDate()
*/
-QDate QDate::fromString(const QString &string, const QString &format)
+QDate QDate::fromString(const QString &string, const QString &format, QCalendar cal)
{
QDate date;
#if QT_CONFIG(datetimeparser)
- QDateTimeParser dt(QVariant::Date, QDateTimeParser::FromString);
+ QDateTimeParser dt(QVariant::Date, QDateTimeParser::FromString, cal);
// dt.setDefaultLocale(QLocale::c()); ### Qt 6
if (dt.parseFormat(format))
dt.fromString(string, &date, 0);
#else
Q_UNUSED(string);
Q_UNUSED(format);
+ Q_UNUSED(cal);
#endif
return date;
}
+
+/*!
+ \overload
+*/
+
+QDate QDate::fromString(const QString &string, const QString &format)
+{
+ return fromString(string, format, QCalendar());
+}
#endif // datestring
/*!
\overload
- Returns \c true if the specified date (\a year, \a month, and \a
- day) is valid; otherwise returns \c false.
+ Returns \c true if the specified date (\a year, \a month, and \a day) is
+ valid in the Gregorian calendar; otherwise returns \c false.
Example:
\snippet code/src_corelib_tools_qdatetime.cpp 4
- \sa isNull(), setDate()
+ \sa isNull(), setDate(), QCalendar::isDateValid()
*/
bool QDate::isValid(int year, int month, int day)
{
- // There is no year 0 in the Gregorian calendar.
- return year && day > 0 && month > 0 && month <= 12 &&
- day <= (month == 2 ? isLeapYear(year) ? 29 : 28 : daysInUsualMonth(month));
+ return QGregorianCalendar::validParts(year, month, day);
}
/*!
\fn bool QDate::isLeapYear(int year)
- Returns \c true if the specified \a year is a leap year; otherwise
- returns \c false.
+ Returns \c true if the specified \a year is a leap year in the Gregorian
+ calendar; otherwise returns \c false.
+
+ \sa QCalendar::isLeapYear()
*/
bool QDate::isLeapYear(int y)
{
- // No year 0 in Gregorian calendar, so -1, -5, -9 etc are leap years
- if ( y < 1)
- ++y;
-
- return (y % 4 == 0 && y % 100 != 0) || y % 400 == 0;
+ return QGregorianCalendar::leapTest(y);
}
/*! \fn static QDate QDate::fromJulianDay(qint64 jd)
@@ -2324,7 +2485,7 @@ QTime QTime::fromString(const QString &string, const QString &format)
{
QTime time;
#if QT_CONFIG(datetimeparser)
- QDateTimeParser dt(QVariant::Time, QDateTimeParser::FromString);
+ QDateTimeParser dt(QVariant::Time, QDateTimeParser::FromString, QCalendar());
// dt.setDefaultLocale(QLocale::c()); ### Qt 6
if (dt.parseFormat(format))
dt.fromString(string, 0, &time);
@@ -4699,12 +4860,10 @@ static inline uint msecsFromDecomposed(int hour, int minute, int sec, int msec =
QDate QDate::currentDate()
{
- QDate d;
SYSTEMTIME st;
memset(&st, 0, sizeof(SYSTEMTIME));
GetLocalTime(&st);
- d.jd = julianDayFromDate(st.wYear, st.wMonth, st.wDay);
- return d;
+ return QDate(st.wYear, st.wMonth, st.wDay);
}
QTime QTime::currentTime()
@@ -4719,24 +4878,22 @@ QTime QTime::currentTime()
QDateTime QDateTime::currentDateTime()
{
- QDate d;
QTime t;
SYSTEMTIME st;
memset(&st, 0, sizeof(SYSTEMTIME));
GetLocalTime(&st);
- d.jd = julianDayFromDate(st.wYear, st.wMonth, st.wDay);
+ QDate d(st.wYear, st.wMonth, st.wDay);
t.mds = msecsFromDecomposed(st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
return QDateTime(d, t);
}
QDateTime QDateTime::currentDateTimeUtc()
{
- QDate d;
QTime t;
SYSTEMTIME st;
memset(&st, 0, sizeof(SYSTEMTIME));
GetSystemTime(&st);
- d.jd = julianDayFromDate(st.wYear, st.wMonth, st.wDay);
+ QDate d(st.wYear, st.wMonth, st.wDay);
t.mds = msecsFromDecomposed(st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
return QDateTime(d, t, Qt::UTC);
}
@@ -4746,10 +4903,10 @@ qint64 QDateTime::currentMSecsSinceEpoch() noexcept
SYSTEMTIME st;
memset(&st, 0, sizeof(SYSTEMTIME));
GetSystemTime(&st);
+ const qint64 daysAfterEpoch = QDate(1970, 1, 1).daysTo(QDate(st.wYear, st.wMonth, st.wDay));
return msecsFromDecomposed(st.wHour, st.wMinute, st.wSecond, st.wMilliseconds) +
- qint64(julianDayFromDate(st.wYear, st.wMonth, st.wDay)
- - julianDayFromDate(1970, 1, 1)) * Q_INT64_C(86400000);
+ daysAfterEpoch * Q_INT64_C(86400000);
}
qint64 QDateTime::currentSecsSinceEpoch() noexcept
@@ -4757,10 +4914,10 @@ qint64 QDateTime::currentSecsSinceEpoch() noexcept
SYSTEMTIME st;
memset(&st, 0, sizeof(SYSTEMTIME));
GetSystemTime(&st);
+ const qint64 daysAfterEpoch = QDate(1970, 1, 1).daysTo(QDate(st.wYear, st.wMonth, st.wDay));
return st.wHour * SECS_PER_HOUR + st.wMinute * SECS_PER_MIN + st.wSecond +
- qint64(julianDayFromDate(st.wYear, st.wMonth, st.wDay)
- - julianDayFromDate(1970, 1, 1)) * Q_INT64_C(86400);
+ daysAfterEpoch * Q_INT64_C(86400);
}
#elif defined(Q_OS_UNIX)
@@ -5139,13 +5296,13 @@ QDateTime QDateTime::fromString(const QString &string, Qt::DateFormat format)
return QDateTime();
// Next try month then day
- month = fromShortMonthName(parts.at(1));
+ month = fromShortMonthName(parts.at(1), year);
if (month)
day = parts.at(2).toInt(&ok);
// If failed, try day then month
if (!ok || !month || !day) {
- month = fromShortMonthName(parts.at(2));
+ month = fromShortMonthName(parts.at(2), year);
if (month) {
QStringRef dayStr = parts.at(1);
if (dayStr.endsWith(QLatin1Char('.'))) {
@@ -5226,6 +5383,10 @@ QDateTime QDateTime::fromString(const QString &string, Qt::DateFormat format)
Returns the QDateTime represented by the \a string, using the \a
format given, or an invalid datetime if the string cannot be parsed.
+ Uses the calendar \a cal if supplied, else Gregorian. The illustrative
+ values and ranges below are given for the latter; other calendars may have
+ different ranges or values.
+
These expressions may be used for the date part of the format string:
\table
@@ -5328,23 +5489,33 @@ QDateTime QDateTime::fromString(const QString &string, Qt::DateFormat format)
QLocale::toDateTime()
*/
-QDateTime QDateTime::fromString(const QString &string, const QString &format)
+QDateTime QDateTime::fromString(const QString &string, const QString &format, QCalendar cal)
{
#if QT_CONFIG(datetimeparser)
QTime time;
QDate date;
- QDateTimeParser dt(QVariant::DateTime, QDateTimeParser::FromString);
+ QDateTimeParser dt(QVariant::DateTime, QDateTimeParser::FromString, cal);
// dt.setDefaultLocale(QLocale::c()); ### Qt 6
if (dt.parseFormat(format) && dt.fromString(string, &date, &time))
return QDateTime(date, time);
#else
Q_UNUSED(string);
Q_UNUSED(format);
+ Q_UNUSED(cal);
#endif
return QDateTime();
}
+/*
+ \overload
+*/
+
+QDateTime QDateTime::fromString(const QString &string, const QString &format)
+{
+ return fromString(string, format, QCalendar());
+}
+
#endif // datestring
/*!
\fn QDateTime QDateTime::toLocalTime() const
diff --git a/src/corelib/time/qdatetime.h b/src/corelib/time/qdatetime.h
index 89ea4ee24a..3eae8ebf64 100644
--- a/src/corelib/time/qdatetime.h
+++ b/src/corelib/time/qdatetime.h
@@ -54,10 +54,11 @@ Q_FORWARD_DECLARE_OBJC_CLASS(NSDate);
QT_BEGIN_NAMESPACE
+class QCalendar;
class QTimeZone;
class QDateTime;
-class Q_CORE_EXPORT QDate
+class Q_CORE_EXPORT QDate // ### Qt 6: change to be used by value, not const &
{
public:
enum MonthNameType { // ### Qt 6: remove, along with methods using it
@@ -69,6 +70,7 @@ private:
public:
Q_DECL_CONSTEXPR QDate() : jd(nullJd()) {}
QDate(int y, int m, int d);
+ QDate(int y, int m, int d, QCalendar cal);
Q_DECL_CONSTEXPR bool isNull() const { return !isValid(); }
Q_DECL_CONSTEXPR bool isValid() const { return jd >= minJd() && jd <= maxJd(); }
@@ -82,6 +84,14 @@ public:
int daysInYear() const;
int weekNumber(int *yearNum = nullptr) const;
+ int year(QCalendar cal) const;
+ int month(QCalendar cal) const;
+ int day(QCalendar cal) const;
+ int dayOfWeek(QCalendar cal) const;
+ int dayOfYear(QCalendar cal) const;
+ int daysInMonth(QCalendar cal) const;
+ int daysInYear(QCalendar cal) const;
+
QDateTime startOfDay(Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0) const;
QDateTime endOfDay(Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0) const;
#if QT_CONFIG(timezone)
@@ -103,8 +113,12 @@ public:
QString toString(Qt::DateFormat f = Qt::TextDate) const;
#if QT_STRINGVIEW_LEVEL < 2
QString toString(const QString &format) const;
+ QString toString(const QString &format, QCalendar cal) const;
#endif
+
QString toString(QStringView format) const;
+ QString toString(Qt::DateFormat f, QCalendar cal) const;
+ QString toString(QStringView format, QCalendar cal) const;
#endif
#if QT_DEPRECATED_SINCE(5,0)
QT_DEPRECATED_X("Use setDate() instead") inline bool setYMD(int y, int m, int d)
@@ -112,6 +126,7 @@ public:
#endif
bool setDate(int year, int month, int day);
+ bool setDate(int year, int month, int day, QCalendar cal);
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
void getDate(int *year, int *month, int *day); // ### Qt 6: remove
@@ -121,7 +136,9 @@ public:
Q_REQUIRED_RESULT QDate addDays(qint64 days) const;
Q_REQUIRED_RESULT QDate addMonths(int months) const;
Q_REQUIRED_RESULT QDate addYears(int years) const;
- qint64 daysTo(const QDate &) const;
+ Q_REQUIRED_RESULT QDate addMonths(int months, QCalendar cal) const;
+ Q_REQUIRED_RESULT QDate addYears(int years, QCalendar cal) const;
+ qint64 daysTo(const QDate &) const; // ### Qt 6: QDate
Q_DECL_CONSTEXPR bool operator==(const QDate &other) const { return jd == other.jd; }
Q_DECL_CONSTEXPR bool operator!=(const QDate &other) const { return jd != other.jd; }
@@ -134,6 +151,7 @@ public:
#if QT_CONFIG(datestring)
static QDate fromString(const QString &s, Qt::DateFormat f = Qt::TextDate);
static QDate fromString(const QString &s, const QString &format);
+ static QDate fromString(const QString &s, const QString &format, QCalendar cal);
#endif
static bool isValid(int y, int m, int d);
static bool isLeapYear(int year);
@@ -159,7 +177,7 @@ private:
};
Q_DECLARE_TYPEINFO(QDate, Q_MOVABLE_TYPE);
-class Q_CORE_EXPORT QTime
+class Q_CORE_EXPORT QTime // ### Qt 6: change to be used by value, not const &
{
explicit Q_DECL_CONSTEXPR QTime(int ms) : mds(ms)
{}
@@ -185,9 +203,9 @@ public:
bool setHMS(int h, int m, int s, int ms = 0);
Q_REQUIRED_RESULT QTime addSecs(int secs) const;
- int secsTo(const QTime &) const;
+ int secsTo(const QTime &) const; // ### Qt 6: plain QTime
Q_REQUIRED_RESULT QTime addMSecs(int ms) const;
- int msecsTo(const QTime &) const;
+ int msecsTo(const QTime &) const; // ### Qt 6: plain QTime
Q_DECL_CONSTEXPR bool operator==(const QTime &other) const { return mds == other.mds; }
Q_DECL_CONSTEXPR bool operator!=(const QTime &other) const { return mds != other.mds; }
@@ -218,7 +236,7 @@ private:
friend class QDateTime;
friend class QDateTimePrivate;
-#ifndef QT_NO_DATASTREAM
+#ifndef QT_NO_DATASTREAM // ### Qt 6: plain QTime
friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QTime &);
friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QTime &);
#endif
@@ -269,7 +287,7 @@ class Q_CORE_EXPORT QDateTime
public:
QDateTime() noexcept(Data::CanBeSmall);
- explicit QDateTime(const QDate &);
+ explicit QDateTime(const QDate &); // ### Qt 6: plain QDate, QTime
QDateTime(const QDate &, const QTime &, Qt::TimeSpec spec = Qt::LocalTime);
// ### Qt 6: Merge with above with default offsetSeconds = 0
QDateTime(const QDate &date, const QTime &time, Qt::TimeSpec spec, int offsetSeconds);
@@ -301,7 +319,7 @@ public:
qint64 toMSecsSinceEpoch() const;
qint64 toSecsSinceEpoch() const;
- void setDate(const QDate &date);
+ void setDate(const QDate &date); // ### Qt 6: plain QDate
void setTime(const QTime &time);
void setTimeSpec(Qt::TimeSpec spec);
void setOffsetFromUtc(int offsetSeconds);
@@ -353,6 +371,7 @@ public:
#if QT_CONFIG(datestring)
static QDateTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate);
static QDateTime fromString(const QString &s, const QString &format);
+ static QDateTime fromString(const QString &s, const QString &format, QCalendar cal);
#endif
#if QT_DEPRECATED_SINCE(5, 8)
diff --git a/src/corelib/time/qdatetime_p.h b/src/corelib/time/qdatetime_p.h
index 6e4120d762..f4f00a8b9b 100644
--- a/src/corelib/time/qdatetime_p.h
+++ b/src/corelib/time/qdatetime_p.h
@@ -56,7 +56,7 @@
#include "qplatformdefs.h"
#include "QtCore/qatomic.h"
#include "QtCore/qdatetime.h"
-#include "QtCore/qpair.h"
+#include "QtCore/qshareddata.h"
#if QT_CONFIG(timezone)
#include "qtimezone.h"
@@ -64,7 +64,7 @@
QT_BEGIN_NAMESPACE
-class QDateTimePrivate
+class QDateTimePrivate : public QSharedData
{
public:
// forward the declarations from QDateTime (this makes them public)
@@ -110,13 +110,6 @@ public:
DaylightMask = SetToStandardTime | SetToDaylightTime
};
- QDateTimePrivate() : m_msecs(0),
- m_status(StatusFlag(Qt::LocalTime << TimeSpecShift)),
- m_offsetFromUtc(0),
- ref(0)
- {
- }
-
static QDateTime::Data create(const QDate &toDate, const QTime &toTime, Qt::TimeSpec toSpec,
int offsetSeconds);
@@ -124,10 +117,9 @@ public:
static QDateTime::Data create(const QDate &toDate, const QTime &toTime, const QTimeZone & timeZone);
#endif // timezone
- qint64 m_msecs;
- StatusFlags m_status;
- int m_offsetFromUtc;
- mutable QAtomicInt ref;
+ StatusFlags m_status = StatusFlag(Qt::LocalTime << TimeSpecShift);
+ qint64 m_msecs = 0;
+ int m_offsetFromUtc = 0;
#if QT_CONFIG(timezone)
QTimeZone m_timeZone;
#endif // timezone
diff --git a/src/corelib/time/qdatetimeparser.cpp b/src/corelib/time/qdatetimeparser.cpp
index fc369bae75..d0f34358b9 100644
--- a/src/corelib/time/qdatetimeparser.cpp
+++ b/src/corelib/time/qdatetimeparser.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -60,6 +60,9 @@
QT_BEGIN_NAMESPACE
+template <typename T>
+using ShortVector = QVarLengthArray<T, 13>; // enough for month (incl. leap) and day-of-week names
+
QDateTimeParser::~QDateTimeParser()
{
}
@@ -92,11 +95,11 @@ int QDateTimeParser::getDigit(const QDateTime &t, int index) const
case SecondSection: return t.time().second();
case MSecSection: return t.time().msec();
case YearSection2Digits:
- case YearSection: return t.date().year();
- case MonthSection: return t.date().month();
- case DaySection: return t.date().day();
+ case YearSection: return t.date().year(calendar);
+ case MonthSection: return t.date().month(calendar);
+ case DaySection: return t.date().day(calendar);
case DayOfWeekSectionShort:
- case DayOfWeekSectionLong: return t.date().day();
+ case DayOfWeekSectionLong: return t.date().day(calendar);
case AmPmSection: return t.time().hour() > 11 ? 1 : 0;
default: break;
@@ -138,9 +141,9 @@ bool QDateTimeParser::setDigit(QDateTime &v, int index, int newVal) const
const QDate date = v.date();
const QTime time = v.time();
- int year = date.year();
- int month = date.month();
- int day = date.day();
+ int year = date.year(calendar);
+ int month = date.month(calendar);
+ int day = date.day(calendar);
int hour = time.hour();
int minute = time.minute();
int second = time.second();
@@ -184,13 +187,13 @@ bool QDateTimeParser::setDigit(QDateTime &v, int index, int newVal) const
if (!(node.type & DaySectionMask)) {
if (day < cachedDay)
day = cachedDay;
- const int max = QDate(year, month, 1).daysInMonth();
+ const int max = calendar.daysInMonth(month, year);
if (day > max) {
day = max;
}
}
- const QDate newDate(year, month, day);
+ const QDate newDate(year, month, day, calendar);
const QTime newTime(hour, minute, second, msec);
if (!newDate.isValid() || !newTime.isValid())
return false;
@@ -231,10 +234,10 @@ int QDateTimeParser::absoluteMax(int s, const QDateTime &cur) const
// people from typing in a larger
// number in count == 2 sections.
// stepBy() will work on real years anyway
- case MonthSection: return 12;
+ case MonthSection: return calendar.maxMonthsInYear();
case DaySection:
case DayOfWeekSectionShort:
- case DayOfWeekSectionLong: return cur.isValid() ? cur.date().daysInMonth() : 31;
+ case DayOfWeekSectionLong: return cur.isValid() ? cur.date().daysInMonth(calendar) : calendar.maxDaysInMonth() ;
case AmPmSection: return 1;
default: break;
}
@@ -612,7 +615,7 @@ int QDateTimeParser::sectionSize(int sectionIndex) const
int QDateTimeParser::sectionMaxSize(Section s, int count) const
{
#if QT_CONFIG(textdate)
- int mcount = 12;
+ int mcount = calendar.maxMonthsInYear();
#endif
switch (s) {
@@ -654,7 +657,7 @@ int QDateTimeParser::sectionMaxSize(Section s, int count) const
const QLocale::FormatType format = count == 4 ? QLocale::LongFormat : QLocale::ShortFormat;
for (int i=1; i<=mcount; ++i) {
const QString str = (s == MonthSection
- ? l.monthName(i, format)
+ ? calendar.monthName(l, i, QCalendar::Unspecified, format)
: l.dayName(i, format));
ret = qMax(str.size(), ret);
}
@@ -787,9 +790,9 @@ QDateTimeParser::parseSection(const QDateTime &currentValue, int sectionIndex,
int num = 0, used = 0;
if (sn.type == MonthSection) {
const QDate minDate = getMinimum().date();
- const int min = (currentValue.date().year() == minDate.year())
- ? minDate.month() : 1;
- num = findMonth(sectiontext.toLower(), min, sectionIndex, &sectiontext, &used);
+ const int year = currentValue.date().year(calendar);
+ const int min = (year == minDate.year(calendar)) ? minDate.month(calendar) : 1;
+ num = findMonth(sectiontext.toLower(), min, sectionIndex, year, &sectiontext, &used);
} else {
num = findDay(sectiontext.toLower(), 1, sectionIndex, &sectiontext, &used);
}
@@ -896,16 +899,36 @@ QDateTimeParser::parseSection(const QDateTime &currentValue, int sectionIndex,
/*!
\internal
+ Returns a day-number, in the same month as \a rough and as close to \a rough's
+ day number as is valid, that \a calendar puts on the day of the week indicated
+ by \a weekDay.
+*/
+
+static int weekDayWithinMonth(const QCalendar &calendar, const QDate &rough, int weekDay)
+{
+ // TODO: can we adapt this to cope gracefully with intercallary days (day of
+ // week > 7) without making it slower for more widely-used calendars ?
+ int day = rough.day(calendar) + weekDay - calendar.dayOfWeek(rough);
+ if (day <= 0)
+ return day + 7;
+ if (day > rough.daysInMonth(calendar))
+ return day - 7;
+ return day;
+}
+
+/*!
+ \internal
+
Returns a date consistent with the given data on parts specified by known,
while staying as close to the given data as it can. Returns an invalid date
when on valid date is consistent with the data.
*/
-static QDate actualDate(QDateTimeParser::Sections known, int year, int year2digits,
- int month, int day, int dayofweek)
+static QDate actualDate(QDateTimeParser::Sections known, const QCalendar &calendar,
+ int year, int year2digits, int month, int day, int dayofweek)
{
- QDate actual(year, month, day);
- if (actual.isValid() && year % 100 == year2digits && actual.dayOfWeek() == dayofweek)
+ QDate actual(year, month, day, calendar);
+ if (actual.isValid() && year % 100 == year2digits && calendar.dayOfWeek(actual) == dayofweek)
return actual; // The obvious candidate is fine :-)
if (dayofweek < 1 || dayofweek > 7) // Invalid: ignore
@@ -931,18 +954,18 @@ static QDate actualDate(QDateTimeParser::Sections known, int year, int year2digi
known &= ~QDateTimeParser::MonthSection;
}
- QDate first(year, month, 1);
+ QDate first(year, month, 1, calendar);
int last = known & QDateTimeParser::YearSection && known & QDateTimeParser::MonthSection
- ? first.daysInMonth() : 0;
+ ? first.daysInMonth(calendar) : 0;
// If we also know day-of-week, tweak last to the last in the month that matches it:
if (last && known & QDateTimeParser::DayOfWeekSectionMask) {
- int diff = (dayofweek - first.dayOfWeek() - last) % 7;
+ int diff = (dayofweek - calendar.dayOfWeek(first) - last) % 7;
Q_ASSERT(diff <= 0); // C++11 specifies (-ve) % (+ve) to be <= 0.
last += diff;
}
if (day < 1) {
if (known & QDateTimeParser::DayOfWeekSectionMask && last) {
- day = 1 + dayofweek - first.dayOfWeek();
+ day = 1 + dayofweek - calendar.dayOfWeek(first);
if (day < 1)
day += 7;
} else {
@@ -956,12 +979,12 @@ static QDate actualDate(QDateTimeParser::Sections known, int year, int year2digi
day = last;
}
- actual = QDate(year, month, day);
+ actual = QDate(year, month, day, calendar);
if (!actual.isValid() // We can't do better than we have, in this case
|| (known & QDateTimeParser::DaySection
&& known & QDateTimeParser::MonthSection
&& known & QDateTimeParser::YearSection) // ditto
- || actual.dayOfWeek() == dayofweek // Good enough, use it.
+ || calendar.dayOfWeek(actual) == dayofweek // Good enough, use it.
|| (known & QDateTimeParser::DayOfWeekSectionMask) == 0) { // No contradiction, use it.
return actual;
}
@@ -976,12 +999,8 @@ static QDate actualDate(QDateTimeParser::Sections known, int year, int year2digi
if ((known & QDateTimeParser::DaySection) == 0) {
// Relatively easy to fix.
- day += dayofweek - actual.dayOfWeek();
- if (day < 1)
- day += 7;
- else if (day > actual.daysInMonth())
- day -= 7;
- actual = QDate(year, month, day);
+ day = weekDayWithinMonth(calendar, actual, dayofweek);
+ actual = QDate(year, month, day, calendar);
return actual;
}
@@ -993,18 +1012,18 @@ static QDate actualDate(QDateTimeParser::Sections known, int year, int year2digi
*/
for (int m = 1; m < 12; m++) {
if (m < month) {
- actual = QDate(year, month - m, day);
- if (actual.dayOfWeek() == dayofweek)
+ actual = QDate(year, month - m, day, calendar);
+ if (calendar.dayOfWeek(actual) == dayofweek)
return actual;
}
if (m + month <= 12) {
- actual = QDate(year, month + m, day);
- if (actual.dayOfWeek() == dayofweek)
+ actual = QDate(year, month + m, day, calendar);
+ if (calendar.dayOfWeek(actual) == dayofweek)
return actual;
}
}
// Should only get here in corner cases; e.g. day == 31
- actual = QDate(year, month, day); // Restore from trial values.
+ actual = QDate(year, month, day, calendar); // Restore from trial values.
}
if ((known & QDateTimeParser::YearSection) == 0) {
@@ -1017,24 +1036,24 @@ static QDate actualDate(QDateTimeParser::Sections known, int year, int year2digi
is '97, it makes sense to consider 1997. If either adjacent
century does work, the other won't.
*/
- actual = QDate(year + 100, month, day);
- if (actual.dayOfWeek() == dayofweek)
+ actual = QDate(year + 100, month, day, calendar);
+ if (calendar.dayOfWeek(actual) == dayofweek)
return actual;
- actual = QDate(year - 100, month, day);
- if (actual.dayOfWeek() == dayofweek)
+ actual = QDate(year - 100, month, day, calendar);
+ if (calendar.dayOfWeek(actual) == dayofweek)
return actual;
} else {
// Offset by 7 is usually enough, but rare cases may need more:
for (int y = 1; y < 12; y++) {
- actual = QDate(year - y, month, day);
- if (actual.dayOfWeek() == dayofweek)
+ actual = QDate(year - y, month, day, calendar);
+ if (calendar.dayOfWeek(actual) == dayofweek)
return actual;
- actual = QDate(year + y, month, day);
- if (actual.dayOfWeek() == dayofweek)
+ actual = QDate(year + y, month, day, calendar);
+ if (calendar.dayOfWeek(actual) == dayofweek)
return actual;
}
}
- actual = QDate(year, month, day); // Restore from trial values.
+ actual = QDate(year, month, day, calendar); // Restore from trial values.
}
return actual; // It'll just have to do :-(
@@ -1097,7 +1116,7 @@ QDateTimeParser::scanString(const QDateTime &defaultValue,
int minute = defaultTime.minute();
int second = defaultTime.second();
int msec = defaultTime.msec();
- int dayofweek = defaultDate.dayOfWeek();
+ int dayofweek = calendar.dayOfWeek(defaultDate);
Qt::TimeSpec tspec = defaultValue.timeSpec();
int zoneOffset = 0; // In seconds; local - UTC
#if QT_CONFIG(timezone)
@@ -1138,7 +1157,8 @@ QDateTimeParser::scanString(const QDateTime &defaultValue,
ParsedSection sect;
{
- const QDate date = actualDate(isSet, year, year2digits, month, day, dayofweek);
+ const QDate date = actualDate(isSet, calendar, year, year2digits,
+ month, day, dayofweek);
const QTime time = actualTime(isSet, hour, hour12, ampm, minute, second, msec);
sect = parseSection(
#if QT_CONFIG(timezone)
@@ -1248,22 +1268,17 @@ QDateTimeParser::scanString(const QDateTime &defaultValue,
}
}
- const QDate date(year, month, day);
- const int diff = dayofweek - date.dayOfWeek();
- if (diff != 0 && state == Acceptable && isSet & DayOfWeekSectionMask) {
+ const QDate date(year, month, day, calendar);
+ if (dayofweek != calendar.dayOfWeek(date)
+ && state == Acceptable && isSet & DayOfWeekSectionMask) {
if (isSet & DaySection)
conflicts = true;
const SectionNode &sn = sectionNode(currentSectionIndex);
if (sn.type & DayOfWeekSectionMask || currentSectionIndex == -1) {
// dayofweek should be preferred
- day += diff;
- if (day <= 0) {
- day += 7;
- } else if (day > date.daysInMonth()) {
- day -= 7;
- }
+ day = weekDayWithinMonth(calendar, date, dayofweek);
QDTPDEBUG << year << month << day << dayofweek
- << diff << QDate(year, month, day).dayOfWeek();
+ << calendar.dayOfWeek(QDate(year, month, day, calendar));
}
}
@@ -1275,20 +1290,18 @@ QDateTimeParser::scanString(const QDateTime &defaultValue,
needfixday = true;
}
- if (!QDate::isValid(year, month, day)) {
- if (day < 32) {
+ if (!calendar.isDateValid(year, month, day)) {
+ if (day <= calendar.maxDaysInMonth())
cachedDay = day;
- }
- if (day > 28 && QDate::isValid(year, month, 1)) {
+ if (day > calendar.minDaysInMonth() && calendar.isDateValid(year, month, 1))
needfixday = true;
- }
}
if (needfixday) {
if (context == FromString) {
return StateNode();
}
if (state == Acceptable && fixday) {
- day = qMin<int>(day, QDate(year, month, 1).daysInMonth());
+ day = qMin<int>(day, calendar.daysInMonth(month, year));
const QLocale loc = locale();
for (int i=0; i<sectionNodesCount; ++i) {
@@ -1296,7 +1309,7 @@ QDateTimeParser::scanString(const QDateTime &defaultValue,
if (sn.type & DaySection) {
input->replace(sectionPos(sn), sectionSize(i), loc.toString(day));
} else if (sn.type & DayOfWeekSectionMask) {
- const int dayOfWeek = QDate(year, month, day).dayOfWeek();
+ const int dayOfWeek = calendar.dayOfWeek(QDate(year, month, day, calendar));
const QLocale::FormatType dayFormat =
(sn.type == DayOfWeekSectionShort
? QLocale::ShortFormat : QLocale::LongFormat);
@@ -1333,13 +1346,12 @@ QDateTimeParser::scanString(const QDateTime &defaultValue,
conflicts = true;
}
}
-
}
QDTPDEBUG << year << month << day << hour << minute << second << msec;
Q_ASSERT(state != Invalid);
- const QDate date(year, month, day);
+ const QDate date(year, month, day, calendar);
const QTime time(hour, minute, second, msec);
const QDateTime when =
#if QT_CONFIG(timezone)
@@ -1427,10 +1439,11 @@ QDateTimeParser::parse(QString input, int position, const QDateTime &defaultValu
Q_FALLTHROUGH();
case MonthSection:
if (sn.count >= 3) {
- const int finalMonth = scan.value.date().month();
+ const QDate when = scan.value.date();
+ const int finalMonth = when.month(calendar);
int tmp = finalMonth;
// I know the first possible month makes the date too early
- while ((tmp = findMonth(t, tmp + 1, i)) != -1) {
+ while ((tmp = findMonth(t, tmp + 1, i, when.year(calendar))) != -1) {
const QDateTime copy(scan.value.addMonths(tmp - finalMonth));
if (copy >= minimum && copy <= maximum)
break; // break out of while
@@ -1528,7 +1541,7 @@ QDateTimeParser::parse(QString input, int position, const QDateTime &defaultValu
length of overlap in *used (if \a used is non-NULL) and the first entry that
overlapped this much in *usedText (if \a usedText is non-NULL).
*/
-static int findTextEntry(const QString &text, const QVector<QString> &entries, QString *usedText, int *used)
+static int findTextEntry(const QString &text, const ShortVector<QString> &entries, QString *usedText, int *used)
{
if (text.isEmpty())
return -1;
@@ -1566,7 +1579,7 @@ static int findTextEntry(const QString &text, const QVector<QString> &entries, Q
*/
int QDateTimeParser::findMonth(const QString &str1, int startMonth, int sectionIndex,
- QString *usedMonth, int *used) const
+ int year, QString *usedMonth, int *used) const
{
const SectionNode &sn = sectionNode(sectionIndex);
if (sn.type != MonthSection) {
@@ -1576,10 +1589,10 @@ int QDateTimeParser::findMonth(const QString &str1, int startMonth, int sectionI
QLocale::FormatType type = sn.count == 3 ? QLocale::ShortFormat : QLocale::LongFormat;
QLocale l = locale();
- QVector<QString> monthNames;
+ ShortVector<QString> monthNames;
monthNames.reserve(13 - startMonth);
for (int month = startMonth; month <= 12; ++month)
- monthNames.append(l.monthName(month, type));
+ monthNames.append(calendar.monthName(l, month, year, type));
const int index = findTextEntry(str1, monthNames, usedMonth, used);
return index < 0 ? index : index + startMonth;
@@ -1595,7 +1608,7 @@ int QDateTimeParser::findDay(const QString &str1, int startDay, int sectionIndex
QLocale::FormatType type = sn.count == 4 ? QLocale::LongFormat : QLocale::ShortFormat;
QLocale l = locale();
- QVector<QString> daysOfWeek;
+ ShortVector<QString> daysOfWeek;
daysOfWeek.reserve(8 - startDay);
for (int day = startDay; day <= 7; ++day)
daysOfWeek.append(l.dayName(day, type));
@@ -1877,7 +1890,7 @@ bool QDateTimeParser::potentialValue(const QStringRef &str, int min, int max, in
int val = (int)locale().toUInt(str);
const SectionNode &sn = sectionNode(index);
if (sn.type == YearSection2Digits) {
- const int year = currentValue.date().year();
+ const int year = currentValue.date().year(calendar);
val += year - (year % 100);
}
if (val >= min && val <= max && str.size() == size) {
@@ -2047,4 +2060,13 @@ bool operator==(const QDateTimeParser::SectionNode &s1, const QDateTimeParser::S
return (s1.type == s2.type) && (s1.pos == s2.pos) && (s1.count == s2.count);
}
+/*!
+ Sets \a cal as the calendar to use. The default is Gregorian.
+*/
+
+void QDateTimeParser::setCalendar(const QCalendar &cal)
+{
+ calendar = cal;
+}
+
QT_END_NAMESPACE
diff --git a/src/corelib/time/qdatetimeparser_p.h b/src/corelib/time/qdatetimeparser_p.h
index d9e39f0795..e9f1455380 100644
--- a/src/corelib/time/qdatetimeparser_p.h
+++ b/src/corelib/time/qdatetimeparser_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -57,6 +57,7 @@
#include "QtCore/qdatetime.h"
#include "QtCore/qstringlist.h"
#include "QtCore/qlocale.h"
+#include "QtCore/qcalendar.h"
#ifndef QT_BOOTSTRAPPED
# include "QtCore/qvariant.h"
#endif
@@ -82,9 +83,9 @@ public:
FromString,
DateTimeEdit
};
- QDateTimeParser(QVariant::Type t, Context ctx)
+ QDateTimeParser(QVariant::Type t, Context ctx, const QCalendar &cal = QCalendar())
: currentSectionIndex(-1), display(nullptr), cachedDay(-1), parserType(t),
- fixday(false), spec(Qt::LocalTime), context(ctx)
+ fixday(false), spec(Qt::LocalTime), context(ctx), calendar(cal)
{
defaultLocale = QLocale::system();
first.type = FirstSection;
@@ -195,6 +196,7 @@ public:
void setDefaultLocale(const QLocale &loc) { defaultLocale = loc; }
virtual QString displayText() const { return text; }
+ void setCalendar(const QCalendar &calendar);
private:
int sectionMaxSize(Section s, int count) const;
@@ -215,7 +217,7 @@ private:
ParsedSection parseSection(const QDateTime &currentValue, int sectionIndex,
int offset, QString *text) const;
int findMonth(const QString &str1, int monthstart, int sectionIndex,
- QString *monthName = nullptr, int *used = nullptr) const;
+ int year, QString *monthName = nullptr, int *used = nullptr) const;
int findDay(const QString &str1, int intDaystart, int sectionIndex,
QString *dayName = nullptr, int *used = nullptr) const;
ParsedSection findTimeZone(QStringRef str, const QDateTime &when,
@@ -297,6 +299,7 @@ protected: // for the benefit of QDateTimeEditPrivate
bool fixday;
Qt::TimeSpec spec; // spec if used by QDateTimeEdit
Context context;
+ QCalendar calendar;
};
Q_DECLARE_TYPEINFO(QDateTimeParser::SectionNode, Q_PRIMITIVE_TYPE);
diff --git a/src/corelib/time/qgregoriancalendar.cpp b/src/corelib/time/qgregoriancalendar.cpp
new file mode 100644
index 0000000000..447185d124
--- /dev/null
+++ b/src/corelib/time/qgregoriancalendar.cpp
@@ -0,0 +1,175 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qgregoriancalendar_p.h"
+#include "qcalendarmath_p.h"
+#include <QtCore/qdatetime.h>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QRoundingDown;
+
+/*!
+ \since 5.14
+
+ \class QGregorianCalendar
+ \inmodule QtCore
+ \brief The QGregorianCalendar class implements the Gregorian calendar.
+
+ \section1 The Gregorian Calendar
+
+ The Gregorian calendar is a refinement of the earlier Julian calendar,
+ itself a late form of the Roman calendar. It is widely used.
+
+ \sa QRomanCalendar, QJulianCalendar, QCalendarBackend, QCalendar
+*/
+
+QGregorianCalendar::QGregorianCalendar()
+ : QRomanCalendar(QStringLiteral("Gregorian"), QCalendar::System::Gregorian)
+{
+ registerAlias(QStringLiteral("gregory"));
+}
+
+QString QGregorianCalendar::name() const
+{
+ return QStringLiteral("Gregorian");
+}
+
+QCalendar::System QGregorianCalendar::calendarSystem() const
+{
+ return QCalendar::System::Gregorian;
+}
+
+bool QGregorianCalendar::isLeapYear(int year) const
+{
+ return leapTest(year);
+}
+
+bool QGregorianCalendar::leapTest(int year)
+{
+ if (year == QCalendar::Unspecified)
+ return false;
+
+ // No year 0 in Gregorian calendar, so -1, -5, -9 etc are leap years
+ if (year < 1)
+ ++year;
+
+ return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
+}
+
+// Duplicating code from QRomanCalendar, but inlining isLeapYear() as leapTest():
+int QGregorianCalendar::monthLength(int month, int year)
+{
+ if (month < 1 || month > 12)
+ return 0;
+
+ if (month == 2)
+ return leapTest(year) ? 29 : 28;
+
+ return 30 | ((month & 1) ^ (month >> 3));
+}
+
+bool QGregorianCalendar::validParts(int year, int month, int day)
+{
+ return year && 0 < day && day <= monthLength(month, year);
+}
+
+int QGregorianCalendar::weekDayOfJulian(qint64 jd)
+{
+ return qMod(jd, 7) + 1;
+}
+
+bool QGregorianCalendar::dateToJulianDay(int year, int month, int day, qint64 *jd) const
+{
+ return julianFromParts(year, month, day, jd);
+}
+
+bool QGregorianCalendar::julianFromParts(int year, int month, int day, qint64 *jd)
+{
+ Q_ASSERT(jd);
+ if (!validParts(year, month, day))
+ return false;
+
+ if (year < 0)
+ ++year;
+
+ /*
+ * Math from The Calendar FAQ at http://www.tondering.dk/claus/cal/julperiod.php
+ * This formula is correct for all julian days, when using mathematical integer
+ * division (round to negative infinity), not c++11 integer division (round to zero)
+ */
+ int a = month < 3 ? 1 : 0;
+ qint64 y = qint64(year) + 4800 - a;
+ int m = month + 12 * a - 3;
+ *jd = day + qDiv(153 * m + 2, 5) - 32045
+ + 365 * y + qDiv(y, 4) - qDiv(y, 100) + qDiv(y, 400);
+ return true;
+}
+
+QCalendar::YearMonthDay QGregorianCalendar::julianDayToDate(qint64 jd) const
+{
+ return partsFromJulian(jd);
+}
+
+QCalendar::YearMonthDay QGregorianCalendar::partsFromJulian(qint64 jd)
+{
+ /*
+ * Math from The Calendar FAQ at http://www.tondering.dk/claus/cal/julperiod.php
+ * This formula is correct for all julian days, when using mathematical integer
+ * division (round to negative infinity), not c++11 integer division (round to zero)
+ */
+ qint64 a = jd + 32044;
+ qint64 b = qDiv(4 * a + 3, 146097);
+ int c = a - qDiv(146097 * b, 4);
+
+ int d = qDiv(4 * c + 3, 1461);
+ int e = c - qDiv(1461 * d, 4);
+ int m = qDiv(5 * e + 2, 153);
+
+ int y = 100 * b + d - 4800 + qDiv(m, 10);
+
+ // Adjust for no year 0
+ int year = y > 0 ? y : y - 1;
+ int month = m + 3 - 12 * qDiv(m, 10);
+ int day = e - qDiv(153 * m + 2, 5) + 1;
+
+ return QCalendar::YearMonthDay(year, month, day);
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/time/qgregoriancalendar_p.h b/src/corelib/time/qgregoriancalendar_p.h
new file mode 100644
index 0000000000..191f9c127b
--- /dev/null
+++ b/src/corelib/time/qgregoriancalendar_p.h
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QGREGORIAN_CALENDAR_P_H
+#define QGREGORIAN_CALENDAR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of calendar implementations. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qromancalendar_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class Q_CORE_EXPORT QGregorianCalendar : public QRomanCalendar
+{
+ // TODO: provide static methods, called by the overrides, that can be called
+ // directly by QDate to optimize various parts.
+public:
+ QGregorianCalendar();
+ // CAlendar properties:
+ QString name() const override;
+ QCalendar::System calendarSystem() const override;
+ // Date queries:
+ bool isLeapYear(int year) const override;
+ // Julian Day conversions:
+ bool dateToJulianDay(int year, int month, int day, qint64 *jd) const override;
+ QCalendar::YearMonthDay julianDayToDate(qint64 jd) const override;
+
+ // Names of months (implemented in qlocale.cpp):
+ QString monthName(const QLocale &locale, int month, int year,
+ QLocale::FormatType format) const override;
+ QString standaloneMonthName(const QLocale &locale, int month, int year,
+ QLocale::FormatType format) const override;
+
+ // Static optimized versions for the benefit of QDate:
+ static int weekDayOfJulian(qint64 jd);
+ static bool leapTest(int year);
+ static int monthLength(int month, int year);
+ static bool validParts(int year, int month, int day);
+ static QCalendar::YearMonthDay partsFromJulian(qint64 jd);
+ static bool julianFromParts(int year, int month, int day, qint64 *jd);
+};
+
+QT_END_NAMESPACE
+
+#endif // QGREGORIAN_CALENDAR_P_H
diff --git a/src/corelib/time/qhijricalendar.cpp b/src/corelib/time/qhijricalendar.cpp
new file mode 100644
index 0000000000..1a1155be6d
--- /dev/null
+++ b/src/corelib/time/qhijricalendar.cpp
@@ -0,0 +1,125 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qglobal.h"
+#include "qhijricalendar_p.h"
+#include "qhijricalendar_data_p.h"
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \since 5.14
+
+ \class QHijriCalendar
+ \inmodule QtCore
+ \brief The QHijriCalendar class supports Islamic (Hijri) calendar implementations.
+
+ \section1 Islamic Calendar System
+
+ The Islamic, Muslim, or Hijri calendar is a lunar calendar consisting of 12
+ months in a year of 354 or 355 days. It is used (often alongside the
+ Gregorian calendar) to date events in many Muslim countries. It is also used
+ by Muslims to determine the proper days of Islamic holidays and rituals,
+ such as the annual period of fasting and the proper time for the pilgrimage
+ to Mecca.
+
+ Source: \l {https://en.wikipedia.org/wiki/Islamic_calendar}{Wikipedia page on
+ Hijri Calendar}
+
+ \section1 Support for variants
+
+ This base class provides the common details shared by all variants on the
+ Islamic calendar. Each year comprises 12 months of 29 or 30 days each; most
+ years have as many of 29 as of 30, but leap years extend one 29-day month to
+ 30 days. In tabular versions of the calendar (where mathematical rules are
+ used to determine the details), odd-numbered months have 30 days, as does the
+ last (twelfth) month of a leap year; all other months have 29 days. Other
+ versions are based on actual astronomical observations of the moon's phase at
+ sunset, which vary from place to place.
+
+ \sa QIslamicCivilCalendar, QCalendar
+*/
+
+bool QHijriCalendar::isLunar() const
+{
+ return true;
+}
+
+bool QHijriCalendar::isLuniSolar() const
+{
+ return false;
+}
+
+bool QHijriCalendar::isSolar() const
+{
+ return false;
+}
+
+int QHijriCalendar::daysInMonth(int month, int year) const
+{
+ if (year == 0 || month < 1 || month > 12)
+ return 0;
+
+ if (month == 12 && isLeapYear(year))
+ return 30;
+
+ return month % 2 == 0 ? 29 : 30;
+}
+
+int QHijriCalendar::maxDaysInMonth() const
+{
+ return 30;
+}
+
+int QHijriCalendar::daysInYear(int year) const
+{
+ return monthsInYear(year) ? isLeapYear(year) ? 355 : 354 : 0;
+}
+
+const QCalendarLocale *QHijriCalendar::localeMonthIndexData() const
+{
+ return locale_data;
+}
+
+const ushort *QHijriCalendar::localeMonthData() const
+{
+ return months_data;
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/time/qhijricalendar_data_p.h b/src/corelib/time/qhijricalendar_data_p.h
new file mode 100644
index 0000000000..3900e1a477
--- /dev/null
+++ b/src/corelib/time/qhijricalendar_data_p.h
@@ -0,0 +1,1146 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QHIJRI_CALENDAR_DATA_P_H
+#define QHIJRI_CALENDAR_DATA_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
+// file may change from version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/private/qglobal_p.h>
+#include <QtCore/private/qcalendarbackend_p.h>
+
+QT_BEGIN_NAMESPACE
+
+// GENERATED PART STARTS HERE
+
+/*
+ This part of the file was generated on 2019-05-27 from the
+ Common Locale Data Repository v35.1
+
+ http://www.unicode.org/cldr/
+
+ Do not edit this section: instead regenerate it using
+ cldr2qlocalexml.py and qlocalexml2cpp.py on updated (or
+ edited) CLDR data; see qtbase/util/locale_database/.
+*/
+
+static const QCalendarLocale locale_data[] = {
+ // lang script terr sShort sLong sNarrow short long narrow
+ { 1, 0, 0,{ 0,87 },{ 87,107 },{ 194,29 },{ 0,87 },{ 87,107 },{ 194,29 }}, // C/AnyScript/AnyCountry
+ { 3, 7, 69,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Oromo/Latin/Ethiopia
+ { 3, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Oromo/Latin/Kenya
+ { 4, 7, 69,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Afar/Latin/Ethiopia
+ { 5, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Afrikaans/Latin/South Africa
+ { 5, 7, 148,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Afrikaans/Latin/Namibia
+ { 6, 7, 2,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Albanian/Latin/Albania
+ { 6, 7, 127,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Albanian/Latin/Macedonia
+ { 6, 7, 257,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Albanian/Latin/Kosovo
+ { 7, 14, 69,{ 223,79 },{ 329,75 },{ 302,27 },{ 223,79 },{ 329,75 },{ 302,27 }}, // Amharic/Ethiopic/Ethiopia
+ { 8, 1, 64,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Egypt
+ { 8, 1, 3,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Algeria
+ { 8, 1, 17,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Bahrain
+ { 8, 1, 42,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Chad
+ { 8, 1, 48,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Comoros
+ { 8, 1, 59,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Djibouti
+ { 8, 1, 67,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Eritrea
+ { 8, 1, 103,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Iraq
+ { 8, 1, 105,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Israel
+ { 8, 1, 109,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Jordan
+ { 8, 1, 115,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Kuwait
+ { 8, 1, 119,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Lebanon
+ { 8, 1, 122,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Libya
+ { 8, 1, 136,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Mauritania
+ { 8, 1, 145,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Morocco
+ { 8, 1, 162,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Oman
+ { 8, 1, 165,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Palestinian Territories
+ { 8, 1, 175,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Qatar
+ { 8, 1, 186,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Saudi Arabia
+ { 8, 1, 194,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Somalia
+ { 8, 1, 201,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Sudan
+ { 8, 1, 207,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Syria
+ { 8, 1, 216,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Tunisia
+ { 8, 1, 223,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/United Arab Emirates
+ { 8, 1, 236,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Western Sahara
+ { 8, 1, 237,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/Yemen
+ { 8, 1, 254,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/South Sudan
+ { 8, 1, 260,{ 404,97 },{ 404,97 },{ 501,27 },{ 404,97 },{ 404,97 },{ 501,27 }}, // Arabic/Arabic/World
+ { 9, 10, 11,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Armenian/Armenian/Armenia
+ { 10, 11, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Assamese/Bengali/India
+ { 12, 7, 15,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Azerbaijani/Latin/Azerbaijan
+ { 12, 1, 102,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Azerbaijani/Arabic/Iran
+ { 12, 2, 15,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Azerbaijani/Cyrillic/Azerbaijan
+ { 13, 2, 178,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Bashkir/Cyrillic/Russia
+ { 14, 7, 197,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Basque/Latin/Spain
+ { 15, 11, 18,{ 528,105 },{ 528,105 },{ 633,27 },{ 528,105 },{ 528,105 },{ 633,27 }}, // Bengali/Bengali/Bangladesh
+ { 15, 11, 100,{ 528,105 },{ 528,105 },{ 633,27 },{ 528,105 },{ 528,105 },{ 633,27 }}, // Bengali/Bengali/India
+ { 16, 31, 25,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Dzongkha/Tibetan/Bhutan
+ { 19, 7, 74,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Breton/Latin/France
+ { 20, 2, 33,{ 223,79 },{ 660,97 },{ 302,27 },{ 223,79 },{ 660,97 },{ 302,27 }}, // Bulgarian/Cyrillic/Bulgaria
+ { 21, 25, 147,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Burmese/Myanmar/Myanmar
+ { 22, 2, 20,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Belarusian/Cyrillic/Belarus
+ { 23, 20, 36,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Khmer/Khmer/Cambodia
+ { 24, 7, 197,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Catalan/Latin/Spain
+ { 24, 7, 5,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Catalan/Latin/Andorra
+ { 24, 7, 74,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Catalan/Latin/France
+ { 24, 7, 106,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Catalan/Latin/Italy
+ { 25, 5, 44,{ 757,39 },{ 796,38 },{ 302,27 },{ 757,39 },{ 796,38 },{ 302,27 }}, // Chinese/Simplified Han/China
+ { 25, 5, 97,{ 757,39 },{ 796,38 },{ 302,27 },{ 757,39 },{ 796,38 },{ 302,27 }}, // Chinese/Simplified Han/Hong Kong
+ { 25, 5, 126,{ 757,39 },{ 796,38 },{ 302,27 },{ 757,39 },{ 796,38 },{ 302,27 }}, // Chinese/Simplified Han/Macau
+ { 25, 5, 190,{ 757,39 },{ 796,38 },{ 302,27 },{ 757,39 },{ 796,38 },{ 302,27 }}, // Chinese/Simplified Han/Singapore
+ { 25, 6, 97,{ 834,72 },{ 834,72 },{ 302,27 },{ 834,72 },{ 834,72 },{ 302,27 }}, // Chinese/Traditional Han/Hong Kong
+ { 25, 6, 126,{ 834,72 },{ 834,72 },{ 302,27 },{ 834,72 },{ 834,72 },{ 302,27 }}, // Chinese/Traditional Han/Macau
+ { 25, 6, 208,{ 834,72 },{ 834,72 },{ 302,27 },{ 834,72 },{ 834,72 },{ 302,27 }}, // Chinese/Traditional Han/Taiwan
+ { 26, 7, 74,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Corsican/Latin/France
+ { 27, 7, 54,{ 223,79 },{ 87,107 },{ 906,39 },{ 223,79 },{ 87,107 },{ 906,39 }}, // Croatian/Latin/Croatia
+ { 27, 7, 27,{ 223,79 },{ 87,107 },{ 906,39 },{ 223,79 },{ 87,107 },{ 906,39 }}, // Croatian/Latin/Bosnia And Herzegowina
+ { 28, 7, 57,{ 945,77 },{ 1022,130 },{ 302,27 },{ 945,77 },{ 1022,130 },{ 302,27 }}, // Czech/Latin/Czech Republic
+ { 29, 7, 58,{ 223,79 },{ 1152,107 },{ 302,27 },{ 223,79 },{ 1152,107 },{ 302,27 }}, // Danish/Latin/Denmark
+ { 29, 7, 86,{ 223,79 },{ 1152,107 },{ 302,27 },{ 223,79 },{ 1152,107 },{ 302,27 }}, // Danish/Latin/Greenland
+ { 30, 7, 151,{ 1259,84 },{ 1343,135 },{ 302,27 },{ 1259,84 },{ 1343,135 },{ 302,27 }}, // Dutch/Latin/Netherlands
+ { 30, 7, 12,{ 1259,84 },{ 1343,135 },{ 302,27 },{ 1259,84 },{ 1343,135 },{ 302,27 }}, // Dutch/Latin/Aruba
+ { 30, 7, 21,{ 1259,84 },{ 1343,135 },{ 302,27 },{ 1259,84 },{ 1343,135 },{ 302,27 }}, // Dutch/Latin/Belgium
+ { 30, 7, 152,{ 1259,84 },{ 1343,135 },{ 302,27 },{ 1259,84 },{ 1343,135 },{ 302,27 }}, // Dutch/Latin/Cura Sao
+ { 30, 7, 202,{ 1259,84 },{ 1343,135 },{ 302,27 },{ 1259,84 },{ 1343,135 },{ 302,27 }}, // Dutch/Latin/Suriname
+ { 30, 7, 255,{ 1259,84 },{ 1343,135 },{ 302,27 },{ 1259,84 },{ 1343,135 },{ 302,27 }}, // Dutch/Latin/Bonaire
+ { 30, 7, 256,{ 1259,84 },{ 1343,135 },{ 302,27 },{ 1259,84 },{ 1343,135 },{ 302,27 }}, // Dutch/Latin/Sint Maarten
+ { 31, 7, 225,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/United States
+ { 31, 3, 225,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Deseret/United States
+ { 31, 7, 4,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/American Samoa
+ { 31, 7, 7,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Anguilla
+ { 31, 7, 9,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Antigua And Barbuda
+ { 31, 7, 13,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Australia
+ { 31, 7, 14,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Austria
+ { 31, 7, 16,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Bahamas
+ { 31, 7, 19,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Barbados
+ { 31, 7, 21,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Belgium
+ { 31, 7, 22,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Belize
+ { 31, 7, 24,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Bermuda
+ { 31, 7, 28,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Botswana
+ { 31, 7, 31,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/British Indian Ocean Territory
+ { 31, 7, 35,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Burundi
+ { 31, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Cameroon
+ { 31, 7, 38,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Canada
+ { 31, 7, 40,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Cayman Islands
+ { 31, 7, 45,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Christmas Island
+ { 31, 7, 46,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Cocos Islands
+ { 31, 7, 51,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Cook Islands
+ { 31, 7, 56,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Cyprus
+ { 31, 7, 58,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Denmark
+ { 31, 7, 60,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Dominica
+ { 31, 7, 67,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Eritrea
+ { 31, 7, 70,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Falkland Islands
+ { 31, 7, 72,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Fiji
+ { 31, 7, 73,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Finland
+ { 31, 7, 75,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Guernsey
+ { 31, 7, 80,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Gambia
+ { 31, 7, 82,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Germany
+ { 31, 7, 83,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Ghana
+ { 31, 7, 84,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Gibraltar
+ { 31, 7, 87,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Grenada
+ { 31, 7, 89,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Guam
+ { 31, 7, 93,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Guyana
+ { 31, 7, 97,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Hong Kong
+ { 31, 7, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/India
+ { 31, 7, 104,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Ireland
+ { 31, 7, 105,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Israel
+ { 31, 7, 107,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Jamaica
+ { 31, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Kenya
+ { 31, 7, 112,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Kiribati
+ { 31, 7, 120,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Lesotho
+ { 31, 7, 121,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Liberia
+ { 31, 7, 126,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Macau
+ { 31, 7, 128,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Madagascar
+ { 31, 7, 129,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Malawi
+ { 31, 7, 130,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Malaysia
+ { 31, 7, 133,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Malta
+ { 31, 7, 134,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Marshall Islands
+ { 31, 7, 137,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Mauritius
+ { 31, 7, 140,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Micronesia
+ { 31, 7, 144,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Montserrat
+ { 31, 7, 148,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Namibia
+ { 31, 7, 149,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Nauru
+ { 31, 7, 151,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Netherlands
+ { 31, 7, 154,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/New Zealand
+ { 31, 7, 157,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Nigeria
+ { 31, 7, 158,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Niue
+ { 31, 7, 159,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Norfolk Island
+ { 31, 7, 160,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Northern Mariana Islands
+ { 31, 7, 163,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Pakistan
+ { 31, 7, 164,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Palau
+ { 31, 7, 167,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Papua New Guinea
+ { 31, 7, 170,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Philippines
+ { 31, 7, 171,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Pitcairn
+ { 31, 7, 174,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Puerto Rico
+ { 31, 7, 179,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Rwanda
+ { 31, 7, 180,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Saint Kitts And Nevis
+ { 31, 7, 181,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Saint Lucia
+ { 31, 7, 182,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Saint Vincent And The Grenadines
+ { 31, 7, 183,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Samoa
+ { 31, 7, 188,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Seychelles
+ { 31, 7, 189,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Sierra Leone
+ { 31, 7, 190,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Singapore
+ { 31, 7, 192,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Slovenia
+ { 31, 7, 193,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Solomon Islands
+ { 31, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/South Africa
+ { 31, 7, 199,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Saint Helena
+ { 31, 7, 201,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Sudan
+ { 31, 7, 204,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Swaziland
+ { 31, 7, 205,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Sweden
+ { 31, 7, 206,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Switzerland
+ { 31, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Tanzania
+ { 31, 7, 213,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Tokelau
+ { 31, 7, 214,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Tonga
+ { 31, 7, 215,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Trinidad And Tobago
+ { 31, 7, 219,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Turks And Caicos Islands
+ { 31, 7, 220,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Tuvalu
+ { 31, 7, 221,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Uganda
+ { 31, 7, 223,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/United Arab Emirates
+ { 31, 7, 224,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/United Kingdom
+ { 31, 7, 226,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/United States Minor Outlying Islands
+ { 31, 7, 229,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Vanuatu
+ { 31, 7, 233,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/British Virgin Islands
+ { 31, 7, 234,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/United States Virgin Islands
+ { 31, 7, 239,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Zambia
+ { 31, 7, 240,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Zimbabwe
+ { 31, 7, 249,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Diego Garcia
+ { 31, 7, 251,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Isle Of Man
+ { 31, 7, 252,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Jersey
+ { 31, 7, 254,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/South Sudan
+ { 31, 7, 256,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Sint Maarten
+ { 31, 7, 260,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/World
+ { 31, 7, 261,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // English/Latin/Europe
+ { 32, 7, 260,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Esperanto/Latin/World
+ { 33, 7, 68,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Estonian/Latin/Estonia
+ { 34, 7, 71,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Faroese/Latin/Faroe Islands
+ { 34, 7, 58,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Faroese/Latin/Denmark
+ { 36, 7, 73,{ 223,79 },{ 1478,130 },{ 302,27 },{ 223,79 },{ 1478,130 },{ 302,27 }}, // Finnish/Latin/Finland
+ { 37, 7, 74,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/France
+ { 37, 7, 3,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Algeria
+ { 37, 7, 21,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Belgium
+ { 37, 7, 23,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Benin
+ { 37, 7, 34,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Burkina Faso
+ { 37, 7, 35,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Burundi
+ { 37, 7, 37,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Cameroon
+ { 37, 7, 38,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Canada
+ { 37, 7, 41,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Central African Republic
+ { 37, 7, 42,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Chad
+ { 37, 7, 48,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Comoros
+ { 37, 7, 49,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Congo Kinshasa
+ { 37, 7, 50,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Congo Brazzaville
+ { 37, 7, 53,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Ivory Coast
+ { 37, 7, 59,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Djibouti
+ { 37, 7, 66,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Equatorial Guinea
+ { 37, 7, 76,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/French Guiana
+ { 37, 7, 77,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/French Polynesia
+ { 37, 7, 79,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Gabon
+ { 37, 7, 88,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Guadeloupe
+ { 37, 7, 91,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Guinea
+ { 37, 7, 94,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Haiti
+ { 37, 7, 125,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Luxembourg
+ { 37, 7, 128,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Madagascar
+ { 37, 7, 132,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Mali
+ { 37, 7, 135,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Martinique
+ { 37, 7, 136,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Mauritania
+ { 37, 7, 137,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Mauritius
+ { 37, 7, 138,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Mayotte
+ { 37, 7, 142,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Monaco
+ { 37, 7, 145,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Morocco
+ { 37, 7, 153,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/New Caledonia
+ { 37, 7, 156,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Niger
+ { 37, 7, 176,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Reunion
+ { 37, 7, 179,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Rwanda
+ { 37, 7, 187,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Senegal
+ { 37, 7, 188,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Seychelles
+ { 37, 7, 200,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Saint Pierre And Miquelon
+ { 37, 7, 206,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Switzerland
+ { 37, 7, 207,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Syria
+ { 37, 7, 212,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Togo
+ { 37, 7, 216,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Tunisia
+ { 37, 7, 229,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Vanuatu
+ { 37, 7, 235,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Wallis And Futuna Islands
+ { 37, 7, 244,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Saint Barthelemy
+ { 37, 7, 245,{ 1608,91 },{ 1699,140 },{ 302,27 },{ 1839,91 },{ 1699,140 },{ 302,27 }}, // French/Latin/Saint Martin
+ { 38, 7, 151,{ 1259,84 },{ 1343,135 },{ 302,27 },{ 1259,84 },{ 1343,135 },{ 302,27 }}, // Western Frisian/Latin/Netherlands
+ { 39, 7, 224,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Gaelic/Latin/United Kingdom
+ { 40, 7, 197,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Galician/Latin/Spain
+ { 41, 15, 81,{ 1930,74 },{ 2004,125 },{ 302,27 },{ 1930,74 },{ 2004,125 },{ 302,27 }}, // Georgian/Georgian/Georgia
+ { 42, 7, 82,{ 223,79 },{ 2129,117 },{ 302,27 },{ 223,79 },{ 2129,117 },{ 302,27 }}, // German/Latin/Germany
+ { 42, 7, 14,{ 223,79 },{ 2129,117 },{ 302,27 },{ 223,79 },{ 2129,117 },{ 302,27 }}, // German/Latin/Austria
+ { 42, 7, 21,{ 223,79 },{ 2129,117 },{ 302,27 },{ 223,79 },{ 2129,117 },{ 302,27 }}, // German/Latin/Belgium
+ { 42, 7, 106,{ 223,79 },{ 2129,117 },{ 302,27 },{ 223,79 },{ 2129,117 },{ 302,27 }}, // German/Latin/Italy
+ { 42, 7, 123,{ 223,79 },{ 2129,117 },{ 302,27 },{ 223,79 },{ 2129,117 },{ 302,27 }}, // German/Latin/Liechtenstein
+ { 42, 7, 125,{ 223,79 },{ 2129,117 },{ 302,27 },{ 223,79 },{ 2129,117 },{ 302,27 }}, // German/Latin/Luxembourg
+ { 42, 7, 206,{ 223,79 },{ 2129,117 },{ 302,27 },{ 223,79 },{ 2129,117 },{ 302,27 }}, // German/Latin/Switzerland
+ { 43, 16, 85,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Greek/Greek/Greece
+ { 43, 16, 56,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Greek/Greek/Cyprus
+ { 44, 7, 86,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Greenlandic/Latin/Greenland
+ { 45, 7, 168,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Guarani/Latin/Paraguay
+ { 46, 17, 100,{ 2246,75 },{ 2321,99 },{ 302,27 },{ 2246,75 },{ 2321,99 },{ 302,27 }}, // Gujarati/Gujarati/India
+ { 47, 7, 157,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Hausa/Latin/Nigeria
+ { 47, 1, 157,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Hausa/Arabic/Nigeria
+ { 47, 7, 83,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Hausa/Latin/Ghana
+ { 47, 7, 156,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Hausa/Latin/Niger
+ { 48, 18, 105,{ 2420,96 },{ 2516,117 },{ 302,27 },{ 2420,96 },{ 2633,117 },{ 302,27 }}, // Hebrew/Hebrew/Israel
+ { 49, 13, 100,{ 223,79 },{ 2750,109 },{ 302,27 },{ 223,79 },{ 2750,109 },{ 302,27 }}, // Hindi/Devanagari/India
+ { 50, 7, 98,{ 2859,77 },{ 2936,100 },{ 302,27 },{ 2859,77 },{ 3036,128 },{ 302,27 }}, // Hungarian/Latin/Hungary
+ { 51, 7, 99,{ 3164,79 },{ 1152,107 },{ 302,27 },{ 3164,79 },{ 1152,107 },{ 302,27 }}, // Icelandic/Latin/Iceland
+ { 52, 7, 101,{ 3243,79 },{ 3322,107 },{ 302,27 },{ 3243,79 },{ 3322,107 },{ 302,27 }}, // Indonesian/Latin/Indonesia
+ { 53, 7, 260,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Interlingua/Latin/World
+ { 55, 44, 38,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Inuktitut/Canadian Aboriginal/Canada
+ { 55, 7, 38,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Inuktitut/Latin/Canada
+ { 57, 7, 104,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Irish/Latin/Ireland
+ { 58, 7, 106,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Italian/Latin/Italy
+ { 58, 7, 184,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Italian/Latin/San Marino
+ { 58, 7, 206,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Italian/Latin/Switzerland
+ { 58, 7, 230,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Italian/Latin/Vatican City State
+ { 59, 19, 108,{ 3429,98 },{ 3429,98 },{ 302,27 },{ 3429,98 },{ 3429,98 },{ 302,27 }}, // Japanese/Japanese/Japan
+ { 60, 7, 101,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Javanese/Latin/Indonesia
+ { 61, 21, 100,{ 3527,80 },{ 3607,101 },{ 302,27 },{ 3527,80 },{ 3607,101 },{ 302,27 }}, // Kannada/Kannada/India
+ { 62, 1, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kashmiri/Arabic/India
+ { 63, 2, 110,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kazakh/Cyrillic/Kazakhstan
+ { 64, 7, 179,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kinyarwanda/Latin/Rwanda
+ { 65, 2, 116,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kirghiz/Cyrillic/Kyrgyzstan
+ { 66, 22, 114,{ 223,79 },{ 3708,70 },{ 302,27 },{ 223,79 },{ 3708,70 },{ 302,27 }}, // Korean/Korean/South Korea
+ { 66, 22, 113,{ 223,79 },{ 3708,70 },{ 302,27 },{ 223,79 },{ 3708,70 },{ 302,27 }}, // Korean/Korean/North Korea
+ { 67, 7, 217,{ 223,79 },{ 3778,110 },{ 302,27 },{ 223,79 },{ 3778,110 },{ 302,27 }}, // Kurdish/Latin/Turkey
+ { 68, 7, 35,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Rundi/Latin/Burundi
+ { 69, 23, 117,{ 3888,76 },{ 3964,96 },{ 302,27 },{ 4060,78 },{ 3964,96 },{ 302,27 }}, // Lao/Lao/Laos
+ { 71, 7, 118,{ 223,79 },{ 4138,109 },{ 302,27 },{ 223,79 },{ 4138,109 },{ 302,27 }}, // Latvian/Latin/Latvia
+ { 72, 7, 49,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Lingala/Latin/Congo Kinshasa
+ { 72, 7, 6,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Lingala/Latin/Angola
+ { 72, 7, 41,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Lingala/Latin/Central African Republic
+ { 72, 7, 50,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Lingala/Latin/Congo Brazzaville
+ { 73, 7, 124,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Lithuanian/Latin/Lithuania
+ { 74, 2, 127,{ 4247,72 },{ 4319,90 },{ 302,27 },{ 4247,72 },{ 4319,90 },{ 302,27 }}, // Macedonian/Cyrillic/Macedonia
+ { 75, 7, 128,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Malagasy/Latin/Madagascar
+ { 76, 7, 130,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Malay/Latin/Malaysia
+ { 76, 1, 130,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Malay/Arabic/Malaysia
+ { 76, 7, 32,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Malay/Latin/Brunei
+ { 76, 7, 190,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Malay/Latin/Singapore
+ { 77, 24, 100,{ 4409,98 },{ 4507,103 },{ 4610,27 },{ 4409,98 },{ 4637,103 },{ 4610,27 }}, // Malayalam/Malayalam/India
+ { 78, 7, 133,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Maltese/Latin/Malta
+ { 79, 7, 154,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Maori/Latin/New Zealand
+ { 80, 13, 100,{ 4740,79 },{ 4819,88 },{ 4907,27 },{ 4740,79 },{ 4819,88 },{ 4907,27 }}, // Marathi/Devanagari/India
+ { 82, 2, 143,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Mongolian/Cyrillic/Mongolia
+ { 82, 8, 44,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Mongolian/Mongolian/China
+ { 84, 13, 150,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Nepali/Devanagari/Nepal
+ { 84, 13, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Nepali/Devanagari/India
+ { 85, 7, 161,{ 4934,79 },{ 5013,107 },{ 302,27 },{ 5120,79 },{ 5013,107 },{ 302,27 }}, // Norwegian Bokmal/Latin/Norway
+ { 85, 7, 203,{ 4934,79 },{ 5013,107 },{ 302,27 },{ 5120,79 },{ 5013,107 },{ 302,27 }}, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands
+ { 86, 7, 74,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Occitan/Latin/France
+ { 87, 26, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Oriya/Oriya/India
+ { 88, 1, 1,{ 5199,78 },{ 5277,82 },{ 302,27 },{ 5199,78 },{ 5277,82 },{ 302,27 }}, // Pashto/Arabic/Afghanistan
+ { 88, 1, 163,{ 5199,78 },{ 5359,82 },{ 302,27 },{ 5199,78 },{ 5359,82 },{ 302,27 }}, // Pashto/Arabic/Pakistan
+ { 89, 1, 102,{ 5441,91 },{ 5532,91 },{ 302,27 },{ 5623,93 },{ 5623,93 },{ 302,27 }}, // Persian/Arabic/Iran
+ { 89, 1, 1,{ 5441,91 },{ 5532,91 },{ 302,27 },{ 5623,93 },{ 5623,93 },{ 302,27 }}, // Persian/Arabic/Afghanistan
+ { 90, 7, 172,{ 5716,78 },{ 5794,108 },{ 302,27 },{ 5716,78 },{ 5794,108 },{ 302,27 }}, // Polish/Latin/Poland
+ { 91, 7, 30,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Brazil
+ { 91, 7, 6,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Angola
+ { 91, 7, 39,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Cape Verde
+ { 91, 7, 62,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/East Timor
+ { 91, 7, 66,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Equatorial Guinea
+ { 91, 7, 92,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Guinea Bissau
+ { 91, 7, 125,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Luxembourg
+ { 91, 7, 126,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Macau
+ { 91, 7, 146,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Mozambique
+ { 91, 7, 173,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Portugal
+ { 91, 7, 185,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Sao Tome And Principe
+ { 91, 7, 206,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Portuguese/Latin/Switzerland
+ { 92, 4, 100,{ 5902,78 },{ 5980,93 },{ 302,27 },{ 5902,78 },{ 6073,95 },{ 302,27 }}, // Punjabi/Gurmukhi/India
+ { 92, 1, 163,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Punjabi/Arabic/Pakistan
+ { 93, 7, 169,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Quechua/Latin/Peru
+ { 93, 7, 26,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Quechua/Latin/Bolivia
+ { 93, 7, 63,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Quechua/Latin/Ecuador
+ { 94, 7, 206,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Romansh/Latin/Switzerland
+ { 95, 7, 177,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Romanian/Latin/Romania
+ { 95, 7, 141,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Romanian/Latin/Moldova
+ { 96, 2, 178,{ 6168,80 },{ 6248,132 },{ 302,27 },{ 6168,80 },{ 6248,132 },{ 302,27 }}, // Russian/Cyrillic/Russia
+ { 96, 2, 20,{ 6168,80 },{ 6248,132 },{ 302,27 },{ 6168,80 },{ 6248,132 },{ 302,27 }}, // Russian/Cyrillic/Belarus
+ { 96, 2, 110,{ 6168,80 },{ 6248,132 },{ 302,27 },{ 6168,80 },{ 6248,132 },{ 302,27 }}, // Russian/Cyrillic/Kazakhstan
+ { 96, 2, 116,{ 6168,80 },{ 6248,132 },{ 302,27 },{ 6168,80 },{ 6248,132 },{ 302,27 }}, // Russian/Cyrillic/Kyrgyzstan
+ { 96, 2, 141,{ 6168,80 },{ 6248,132 },{ 302,27 },{ 6168,80 },{ 6248,132 },{ 302,27 }}, // Russian/Cyrillic/Moldova
+ { 96, 2, 222,{ 6168,80 },{ 6248,132 },{ 302,27 },{ 6168,80 },{ 6248,132 },{ 302,27 }}, // Russian/Cyrillic/Ukraine
+ { 98, 7, 41,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sango/Latin/Central African Republic
+ { 99, 13, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sanskrit/Devanagari/India
+ { 100, 2, 243,{ 6380,70 },{ 6450,91 },{ 302,27 },{ 6380,70 },{ 6541,98 },{ 302,27 }}, // Serbian/Cyrillic/Serbia
+ { 100, 7, 27,{ 6639,73 },{ 6712,95 },{ 302,27 },{ 6639,73 },{ 6807,98 },{ 302,27 }}, // Serbian/Latin/Bosnia And Herzegowina
+ { 100, 7, 242,{ 6639,73 },{ 6712,95 },{ 302,27 },{ 6639,73 },{ 6807,98 },{ 302,27 }}, // Serbian/Latin/Montenegro
+ { 100, 7, 243,{ 6639,73 },{ 6712,95 },{ 302,27 },{ 6639,73 },{ 6807,98 },{ 302,27 }}, // Serbian/Latin/Serbia
+ { 100, 2, 27,{ 6380,70 },{ 6450,91 },{ 302,27 },{ 6380,70 },{ 6541,98 },{ 302,27 }}, // Serbian/Cyrillic/Bosnia And Herzegowina
+ { 100, 2, 242,{ 6380,70 },{ 6450,91 },{ 302,27 },{ 6380,70 },{ 6541,98 },{ 302,27 }}, // Serbian/Cyrillic/Montenegro
+ { 100, 2, 257,{ 6380,70 },{ 6450,91 },{ 302,27 },{ 6380,70 },{ 6541,98 },{ 302,27 }}, // Serbian/Cyrillic/Kosovo
+ { 100, 7, 257,{ 6639,73 },{ 6712,95 },{ 302,27 },{ 6639,73 },{ 6807,98 },{ 302,27 }}, // Serbian/Latin/Kosovo
+ { 101, 2, 81,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Ossetic/Cyrillic/Georgia
+ { 101, 2, 178,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Ossetic/Cyrillic/Russia
+ { 102, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Southern Sotho/Latin/South Africa
+ { 103, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tswana/Latin/South Africa
+ { 104, 7, 240,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Shona/Latin/Zimbabwe
+ { 105, 1, 163,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sindhi/Arabic/Pakistan
+ { 106, 32, 198,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sinhala/Sinhala/Sri Lanka
+ { 107, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Swati/Latin/South Africa
+ { 108, 7, 191,{ 6905,79 },{ 6984,136 },{ 302,27 },{ 6905,79 },{ 6984,136 },{ 302,27 }}, // Slovak/Latin/Slovakia
+ { 109, 7, 192,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Slovenian/Latin/Slovenia
+ { 110, 7, 194,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Somali/Latin/Somalia
+ { 110, 7, 59,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Somali/Latin/Djibouti
+ { 110, 7, 69,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Somali/Latin/Ethiopia
+ { 110, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Somali/Latin/Kenya
+ { 111, 7, 197,{ 5120,79 },{ 7120,107 },{ 302,27 },{ 5120,79 },{ 7120,107 },{ 302,27 }}, // Spanish/Latin/Spain
+ { 111, 7, 10,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Argentina
+ { 111, 7, 22,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Belize
+ { 111, 7, 26,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Bolivia
+ { 111, 7, 30,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Brazil
+ { 111, 7, 43,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Chile
+ { 111, 7, 47,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Colombia
+ { 111, 7, 52,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Costa Rica
+ { 111, 7, 55,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Cuba
+ { 111, 7, 61,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Dominican Republic
+ { 111, 7, 63,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Ecuador
+ { 111, 7, 65,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/El Salvador
+ { 111, 7, 66,{ 5120,79 },{ 7120,107 },{ 302,27 },{ 5120,79 },{ 7120,107 },{ 302,27 }}, // Spanish/Latin/Equatorial Guinea
+ { 111, 7, 90,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Guatemala
+ { 111, 7, 96,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Honduras
+ { 111, 7, 139,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Mexico
+ { 111, 7, 155,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Nicaragua
+ { 111, 7, 166,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Panama
+ { 111, 7, 168,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Paraguay
+ { 111, 7, 169,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Peru
+ { 111, 7, 170,{ 5120,79 },{ 7120,107 },{ 302,27 },{ 5120,79 },{ 7120,107 },{ 302,27 }}, // Spanish/Latin/Philippines
+ { 111, 7, 174,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Puerto Rico
+ { 111, 7, 225,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/United States
+ { 111, 7, 227,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Uruguay
+ { 111, 7, 231,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Venezuela
+ { 111, 7, 238,{ 5120,79 },{ 7120,107 },{ 302,27 },{ 5120,79 },{ 7120,107 },{ 302,27 }}, // Spanish/Latin/Canary Islands
+ { 111, 7, 246,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Spanish/Latin/Latin America
+ { 111, 7, 250,{ 5120,79 },{ 7120,107 },{ 302,27 },{ 5120,79 },{ 7120,107 },{ 302,27 }}, // Spanish/Latin/Ceuta And Melilla
+ { 113, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Swahili/Latin/Tanzania
+ { 113, 7, 49,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Swahili/Latin/Congo Kinshasa
+ { 113, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Swahili/Latin/Kenya
+ { 113, 7, 221,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Swahili/Latin/Uganda
+ { 114, 7, 205,{ 223,79 },{ 7227,128 },{ 302,27 },{ 223,79 },{ 7355,128 },{ 302,27 }}, // Swedish/Latin/Sweden
+ { 114, 7, 73,{ 223,79 },{ 7227,128 },{ 302,27 },{ 223,79 },{ 7355,128 },{ 302,27 }}, // Swedish/Latin/Finland
+ { 114, 7, 248,{ 223,79 },{ 7227,128 },{ 302,27 },{ 223,79 },{ 7355,128 },{ 302,27 }}, // Swedish/Latin/Aland Islands
+ { 115, 7, 106,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sardinian/Latin/Italy
+ { 116, 2, 209,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tajik/Cyrillic/Tajikistan
+ { 117, 27, 100,{ 7483,73 },{ 7556,92 },{ 302,27 },{ 7483,73 },{ 7556,92 },{ 302,27 }}, // Tamil/Tamil/India
+ { 117, 27, 130,{ 7483,73 },{ 7556,92 },{ 302,27 },{ 7483,73 },{ 7556,92 },{ 302,27 }}, // Tamil/Tamil/Malaysia
+ { 117, 27, 190,{ 7483,73 },{ 7556,92 },{ 302,27 },{ 7483,73 },{ 7556,92 },{ 302,27 }}, // Tamil/Tamil/Singapore
+ { 117, 27, 198,{ 7483,73 },{ 7556,92 },{ 302,27 },{ 7483,73 },{ 7556,92 },{ 302,27 }}, // Tamil/Tamil/Sri Lanka
+ { 118, 2, 178,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tatar/Cyrillic/Russia
+ { 119, 28, 100,{ 7648,75 },{ 7723,96 },{ 302,27 },{ 7648,75 },{ 87,107 },{ 302,27 }}, // Telugu/Telugu/India
+ { 120, 30, 211,{ 7819,90 },{ 7909,103 },{ 302,27 },{ 7819,90 },{ 7909,103 },{ 302,27 }}, // Thai/Thai/Thailand
+ { 121, 31, 44,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tibetan/Tibetan/China
+ { 121, 31, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tibetan/Tibetan/India
+ { 122, 14, 69,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tigrinya/Ethiopic/Ethiopia
+ { 122, 14, 67,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tigrinya/Ethiopic/Eritrea
+ { 123, 7, 214,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tongan/Latin/Tonga
+ { 124, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tsonga/Latin/South Africa
+ { 125, 7, 217,{ 8012,84 },{ 8096,111 },{ 302,27 },{ 8012,84 },{ 8096,111 },{ 302,27 }}, // Turkish/Latin/Turkey
+ { 125, 7, 56,{ 8012,84 },{ 8096,111 },{ 302,27 },{ 8012,84 },{ 8096,111 },{ 302,27 }}, // Turkish/Latin/Cyprus
+ { 126, 7, 218,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Turkmen/Latin/Turkmenistan
+ { 128, 1, 44,{ 8207,119 },{ 8207,119 },{ 302,27 },{ 8207,119 },{ 8207,119 },{ 302,27 }}, // Uighur/Arabic/China
+ { 129, 2, 222,{ 8326,72 },{ 8398,104 },{ 302,27 },{ 8502,82 },{ 8398,104 },{ 302,27 }}, // Ukrainian/Cyrillic/Ukraine
+ { 130, 1, 163,{ 8584,99 },{ 8683,97 },{ 302,27 },{ 8584,99 },{ 8683,97 },{ 302,27 }}, // Urdu/Arabic/Pakistan
+ { 130, 1, 100,{ 8584,99 },{ 8683,97 },{ 302,27 },{ 8584,99 },{ 8683,97 },{ 302,27 }}, // Urdu/Arabic/India
+ { 131, 7, 228,{ 223,79 },{ 8780,123 },{ 302,27 },{ 223,79 },{ 8780,123 },{ 302,27 }}, // Uzbek/Latin/Uzbekistan
+ { 131, 1, 1,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Uzbek/Arabic/Afghanistan
+ { 131, 2, 228,{ 223,79 },{ 8903,115 },{ 302,27 },{ 223,79 },{ 8903,115 },{ 302,27 }}, // Uzbek/Cyrillic/Uzbekistan
+ { 132, 7, 232,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Vietnamese/Latin/Vietnam
+ { 133, 7, 260,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Volapuk/Latin/World
+ { 134, 7, 224,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Welsh/Latin/United Kingdom
+ { 135, 7, 187,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Wolof/Latin/Senegal
+ { 136, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Xhosa/Latin/South Africa
+ { 137, 18, 260,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Yiddish/Hebrew/World
+ { 138, 7, 157,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Yoruba/Latin/Nigeria
+ { 138, 7, 23,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Yoruba/Latin/Benin
+ { 140, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Zulu/Latin/South Africa
+ { 141, 7, 161,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Norwegian Nynorsk/Latin/Norway
+ { 142, 7, 27,{ 9018,75 },{ 9093,99 },{ 302,27 },{ 9018,75 },{ 9093,99 },{ 302,27 }}, // Bosnian/Latin/Bosnia And Herzegowina
+ { 142, 2, 27,{ 6380,70 },{ 6450,91 },{ 302,27 },{ 6380,70 },{ 6541,98 },{ 302,27 }}, // Bosnian/Cyrillic/Bosnia And Herzegowina
+ { 143, 29, 131,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Divehi/Thaana/Maldives
+ { 144, 7, 251,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Manx/Latin/Isle Of Man
+ { 145, 7, 224,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Cornish/Latin/United Kingdom
+ { 146, 7, 83,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Akan/Latin/Ghana
+ { 147, 13, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Konkani/Devanagari/India
+ { 148, 7, 83,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Ga/Latin/Ghana
+ { 149, 7, 157,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Igbo/Latin/Nigeria
+ { 150, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kamba/Latin/Kenya
+ { 151, 33, 103,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Syriac/Syriac/Iraq
+ { 152, 14, 67,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Blin/Ethiopic/Eritrea
+ { 153, 14, 69,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Geez/Ethiopic/Ethiopia
+ { 155, 7, 69,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sidamo/Latin/Ethiopia
+ { 156, 7, 157,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Atsam/Latin/Nigeria
+ { 157, 14, 67,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tigre/Ethiopic/Eritrea
+ { 158, 7, 157,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Jju/Latin/Nigeria
+ { 159, 7, 106,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Friulian/Latin/Italy
+ { 160, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Venda/Latin/South Africa
+ { 161, 7, 83,{ 9192,48 },{ 9240,87 },{ 302,27 },{ 9192,48 },{ 9240,87 },{ 302,27 }}, // Ewe/Latin/Ghana
+ { 161, 7, 212,{ 9192,48 },{ 9240,87 },{ 302,27 },{ 9192,48 },{ 9240,87 },{ 302,27 }}, // Ewe/Latin/Togo
+ { 162, 14, 69,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Walamo/Ethiopic/Ethiopia
+ { 163, 7, 225,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Hawaiian/Latin/United States
+ { 164, 7, 157,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tyap/Latin/Nigeria
+ { 165, 7, 129,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Nyanja/Latin/Malawi
+ { 166, 7, 170,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Filipino/Latin/Philippines
+ { 167, 7, 206,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Swiss German/Latin/Switzerland
+ { 167, 7, 74,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Swiss German/Latin/France
+ { 167, 7, 123,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Swiss German/Latin/Liechtenstein
+ { 168, 34, 44,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sichuan Yi/Yi/China
+ { 169, 7, 121,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kpelle/Latin/Liberia
+ { 170, 7, 82,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Low German/Latin/Germany
+ { 170, 7, 151,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Low German/Latin/Netherlands
+ { 171, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // South Ndebele/Latin/South Africa
+ { 172, 7, 195,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Northern Sotho/Latin/South Africa
+ { 173, 7, 161,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Northern Sami/Latin/Norway
+ { 173, 7, 73,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Northern Sami/Latin/Finland
+ { 173, 7, 205,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Northern Sami/Latin/Sweden
+ { 174, 7, 208,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Taroko/Latin/Taiwan
+ { 175, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Gusii/Latin/Kenya
+ { 176, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Taita/Latin/Kenya
+ { 177, 7, 187,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Senegal
+ { 177, 7, 34,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Burkina Faso
+ { 177, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Cameroon
+ { 177, 7, 80,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Gambia
+ { 177, 7, 83,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Ghana
+ { 177, 7, 91,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Guinea
+ { 177, 7, 92,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Guinea Bissau
+ { 177, 7, 121,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Liberia
+ { 177, 7, 136,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Mauritania
+ { 177, 7, 156,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Niger
+ { 177, 7, 157,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Nigeria
+ { 177, 7, 189,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Latin/Sierra Leone
+ { 177, 134, 91,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Fulah/Adlam/Guinea
+ { 178, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kikuyu/Latin/Kenya
+ { 179, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Samburu/Latin/Kenya
+ { 180, 7, 146,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sena/Latin/Mozambique
+ { 181, 7, 240,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // North Ndebele/Latin/Zimbabwe
+ { 182, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Rombo/Latin/Tanzania
+ { 183, 9, 145,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tachelhit/Tifinagh/Morocco
+ { 183, 7, 145,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tachelhit/Latin/Morocco
+ { 184, 7, 3,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kabyle/Latin/Algeria
+ { 185, 7, 221,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Nyankole/Latin/Uganda
+ { 186, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Bena/Latin/Tanzania
+ { 187, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Vunjo/Latin/Tanzania
+ { 188, 7, 132,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Bambara/Latin/Mali
+ { 188, 75, 132,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Bambara/Nko/Mali
+ { 189, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Embu/Latin/Kenya
+ { 190, 12, 225,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Cherokee/Cherokee/United States
+ { 191, 7, 137,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Morisyen/Latin/Mauritius
+ { 192, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Makonde/Latin/Tanzania
+ { 193, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Langi/Latin/Tanzania
+ { 194, 7, 221,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Ganda/Latin/Uganda
+ { 195, 7, 239,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Bemba/Latin/Zambia
+ { 196, 7, 39,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kabuverdianu/Latin/Cape Verde
+ { 197, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Meru/Latin/Kenya
+ { 198, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kalenjin/Latin/Kenya
+ { 199, 7, 148,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Nama/Latin/Namibia
+ { 200, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Machame/Latin/Tanzania
+ { 201, 7, 82,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Colognian/Latin/Germany
+ { 202, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Masai/Latin/Kenya
+ { 202, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Masai/Latin/Tanzania
+ { 203, 7, 221,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Soga/Latin/Uganda
+ { 204, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Luyia/Latin/Kenya
+ { 205, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Asu/Latin/Tanzania
+ { 206, 7, 221,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Teso/Latin/Uganda
+ { 206, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Teso/Latin/Kenya
+ { 207, 7, 67,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Saho/Latin/Eritrea
+ { 208, 7, 132,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Koyra Chiini/Latin/Mali
+ { 209, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Rwa/Latin/Tanzania
+ { 210, 7, 111,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Luo/Latin/Kenya
+ { 211, 7, 221,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Chiga/Latin/Uganda
+ { 212, 7, 145,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Central Morocco Tamazight/Latin/Morocco
+ { 213, 7, 132,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Koyraboro Senni/Latin/Mali
+ { 214, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Shambala/Latin/Tanzania
+ { 215, 13, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Bodo/Devanagari/India
+ { 218, 2, 178,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Chechen/Cyrillic/Russia
+ { 219, 2, 178,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Church/Cyrillic/Russia
+ { 220, 2, 178,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Chuvash/Cyrillic/Russia
+ { 230, 7, 49,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Luba Katanga/Latin/Congo Kinshasa
+ { 231, 7, 125,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Luxembourgish/Latin/Luxembourg
+ { 236, 7, 21,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Walloon/Latin/Belgium
+ { 237, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Aghem/Latin/Cameroon
+ { 238, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Basaa/Latin/Cameroon
+ { 239, 7, 156,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Zarma/Latin/Niger
+ { 240, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Duala/Latin/Cameroon
+ { 241, 7, 187,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Jola Fonyi/Latin/Senegal
+ { 242, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Ewondo/Latin/Cameroon
+ { 243, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Bafia/Latin/Cameroon
+ { 244, 7, 146,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Makhuwa Meetto/Latin/Mozambique
+ { 245, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Mundang/Latin/Cameroon
+ { 246, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kwasio/Latin/Cameroon
+ { 247, 7, 254,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Nuer/Latin/South Sudan
+ { 248, 2, 178,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sakha/Cyrillic/Russia
+ { 249, 7, 210,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sangu/Latin/Tanzania
+ { 251, 7, 156,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tasawaq/Latin/Niger
+ { 252, 35, 121,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Vai/Vai/Liberia
+ { 252, 7, 121,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Vai/Latin/Liberia
+ { 253, 7, 206,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Walser/Latin/Switzerland
+ { 254, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Yangben/Latin/Cameroon
+ { 256, 7, 197,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 9327,143 },{ 302,27 }}, // Asturian/Latin/Spain
+ { 257, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Ngomba/Latin/Cameroon
+ { 258, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kako/Latin/Cameroon
+ { 259, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Meta/Latin/Cameroon
+ { 260, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Ngiemboon/Latin/Cameroon
+ { 290, 11, 100,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Manipuri/Bengali/India
+ { 309, 100, 232,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Tai Dam/Tai Viet/Vietnam
+ { 312, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Akoose/Latin/Cameroon
+ { 313, 7, 225,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Lakota/Latin/United States
+ { 314, 9, 145,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Standard Moroccan Tamazight/Tifinagh/Morocco
+ { 315, 7, 43,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Mapuche/Latin/Chile
+ { 316, 1, 103,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Central Kurdish/Arabic/Iraq
+ { 316, 1, 102,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Central Kurdish/Arabic/Iran
+ { 317, 7, 82,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Lower Sorbian/Latin/Germany
+ { 318, 7, 82,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Upper Sorbian/Latin/Germany
+ { 319, 7, 37,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kenyang/Latin/Cameroon
+ { 320, 7, 38,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Mohawk/Latin/Canada
+ { 321, 75, 91,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Nko/Nko/Guinea
+ { 322, 7, 260,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Prussian/Latin/World
+ { 323, 7, 90,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Kiche/Latin/Guatemala
+ { 324, 7, 205,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Southern Sami/Latin/Sweden
+ { 325, 7, 205,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Lule Sami/Latin/Sweden
+ { 326, 7, 73,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Inari Sami/Latin/Finland
+ { 327, 7, 73,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Skolt Sami/Latin/Finland
+ { 328, 7, 13,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Warlpiri/Latin/Australia
+ { 346, 1, 102,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Mazanderani/Arabic/Iran
+ { 349, 1, 102,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Northern Luri/Arabic/Iran
+ { 349, 1, 103,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Northern Luri/Arabic/Iraq
+ { 357, 6, 97,{ 834,72 },{ 834,72 },{ 302,27 },{ 834,72 },{ 834,72 },{ 302,27 }}, // Cantonese/Traditional Han/Hong Kong
+ { 357, 5, 44,{ 9470,72 },{ 9470,72 },{ 302,27 },{ 9470,72 },{ 9470,72 },{ 302,27 }}, // Cantonese/Simplified Han/China
+ { 360, 7, 260,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Ido/Latin/World
+ { 361, 7, 260,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Lojban/Latin/World
+ { 362, 7, 106,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Sicilian/Latin/Italy
+ { 363, 1, 102,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Southern Kurdish/Arabic/Iran
+ { 364, 1, 163,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Western Balochi/Arabic/Pakistan
+ { 365, 7, 170,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Cebuano/Latin/Philippines
+ { 366, 2, 178,{ 223,79 },{ 87,107 },{ 302,27 },{ 223,79 },{ 87,107 },{ 302,27 }}, // Erzya/Cyrillic/Russia
+ { 0, 0, 0,{ 0,0},{ 0,0},{ 0,0},{ 0,0},{ 0,0},{ 0,0}}, // trailing zeros
+};
+
+static const ushort months_data[] = {
+0x4d, 0x75, 0x68, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62,
+0x2e, 0x20, 0x49, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b,
+0x52, 0x61, 0x6a, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x2e,
+0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x69, 0x2bb, 0x64, 0x61, 0x68, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d,
+0x48, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61,
+0x72, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x4a,
+0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61,
+0x6a, 0x61, 0x62, 0x3b, 0x53, 0x68, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b,
+0x53, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x69, 0x2bb, 0x64, 0x61, 0x68,
+0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x48, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x31, 0x3b, 0x32, 0x3b, 0x33, 0x3b,
+0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32,
+0x3b, 0x31, 0x33, 0x4d, 0x75, 0x68, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b,
+0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20,
+0x49, 0x49, 0x3b, 0x52, 0x61, 0x6a, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x68,
+0x61, 0x77, 0x2e, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x2e, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x48,
+0x2e, 0x3b, 0x31, 0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b,
+0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x1219, 0x1200, 0x1228, 0x121d, 0x3b, 0x1233, 0x1348, 0x122d, 0x3b, 0x1228, 0x1262,
+0x12d1, 0x120d, 0x20, 0x12a0, 0x12c8, 0x120d, 0x3b, 0x1228, 0x1262, 0x12d1, 0x120d, 0x20, 0x12a0, 0x12ba, 0x122d, 0x3b, 0x1300, 0x121b, 0x12f0, 0x120d,
+0x20, 0x12a0, 0x12c8, 0x120d, 0x3b, 0x1300, 0x121b, 0x12f0, 0x120d, 0x20, 0x12a0, 0x12ba, 0x122d, 0x3b, 0x1228, 0x1300, 0x1265, 0x3b, 0x123b, 0x12a5,
+0x1263, 0x1295, 0x3b, 0x1228, 0x1218, 0x12f3, 0x1295, 0x3b, 0x1238, 0x12cb, 0x120d, 0x3b, 0x12d9, 0x120d, 0x1242, 0x12f3, 0x1205, 0x3b, 0x12d9, 0x120d,
+0x1202, 0x1303, 0x1205, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x628, 0x64a, 0x639, 0x20, 0x627, 0x644,
+0x623, 0x648, 0x644, 0x3b, 0x631, 0x628, 0x64a, 0x639, 0x20, 0x627, 0x644, 0x622, 0x62e, 0x631, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x649,
+0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x649, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x649, 0x20, 0x627, 0x644, 0x622, 0x62e, 0x631, 0x629,
+0x3b, 0x631, 0x62c, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627,
+0x644, 0x3b, 0x630, 0x648, 0x20, 0x627, 0x644, 0x642, 0x639, 0x62f, 0x629, 0x3b, 0x630, 0x648, 0x20, 0x627, 0x644, 0x62d, 0x62c, 0x629,
+0x3b, 0x661, 0x3b, 0x662, 0x3b, 0x663, 0x3b, 0x664, 0x3b, 0x665, 0x3b, 0x666, 0x3b, 0x667, 0x3b, 0x668, 0x3b, 0x669, 0x3b, 0x661,
+0x660, 0x3b, 0x661, 0x661, 0x3b, 0x661, 0x662, 0x3b, 0x9ae, 0x9b9, 0x9b0, 0x9b0, 0x9ae, 0x3b, 0x9b8, 0x9ab, 0x9b0, 0x3b, 0x9b0, 0x9ac,
+0x9bf, 0x989, 0x9b2, 0x20, 0x986, 0x989, 0x9af, 0x9bc, 0x9be, 0x9b2, 0x3b, 0x9b0, 0x9ac, 0x9bf, 0x989, 0x9b8, 0x20, 0x9b8, 0x9be, 0x9a8,
+0x9bf, 0x3b, 0x99c, 0x9ae, 0x9be, 0x9a6, 0x9bf, 0x989, 0x9b2, 0x20, 0x986, 0x989, 0x9af, 0x9bc, 0x9be, 0x9b2, 0x3b, 0x99c, 0x9ae, 0x9be,
+0x9a6, 0x9bf, 0x989, 0x9b8, 0x20, 0x9b8, 0x9be, 0x9a8, 0x9bf, 0x3b, 0x9b0, 0x99c, 0x9ac, 0x3b, 0x9b6, 0x9be, 0x2018, 0x9ac, 0x9be, 0x9a8,
+0x3b, 0x9b0, 0x9ae, 0x99c, 0x9be, 0x9a8, 0x3b, 0x9b6, 0x9be, 0x993, 0x9af, 0x9bc, 0x9be, 0x9b2, 0x3b, 0x99c, 0x9cd, 0x9ac, 0x9bf, 0x9b2,
+0x995, 0x9a6, 0x3b, 0x99c, 0x9cd, 0x9ac, 0x9bf, 0x9b2, 0x9b9, 0x99c, 0x9cd, 0x99c, 0x3b, 0x9e7, 0x3b, 0x9e8, 0x3b, 0x9e9, 0x3b, 0x9ea,
+0x3b, 0x9eb, 0x3b, 0x9ec, 0x3b, 0x9ed, 0x3b, 0x9ee, 0x3b, 0x9ef, 0x3b, 0x9e7, 0x9e6, 0x3b, 0x9e7, 0x9e7, 0x3b, 0x9e7, 0x9e8, 0x3b,
+0x43c, 0x443, 0x445, 0x430, 0x440, 0x430, 0x43c, 0x3b, 0x441, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x440, 0x430, 0x431, 0x438, 0x2d, 0x31,
+0x3b, 0x440, 0x430, 0x431, 0x438, 0x2d, 0x32, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x430, 0x434, 0x430, 0x2d, 0x31, 0x3b, 0x434, 0x436,
+0x443, 0x43c, 0x430, 0x434, 0x430, 0x2d, 0x32, 0x3b, 0x440, 0x430, 0x434, 0x436, 0x430, 0x431, 0x3b, 0x448, 0x430, 0x431, 0x430, 0x43d,
+0x3b, 0x440, 0x430, 0x43c, 0x430, 0x437, 0x430, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x430, 0x43b, 0x3b, 0x414, 0x445, 0x443, 0x43b, 0x2d,
+0x41a, 0x430, 0x430, 0x434, 0x430, 0x3b, 0x414, 0x445, 0x443, 0x43b, 0x2d, 0x445, 0x438, 0x434, 0x436, 0x430, 0x3b, 0x31, 0x6708, 0x3b,
+0x32, 0x6708, 0x3b, 0x33, 0x6708, 0x3b, 0x34, 0x6708, 0x3b, 0x35, 0x6708, 0x3b, 0x36, 0x6708, 0x3b, 0x37, 0x6708, 0x3b, 0x38, 0x6708,
+0x3b, 0x39, 0x6708, 0x3b, 0x31, 0x30, 0x6708, 0x3b, 0x31, 0x31, 0x6708, 0x3b, 0x31, 0x32, 0x6708, 0x3b, 0x4e00, 0x6708, 0x3b, 0x4e8c,
+0x6708, 0x3b, 0x4e09, 0x6708, 0x3b, 0x56db, 0x6708, 0x3b, 0x4e94, 0x6708, 0x3b, 0x516d, 0x6708, 0x3b, 0x4e03, 0x6708, 0x3b, 0x516b, 0x6708, 0x3b,
+0x4e5d, 0x6708, 0x3b, 0x5341, 0x6708, 0x3b, 0x5341, 0x4e00, 0x6708, 0x3b, 0x5341, 0x4e8c, 0x6708, 0x3b, 0x7a46, 0x54c8, 0x862d, 0x59c6, 0x6708, 0x3b,
+0x8272, 0x6cd5, 0x723e, 0x6708, 0x3b, 0x8cf4, 0x6bd4, 0x6708, 0x20, 0x49, 0x3b, 0x8cf4, 0x6bd4, 0x6708, 0x20, 0x49, 0x49, 0x3b, 0x4e3b, 0x99ac,
+0x9054, 0x6708, 0x20, 0x49, 0x3b, 0x4e3b, 0x99ac, 0x9054, 0x6708, 0x20, 0x49, 0x49, 0x3b, 0x8cf4, 0x54f2, 0x535c, 0x6708, 0x3b, 0x820d, 0x723e,
+0x90a6, 0x6708, 0x3b, 0x8cf4, 0x8cb7, 0x4e39, 0x6708, 0x3b, 0x9583, 0x74e6, 0x9b6f, 0x6708, 0x3b, 0x90fd, 0x723e, 0x5580, 0x723e, 0x5fb7, 0x6708, 0x3b,
+0x90fd, 0x723e, 0x9ed1, 0x54f2, 0x6708, 0x3b, 0x31, 0x2e, 0x3b, 0x32, 0x2e, 0x3b, 0x33, 0x2e, 0x3b, 0x34, 0x2e, 0x3b, 0x35, 0x2e,
+0x3b, 0x36, 0x2e, 0x3b, 0x37, 0x2e, 0x3b, 0x38, 0x2e, 0x3b, 0x39, 0x2e, 0x3b, 0x31, 0x30, 0x2e, 0x3b, 0x31, 0x31, 0x2e,
+0x3b, 0x31, 0x32, 0x2e, 0x3b, 0x6d, 0x75, 0x68, 0x2e, 0x3b, 0x73, 0x61, 0x66, 0x2e, 0x3b, 0x72, 0x65, 0x62, 0x2e, 0x20,
+0x49, 0x3b, 0x72, 0x65, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x64, 0x17e,
+0x75, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x72, 0x65, 0x64, 0x2e, 0x3b, 0x161, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e,
+0x3b, 0x161, 0x61, 0x77, 0x2e, 0x3b, 0x7a, 0xfa, 0x20, 0x6c, 0x2d, 0x6b, 0x2e, 0x3b, 0x7a, 0xfa, 0x20, 0x6c, 0x2d, 0x68,
+0x2e, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x65, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x65, 0x62,
+0xed, 0x2019, 0x75, 0x20, 0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x72, 0x65, 0x62, 0xed, 0x2019, 0x75, 0x20, 0x73,
+0x2d, 0x73, 0xe1, 0x6e, 0xed, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0xe1, 0x64, 0xe1, 0x20, 0x61, 0x6c, 0x2d, 0xfa, 0x6c, 0xe1,
+0x3b, 0x64, 0x17e, 0x75, 0x6d, 0xe1, 0x64, 0xe1, 0x20, 0x61, 0x6c, 0x2d, 0xe1, 0x63, 0x68, 0x69, 0x72, 0x61, 0x3b, 0x72,
+0x65, 0x64, 0x17e, 0x65, 0x62, 0x3b, 0x161, 0x61, 0x2019, 0x62, 0xe1, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x64, 0xe1, 0x6e,
+0x3b, 0x161, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x7a, 0xfa, 0x20, 0x6c, 0x2d, 0x6b, 0x61, 0x2019, 0x64, 0x61, 0x3b, 0x7a,
+0xfa, 0x20, 0x6c, 0x2d, 0x68, 0x69, 0x64, 0x17e, 0x64, 0x17e, 0x61, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d,
+0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb,
+0x20, 0x49, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20,
+0x49, 0x49, 0x3b, 0x72, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x73, 0x68, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x61, 0x6d,
+0x61, 0x64, 0x61, 0x6e, 0x3b, 0x73, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51,
+0x69, 0x2bb, 0x64, 0x61, 0x68, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x48, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x4d,
+0x6f, 0x65, 0x68, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62,
+0x2e, 0x20, 0x49, 0x49, 0x3b, 0x4a, 0x6f, 0x65, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x4a, 0x6f, 0x65, 0x6d, 0x2e, 0x20, 0x49,
+0x49, 0x3b, 0x52, 0x61, 0x6a, 0x2e, 0x3b, 0x53, 0x6a, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x6a, 0x61,
+0x77, 0x2e, 0x3b, 0x44, 0x6f, 0x65, 0x20, 0x61, 0x6c, 0x20, 0x6b, 0x2e, 0x3b, 0x44, 0x6f, 0x65, 0x20, 0x61, 0x6c, 0x20,
+0x68, 0x2e, 0x3b, 0x4d, 0x6f, 0x65, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52,
+0x61, 0x62, 0x69, 0x2bb, 0x61, 0x20, 0x61, 0x6c, 0x20, 0x61, 0x77, 0x61, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x61,
+0x20, 0x61, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x69, 0x3b, 0x4a, 0x6f, 0x65, 0x6d, 0x61, 0x64, 0x2bb, 0x61, 0x6c, 0x20,
+0x61, 0x77, 0x61, 0x6c, 0x3b, 0x4a, 0x6f, 0x65, 0x6d, 0x61, 0x64, 0x2bb, 0x61, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x69,
+0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53, 0x6a, 0x61, 0x2bb, 0x61, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61,
+0x64, 0x61, 0x6e, 0x3b, 0x53, 0x6a, 0x61, 0x77, 0x61, 0x6c, 0x3b, 0x44, 0x6f, 0x65, 0x20, 0x61, 0x6c, 0x20, 0x6b, 0x61,
+0x2bb, 0x61, 0x62, 0x61, 0x3b, 0x44, 0x6f, 0x65, 0x20, 0x61, 0x6c, 0x20, 0x68, 0x69, 0x7a, 0x6a, 0x61, 0x3b, 0x6d, 0x75,
+0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61,
+0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x6b, 0x68,
+0x69, 0x72, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x75, 0x6c, 0x61, 0x3b, 0x64, 0x17e, 0x75,
+0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x61, 0x3b, 0x72, 0x61, 0x64, 0x17e, 0x61, 0x62,
+0x3b, 0x161, 0x61, 0x2019, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x161, 0x61, 0x77, 0x77,
+0x61, 0x6c, 0x3b, 0x64, 0x68, 0x75, 0x2d, 0x6c, 0x2d, 0x71, 0x61, 0x2019, 0x64, 0x61, 0x3b, 0x64, 0x68, 0x75, 0x2d, 0x6c,
+0x2d, 0x68, 0x69, 0x64, 0x64, 0x17e, 0x61, 0x3b, 0x6d, 0x6f, 0x75, 0x68, 0x2e, 0x3b, 0x73, 0x61, 0x66, 0x2e, 0x3b, 0x72,
+0x61, 0x62, 0x2e, 0x20, 0x61, 0x77, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x74, 0x68, 0x2e, 0x3b, 0x6a, 0x6f, 0x75,
+0x6d, 0x2e, 0x20, 0x6f, 0x75, 0x2e, 0x3b, 0x6a, 0x6f, 0x75, 0x6d, 0x2e, 0x20, 0x74, 0x68, 0x2e, 0x3b, 0x72, 0x61, 0x6a,
+0x2e, 0x3b, 0x63, 0x68, 0x61, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, 0x63, 0x68, 0x61, 0x77, 0x2e, 0x3b, 0x64,
+0x68, 0x6f, 0x75, 0x2e, 0x20, 0x71, 0x69, 0x2e, 0x3b, 0x64, 0x68, 0x6f, 0x75, 0x2e, 0x20, 0x68, 0x69, 0x2e, 0x3b, 0x6d,
+0x6f, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x61,
+0x20, 0x61, 0x6c, 0x20, 0x61, 0x77, 0x61, 0x6c, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x61, 0x20, 0x61, 0x74, 0x68, 0x2d, 0x74,
+0x68, 0x61, 0x6e, 0x69, 0x3b, 0x6a, 0x6f, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x61, 0x6c, 0x20, 0x6f, 0x75, 0x6c, 0x61,
+0x3b, 0x6a, 0x6f, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x61, 0x74, 0x68, 0x2d, 0x74, 0x68, 0x61, 0x6e, 0x69, 0x61, 0x3b,
+0x72, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x63, 0x68, 0x61, 0x61, 0x62, 0x61, 0x6e, 0x65, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x64,
+0x61, 0x6e, 0x3b, 0x63, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x6f, 0x75, 0x20, 0x61, 0x6c, 0x20, 0x71,
+0x69, 0x60, 0x64, 0x61, 0x3b, 0x64, 0x68, 0x6f, 0x75, 0x20, 0x61, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, 0x3b, 0x6d,
+0x6f, 0x75, 0x68, 0x2e, 0x3b, 0x73, 0x61, 0x66, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x61, 0x77, 0x2e, 0x3b, 0x72,
+0x61, 0x62, 0x2e, 0x20, 0x74, 0x68, 0x2e, 0x3b, 0x6a, 0x6f, 0x75, 0x6d, 0x2e, 0x20, 0x6f, 0x75, 0x6c, 0x2e, 0x3b, 0x6a,
+0x6f, 0x75, 0x6d, 0x2e, 0x20, 0x74, 0x68, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6a, 0x2e, 0x3b, 0x63, 0x68, 0x61, 0x61, 0x2e,
+0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, 0x63, 0x68, 0x61, 0x77, 0x2e, 0x3b, 0x64, 0x68, 0x6f, 0x75, 0x2e, 0x20, 0x71, 0x2e,
+0x3b, 0x64, 0x68, 0x6f, 0x75, 0x2e, 0x20, 0x68, 0x2e, 0x3b, 0x10db, 0x10e3, 0x10f0, 0x2e, 0x3b, 0x10e1, 0x10d0, 0x10e4, 0x2e, 0x3b,
+0x10e0, 0x10d0, 0x10d1, 0x2e, 0x20, 0x49, 0x3b, 0x10e0, 0x10d0, 0x10d1, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x10ef, 0x10e3, 0x10db, 0x2e, 0x20,
+0x49, 0x3b, 0x10ef, 0x10e3, 0x10db, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x10e0, 0x10d0, 0x10ef, 0x2e, 0x3b, 0x10e8, 0x10d0, 0x10d1, 0x2e, 0x3b,
+0x10e0, 0x10d0, 0x10db, 0x2e, 0x3b, 0x10e8, 0x10d0, 0x10d5, 0x2e, 0x3b, 0x10d6, 0x10e3, 0x10da, 0x2d, 0x10d9, 0x2e, 0x3b, 0x10d6, 0x10e3, 0x10da,
+0x2d, 0x10f0, 0x2e, 0x3b, 0x10db, 0x10e3, 0x10f0, 0x10d0, 0x10e0, 0x10d0, 0x10db, 0x10d8, 0x3b, 0x10e1, 0x10d0, 0x10e4, 0x10d0, 0x10e0, 0x10d8, 0x3b,
+0x10e0, 0x10d0, 0x10d1, 0x10d8, 0x20, 0x10e3, 0x10da, 0x2d, 0x10d0, 0x10d5, 0x10d0, 0x10da, 0x10d8, 0x3b, 0x10e0, 0x10d0, 0x10d1, 0x10d8, 0x20, 0x10e3,
+0x10da, 0x2d, 0x10d0, 0x10ee, 0x10d8, 0x10e0, 0x10d8, 0x3b, 0x10ef, 0x10e3, 0x10db, 0x10d0, 0x10d3, 0x10d0, 0x20, 0x10e3, 0x10da, 0x2d, 0x10d0, 0x10d5,
+0x10d0, 0x10da, 0x10d8, 0x3b, 0x10ef, 0x10e3, 0x10db, 0x10d0, 0x10d3, 0x10d0, 0x20, 0x10e3, 0x10da, 0x2d, 0x10d0, 0x10ee, 0x10d8, 0x10e0, 0x10d8, 0x3b,
+0x10e0, 0x10d0, 0x10ef, 0x10d0, 0x10d1, 0x10d8, 0x3b, 0x10e8, 0x10d0, 0x10d1, 0x10d0, 0x10dc, 0x10d8, 0x3b, 0x10e0, 0x10d0, 0x10db, 0x10d0, 0x10d3, 0x10d0,
+0x10dc, 0x10d8, 0x3b, 0x10e8, 0x10d0, 0x10d5, 0x10d0, 0x10da, 0x10d8, 0x3b, 0x10d6, 0x10e3, 0x10da, 0x2d, 0x10d9, 0x10d0, 0x10d0, 0x10d3, 0x10d0, 0x3b,
+0x10d6, 0x10e3, 0x10da, 0x2d, 0x10f0, 0x10d8, 0x10ef, 0x10d0, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61,
+0x66, 0x61, 0x72, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x49,
+0x3b, 0x44, 0x73, 0x63, 0x68, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x44, 0x73, 0x63, 0x68, 0x75, 0x6d, 0x61,
+0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, 0x64, 0x73, 0x63, 0x68, 0x61, 0x62, 0x3b, 0x53, 0x68, 0x61, 0x2bb, 0x62,
+0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x44,
+0x68, 0x75, 0x20, 0x6c, 0x2d, 0x71, 0x61, 0x2bf, 0x64, 0x61, 0x3b, 0x44, 0x68, 0x75, 0x20, 0x6c, 0x2d, 0x48, 0x69, 0x64,
+0x64, 0x73, 0x63, 0x68, 0x61, 0x3b, 0xaae, 0xac1, 0xab9, 0x2e, 0x3b, 0xab8, 0xaab, 0x2e, 0x3b, 0xab0, 0xaac, 0x2e, 0x49, 0x3b,
+0xab0, 0xaac, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0xa9c, 0xac1, 0xaae, 0x2e, 0x20, 0x49, 0x3b, 0xa9c, 0xac1, 0xaae, 0x2e, 0x20, 0x49,
+0x49, 0x3b, 0xab0, 0xabe, 0xa9c, 0x2e, 0x3b, 0xab6, 0xabe, 0x2e, 0x3b, 0xab0, 0xabe, 0xaae, 0x2e, 0x3b, 0xab6, 0xabe, 0xab5, 0x2e,
+0x3b, 0xaa7, 0xac1, 0x2bb, 0xab2, 0x2d, 0xa95, 0xacd, 0xaaf, 0xac1, 0x2e, 0x3b, 0xaa7, 0xac1, 0x2bb, 0xab2, 0x2d, 0xa8f, 0xa9a, 0x2e,
+0x3b, 0xaae, 0xac1, 0xab9, 0xab0, 0xacd, 0xab0, 0xaae, 0x3b, 0xab8, 0xaab, 0xab0, 0x3b, 0xab0, 0xabe, 0xaac, 0xac0, 0x2bb, 0x20, 0x49,
+0x3b, 0xab0, 0xabe, 0xaac, 0xac0, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0xa9c, 0xac1, 0xaae, 0xabe, 0xaa6, 0xabe, 0x20, 0x49, 0x3b, 0xa9c,
+0xac1, 0xaae, 0xabe, 0xaa6, 0xabe, 0x20, 0x49, 0x49, 0x3b, 0xab0, 0xa9c, 0xaac, 0x3b, 0xab6, 0xabe, 0x2bb, 0xaac, 0xabe, 0xaa8, 0x3b,
+0xab0, 0xaae, 0xaa6, 0xabe, 0xaa8, 0x3b, 0xab6, 0xabe, 0xab5, 0xacd, 0xab5, 0xab2, 0x3b, 0xaa7, 0xac1, 0x2bb, 0xab2, 0x2d, 0xa95, 0xacd,
+0xab5, 0xac0, 0x2bb, 0xaa1, 0xabe, 0xab9, 0x3b, 0xaa7, 0xac1, 0x2bb, 0xab2, 0x2d, 0xab9, 0xabf, 0xa9c, 0xacd, 0xa9c, 0xabe, 0xab9, 0x3b,
+0x5de, 0x5d5, 0x5d7, 0x5e8, 0x5dd, 0x3b, 0x5e6, 0x5e4, 0x5e8, 0x3b, 0x5e8, 0x5d1, 0x5d9, 0x5e2, 0x20, 0x5d0, 0x5f3, 0x3b, 0x5e8, 0x5d1,
+0x5d9, 0x5e2, 0x20, 0x5d1, 0x5f3, 0x3b, 0x5d2, 0x5f3, 0x5d5, 0x5de, 0x5d0, 0x5d3, 0x5d0, 0x20, 0x5d0, 0x5f3, 0x3b, 0x5d2, 0x5f3, 0x5d5,
+0x5de, 0x5d0, 0x5d3, 0x5d0, 0x20, 0x5d1, 0x5f3, 0x3b, 0x5e8, 0x5d2, 0x5f3, 0x5d1, 0x3b, 0x5e9, 0x5e2, 0x5d1, 0x5d0, 0x5df, 0x3b, 0x5e8,
+0x5de, 0x5d3, 0x5d0, 0x5df, 0x3b, 0x5e9, 0x5d5, 0x5d5, 0x5d0, 0x5dc, 0x3b, 0x5d3, 0x5f3, 0x5d5, 0x20, 0x5d0, 0x5dc, 0x5be, 0x5e7, 0x5e2,
+0x5d3, 0x5d4, 0x3b, 0x5d3, 0x5f3, 0x5d5, 0x20, 0x5d0, 0x5dc, 0x5be, 0x5d7, 0x5d9, 0x5d2, 0x5f3, 0x5d4, 0x3b, 0x5de, 0x5d5, 0x5d7, 0x5e8,
+0x5dd, 0x3b, 0x5e6, 0x5e4, 0x5e8, 0x3b, 0x5e8, 0x5d1, 0x5d9, 0x5e2, 0x20, 0x5d0, 0x5dc, 0x5be, 0x5d0, 0x5d5, 0x5d5, 0x5dc, 0x3b, 0x5e8,
+0x5d1, 0x5d9, 0x5e2, 0x20, 0x5d0, 0x5be, 0x5ea, 0x5f3, 0x5d0, 0x5e0, 0x5d9, 0x3b, 0x5d2, 0x5f3, 0x5d5, 0x5de, 0x5d0, 0x5d3, 0x5d0, 0x20,
+0x5d0, 0x5dc, 0x5be, 0x5d0, 0x5d5, 0x5dc, 0x5d0, 0x3b, 0x5d2, 0x5f3, 0x5d5, 0x5de, 0x5d0, 0x5d3, 0x5d0, 0x20, 0x5d0, 0x5be, 0x5ea, 0x5f3,
+0x5d0, 0x5e0, 0x5d9, 0x5d4, 0x3b, 0x5e8, 0x5d2, 0x5f3, 0x5d1, 0x3b, 0x5e9, 0x5e2, 0x5d1, 0x5d0, 0x5df, 0x3b, 0x5e8, 0x5de, 0x5d3, 0x5d0,
+0x5df, 0x3b, 0x5e9, 0x5d5, 0x5d5, 0x5d0, 0x5dc, 0x3b, 0x5d3, 0x5f3, 0x5d5, 0x20, 0x5d0, 0x5dc, 0x5be, 0x5e7, 0x5e2, 0x5d3, 0x5d4, 0x3b,
+0x5d3, 0x5f3, 0x5d5, 0x20, 0x5d0, 0x5dc, 0x5be, 0x5d7, 0x5d9, 0x5d2, 0x5f3, 0x5d4, 0x3b, 0x5de, 0x5d5, 0x5d7, 0x5e8, 0x5dd, 0x3b, 0x5e6,
+0x5e4, 0x5e8, 0x3b, 0x5e8, 0x5d1, 0x5d9, 0x5e2, 0x20, 0x5d0, 0x5dc, 0x2d, 0x5d0, 0x5d5, 0x5d5, 0x5dc, 0x3b, 0x5e8, 0x5d1, 0x5d9, 0x5e2,
+0x20, 0x5d0, 0x2d, 0x5ea, 0x5f3, 0x5d0, 0x5e0, 0x5d9, 0x3b, 0x5d2, 0x5f3, 0x5d5, 0x5de, 0x5d0, 0x5d3, 0x5d0, 0x20, 0x5d0, 0x5dc, 0x2d,
+0x5d0, 0x5d5, 0x5dc, 0x5d0, 0x3b, 0x5d2, 0x5f3, 0x5d5, 0x5de, 0x5d0, 0x5d3, 0x5d0, 0x20, 0x5d0, 0x2d, 0x5ea, 0x5f3, 0x5d0, 0x5e0, 0x5d9,
+0x5d4, 0x3b, 0x5e8, 0x5d2, 0x5f3, 0x5d1, 0x3b, 0x5e9, 0x5e2, 0x5d1, 0x5d0, 0x5df, 0x3b, 0x5e8, 0x5de, 0x5d3, 0x5d0, 0x5df, 0x3b, 0x5e9,
+0x5d5, 0x5d5, 0x5d0, 0x5dc, 0x3b, 0x5d3, 0x5f3, 0x5d5, 0x20, 0x5d0, 0x5dc, 0x5be, 0x5e7, 0x5e2, 0x5d3, 0x5d4, 0x3b, 0x5d3, 0x5f3, 0x5d5,
+0x20, 0x5d0, 0x5dc, 0x5be, 0x5d7, 0x5d9, 0x5d2, 0x5f3, 0x5d4, 0x3b, 0x92e, 0x941, 0x939, 0x930, 0x94d, 0x930, 0x92e, 0x3b, 0x938, 0x92b,
+0x930, 0x3b, 0x930, 0x93e, 0x92c, 0x940, 0x20, 0x92a, 0x94d, 0x930, 0x925, 0x92e, 0x3b, 0x930, 0x93e, 0x92c, 0x940, 0x20, 0x926, 0x94d,
+0x935, 0x93f, 0x924, 0x940, 0x92f, 0x3b, 0x91c, 0x941, 0x92e, 0x94d, 0x921, 0x93e, 0x20, 0x92a, 0x94d, 0x930, 0x925, 0x92e, 0x3b, 0x91c,
+0x941, 0x92e, 0x94d, 0x921, 0x93e, 0x20, 0x926, 0x94d, 0x935, 0x93f, 0x924, 0x940, 0x92f, 0x3b, 0x930, 0x91c, 0x92c, 0x3b, 0x936, 0x93e,
+0x935, 0x928, 0x3b, 0x930, 0x92e, 0x91c, 0x93e, 0x928, 0x3b, 0x936, 0x935, 0x94d, 0x935, 0x94d, 0x932, 0x3b, 0x91c, 0x93f, 0x932, 0x2d,
+0x915, 0x94d, 0x926, 0x93e, 0x939, 0x3b, 0x91c, 0x93f, 0x932, 0x94d, 0x2d, 0x939, 0x93f, 0x91c, 0x94d, 0x91c, 0x93e, 0x939, 0x3b, 0x4d,
+0x6f, 0x68, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0xe9, 0x62, 0x2e, 0x20, 0x31, 0x3b, 0x52, 0xe9, 0x62, 0x2e,
+0x20, 0x32, 0x3b, 0x44, 0x73, 0x65, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x44, 0x73, 0x65, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b,
+0x52, 0x65, 0x64, 0x2e, 0x3b, 0x53, 0x61, 0x62, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x65, 0x76, 0x2e, 0x3b,
+0x44, 0x73, 0xfc, 0x6c, 0x20, 0x6b, 0x2e, 0x3b, 0x44, 0x73, 0xfc, 0x6c, 0x20, 0x68, 0x2e, 0x3b, 0x4d, 0x6f, 0x68, 0x61,
+0x72, 0x72, 0x65, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0xe9, 0x62, 0x69, 0x20, 0x49, 0x3b, 0x52, 0xe9,
+0x62, 0x69, 0x20, 0x49, 0x49, 0x3b, 0x44, 0x73, 0x65, 0x6d, 0xe1, 0x64, 0x69, 0x20, 0x49, 0x3b, 0x44, 0x73, 0x65, 0x6d,
+0xe1, 0x64, 0x69, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x65, 0x64, 0x73, 0x65, 0x62, 0x3b, 0x53, 0x61, 0x62, 0xe1, 0x6e, 0x3b,
+0x52, 0x61, 0x6d, 0x61, 0x64, 0xe1, 0x6e, 0x3b, 0x53, 0x65, 0x76, 0x76, 0xe1, 0x6c, 0x3b, 0x44, 0x73, 0xfc, 0x6c, 0x20,
+0x6b, 0x61, 0x64, 0x65, 0x3b, 0x44, 0x73, 0xfc, 0x6c, 0x20, 0x68, 0x65, 0x64, 0x73, 0x65, 0x3b, 0x4d, 0x6f, 0x68, 0x61,
+0x72, 0x72, 0x65, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0xe9, 0x62, 0x69, 0x20, 0x65, 0x6c, 0x20, 0x61,
+0x76, 0x76, 0x65, 0x6c, 0x3b, 0x52, 0xe9, 0x62, 0x69, 0x20, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x68, 0x65, 0x72, 0x3b,
+0x44, 0x73, 0x65, 0x6d, 0xe1, 0x64, 0x69, 0x20, 0x65, 0x6c, 0x20, 0x61, 0x76, 0x76, 0x65, 0x6c, 0x3b, 0x44, 0x73, 0x65,
+0x6d, 0xe1, 0x64, 0x69, 0x20, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x68, 0x65, 0x72, 0x3b, 0x52, 0x65, 0x64, 0x73, 0x65,
+0x62, 0x3b, 0x53, 0x61, 0x62, 0xe1, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0xe1, 0x6e, 0x3b, 0x53, 0x65, 0x76, 0x76,
+0xe1, 0x6c, 0x3b, 0x44, 0x73, 0xfc, 0x6c, 0x20, 0x6b, 0x61, 0x64, 0x65, 0x3b, 0x44, 0x73, 0xfc, 0x6c, 0x20, 0x68, 0x65,
+0x64, 0x73, 0x65, 0x3b, 0x6d, 0x75, 0x68, 0x2e, 0x3b, 0x73, 0x61, 0x66, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x49,
+0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x2e,
+0x20, 0x49, 0x49, 0x3b, 0x72, 0x61, 0x6a, 0x2e, 0x3b, 0x73, 0x68, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, 0x73,
+0x68, 0x61, 0x77, 0x2e, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x2e, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d,
+0x48, 0x2e, 0x3b, 0x4d, 0x75, 0x68, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b,
+0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20,
+0x49, 0x49, 0x3b, 0x52, 0x61, 0x6a, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x79,
+0x61, 0x77, 0x2e, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x2e, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x48,
+0x2e, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0x61, 0x62,
+0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61,
+0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53,
+0x79, 0x61, 0x2019, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x68, 0x61, 0x6e, 0x3b, 0x53, 0x79, 0x61, 0x77,
+0x61, 0x6c, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x69, 0x2bb, 0x64, 0x61, 0x68, 0x3b, 0x44, 0x68, 0x75, 0x2bb,
+0x6c, 0x2d, 0x48, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x30e0, 0x30cf, 0x30c3, 0x30e9, 0x30e0, 0x3b, 0x30b5, 0x30d5, 0x30a2, 0x30eb, 0x3b,
+0x30e9, 0x30d3, 0x30fc, 0x30fb, 0x30a6, 0x30eb, 0x30fb, 0x30a2, 0x30a6, 0x30ef, 0x30eb, 0x3b, 0x30e9, 0x30d3, 0x30fc, 0x30fb, 0x30a6, 0x30c3, 0x30fb, 0x30b5,
+0x30fc, 0x30cb, 0x30fc, 0x3b, 0x30b8, 0x30e5, 0x30de, 0x30fc, 0x30c0, 0x30eb, 0x30fb, 0x30a2, 0x30a6, 0x30ef, 0x30eb, 0x3b, 0x30b8, 0x30e5, 0x30de, 0x30fc,
+0x30c0, 0x30c3, 0x30b5, 0x30fc, 0x30cb, 0x30fc, 0x3b, 0x30e9, 0x30b8, 0x30e3, 0x30d6, 0x3b, 0x30b7, 0x30e3, 0x30a2, 0x30d0, 0x30fc, 0x30f3, 0x3b, 0x30e9,
+0x30de, 0x30c0, 0x30fc, 0x30f3, 0x3b, 0x30b7, 0x30e3, 0x30a6, 0x30ef, 0x30fc, 0x30eb, 0x3b, 0x30ba, 0x30eb, 0x30fb, 0x30ab, 0x30a4, 0x30c0, 0x3b, 0x30ba,
+0x30eb, 0x30fb, 0x30d2, 0x30c3, 0x30b8, 0x30e3, 0x3b, 0xcae, 0xcc1, 0xcb9, 0xccd, 0x2e, 0x3b, 0xcb8, 0xcab, 0xcbe, 0x2e, 0x3b, 0xcb0, 0xcac,
+0xcbf, 0x2018, 0x20, 0x49, 0x3b, 0xcb0, 0xcac, 0xcbf, 0x2018, 0x20, 0x49, 0x49, 0x3b, 0xc9c, 0xcc1, 0xcae, 0xccd, 0x2e, 0x20, 0x49,
+0x3b, 0xc9c, 0xcc1, 0xcae, 0xccd, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0xcb0, 0xc9c, 0xccd, 0x2e, 0x3b, 0xcb6, 0x2e, 0x3b, 0xcb0, 0xcae,
+0xccd, 0x2e, 0x3b, 0xcb6, 0xcb5, 0xccd, 0x2e, 0x3b, 0xca7, 0xcc1, 0x2018, 0xcb2, 0xccd, 0x2d, 0xc95, 0xcbf, 0x2e, 0x3b, 0xca7, 0xcc1,
+0x2018, 0xcb2, 0xccd, 0x2d, 0xcb9, 0x2e, 0x3b, 0xcae, 0xcc1, 0xcb9, 0xcb0, 0xcae, 0xccd, 0x3b, 0xcb8, 0xcab, 0xcbe, 0xcb0, 0xccd, 0x3b,
+0xcb0, 0xcac, 0xcbf, 0x2018, 0x20, 0x49, 0x3b, 0xcb0, 0xcac, 0xcbf, 0x2018, 0x20, 0x49, 0x49, 0x3b, 0xc9c, 0xcc1, 0xcae, 0xcbe, 0xca6,
+0xcbe, 0x20, 0x49, 0x3b, 0xc9c, 0xcc1, 0xcae, 0xcbe, 0xca6, 0xcbe, 0x20, 0x49, 0x49, 0x3b, 0xcb0, 0xc9c, 0xcac, 0xccd, 0x3b, 0xcb6,
+0x2019, 0xcac, 0xcbe, 0xca8, 0xccd, 0x3b, 0xcb0, 0xcae, 0xca6, 0xcbe, 0xca8, 0xccd, 0x3b, 0xcb6, 0xcb5, 0xccd, 0xcb5, 0xcbe, 0xcb2, 0xccd,
+0x3b, 0xca7, 0xcc1, 0x2018, 0xcb2, 0xccd, 0x2d, 0xc95, 0xcbf, 0x2018, 0xca1, 0xcbe, 0xcb9, 0xccd, 0x3b, 0xca7, 0xcc1, 0x2018, 0xcb2, 0xccd,
+0x2d, 0xcb9, 0xcbf, 0xc9c, 0xcbe, 0xcb9, 0xccd, 0x3b, 0xbb34, 0xd558, 0xb78c, 0x3b, 0xc0ac, 0xd30c, 0xb974, 0x3b, 0xb77c, 0xbe44, 0x20, 0xc54c,
+0x20, 0xc544, 0xc648, 0x3b, 0xb77c, 0xbe44, 0x20, 0xc54c, 0x20, 0xc384, 0xb2c8, 0x3b, 0xc8fc, 0xb9c8, 0xb2e4, 0x20, 0xc54c, 0x20, 0xc544, 0xc648,
+0x3b, 0xc8fc, 0xb9c8, 0xb2e4, 0x20, 0xc54c, 0x20, 0xc384, 0xb2c8, 0x3b, 0xb77c, 0xc7a1, 0x3b, 0xc250, 0xc544, 0xbc18, 0x3b, 0xb77c, 0xb9c8, 0xb2e8,
+0x3b, 0xc250, 0xc648, 0x3b, 0xb4c0, 0x20, 0xc54c, 0x20, 0xae4c, 0xb2e4, 0x3b, 0xb4c0, 0x20, 0xc54c, 0x20, 0xd788, 0xc790, 0x3b, 0x6d, 0x75,
+0x1e96, 0x65, 0x72, 0x65, 0x6d, 0x3b, 0x73, 0x65, 0x66, 0x65, 0x72, 0x3b, 0x72, 0x65, 0x62, 0xee, 0x2bf, 0x75, 0x6c, 0x65,
+0x77, 0x65, 0x6c, 0x3b, 0x72, 0x65, 0x62, 0xee, 0x2bf, 0x75, 0x6c, 0x61, 0x78, 0x65, 0x72, 0x3b, 0x63, 0x65, 0x6d, 0x61,
+0x7a, 0xee, 0x79, 0x65, 0x6c, 0x65, 0x77, 0x65, 0x6c, 0x3b, 0x63, 0x65, 0x6d, 0x61, 0x7a, 0xee, 0x79, 0x65, 0x6c, 0x61,
+0x78, 0x65, 0x72, 0x3b, 0x72, 0x65, 0x63, 0x65, 0x62, 0x3b, 0x15f, 0x65, 0x2bf, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x65, 0x6d,
+0x65, 0x7a, 0x61, 0x6e, 0x3b, 0x15f, 0x65, 0x77, 0x61, 0x6c, 0x3b, 0x7a, 0xee, 0x6c, 0x71, 0x65, 0x2bf, 0x64, 0x65, 0x3b,
+0x7a, 0xee, 0x6c, 0x1e96, 0x65, 0x63, 0x65, 0x3b, 0xea1, 0xeb8, 0xeae, 0xeb1, 0xe94, 0x3b, 0xec0, 0xe84, 0xeb2, 0xeb0, 0x3b, 0xeae,
+0xead, 0xe81, 0xe9a, 0xeb5, 0x20, 0x31, 0x3b, 0xeae, 0xead, 0xe81, 0xe9a, 0xeb5, 0x20, 0x32, 0x3b, 0xe99, 0xeb8, 0xea1, 0xeb2, 0x20,
+0x31, 0x3b, 0xe99, 0xeb8, 0xea1, 0xeb2, 0x20, 0x32, 0x3b, 0xec0, 0xeae, 0xeb2, 0xeb0, 0x3b, 0xe8a, 0xeb2, 0x3b, 0xec0, 0xeae, 0xeb2,
+0xeb0, 0xea1, 0xeb0, 0x3b, 0xec0, 0xe8a, 0xebb, 0xeb2, 0x3b, 0xe8a, 0xeb8, 0xea5, 0xe81, 0xeb4, 0xead, 0xeb8, 0x3b, 0xe8a, 0xeb8, 0xea5,
+0xeab, 0xeb4, 0xe88, 0x3b, 0xea1, 0xeb8, 0xea3, 0xeb0, 0xeae, 0xead, 0xea1, 0x3b, 0xe8a, 0xeb2, 0xe9f, 0xeb2, 0xea3, 0x3b, 0xeae, 0xead,
+0xe94, 0xe9a, 0xeb5, 0x20, 0x31, 0x3b, 0xeae, 0xead, 0xe94, 0xe9a, 0xeb5, 0x20, 0x32, 0x3b, 0xe88, 0xeb8, 0xea1, 0xeb2, 0xe94, 0xeb2,
+0x20, 0x31, 0x3b, 0xe88, 0xeb8, 0xea1, 0xeb2, 0xe94, 0xeb2, 0x20, 0x32, 0x3b, 0xeae, 0xeb2, 0xe88, 0xeb1, 0xe9a, 0x3b, 0xe8a, 0xeb0,
+0xe9a, 0xeb2, 0xe99, 0x3b, 0xeae, 0xeb2, 0xea1, 0xeb2, 0xe94, 0xead, 0xe99, 0x3b, 0xec0, 0xe8a, 0xebb, 0xeb2, 0xea7, 0xeb1, 0xe94, 0x3b,
+0xe94, 0xeb8, 0xead, 0xeb1, 0xe94, 0xe81, 0xeb4, 0xe94, 0xeb0, 0x3b, 0xe94, 0xeb8, 0xead, 0xeb1, 0xe94, 0xe81, 0xeb4, 0xe88, 0xeb0, 0x3b,
+0xea1, 0xeb8, 0xeae, 0xeb1, 0xe94, 0x3b, 0xec0, 0xe84, 0xeb2, 0xeb0, 0x3b, 0xeae, 0xead, 0xe94, 0xe9a, 0xeb5, 0x20, 0x31, 0x3b, 0xeae,
+0xead, 0xe81, 0xe9a, 0xeb5, 0x20, 0x32, 0x3b, 0xe99, 0xeb8, 0xea1, 0xeb2, 0x20, 0x31, 0x3b, 0xe99, 0xeb8, 0xea1, 0xeb2, 0x20, 0x32,
+0x3b, 0xec0, 0xeae, 0xeb2, 0xeb0, 0x3b, 0xe8a, 0xeb0, 0xead, 0xecc, 0x3b, 0xec0, 0xeae, 0xeb2, 0xeb0, 0xea1, 0xeb0, 0x3b, 0xec0, 0xe8a,
+0xebb, 0xeb2, 0x3b, 0xe8a, 0xeb8, 0xea5, 0xe81, 0xeb4, 0xead, 0xeb8, 0x3b, 0xe8a, 0xeb8, 0xea5, 0xeab, 0xeb4, 0xe88, 0x3b, 0x6d, 0x75,
+0x68, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x73, 0x3b, 0x31, 0x2e, 0x20, 0x72, 0x61, 0x62,
+0x12b, 0x3b, 0x32, 0x2e, 0x20, 0x72, 0x61, 0x62, 0x12b, 0x3b, 0x31, 0x2e, 0x20, 0x64, 0x17e, 0x75, 0x6d, 0x101, 0x64, 0x101,
+0x3b, 0x32, 0x2e, 0x20, 0x64, 0x17e, 0x75, 0x6d, 0x101, 0x64, 0x101, 0x3b, 0x72, 0x61, 0x64, 0x17e, 0x61, 0x62, 0x73, 0x3b,
+0x161, 0x61, 0x62, 0x61, 0x6e, 0x73, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x64, 0x101, 0x6e, 0x73, 0x3b, 0x161, 0x61, 0x75, 0x76,
+0x61, 0x6c, 0x73, 0x3b, 0x64, 0x75, 0x20, 0x61, 0x6c, 0x2d, 0x6b, 0x69, 0x64, 0x101, 0x3b, 0x64, 0x75, 0x20, 0x61, 0x6c,
+0x2d, 0x68, 0x69, 0x64, 0x17e, 0x101, 0x3b, 0x43c, 0x443, 0x445, 0x2e, 0x3b, 0x441, 0x430, 0x444, 0x2e, 0x3b, 0x440, 0x430, 0x431,
+0x2e, 0x20, 0x49, 0x3b, 0x440, 0x430, 0x431, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x45f, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x3b, 0x45f,
+0x443, 0x43c, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x45f, 0x2e, 0x3b, 0x448, 0x430, 0x431, 0x2e, 0x3b, 0x440, 0x430, 0x43c,
+0x2e, 0x3b, 0x448, 0x430, 0x432, 0x2e, 0x3b, 0x434, 0x443, 0x43b, 0x43a, 0x2e, 0x3b, 0x434, 0x443, 0x43b, 0x445, 0x2e, 0x3b, 0x43c,
+0x443, 0x445, 0x430, 0x440, 0x435, 0x43c, 0x3b, 0x441, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x440, 0x430, 0x431, 0x438, 0x20, 0x49, 0x3b,
+0x440, 0x430, 0x431, 0x438, 0x20, 0x49, 0x49, 0x3b, 0x45f, 0x443, 0x43c, 0x430, 0x434, 0x430, 0x20, 0x49, 0x3b, 0x45f, 0x443, 0x43c,
+0x430, 0x434, 0x430, 0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x45f, 0x430, 0x431, 0x3b, 0x448, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x440,
+0x430, 0x43c, 0x430, 0x434, 0x430, 0x43d, 0x3b, 0x448, 0x430, 0x432, 0x430, 0x43b, 0x3b, 0x434, 0x443, 0x43b, 0x43a, 0x438, 0x434, 0x430,
+0x3b, 0x434, 0x443, 0x43b, 0x445, 0x438, 0x45f, 0x430, 0x3b, 0xd2e, 0xd41, 0xd39, 0x2e, 0x3b, 0xd38, 0xd2b, 0x2e, 0x3b, 0xd31, 0xd2c,
+0xd40, 0xd39, 0xd41, 0xd7d, 0x20, 0xd05, 0xd35, 0xd4d, 0xd35, 0x2e, 0x3b, 0xd31, 0xd2c, 0xd40, 0xd39, 0xd41, 0xd7d, 0x20, 0xd06, 0xd16,
+0xd3f, 0x2e, 0x3b, 0xd1c, 0xd2e, 0xd3e, 0xd26, 0xd41, 0xd7d, 0x20, 0xd05, 0xd35, 0xd4d, 0xd35, 0x2e, 0x3b, 0xd1c, 0xd2e, 0xd3e, 0xd26,
+0xd41, 0xd7d, 0x20, 0xd06, 0xd16, 0xd3f, 0x2e, 0x3b, 0xd31, 0xd1c, 0x2e, 0x3b, 0xd36, 0xd39, 0xd2c, 0xd3e, 0x2e, 0x3b, 0xd31, 0xd2e,
+0xd26, 0xd3e, 0x2e, 0x3b, 0xd36, 0xd35, 0xd4d, 0xd35, 0xd3e, 0x2e, 0x3b, 0xd26, 0xd41, 0xd7d, 0x20, 0xd16, 0xd39, 0x2e, 0x3b, 0xd26,
+0xd41, 0xd7d, 0x20, 0xd39, 0xd3f, 0x2e, 0x3b, 0xd2e, 0xd41, 0xd39, 0xd31, 0xd02, 0x3b, 0xd38, 0xd2b, 0xd7c, 0x3b, 0xd31, 0xd2c, 0xd40,
+0xd39, 0xd41, 0xd7d, 0x20, 0xd05, 0xd35, 0xd4d, 0xd35, 0xd7d, 0x3b, 0xd31, 0xd2c, 0xd40, 0xd39, 0xd41, 0xd7d, 0x20, 0xd06, 0xd16, 0xd3f,
+0xd7c, 0x3b, 0xd1c, 0xd2e, 0xd3e, 0xd26, 0xd41, 0xd7d, 0x20, 0xd05, 0xd35, 0xd4d, 0xd35, 0xd7d, 0x3b, 0xd1c, 0xd2e, 0xd3e, 0xd26, 0xd41,
+0xd7d, 0x20, 0xd06, 0xd16, 0xd3f, 0xd7c, 0x3b, 0xd31, 0xd1c, 0xd2c, 0xd4d, 0x3b, 0xd36, 0xd39, 0xd2c, 0xd3e, 0xd7b, 0x3b, 0xd31, 0xd2e,
+0xd26, 0xd3e, 0xd7b, 0x3b, 0xd36, 0xd35, 0xd4d, 0xd35, 0xd3e, 0xd7d, 0x3b, 0xd26, 0xd41, 0xd7d, 0x20, 0xd16, 0xd39, 0xd26, 0xd4d, 0x3b,
+0xd26, 0xd41, 0xd7d, 0x20, 0xd39, 0xd3f, 0xd1c, 0xd4d, 0xd1c, 0x3b, 0xd2e, 0xd41, 0x3b, 0xd38, 0x3b, 0xd31, 0x3b, 0xd31, 0x3b, 0xd1c,
+0x3b, 0xd1c, 0x3b, 0xd31, 0x3b, 0xd36, 0x3b, 0xd31, 0x3b, 0xd36, 0x3b, 0xd26, 0xd41, 0x3b, 0xd26, 0xd41, 0x3b, 0xd2e, 0xd41, 0xd39,
+0xd31, 0xd02, 0x3b, 0xd38, 0xd2b, 0xd7c, 0x3b, 0xd31, 0xd2c, 0xd40, 0xd39, 0xd41, 0xd7d, 0x20, 0xd05, 0xd35, 0xd4d, 0xd35, 0xd7d, 0x3b,
+0xd31, 0xd2c, 0xd40, 0xd39, 0xd41, 0xd7d, 0x20, 0xd06, 0xd16, 0xd3f, 0xd7c, 0x3b, 0xd1c, 0xd2e, 0xd3e, 0xd26, 0xd41, 0xd7d, 0x20, 0xd05,
+0xd35, 0xd4d, 0xd35, 0xd7d, 0x3b, 0xd1c, 0xd2e, 0xd3e, 0xd26, 0xd41, 0xd7d, 0x20, 0xd06, 0xd16, 0xd3f, 0xd7c, 0x3b, 0xd31, 0xd1c, 0xd2c,
+0xd4d, 0x3b, 0xd36, 0xd39, 0xd2c, 0xd3e, 0xd7b, 0x3b, 0xd31, 0xd2e, 0xd33, 0xd3e, 0xd7b, 0x3b, 0xd36, 0xd35, 0xd4d, 0xd35, 0xd3e, 0xd7d,
+0x3b, 0xd26, 0xd41, 0xd7d, 0x20, 0xd16, 0xd39, 0xd26, 0xd4d, 0x3b, 0xd26, 0xd41, 0xd7d, 0x20, 0xd39, 0xd3f, 0xd1c, 0xd4d, 0xd1c, 0x3b,
+0x92e, 0x94b, 0x939, 0x2e, 0x3b, 0x938, 0x92b, 0x2e, 0x3b, 0x930, 0x93e, 0x92c, 0x940, 0x20, 0x49, 0x3b, 0x930, 0x93e, 0x92c, 0x940,
+0x20, 0x49, 0x49, 0x3b, 0x91c, 0x941, 0x92e, 0x93e, 0x2e, 0x20, 0x49, 0x3b, 0x91c, 0x941, 0x92e, 0x93e, 0x2e, 0x20, 0x49, 0x49,
+0x3b, 0x930, 0x91d, 0x93e, 0x2e, 0x3b, 0x936, 0x93e, 0x92c, 0x93e, 0x2e, 0x3b, 0x930, 0x92e, 0x2e, 0x3b, 0x936, 0x935, 0x94d, 0x935,
+0x93e, 0x2e, 0x3b, 0x927, 0x941, 0x932, 0x2d, 0x915, 0x940, 0x2e, 0x3b, 0x927, 0x941, 0x932, 0x2d, 0x939, 0x93f, 0x2e, 0x3b, 0x92e,
+0x94b, 0x939, 0x930, 0x92e, 0x3b, 0x938, 0x92b, 0x930, 0x3b, 0x930, 0x93e, 0x92c, 0x940, 0x20, 0x49, 0x3b, 0x930, 0x93e, 0x92c, 0x940,
+0x20, 0x49, 0x49, 0x3b, 0x91c, 0x941, 0x92e, 0x93e, 0x926, 0x93e, 0x20, 0x49, 0x3b, 0x91c, 0x941, 0x92e, 0x93e, 0x926, 0x93e, 0x20,
+0x49, 0x49, 0x3b, 0x930, 0x91d, 0x93e, 0x92c, 0x3b, 0x936, 0x93e, 0x92c, 0x93e, 0x928, 0x3b, 0x930, 0x92e, 0x91c, 0x93e, 0x928, 0x3b,
+0x936, 0x935, 0x94d, 0x935, 0x93e, 0x932, 0x3b, 0x927, 0x941, 0x932, 0x2d, 0x915, 0x940, 0x926, 0x93e, 0x939, 0x3b, 0x927, 0x941, 0x932,
+0x2d, 0x939, 0x93f, 0x91c, 0x93e, 0x939, 0x3b, 0x967, 0x3b, 0x968, 0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d,
+0x3b, 0x96e, 0x3b, 0x96f, 0x3b, 0x967, 0x966, 0x3b, 0x967, 0x967, 0x3b, 0x967, 0x968, 0x3b, 0x6d, 0x75, 0x68, 0x2e, 0x3b, 0x73,
+0x61, 0x66, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x6a,
+0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x72, 0x61, 0x6a, 0x2e, 0x3b, 0x73,
+0x68, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, 0x73, 0x68, 0x61, 0x77, 0x2e, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c,
+0x2d, 0x71, 0x2e, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x48, 0x2e, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61,
+0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x72, 0x61, 0x62, 0x69,
+0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61,
+0x20, 0x49, 0x49, 0x3b, 0x72, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x73, 0x68, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x61,
+0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x73, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d,
+0x71, 0x69, 0x2bb, 0x64, 0x61, 0x68, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b,
+0x6d, 0x75, 0x68, 0x2e, 0x3b, 0x73, 0x61, 0x66, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, 0x72, 0x61, 0x62,
+0x2e, 0x20, 0x49, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b,
+0x72, 0x61, 0x6a, 0x2e, 0x3b, 0x73, 0x68, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, 0x73, 0x68, 0x61, 0x77, 0x2e,
+0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x71, 0x2e, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x68, 0x2e, 0x3b, 0x645,
+0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x647, 0x3b, 0x631, 0x628, 0x64a, 0x639, 0x3b, 0x631, 0x628, 0x64a, 0x639, 0x20, 0x49,
+0x49, 0x3b, 0x62c, 0x645, 0x627, 0x639, 0x647, 0x3b, 0x62c, 0x645, 0x648, 0x645, 0x627, 0x20, 0x49, 0x49, 0x3b, 0x631, 0x627, 0x62c,
+0x627, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627, 0x644, 0x3b,
+0x62f, 0x627, 0x644, 0x642, 0x627, 0x639, 0x62f, 0x647, 0x3b, 0x62d, 0x644, 0x627, 0x644, 0x20, 0x62d, 0x62c, 0x3b, 0x645, 0x62d, 0x631,
+0x645, 0x3b, 0x62f, 0x20, 0x635, 0x641, 0x631, 0x6d0, 0x20, 0x62f, 0x3b, 0x631, 0x628, 0x64a, 0x639, 0x3b, 0x631, 0x628, 0x64a, 0x639,
+0x20, 0x49, 0x49, 0x3b, 0x62c, 0x645, 0x627, 0x639, 0x647, 0x3b, 0x62c, 0x645, 0x648, 0x645, 0x627, 0x20, 0x49, 0x49, 0x3b, 0x631,
+0x627, 0x62c, 0x627, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627,
+0x644, 0x3b, 0x62f, 0x627, 0x644, 0x642, 0x627, 0x639, 0x62f, 0x647, 0x3b, 0x62d, 0x644, 0x627, 0x644, 0x20, 0x62d, 0x62c, 0x3b, 0x645,
+0x62d, 0x631, 0x645, 0x3b, 0x62f, 0x20, 0x635, 0x641, 0x631, 0x6d2, 0x20, 0x62f, 0x3b, 0x631, 0x628, 0x64a, 0x639, 0x3b, 0x631, 0x628,
+0x64a, 0x639, 0x20, 0x49, 0x49, 0x3b, 0x62c, 0x645, 0x627, 0x639, 0x647, 0x3b, 0x62c, 0x645, 0x648, 0x645, 0x627, 0x20, 0x49, 0x49,
+0x3b, 0x631, 0x627, 0x62c, 0x627, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634,
+0x648, 0x627, 0x644, 0x3b, 0x62f, 0x627, 0x644, 0x642, 0x627, 0x639, 0x62f, 0x647, 0x3b, 0x62d, 0x644, 0x627, 0x644, 0x20, 0x62d, 0x62c,
+0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x200c, 0x627, 0x644, 0x627, 0x648, 0x644,
+0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x200c, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x200c, 0x627,
+0x644, 0x627, 0x648, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x200c, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b, 0x631, 0x62c,
+0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627, 0x644, 0x3b, 0x630,
+0x6cc, 0x642, 0x639, 0x62f, 0x647, 0x3b, 0x630, 0x6cc, 0x62d, 0x62c, 0x647, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631,
+0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x200c, 0x627, 0x644, 0x627, 0x648, 0x644, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644, 0x62b,
+0x627, 0x646, 0x6cc, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x627, 0x648, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f,
+0x6cc, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b, 0x631, 0x62c, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631,
+0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627, 0x644, 0x3b, 0x630, 0x6cc, 0x642, 0x639, 0x62f, 0x647, 0x3b, 0x630, 0x6cc, 0x62d,
+0x62c, 0x647, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x200c, 0x627, 0x644, 0x627,
+0x648, 0x644, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x200c, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc,
+0x200c, 0x627, 0x644, 0x627, 0x648, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x200c, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b,
+0x631, 0x62c, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627, 0x644,
+0x3b, 0x630, 0x6cc, 0x642, 0x639, 0x62f, 0x647, 0x654, 0x3b, 0x630, 0x6cc, 0x62d, 0x62c, 0x647, 0x654, 0x3b, 0x4d, 0x75, 0x68, 0x2e,
+0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49,
+0x3b, 0x44, 0x17c, 0x75, 0x2e, 0x20, 0x49, 0x3b, 0x44, 0x17c, 0x75, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, 0x2e, 0x3b,
+0x53, 0x7a, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x7a, 0x61, 0x77, 0x2e, 0x3b, 0x5a, 0x75, 0x20, 0x61,
+0x6c, 0x2d, 0x6b, 0x2e, 0x3b, 0x5a, 0x75, 0x20, 0x61, 0x6c, 0x2d, 0x68, 0x2e, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72,
+0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62,
+0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x44, 0x17c, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x44, 0x17c, 0x75, 0x6d,
+0x61, 0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, 0x64, 0x17c, 0x61, 0x62, 0x3b, 0x53, 0x7a, 0x61, 0x62, 0x61, 0x6e,
+0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x53, 0x7a, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x5a, 0x75, 0x20,
+0x61, 0x6c, 0x2d, 0x6b, 0x61, 0x64, 0x61, 0x3b, 0x5a, 0x75, 0x20, 0x61, 0x6c, 0x2d, 0x68, 0x69, 0x64, 0x17c, 0x64, 0x17c,
+0x61, 0x3b, 0xa2e, 0xa41, 0xa39, 0xa71, 0x2e, 0x3b, 0xa38, 0xa2b, 0x2e, 0x3b, 0xa30, 0xa2c, 0x2e, 0x20, 0x49, 0x3b, 0xa30, 0xa2c,
+0x2e, 0x20, 0x49, 0x49, 0x3b, 0xa1c, 0xa41, 0xa2e, 0x2e, 0x20, 0x49, 0x3b, 0xa1c, 0xa41, 0xa2e, 0x2e, 0x20, 0x49, 0x49, 0x3b,
+0xa30, 0xa3e, 0xa1c, 0x2e, 0x3b, 0xa38, 0xa3c, 0xa3e, 0x2e, 0x3b, 0xa30, 0xa3e, 0xa2e, 0x2e, 0x3b, 0xa38, 0xa3c, 0xa05, 0x2e, 0x3b,
+0xa26, 0xa42, 0x2d, 0xa05, 0xa32, 0x2d, 0xa15, 0xa40, 0x2e, 0x3b, 0xa26, 0xa42, 0x2d, 0xa05, 0xa32, 0x2d, 0xa39, 0xa3f, 0x2e, 0x3b,
+0xa2e, 0xa41, 0xa39, 0xa71, 0xa30, 0xa2e, 0x3b, 0xa38, 0xa2b, 0xa30, 0x3b, 0xa30, 0xa2c, 0xa40, 0x2bb, 0x20, 0x49, 0x3b, 0xa30, 0xa2c,
+0xa40, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0xa1c, 0xa41, 0xa2e, 0xa3e, 0xa26, 0xa3e, 0x20, 0x49, 0x3b, 0xa1c, 0xa41, 0xa2e, 0xa3e, 0xa26,
+0xa3e, 0x20, 0x49, 0x49, 0x3b, 0xa30, 0xa1c, 0xa2c, 0x3b, 0xa38, 0xa3c, 0xa2c, 0xa3e, 0xa28, 0x3b, 0xa30, 0xa2e, 0xa1c, 0xa3c, 0xa3e,
+0xa28, 0x3b, 0xa38, 0xa3c, 0xa35, 0xa3e, 0xa32, 0x3b, 0xa26, 0xa42, 0x2d, 0xa05, 0xa32, 0x2d, 0xa15, 0xa40, 0xa26, 0xa3e, 0xa39, 0x3b,
+0xa26, 0xa42, 0x2d, 0xa05, 0xa32, 0x2d, 0xa39, 0xa3f, 0xa1c, 0xa4d, 0xa39, 0xa3e, 0x3b, 0xa2e, 0xa41, 0xa39, 0xa71, 0xa30, 0xa2e, 0x3b,
+0xa38, 0xa2b, 0xa30, 0x3b, 0xa30, 0xa2c, 0xa40, 0x20, 0x2bb, 0x20, 0x49, 0x3b, 0xa30, 0xa2c, 0xa40, 0x20, 0x2bb, 0x20, 0x49, 0x49,
+0x3b, 0xa1c, 0xa41, 0xa2e, 0xa3e, 0xa26, 0xa3e, 0x20, 0x49, 0x3b, 0xa1c, 0xa41, 0xa2e, 0xa3e, 0xa26, 0xa3e, 0x20, 0x49, 0x49, 0x3b,
+0xa30, 0xa1c, 0xa2c, 0x3b, 0xa38, 0xa3c, 0xa2c, 0xa3e, 0xa28, 0x3b, 0xa30, 0xa2e, 0xa1c, 0xa3c, 0xa3e, 0xa28, 0x3b, 0xa38, 0xa3c, 0xa35,
+0xa3e, 0xa32, 0x3b, 0xa26, 0xa42, 0x2d, 0xa05, 0xa32, 0x2d, 0xa15, 0xa40, 0xa26, 0xa3e, 0xa39, 0x3b, 0xa26, 0xa42, 0x2d, 0xa05, 0xa32,
+0x2d, 0xa39, 0xa3f, 0xa1c, 0xa4d, 0xa39, 0xa3e, 0x3b, 0x43c, 0x443, 0x445, 0x2e, 0x3b, 0x441, 0x430, 0x444, 0x2e, 0x3b, 0x440, 0x430,
+0x431, 0x2e, 0x20, 0x49, 0x3b, 0x440, 0x430, 0x431, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x2e, 0x20, 0x49,
+0x3b, 0x434, 0x436, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x434, 0x436, 0x2e, 0x3b, 0x448, 0x430, 0x430, 0x431,
+0x2e, 0x3b, 0x440, 0x430, 0x43c, 0x2e, 0x3b, 0x448, 0x430, 0x432, 0x2e, 0x3b, 0x437, 0x443, 0x43b, 0x44c, 0x2d, 0x43a, 0x2e, 0x3b,
+0x437, 0x443, 0x43b, 0x44c, 0x2d, 0x445, 0x2e, 0x3b, 0x43c, 0x443, 0x445, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x441, 0x430, 0x444,
+0x430, 0x440, 0x3b, 0x440, 0x430, 0x431, 0x438, 0x2d, 0x443, 0x43b, 0x44c, 0x2d, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x44c, 0x3b, 0x440,
+0x430, 0x431, 0x438, 0x2d, 0x443, 0x43b, 0x44c, 0x2d, 0x430, 0x445, 0x438, 0x440, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x430, 0x434, 0x2d,
+0x443, 0x43b, 0x44c, 0x2d, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x44c, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x430, 0x434, 0x2d, 0x443, 0x43b,
+0x44c, 0x2d, 0x430, 0x445, 0x438, 0x440, 0x3b, 0x440, 0x430, 0x434, 0x436, 0x430, 0x431, 0x3b, 0x448, 0x430, 0x430, 0x431, 0x430, 0x43d,
+0x3b, 0x440, 0x430, 0x43c, 0x430, 0x434, 0x430, 0x43d, 0x3b, 0x448, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x44c, 0x3b, 0x437, 0x443, 0x43b,
+0x44c, 0x2d, 0x43a, 0x430, 0x430, 0x434, 0x430, 0x3b, 0x437, 0x443, 0x43b, 0x44c, 0x2d, 0x445, 0x438, 0x434, 0x436, 0x436, 0x430, 0x3b,
+0x41c, 0x443, 0x445, 0x2e, 0x3b, 0x421, 0x430, 0x444, 0x2e, 0x3b, 0x420, 0x435, 0x431, 0x2e, 0x20, 0x31, 0x3b, 0x420, 0x435, 0x431,
+0x2e, 0x20, 0x32, 0x3b, 0x40f, 0x443, 0x43c, 0x2e, 0x20, 0x31, 0x3b, 0x40f, 0x443, 0x43c, 0x2e, 0x20, 0x32, 0x3b, 0x420, 0x435,
+0x45f, 0x2e, 0x3b, 0x428, 0x430, 0x2e, 0x3b, 0x420, 0x430, 0x43c, 0x2e, 0x3b, 0x428, 0x435, 0x2e, 0x3b, 0x417, 0x443, 0x43b, 0x2d,
+0x43a, 0x2e, 0x3b, 0x417, 0x443, 0x43b, 0x2d, 0x445, 0x2e, 0x3b, 0x41c, 0x443, 0x445, 0x430, 0x440, 0x435, 0x43c, 0x3b, 0x421, 0x430,
+0x444, 0x435, 0x440, 0x3b, 0x420, 0x435, 0x431, 0x438, 0x20, 0x31, 0x3b, 0x420, 0x435, 0x431, 0x438, 0x20, 0x32, 0x3b, 0x40f, 0x443,
+0x43c, 0x430, 0x434, 0x435, 0x20, 0x31, 0x3b, 0x40f, 0x443, 0x43c, 0x430, 0x434, 0x435, 0x20, 0x32, 0x3b, 0x420, 0x435, 0x45f, 0x435,
+0x431, 0x3b, 0x428, 0x430, 0x2bb, 0x431, 0x430, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x437, 0x430, 0x43d, 0x3b, 0x428, 0x435, 0x432,
+0x430, 0x43b, 0x3b, 0x417, 0x443, 0x43b, 0x2d, 0x43a, 0x430, 0x434, 0x435, 0x3b, 0x417, 0x443, 0x43b, 0x2d, 0x445, 0x438, 0x45f, 0x435,
+0x3b, 0x41c, 0x443, 0x440, 0x430, 0x445, 0x430, 0x43c, 0x3b, 0x421, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x2bb,
+0x20, 0x49, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x408, 0x443, 0x43c, 0x430, 0x434, 0x430, 0x20, 0x49,
+0x3b, 0x408, 0x443, 0x43c, 0x430, 0x434, 0x430, 0x20, 0x49, 0x49, 0x3b, 0x420, 0x430, 0x452, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x2bb,
+0x431, 0x430, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x434, 0x430, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x430, 0x43b, 0x3b, 0x414, 0x443,
+0x2bb, 0x43b, 0x2d, 0x41a, 0x438, 0x2bb, 0x434, 0x430, 0x3b, 0x414, 0x443, 0x2bb, 0x43b, 0x2d, 0x445, 0x438, 0x452, 0x430, 0x3b, 0x4d,
+0x75, 0x68, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x65, 0x62, 0x2e, 0x20, 0x31, 0x3b, 0x52, 0x65, 0x62, 0x2e,
+0x20, 0x32, 0x3b, 0x44, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x31, 0x3b, 0x44, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x32, 0x3b, 0x52,
+0x65, 0x64, 0x17e, 0x2e, 0x3b, 0x160, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x160, 0x65, 0x2e, 0x3b, 0x5a, 0x75,
+0x6c, 0x2d, 0x6b, 0x2e, 0x3b, 0x5a, 0x75, 0x6c, 0x2d, 0x68, 0x2e, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x65, 0x6d, 0x3b,
+0x53, 0x61, 0x66, 0x65, 0x72, 0x3b, 0x52, 0x65, 0x62, 0x69, 0x20, 0x31, 0x3b, 0x52, 0x65, 0x62, 0x69, 0x20, 0x32, 0x3b,
+0x44, 0x17e, 0x75, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x31, 0x3b, 0x44, 0x17e, 0x75, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x32, 0x3b,
+0x52, 0x65, 0x64, 0x17e, 0x65, 0x62, 0x3b, 0x160, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x7a, 0x61,
+0x6e, 0x3b, 0x160, 0x65, 0x76, 0x61, 0x6c, 0x3b, 0x5a, 0x75, 0x6c, 0x2d, 0x6b, 0x61, 0x64, 0x65, 0x3b, 0x5a, 0x75, 0x6c,
+0x2d, 0x68, 0x69, 0x64, 0x17e, 0x65, 0x3b, 0x4d, 0x75, 0x72, 0x61, 0x68, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72,
+0x3b, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x4a, 0x75,
+0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, 0x111,
+0x61, 0x62, 0x3b, 0x160, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x160, 0x61,
+0x76, 0x61, 0x6c, 0x3b, 0x44, 0x75, 0x2bb, 0x6c, 0x2d, 0x4b, 0x69, 0x2bb, 0x64, 0x61, 0x3b, 0x44, 0x75, 0x2bb, 0x6c, 0x2d,
+0x68, 0x69, 0x111, 0x61, 0x3b, 0x6d, 0x75, 0x68, 0x2e, 0x3b, 0x73, 0x61, 0x66, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20,
+0x49, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x64, 0x17e,
+0x75, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x72, 0x61, 0x64, 0x2e, 0x3b, 0x161, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e,
+0x3b, 0x161, 0x61, 0x75, 0x2e, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c, 0x2d, 0x6b, 0x2e, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c,
+0x2d, 0x68, 0x2e, 0x3b, 0x61, 0x6c, 0x2d, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61,
+0x72, 0x3b, 0x72, 0x61, 0x62, 0xed, 0xb4, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x72, 0x61, 0x62,
+0xed, 0xb4, 0x61, 0x74, 0x68, 0x2d, 0x74, 0x68, 0xe1, 0x6e, 0xed, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0xe1, 0x64, 0xe1, 0x20,
+0x6c, 0x2d, 0xfa, 0x6c, 0xe1, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0xe1, 0x64, 0xe1, 0x20, 0x6c, 0x2d, 0xe1, 0x63, 0x68, 0x69,
+0x72, 0x61, 0x3b, 0x72, 0x61, 0x64, 0x17e, 0x61, 0x62, 0x3b, 0x161, 0x61, 0xb4, 0x20, 0x62, 0xe1, 0x6e, 0x3b, 0x72, 0x61,
+0x6d, 0x61, 0x64, 0xe1, 0x6e, 0x3b, 0x161, 0x61, 0x75, 0x76, 0xe1, 0x6c, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c, 0x2d, 0x6b,
+0x61, 0xb4, 0x20, 0x64, 0x61, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c, 0x2d, 0x68, 0x69, 0x64, 0x17e, 0x64, 0x17e, 0x61, 0x3b,
+0x6d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb,
+0x20, 0x49, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49,
+0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x72, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x73, 0x68, 0x61,
+0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x64, 0xe1, 0x6e, 0x3b, 0x73, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c,
+0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x71, 0x69, 0x2bb, 0x64, 0x61, 0x68, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d,
+0x68, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61,
+0x72, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x52, 0x61, 0x62,
+0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c,
+0x2d, 0x75, 0x6c, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x61,
+0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53, 0x68, 0x61, 0x2019, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64,
+0x61, 0x6e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x44, 0x68, 0x75, 0x2d, 0x6c, 0x2d, 0x67, 0x61, 0x2019,
+0x64, 0x61, 0x3b, 0x44, 0x68, 0x75, 0x2d, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72,
+0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61,
+0x77, 0x77, 0x61, 0x6c, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x3b,
+0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x75, 0x6c, 0x61, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d,
+0x6c, 0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x61, 0x3b, 0x72, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x73, 0x68, 0x61, 0x2019, 0x62,
+0x61, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x73, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64,
+0x68, 0x75, 0x2d, 0x6c, 0x2d, 0x67, 0x61, 0x2019, 0x64, 0x61, 0x3b, 0x64, 0x68, 0x75, 0x2d, 0x6c, 0x2d, 0x68, 0x69, 0x6a,
+0x6a, 0x61, 0x3b, 0xbae, 0xbc1, 0xbb9, 0x2e, 0x3b, 0xb9a, 0xb83, 0xbaa, 0x2e, 0x3b, 0xbb0, 0xbaa, 0xbbf, 0x20, 0x31, 0x3b, 0xbb0,
+0xbaa, 0xbbf, 0x20, 0x32, 0x3b, 0xb9c, 0xbc1, 0xbae, 0x2e, 0x20, 0x31, 0x3b, 0xb9c, 0xbc1, 0xbae, 0x2e, 0x20, 0x32, 0x3b, 0xbb0,
+0xb9c, 0x2e, 0x3b, 0xbb7, 0xb83, 0x2e, 0x3b, 0xbb0, 0xbae, 0x2e, 0x3b, 0xbb7, 0xbb5, 0xbcd, 0x2e, 0x3b, 0xba4, 0xbc1, 0xbb2, 0xbcd,
+0x20, 0xb95, 0xb83, 0x2e, 0x3b, 0xba4, 0xbc1, 0xbb2, 0xbcd, 0x20, 0xbb9, 0xbbf, 0xb9c, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbc1, 0xbb9, 0xbb0,
+0xbcd, 0xbb0, 0xbae, 0xbcd, 0x3b, 0xb9a, 0xb83, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xbb0, 0xbaa, 0xbbf, 0x20, 0x31, 0x3b, 0xbb0, 0xbaa, 0xbbf,
+0x20, 0x32, 0x3b, 0xb9c, 0xbc1, 0xbae, 0xba4, 0xbbe, 0x20, 0x31, 0x3b, 0xb9c, 0xbc1, 0xbae, 0xba4, 0xbbe, 0x20, 0x32, 0x3b, 0xbb0,
+0xb9c, 0xbaa, 0xbcd, 0x3b, 0xbb7, 0xb83, 0xbaa, 0xbbe, 0xba9, 0xbcd, 0x3b, 0xbb0, 0xbae, 0xbb2, 0xbbe, 0xba9, 0xbcd, 0x3b, 0xbb7, 0xbb5,
+0xbcd, 0xbb5, 0xbbe, 0xbb2, 0xbcd, 0x3b, 0xba4, 0xbc1, 0xbb2, 0xbcd, 0x20, 0xb95, 0xb83, 0xba4, 0xbbe, 0x3b, 0xba4, 0xbc1, 0xbb2, 0xbcd,
+0x20, 0xbb9, 0xbbf, 0xb9c, 0xbcd, 0xb9c, 0xbbe, 0x3b, 0xc2e, 0xc41, 0xc39, 0x2e, 0x3b, 0xc38, 0xc2b, 0x2e, 0x3b, 0xc30, 0x2e, 0x20,
+0x49, 0x3b, 0xc30, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0xc1c, 0xc41, 0xc2e, 0x2e, 0x20, 0x49, 0x3b, 0xc1c, 0xc41, 0xc2e, 0x2e, 0x20,
+0x49, 0x49, 0x3b, 0xc30, 0xc1c, 0x2e, 0x3b, 0xc37, 0xc2c, 0xc3e, 0x2e, 0x3b, 0xc30, 0xc02, 0xc1c, 0xc3e, 0x2e, 0x3b, 0xc37, 0xc35,
+0xc4d, 0xc35, 0xc3e, 0x2e, 0x3b, 0xc27, 0xc41, 0xc32, 0xc4d, 0x2d, 0xc15, 0xc3f, 0x2e, 0x3b, 0xc27, 0xc41, 0xc32, 0xc4d, 0x2d, 0xc39,
+0xc3f, 0x2e, 0x3b, 0xc2e, 0xc41, 0xc39, 0xc30, 0xc4d, 0xc30, 0xc02, 0x3b, 0xc38, 0xc2b, 0xc30, 0xc4d, 0x3b, 0xc30, 0xc2c, 0xc40, 0x20,
+0x49, 0x3b, 0xc30, 0xc2c, 0xc40, 0x20, 0x49, 0x49, 0x3b, 0xc1c, 0xc41, 0xc2e, 0xc26, 0xc3e, 0x20, 0x49, 0x3b, 0xc1c, 0xc41, 0xc2e,
+0xc26, 0xc3e, 0x20, 0x49, 0x49, 0x3b, 0xc30, 0xc1c, 0xc2c, 0xc4d, 0x3b, 0xc37, 0xc2c, 0xc3e, 0xc28, 0xc4d, 0x3b, 0xc30, 0xc02, 0xc1c,
+0xc3e, 0xc28, 0xc4d, 0x3b, 0xc37, 0xc35, 0xc4d, 0xc35, 0xc3e, 0xc32, 0xc4d, 0x3b, 0xc27, 0xc41, 0xc32, 0xc4d, 0x2d, 0xc15, 0xc3f, 0x20,
+0xc26, 0xc3e, 0xc39, 0xc4d, 0x3b, 0xc27, 0xc41, 0xc32, 0xc4d, 0x2d, 0xc39, 0xc3f, 0xc1c, 0xc4d, 0xc1c, 0xc3e, 0xc39, 0xc4d, 0x3b, 0xe21,
+0xe38, 0xe2e, 0xe31, 0xe23, 0x2e, 0x3b, 0xe40, 0xe28, 0xe32, 0xe30, 0x2e, 0x3b, 0xe23, 0xe2d, 0xe1a, 0xe35, 0x20, 0x49, 0x3b, 0xe23,
+0xe2d, 0xe1a, 0xe35, 0x20, 0x49, 0x49, 0x3b, 0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, 0x49, 0x3b, 0xe08, 0xe38, 0xe21, 0xe32,
+0xe14, 0xe32, 0x20, 0x49, 0x49, 0x3b, 0xe40, 0xe23, 0xe32, 0xe30, 0x2e, 0x3b, 0xe0a, 0xe30, 0xe2d, 0xe4c, 0x2e, 0x3b, 0xe40, 0xe23,
+0xe32, 0xe30, 0xe21, 0xe30, 0x2e, 0x3b, 0xe40, 0xe0a, 0xe32, 0xe27, 0x2e, 0x3b, 0xe0b, 0xe38, 0xe25, 0xe01, 0xe34, 0xe2d, 0xe3a, 0x2e,
+0x3b, 0xe0b, 0xe38, 0xe25, 0xe2b, 0xe34, 0xe08, 0x2e, 0x3b, 0xe21, 0xe38, 0xe2e, 0xe30, 0xe23, 0xe4c, 0xe23, 0xe2d, 0xe21, 0x3b, 0xe0b,
+0xe2d, 0xe1f, 0xe32, 0xe23, 0xe4c, 0x3b, 0xe23, 0xe2d, 0xe1a, 0xe35, 0x20, 0x49, 0x3b, 0xe23, 0xe2d, 0xe1a, 0xe35, 0x20, 0x49, 0x49,
+0x3b, 0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, 0x49, 0x3b, 0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, 0x49, 0x49, 0x3b,
+0xe23, 0xe2d, 0xe08, 0xe31, 0xe1a, 0x3b, 0xe0a, 0xe30, 0xe2d, 0xe30, 0xe1a, 0xe32, 0xe19, 0x3b, 0xe23, 0xe2d, 0xe21, 0xe30, 0xe14, 0xe2d,
+0xe19, 0x3b, 0xe40, 0xe0a, 0xe32, 0xe27, 0xe31, 0xe25, 0x3b, 0xe0b, 0xe38, 0xe25, 0xe01, 0xe34, 0xe2d, 0xe3a, 0xe14, 0xe30, 0xe2e, 0xe3a,
+0x3b, 0xe0b, 0xe38, 0xe25, 0xe2b, 0xe34, 0xe08, 0xe0d, 0xe30, 0xe2e, 0xe3a, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x2e, 0x3b, 0x53,
+0x61, 0x66, 0x65, 0x72, 0x3b, 0x52, 0x2e, 0x65, 0x76, 0x76, 0x65, 0x6c, 0x3b, 0x52, 0x2e, 0x61, 0x68, 0x69, 0x72, 0x3b,
+0x43, 0x2e, 0x65, 0x76, 0x76, 0x65, 0x6c, 0x3b, 0x43, 0x2e, 0x61, 0x68, 0x69, 0x72, 0x3b, 0x52, 0x65, 0x63, 0x65, 0x70,
+0x3b, 0x15e, 0x61, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x15e, 0x65, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x5a,
+0x69, 0x6c, 0x6b, 0x61, 0x64, 0x65, 0x3b, 0x5a, 0x69, 0x6c, 0x68, 0x69, 0x63, 0x63, 0x65, 0x3b, 0x4d, 0x75, 0x68, 0x61,
+0x72, 0x72, 0x65, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x65, 0x72, 0x3b, 0x52, 0x65, 0x62, 0x69, 0xfc, 0x6c, 0x65, 0x76, 0x76,
+0x65, 0x6c, 0x3b, 0x52, 0x65, 0x62, 0x69, 0xfc, 0x6c, 0x61, 0x68, 0x69, 0x72, 0x3b, 0x43, 0x65, 0x6d, 0x61, 0x7a, 0x69,
+0x79, 0x65, 0x6c, 0x65, 0x76, 0x76, 0x65, 0x6c, 0x3b, 0x43, 0x65, 0x6d, 0x61, 0x7a, 0x69, 0x79, 0x65, 0x6c, 0x61, 0x68,
+0x69, 0x72, 0x3b, 0x52, 0x65, 0x63, 0x65, 0x70, 0x3b, 0x15e, 0x61, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x7a,
+0x61, 0x6e, 0x3b, 0x15e, 0x65, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x5a, 0x69, 0x6c, 0x6b, 0x61, 0x64, 0x65, 0x3b, 0x5a, 0x69,
+0x6c, 0x68, 0x69, 0x63, 0x63, 0x65, 0x3b, 0x645, 0x6c7, 0x6be, 0x6d5, 0x631, 0x631, 0x6d5, 0x645, 0x3b, 0x633, 0x6d5, 0x67e, 0x6d5,
+0x631, 0x3b, 0x631, 0x6d5, 0x628, 0x649, 0x626, 0x6c7, 0x644, 0x626, 0x6d5, 0x6cb, 0x6cb, 0x6d5, 0x644, 0x3b, 0x631, 0x6d5, 0x628, 0x649,
+0x626, 0x6c7, 0x644, 0x626, 0x627, 0x62e, 0x649, 0x631, 0x3b, 0x62c, 0x6d5, 0x645, 0x627, 0x62f, 0x649, 0x64a, 0x6d5, 0x644, 0x626, 0x6d5,
+0x6cb, 0x6cb, 0x6d5, 0x644, 0x3b, 0x62c, 0x6d5, 0x645, 0x627, 0x62f, 0x649, 0x64a, 0x6d5, 0x644, 0x626, 0x627, 0x62e, 0x649, 0x631, 0x3b,
+0x631, 0x6d5, 0x62c, 0x6d5, 0x628, 0x3b, 0x634, 0x6d5, 0x626, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x627, 0x645, 0x649, 0x632, 0x627, 0x646,
+0x3b, 0x634, 0x6d5, 0x6cb, 0x6cb, 0x627, 0x644, 0x3b, 0x632, 0x6c7, 0x644, 0x642, 0x6d5, 0x626, 0x62f, 0x6d5, 0x3b, 0x632, 0x6c7, 0x644,
+0x6be, 0x6d5, 0x62c, 0x62c, 0x6d5, 0x3b, 0x43c, 0x443, 0x445, 0x3b, 0x441, 0x430, 0x444, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49,
+0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x20, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c,
+0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x434, 0x436, 0x3b, 0x448, 0x430, 0x430, 0x431, 0x3b, 0x440, 0x430, 0x43c, 0x3b, 0x434, 0x430,
+0x432, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x43a, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x445, 0x3b, 0x43c, 0x443,
+0x445, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x441, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x3b,
+0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x430, 0x434, 0x430, 0x20, 0x49, 0x3b, 0x434, 0x436,
+0x443, 0x43c, 0x430, 0x434, 0x430, 0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x434, 0x436, 0x430, 0x431, 0x3b, 0x448, 0x430, 0x430, 0x431,
+0x430, 0x43d, 0x3b, 0x440, 0x430, 0x43c, 0x430, 0x434, 0x430, 0x43d, 0x3b, 0x434, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x437, 0x443,
+0x2d, 0x43b, 0x44c, 0x2d, 0x43a, 0x430, 0x430, 0x434, 0x430, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x445, 0x456, 0x434, 0x436,
+0x430, 0x3b, 0x43c, 0x443, 0x445, 0x2e, 0x3b, 0x441, 0x430, 0x444, 0x2e, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x3b, 0x440,
+0x430, 0x431, 0x456, 0x20, 0x49, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x2e,
+0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x434, 0x436, 0x2e, 0x3b, 0x448, 0x430, 0x430, 0x431, 0x2e, 0x3b, 0x440, 0x430, 0x43c, 0x2e,
+0x3b, 0x434, 0x430, 0x432, 0x2e, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x43a, 0x2e, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c,
+0x2d, 0x445, 0x2e, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644,
+0x627, 0x648, 0x651, 0x644, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644, 0x62b, 0x651, 0x627, 0x646, 0x6cc, 0x3b, 0x62c, 0x645,
+0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x627, 0x648, 0x651, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x62b,
+0x651, 0x627, 0x646, 0x6cc, 0x3b, 0x631, 0x62c, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646,
+0x3b, 0x634, 0x648, 0x627, 0x644, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x642, 0x639, 0x62f, 0x6c3, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x62d,
+0x62c, 0x6c3, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x20, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644,
+0x627, 0x648, 0x644, 0x3b, 0x631, 0x20, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b, 0x62c, 0x645, 0x627,
+0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x627, 0x648, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646,
+0x6cc, 0x3b, 0x631, 0x62c, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648,
+0x627, 0x644, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x642, 0x639, 0x62f, 0x6c3, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x62d, 0x62c, 0x6c3, 0x3b,
+0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0x6f, 0x62, 0x69, 0x2bc,
+0x20, 0x75, 0x6c, 0x2d, 0x61, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x52, 0x6f, 0x62, 0x69, 0x2bc, 0x20, 0x75, 0x6c, 0x2d, 0x6f,
+0x78, 0x69, 0x72, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x20, 0x75, 0x6c, 0x2d, 0x61, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x4a,
+0x75, 0x6d, 0x61, 0x64, 0x20, 0x75, 0x6c, 0x2d, 0x6f, 0x78, 0x69, 0x72, 0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53,
+0x68, 0x61, 0x2bc, 0x62, 0x6f, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x3b, 0x53, 0x68, 0x61, 0x76, 0x76,
+0x6f, 0x6c, 0x3b, 0x5a, 0x75, 0x6c, 0x2d, 0x71, 0x61, 0x2bc, 0x64, 0x61, 0x3b, 0x5a, 0x75, 0x6c, 0x2d, 0x68, 0x69, 0x6a,
+0x6a, 0x61, 0x3b, 0x41c, 0x443, 0x4b3, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x421, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430,
+0x431, 0x438, 0x443, 0x43b, 0x2d, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x43e, 0x445,
+0x438, 0x440, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, 0x3b, 0x416, 0x443, 0x43c, 0x43e,
+0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x445, 0x440, 0x43e, 0x3b, 0x420, 0x430, 0x436, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x44a, 0x431,
+0x43e, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x437, 0x43e, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, 0x43e, 0x43b, 0x3b, 0x417, 0x438,
+0x43b, 0x2d, 0x49b, 0x430, 0x44a, 0x434, 0x430, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x4b3, 0x438, 0x436, 0x436, 0x430, 0x3b, 0x6d, 0x75,
+0x68, 0x2e, 0x3b, 0x73, 0x61, 0x66, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x69, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20,
+0x69, 0x69, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x69, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x69, 0x69, 0x3b,
+0x72, 0x65, 0x64, 0x17e, 0x2e, 0x3b, 0x161, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, 0x161, 0x65, 0x2e, 0x3b, 0x7a,
+0x75, 0x6c, 0x2d, 0x6b, 0x2e, 0x3b, 0x7a, 0x75, 0x6c, 0x2d, 0x68, 0x2e, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x65, 0x6d,
+0x3b, 0x73, 0x61, 0x66, 0x65, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x69, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb,
+0x20, 0x69, 0x69, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x69, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x61, 0x64,
+0x65, 0x20, 0x69, 0x69, 0x3b, 0x72, 0x65, 0x64, 0x17e, 0x65, 0x62, 0x3b, 0x161, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x72,
+0x61, 0x6d, 0x61, 0x7a, 0x61, 0x6e, 0x3b, 0x161, 0x65, 0x76, 0x61, 0x6c, 0x3b, 0x7a, 0x75, 0x6c, 0x2d, 0x6b, 0x61, 0x64,
+0x65, 0x3b, 0x7a, 0x75, 0x6c, 0x2d, 0x68, 0x69, 0x64, 0x17e, 0x65, 0x3b, 0x64, 0x7a, 0x76, 0x3b, 0x64, 0x7a, 0x64, 0x3b,
+0x74, 0x65, 0x64, 0x3b, 0x61, 0x66, 0x254, 0x3b, 0x64, 0x61, 0x6d, 0x3b, 0x6d, 0x61, 0x73, 0x3b, 0x73, 0x69, 0x61, 0x3b,
+0x64, 0x65, 0x61, 0x3b, 0x61, 0x6e, 0x79, 0x3b, 0x6b, 0x65, 0x6c, 0x3b, 0x61, 0x64, 0x65, 0x3b, 0x64, 0x7a, 0x6d, 0x3b,
+0x64, 0x7a, 0x6f, 0x76, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x64, 0x7a, 0x65, 0x3b, 0x74, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b,
+0x61, 0x66, 0x254, 0x66, 0x69, 0x1ebd, 0x3b, 0x64, 0x61, 0x6d, 0x25b, 0x3b, 0x6d, 0x61, 0x73, 0x61, 0x3b, 0x73, 0x69, 0x61,
+0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x64, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x61, 0x6e, 0x79, 0x254,
+0x6e, 0x79, 0x254, 0x3b, 0x6b, 0x65, 0x6c, 0x65, 0x3b, 0x61, 0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65,
+0x3b, 0x64, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x64,
+0x65, 0x20, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x64,
+0x65, 0x20, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x64, 0x65, 0x20, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61,
+0x20, 0x49, 0x3b, 0x64, 0x65, 0x20, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x64, 0x65, 0x20, 0x52,
+0x61, 0x6a, 0x61, 0x62, 0x3b, 0x64, 0x65, 0x20, 0x53, 0x68, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x64, 0x65, 0x20, 0x52,
+0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x64, 0x65, 0x20, 0x53, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64, 0x65,
+0x20, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x69, 0x2bb, 0x64, 0x61, 0x68, 0x3b, 0x64, 0x65, 0x20, 0x44, 0x68, 0x75,
+0x2bb, 0x6c, 0x2d, 0x48, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x7a46, 0x54c8, 0x5170, 0x59c6, 0x6708, 0x3b, 0x8272, 0x6cd5, 0x5c14, 0x6708,
+0x3b, 0x8d56, 0x6bd4, 0x6708, 0x20, 0x49, 0x3b, 0x8d56, 0x6bd4, 0x6708, 0x20, 0x49, 0x49, 0x3b, 0x4e3b, 0x9a6c, 0x8fbe, 0x6708, 0x20, 0x49,
+0x3b, 0x4e3b, 0x9a6c, 0x8fbe, 0x6708, 0x20, 0x49, 0x49, 0x3b, 0x8d56, 0x54f2, 0x535c, 0x6708, 0x3b, 0x820d, 0x5c14, 0x90a6, 0x6708, 0x3b, 0x8d56,
+0x4e70, 0x4e39, 0x6708, 0x3b, 0x95ea, 0x74e6, 0x9c81, 0x6708, 0x3b, 0x90fd, 0x5c14, 0x5580, 0x5c14, 0x5fb7, 0x6708, 0x3b, 0x90fd, 0x5c14, 0x9ed1, 0x54f2,
+0x6708, 0x3b
+};
+// GENERATED PART ENDS HERE
+
+QT_END_NAMESPACE
+
+#endif // QHIJRI_CALENDAR_DATA_P_H
diff --git a/src/corelib/time/qhijricalendar_p.h b/src/corelib/time/qhijricalendar_p.h
new file mode 100644
index 0000000000..8f15495d11
--- /dev/null
+++ b/src/corelib/time/qhijricalendar_p.h
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QHIJRI_CALENDAR_P_H
+#define QHIJRI_CALENDAR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of calendar implementations. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/private/qglobal_p.h>
+#include "qcalendarbackend_p.h"
+
+QT_REQUIRE_CONFIG(hijricalendar);
+
+QT_BEGIN_NAMESPACE
+
+// Base for sharing with other variants on the Islamic calendar, as needed:
+class Q_CORE_EXPORT QHijriCalendar : public QCalendarBackend
+{
+public:
+ int daysInMonth(int month, int year = QCalendar::Unspecified) const override;
+ int maxDaysInMonth() const override;
+ int daysInYear(int year) const override;
+
+ bool isLunar() const override;
+ bool isLuniSolar() const override;
+ bool isSolar() const override;
+
+protected:
+ const QCalendarLocale *localeMonthIndexData() const override;
+ const ushort *localeMonthData() const override;
+ // (The INTEGRITY compiler got upset at: using QCalendarBackend:QCalendarBackend;)
+ QHijriCalendar(const QString &name, QCalendar::System id = QCalendar::System::User)
+ : QCalendarBackend(name, id) {}
+};
+
+QT_END_NAMESPACE
+
+#endif // QHIJRI_CALENDAR_P_H
diff --git a/src/corelib/time/qislamiccivilcalendar.cpp b/src/corelib/time/qislamiccivilcalendar.cpp
new file mode 100644
index 0000000000..27c93f5c00
--- /dev/null
+++ b/src/corelib/time/qislamiccivilcalendar.cpp
@@ -0,0 +1,125 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qglobal.h"
+#include "qislamiccivilcalendar_p.h"
+#include "qcalendarmath_p.h"
+#include <QtCore/qmath.h>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QRoundingDown;
+
+/*!
+ \since 5.14
+
+ \class QIslamicCivilCalendar
+ \inmodule QtCore
+ \brief Implements a commonly-used computed version of the Islamic calendar.
+
+ \section1 Civil Islamic Calendar
+
+ QIslamicCivilCalendar implements a tabular version of the Hijri calendar which
+ is known as the Islamic Civil Calendar. It has the same numbering of years and
+ months, but the months are determined by arithmetical rules rather than by
+ observation or astronomical calculations.
+
+ \section2 Calendar Organization
+
+ The civil calendar follows the usual tabular scheme of odd-numbered months and
+ the last month of each leap year being 30 days long, the rest being 29 days
+ long. Its determination of leap years follows a 30-year cycle, in each of
+ which the years 2, 5, 7, 10, 13, 16, 18, 21, 24, 26 and 29 are leap years.
+
+ \sa QJijriCalendar, QCalendar
+*/
+
+QIslamicCivilCalendar::QIslamicCivilCalendar()
+ : QHijriCalendar(QStringLiteral("Islamic Civil"), QCalendar::System::IslamicCivil)
+{
+ registerAlias(QStringLiteral("islamic-civil")); // CLDR name
+ registerAlias(QStringLiteral("islamicc")); // old CLDR name, still (2018) used by Mozilla
+ // Until we have a oncrete implementation that knows all the needed ephemerides:
+ registerAlias(QStringLiteral("Islamic"));
+}
+
+QString QIslamicCivilCalendar::name() const
+{
+ return QStringLiteral("Islamic Civil");
+}
+
+QCalendar::System QIslamicCivilCalendar::calendarSystem() const
+{
+ return QCalendar::System::IslamicCivil;
+}
+
+bool QIslamicCivilCalendar::isLeapYear(int year) const
+{
+ if (year == QCalendar::Unspecified)
+ return false;
+ if (year < 0)
+ ++year;
+ return qMod(year * 11 + 14, 30) < 11;
+}
+
+bool QIslamicCivilCalendar::dateToJulianDay(int year, int month, int day, qint64 *jd) const
+{
+ Q_ASSERT(jd);
+ if (!isDateValid(year, month, day))
+ return false;
+ if (year <= 0)
+ ++year;
+ *jd = qDiv(10631 * year - 10617, 30)
+ + qDiv(325 * month - 320, 11)
+ + day + 1948439;
+ return true;
+}
+
+QCalendar::YearMonthDay QIslamicCivilCalendar::julianDayToDate(qint64 jd) const
+{
+ const qint64 epoch = 1948440;
+ const int32_t k2 = 30 * (jd - epoch) + 15;
+ const int32_t k1 = 11 * qDiv(qMod(k2, 10631), 30) + 5;
+ int y = qDiv(k2, 10631) + 1;
+ const int month = qDiv(k1, 325) + 1;
+ const int day = qDiv(qMod(k1, 325), 11) + 1;
+ return QCalendar::YearMonthDay(y > 0 ? y : y - 1, month, day);
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/time/qislamiccivilcalendar_p.h b/src/corelib/time/qislamiccivilcalendar_p.h
new file mode 100644
index 0000000000..01d0525f62
--- /dev/null
+++ b/src/corelib/time/qislamiccivilcalendar_p.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QISLAMIC_CIVIL_CALENDAR_P_H
+#define QISLAMIC_CIVIL_CALENDAR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of calendar implementations. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qhijricalendar_p.h"
+
+QT_REQUIRE_CONFIG(islamiccivilcalendar);
+
+QT_BEGIN_NAMESPACE
+
+class Q_CORE_EXPORT QIslamicCivilCalendar : public QHijriCalendar
+{
+public:
+ QIslamicCivilCalendar();
+ // Calendar properties:
+ QString name() const override;
+ QCalendar::System calendarSystem() const override;
+ // Date queries:
+ bool isLeapYear(int year) const override;
+ // Julian Day conversions:
+ bool dateToJulianDay(int year, int month, int day, qint64 *jd) const override;
+ QCalendar::YearMonthDay julianDayToDate(qint64 jd) const override;
+};
+
+QT_END_NAMESPACE
+
+#endif // QISLAMIC_CIVIL_CALENDAR_P_H
diff --git a/src/corelib/time/qjalalicalendar.cpp b/src/corelib/time/qjalalicalendar.cpp
new file mode 100644
index 0000000000..be9246d7db
--- /dev/null
+++ b/src/corelib/time/qjalalicalendar.cpp
@@ -0,0 +1,212 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qglobal.h"
+#include "qjalalicalendar_p.h"
+#include "qjalalicalendar_data_p.h"
+#include "qcalendarmath_p.h"
+#include <QtCore/qmath.h>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QRoundingDown;
+
+// Constants
+
+static const qint64 cycleDays = 1029983;
+static const int cycleYears = 2820;
+static const double yearLength = 365.24219858156028368; // 365 + leapRatio;
+static const qint64 jalaliEpoch = 2121446; // 475/01/01 AP, start of 2820 cycle
+
+// Calendar implementation
+
+static inline int cycle(qint64 jdn)
+{
+ return qDiv(jdn - jalaliEpoch, cycleDays);
+}
+
+qint64 cycleStart(int cycleNo)
+{
+ return jalaliEpoch + cycleNo * cycleDays;
+}
+
+qint64 firstDayOfYear(int year, int cycleNo)
+{
+ qint64 firstDOYinEra = static_cast<qint64>(qFloor(year * yearLength));
+ return jalaliEpoch + cycleNo * cycleDays + firstDOYinEra;
+}
+
+/*!
+ \since 5.14
+
+ \class QJalaliCalendar
+ \inmodule QtCore
+ \brief The QJalaliCalendar class provides Jalali (Hijri Shamsi) calendar
+ system implementation.
+
+ \section1 Solar Hijri Calendar System
+
+ The Solar Hijri calendar, also called the Solar Hejri calendar, Shamsi
+ Hijri calendar or Jalali calendar, is the official calendar of Iran and
+ Afghanistan. It begins on the vernal equinox (Nowruz) as determined by
+ astronomical calculation for the Iran Standard Time meridian
+ (52.5°E or GMT+3.5h). This determination of starting moment is more accurate
+ than the Gregorian calendar for predicting the date of the vernal equinox,
+ because it uses astronomical observations rather than mathematical rules.
+
+ \section2 Calendar Organization
+
+ Each of the twelve months corresponds with a zodiac sign. The first six
+ months have 31 days, the next five have 30 days, and the last month has 29
+ days in usual years but 30 days in leap years. The New Year's Day always
+ falls on the March equinox.
+
+ \section2 Leap Year Rules
+
+ The Solar Hijri calendar produces a five-year leap year interval after about
+ every seven four-year leap year intervals. It usually follows a 33-year
+ cycle with occasional interruptions by single 29-year or 37-year subcycles.
+ The reason for this behavior is that it tracks the observed vernal equinox.
+ By contrast, some less accurate predictive algorithms are in use based
+ on confusion between the average tropical year (365.2422 days, approximated
+ with near 128-year cycles or 2820-year great cycles) and the mean interval
+ between spring equinoxes (365.2424 days, approximated with a near 33-year
+ cycle).
+
+ Source: \l {https://en.wikipedia.org/wiki/Solar_Hijri_calendar}{Wikipedia
+ page on Solar Hijri Calendar}
+ */
+
+QJalaliCalendar::QJalaliCalendar()
+ : QCalendarBackend(QStringLiteral("Jalali"), QCalendar::System::Jalali)
+{
+ registerAlias(QStringLiteral("Persian"));
+}
+
+QString QJalaliCalendar::name() const
+{
+ return QStringLiteral("Jalali");
+}
+
+QCalendar::System QJalaliCalendar::calendarSystem() const
+{
+ return QCalendar::System::Jalali;
+}
+
+bool QJalaliCalendar::isLeapYear(int year) const
+{
+ if (year == QCalendar::Unspecified)
+ return false;
+ if (year < 0)
+ year++;
+ return qMod((year + 2346) * 683, 2820) < 683;
+}
+
+bool QJalaliCalendar::isLunar() const
+{
+ return false;
+}
+
+bool QJalaliCalendar::isLuniSolar() const
+{
+ return false;
+}
+
+bool QJalaliCalendar::isSolar() const
+{
+ return true;
+}
+
+bool QJalaliCalendar::dateToJulianDay(int year, int month, int day, qint64 *jd) const
+{
+ Q_ASSERT(jd);
+ if (!isDateValid(year, month, day))
+ return false;
+
+ const int y = year - (year < 0 ? 474 : 475);
+ const int c = qDiv(y, cycleYears);
+ const int yearInCycle = y - c * cycleYears;
+ int dayInYear = day;
+ for (int i = 1; i < month; ++i)
+ dayInYear += daysInMonth(i, year);
+ *jd = firstDayOfYear(yearInCycle, c) + dayInYear - 1;
+ return true;
+}
+
+QCalendar::YearMonthDay QJalaliCalendar::julianDayToDate(qint64 jd) const
+{
+ const int c = cycle(jd);
+ int yearInCycle = qFloor((jd - cycleStart(c)) / yearLength);
+ int year = yearInCycle + 475 + c * cycleYears;
+ int day = jd - firstDayOfYear(yearInCycle, c) + 1;
+ if (day > daysInYear(year <= 0 ? year - 1 : year)) {
+ year++;
+ day = 1;
+ }
+ if (year <= 0)
+ year--;
+ int month;
+ for (month = 1; month < 12; ++month) {
+ const int last = daysInMonth(month, year);
+ if (day <= last)
+ break;
+ day -= last;
+ }
+ return QCalendar::YearMonthDay(year, month, day);
+}
+
+int QJalaliCalendar::daysInMonth(int month, int year) const
+{
+ if (year && month > 0 && month <= 12)
+ return month < 7 ? 31 : month < 12 || isLeapYear(year) ? 30 : 29;
+
+ return 0;
+}
+
+const QCalendarLocale *QJalaliCalendar::localeMonthIndexData() const
+{
+ return locale_data;
+}
+
+const ushort *QJalaliCalendar::localeMonthData() const
+{
+ return months_data;
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/time/qjalalicalendar_data_p.h b/src/corelib/time/qjalalicalendar_data_p.h
new file mode 100644
index 0000000000..865e3ff98d
--- /dev/null
+++ b/src/corelib/time/qjalalicalendar_data_p.h
@@ -0,0 +1,893 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPERSIANCALENDAR_DATA_P_H
+#define QPERSIANCALENDAR_DATA_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
+// file may change from version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/private/qglobal_p.h>
+#include <QtCore/private/qcalendarbackend_p.h>
+
+QT_BEGIN_NAMESPACE
+
+// GENERATED PART STARTS HERE
+
+/*
+ This part of the file was generated on 2019-05-27 from the
+ Common Locale Data Repository v35.1
+
+ http://www.unicode.org/cldr/
+
+ Do not edit this section: instead regenerate it using
+ cldr2qlocalexml.py and qlocalexml2cpp.py on updated (or
+ edited) CLDR data; see qtbase/util/locale_database/.
+*/
+
+static const QCalendarLocale locale_data[] = {
+ // lang script terr sShort sLong sNarrow short long narrow
+ { 1, 0, 0,{ 0,48 },{ 48,84 },{ 132,24 },{ 0,48 },{ 48,84 },{ 156,29 }}, // C/AnyScript/AnyCountry
+ { 3, 7, 69,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Oromo/Latin/Ethiopia
+ { 3, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Oromo/Latin/Kenya
+ { 4, 7, 69,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Afar/Latin/Ethiopia
+ { 5, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Afrikaans/Latin/South Africa
+ { 5, 7, 148,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Afrikaans/Latin/Namibia
+ { 6, 7, 2,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Albanian/Latin/Albania
+ { 6, 7, 127,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Albanian/Latin/Macedonia
+ { 6, 7, 257,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Albanian/Latin/Kosovo
+ { 7, 14, 69,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Amharic/Ethiopic/Ethiopia
+ { 8, 1, 64,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Egypt
+ { 8, 1, 3,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Algeria
+ { 8, 1, 17,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Bahrain
+ { 8, 1, 42,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Chad
+ { 8, 1, 48,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Comoros
+ { 8, 1, 59,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Djibouti
+ { 8, 1, 67,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Eritrea
+ { 8, 1, 103,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Iraq
+ { 8, 1, 105,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Israel
+ { 8, 1, 109,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Jordan
+ { 8, 1, 115,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Kuwait
+ { 8, 1, 119,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Lebanon
+ { 8, 1, 122,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Libya
+ { 8, 1, 136,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Mauritania
+ { 8, 1, 145,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Morocco
+ { 8, 1, 162,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Oman
+ { 8, 1, 165,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Palestinian Territories
+ { 8, 1, 175,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Qatar
+ { 8, 1, 186,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Saudi Arabia
+ { 8, 1, 194,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Somalia
+ { 8, 1, 201,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Sudan
+ { 8, 1, 207,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Syria
+ { 8, 1, 216,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Tunisia
+ { 8, 1, 223,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/United Arab Emirates
+ { 8, 1, 236,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Western Sahara
+ { 8, 1, 237,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/Yemen
+ { 8, 1, 254,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/South Sudan
+ { 8, 1, 260,{ 212,68 },{ 212,68 },{ 185,27 },{ 212,68 },{ 212,68 },{ 185,27 }}, // Arabic/Arabic/World
+ { 9, 10, 11,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Armenian/Armenian/Armenia
+ { 10, 11, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Assamese/Bengali/India
+ { 12, 7, 15,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Azerbaijani/Latin/Azerbaijan
+ { 12, 1, 102,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Azerbaijani/Arabic/Iran
+ { 12, 2, 15,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Azerbaijani/Cyrillic/Azerbaijan
+ { 13, 2, 178,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Bashkir/Cyrillic/Russia
+ { 14, 7, 197,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Basque/Latin/Spain
+ { 15, 11, 18,{ 280,88 },{ 368,89 },{ 457,27 },{ 280,88 },{ 368,89 },{ 457,27 }}, // Bengali/Bengali/Bangladesh
+ { 15, 11, 100,{ 280,88 },{ 368,89 },{ 457,27 },{ 280,88 },{ 368,89 },{ 457,27 }}, // Bengali/Bengali/India
+ { 16, 31, 25,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Dzongkha/Tibetan/Bhutan
+ { 19, 7, 74,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Breton/Latin/France
+ { 20, 2, 33,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Bulgarian/Cyrillic/Bulgaria
+ { 21, 25, 147,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Burmese/Myanmar/Myanmar
+ { 22, 2, 20,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Belarusian/Cyrillic/Belarus
+ { 23, 20, 36,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Khmer/Khmer/Cambodia
+ { 24, 7, 197,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Catalan/Latin/Spain
+ { 24, 7, 5,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Catalan/Latin/Andorra
+ { 24, 7, 74,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Catalan/Latin/France
+ { 24, 7, 106,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Catalan/Latin/Italy
+ { 25, 5, 44,{ 484,39 },{ 523,38 },{ 185,27 },{ 484,39 },{ 523,38 },{ 185,27 }}, // Chinese/Simplified Han/China
+ { 25, 5, 97,{ 484,39 },{ 523,38 },{ 185,27 },{ 484,39 },{ 523,38 },{ 185,27 }}, // Chinese/Simplified Han/Hong Kong
+ { 25, 5, 126,{ 484,39 },{ 523,38 },{ 185,27 },{ 484,39 },{ 523,38 },{ 185,27 }}, // Chinese/Simplified Han/Macau
+ { 25, 5, 190,{ 484,39 },{ 523,38 },{ 185,27 },{ 484,39 },{ 523,38 },{ 185,27 }}, // Chinese/Simplified Han/Singapore
+ { 25, 6, 97,{ 484,39 },{ 484,39 },{ 185,27 },{ 484,39 },{ 484,39 },{ 185,27 }}, // Chinese/Traditional Han/Hong Kong
+ { 25, 6, 126,{ 484,39 },{ 484,39 },{ 185,27 },{ 484,39 },{ 484,39 },{ 185,27 }}, // Chinese/Traditional Han/Macau
+ { 25, 6, 208,{ 484,39 },{ 484,39 },{ 185,27 },{ 484,39 },{ 484,39 },{ 185,27 }}, // Chinese/Traditional Han/Taiwan
+ { 26, 7, 74,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Corsican/Latin/France
+ { 27, 7, 54,{ 48,84 },{ 48,84 },{ 561,39 },{ 48,84 },{ 48,84 },{ 561,39 }}, // Croatian/Latin/Croatia
+ { 27, 7, 27,{ 48,84 },{ 48,84 },{ 561,39 },{ 48,84 },{ 48,84 },{ 561,39 }}, // Croatian/Latin/Bosnia And Herzegowina
+ { 28, 7, 57,{ 600,82 },{ 600,82 },{ 185,27 },{ 600,82 },{ 600,82 },{ 185,27 }}, // Czech/Latin/Czech Republic
+ { 29, 7, 58,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Danish/Latin/Denmark
+ { 29, 7, 86,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Danish/Latin/Greenland
+ { 30, 7, 151,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Dutch/Latin/Netherlands
+ { 30, 7, 12,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Dutch/Latin/Aruba
+ { 30, 7, 21,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Dutch/Latin/Belgium
+ { 30, 7, 152,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Dutch/Latin/Cura Sao
+ { 30, 7, 202,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Dutch/Latin/Suriname
+ { 30, 7, 255,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Dutch/Latin/Bonaire
+ { 30, 7, 256,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Dutch/Latin/Sint Maarten
+ { 31, 7, 225,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/United States
+ { 31, 3, 225,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Deseret/United States
+ { 31, 7, 4,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/American Samoa
+ { 31, 7, 7,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Anguilla
+ { 31, 7, 9,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Antigua And Barbuda
+ { 31, 7, 13,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Australia
+ { 31, 7, 14,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Austria
+ { 31, 7, 16,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Bahamas
+ { 31, 7, 19,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Barbados
+ { 31, 7, 21,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Belgium
+ { 31, 7, 22,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Belize
+ { 31, 7, 24,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Bermuda
+ { 31, 7, 28,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Botswana
+ { 31, 7, 31,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/British Indian Ocean Territory
+ { 31, 7, 35,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Burundi
+ { 31, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Cameroon
+ { 31, 7, 38,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Canada
+ { 31, 7, 40,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Cayman Islands
+ { 31, 7, 45,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Christmas Island
+ { 31, 7, 46,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Cocos Islands
+ { 31, 7, 51,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Cook Islands
+ { 31, 7, 56,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Cyprus
+ { 31, 7, 58,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Denmark
+ { 31, 7, 60,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Dominica
+ { 31, 7, 67,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Eritrea
+ { 31, 7, 70,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Falkland Islands
+ { 31, 7, 72,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Fiji
+ { 31, 7, 73,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Finland
+ { 31, 7, 75,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Guernsey
+ { 31, 7, 80,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Gambia
+ { 31, 7, 82,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Germany
+ { 31, 7, 83,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Ghana
+ { 31, 7, 84,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Gibraltar
+ { 31, 7, 87,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Grenada
+ { 31, 7, 89,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Guam
+ { 31, 7, 93,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Guyana
+ { 31, 7, 97,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Hong Kong
+ { 31, 7, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/India
+ { 31, 7, 104,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Ireland
+ { 31, 7, 105,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Israel
+ { 31, 7, 107,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Jamaica
+ { 31, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Kenya
+ { 31, 7, 112,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Kiribati
+ { 31, 7, 120,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Lesotho
+ { 31, 7, 121,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Liberia
+ { 31, 7, 126,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Macau
+ { 31, 7, 128,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Madagascar
+ { 31, 7, 129,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Malawi
+ { 31, 7, 130,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Malaysia
+ { 31, 7, 133,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Malta
+ { 31, 7, 134,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Marshall Islands
+ { 31, 7, 137,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Mauritius
+ { 31, 7, 140,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Micronesia
+ { 31, 7, 144,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Montserrat
+ { 31, 7, 148,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Namibia
+ { 31, 7, 149,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Nauru
+ { 31, 7, 151,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Netherlands
+ { 31, 7, 154,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/New Zealand
+ { 31, 7, 157,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Nigeria
+ { 31, 7, 158,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Niue
+ { 31, 7, 159,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Norfolk Island
+ { 31, 7, 160,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Northern Mariana Islands
+ { 31, 7, 163,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Pakistan
+ { 31, 7, 164,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Palau
+ { 31, 7, 167,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Papua New Guinea
+ { 31, 7, 170,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Philippines
+ { 31, 7, 171,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Pitcairn
+ { 31, 7, 174,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Puerto Rico
+ { 31, 7, 179,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Rwanda
+ { 31, 7, 180,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Saint Kitts And Nevis
+ { 31, 7, 181,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Saint Lucia
+ { 31, 7, 182,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Saint Vincent And The Grenadines
+ { 31, 7, 183,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Samoa
+ { 31, 7, 188,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Seychelles
+ { 31, 7, 189,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Sierra Leone
+ { 31, 7, 190,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Singapore
+ { 31, 7, 192,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Slovenia
+ { 31, 7, 193,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Solomon Islands
+ { 31, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/South Africa
+ { 31, 7, 199,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Saint Helena
+ { 31, 7, 201,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Sudan
+ { 31, 7, 204,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Swaziland
+ { 31, 7, 205,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Sweden
+ { 31, 7, 206,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Switzerland
+ { 31, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Tanzania
+ { 31, 7, 213,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Tokelau
+ { 31, 7, 214,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Tonga
+ { 31, 7, 215,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Trinidad And Tobago
+ { 31, 7, 219,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Turks And Caicos Islands
+ { 31, 7, 220,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Tuvalu
+ { 31, 7, 221,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Uganda
+ { 31, 7, 223,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/United Arab Emirates
+ { 31, 7, 224,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/United Kingdom
+ { 31, 7, 226,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/United States Minor Outlying Islands
+ { 31, 7, 229,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Vanuatu
+ { 31, 7, 233,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/British Virgin Islands
+ { 31, 7, 234,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/United States Virgin Islands
+ { 31, 7, 239,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Zambia
+ { 31, 7, 240,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Zimbabwe
+ { 31, 7, 249,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Diego Garcia
+ { 31, 7, 251,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Isle Of Man
+ { 31, 7, 252,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Jersey
+ { 31, 7, 254,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/South Sudan
+ { 31, 7, 256,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Sint Maarten
+ { 31, 7, 260,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/World
+ { 31, 7, 261,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // English/Latin/Europe
+ { 32, 7, 260,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Esperanto/Latin/World
+ { 33, 7, 68,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Estonian/Latin/Estonia
+ { 34, 7, 71,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Faroese/Latin/Faroe Islands
+ { 34, 7, 58,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Faroese/Latin/Denmark
+ { 36, 7, 73,{ 766,82 },{ 848,118 },{ 185,27 },{ 966,142 },{ 966,142 },{ 185,27 }}, // Finnish/Latin/Finland
+ { 37, 7, 74,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/France
+ { 37, 7, 3,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Algeria
+ { 37, 7, 21,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Belgium
+ { 37, 7, 23,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Benin
+ { 37, 7, 34,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Burkina Faso
+ { 37, 7, 35,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Burundi
+ { 37, 7, 37,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Cameroon
+ { 37, 7, 38,{ 1248,58 },{ 1306,82 },{ 185,27 },{ 1248,58 },{ 1306,82 },{ 185,27 }}, // French/Latin/Canada
+ { 37, 7, 41,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Central African Republic
+ { 37, 7, 42,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Chad
+ { 37, 7, 48,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Comoros
+ { 37, 7, 49,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Congo Kinshasa
+ { 37, 7, 50,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Congo Brazzaville
+ { 37, 7, 53,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Ivory Coast
+ { 37, 7, 59,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Djibouti
+ { 37, 7, 66,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Equatorial Guinea
+ { 37, 7, 76,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/French Guiana
+ { 37, 7, 77,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/French Polynesia
+ { 37, 7, 79,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Gabon
+ { 37, 7, 88,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Guadeloupe
+ { 37, 7, 91,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Guinea
+ { 37, 7, 94,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Haiti
+ { 37, 7, 125,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Luxembourg
+ { 37, 7, 128,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Madagascar
+ { 37, 7, 132,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Mali
+ { 37, 7, 135,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Martinique
+ { 37, 7, 136,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Mauritania
+ { 37, 7, 137,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Mauritius
+ { 37, 7, 138,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Mayotte
+ { 37, 7, 142,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Monaco
+ { 37, 7, 145,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Morocco
+ { 37, 7, 153,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/New Caledonia
+ { 37, 7, 156,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Niger
+ { 37, 7, 176,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Reunion
+ { 37, 7, 179,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Rwanda
+ { 37, 7, 187,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Senegal
+ { 37, 7, 188,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Seychelles
+ { 37, 7, 200,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Saint Pierre And Miquelon
+ { 37, 7, 206,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Switzerland
+ { 37, 7, 207,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Syria
+ { 37, 7, 212,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Togo
+ { 37, 7, 216,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Tunisia
+ { 37, 7, 229,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Vanuatu
+ { 37, 7, 235,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Wallis And Futuna Islands
+ { 37, 7, 244,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Saint Barthelemy
+ { 37, 7, 245,{ 1108,58 },{ 1166,82 },{ 185,27 },{ 1108,58 },{ 1166,82 },{ 185,27 }}, // French/Latin/Saint Martin
+ { 38, 7, 151,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Western Frisian/Latin/Netherlands
+ { 39, 7, 224,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Gaelic/Latin/United Kingdom
+ { 40, 7, 197,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Galician/Latin/Spain
+ { 41, 15, 81,{ 1388,92 },{ 1388,92 },{ 185,27 },{ 1388,92 },{ 1388,92 },{ 185,27 }}, // Georgian/Georgian/Georgia
+ { 42, 7, 82,{ 1480,87 },{ 1480,87 },{ 185,27 },{ 1480,87 },{ 1480,87 },{ 185,27 }}, // German/Latin/Germany
+ { 42, 7, 14,{ 1480,87 },{ 1480,87 },{ 185,27 },{ 1480,87 },{ 1480,87 },{ 185,27 }}, // German/Latin/Austria
+ { 42, 7, 21,{ 1480,87 },{ 1480,87 },{ 185,27 },{ 1480,87 },{ 1480,87 },{ 185,27 }}, // German/Latin/Belgium
+ { 42, 7, 106,{ 1480,87 },{ 1480,87 },{ 185,27 },{ 1480,87 },{ 1480,87 },{ 185,27 }}, // German/Latin/Italy
+ { 42, 7, 123,{ 1480,87 },{ 1480,87 },{ 185,27 },{ 1480,87 },{ 1480,87 },{ 185,27 }}, // German/Latin/Liechtenstein
+ { 42, 7, 125,{ 1480,87 },{ 1480,87 },{ 185,27 },{ 1480,87 },{ 1480,87 },{ 185,27 }}, // German/Latin/Luxembourg
+ { 42, 7, 206,{ 1480,87 },{ 1480,87 },{ 185,27 },{ 1480,87 },{ 1480,87 },{ 185,27 }}, // German/Latin/Switzerland
+ { 43, 16, 85,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Greek/Greek/Greece
+ { 43, 16, 56,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Greek/Greek/Cyprus
+ { 44, 7, 86,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Greenlandic/Latin/Greenland
+ { 45, 7, 168,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Guarani/Latin/Paraguay
+ { 46, 17, 100,{ 1567,86 },{ 1567,86 },{ 185,27 },{ 1567,86 },{ 1567,86 },{ 185,27 }}, // Gujarati/Gujarati/India
+ { 47, 7, 157,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Hausa/Latin/Nigeria
+ { 47, 1, 157,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Hausa/Arabic/Nigeria
+ { 47, 7, 83,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Hausa/Latin/Ghana
+ { 47, 7, 156,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Hausa/Latin/Niger
+ { 48, 18, 105,{ 1653,69 },{ 1653,69 },{ 185,27 },{ 1653,69 },{ 1653,69 },{ 185,27 }}, // Hebrew/Hebrew/Israel
+ { 49, 13, 100,{ 1722,82 },{ 1722,82 },{ 185,27 },{ 1722,82 },{ 1722,82 },{ 185,27 }}, // Hindi/Devanagari/India
+ { 50, 7, 98,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Hungarian/Latin/Hungary
+ { 51, 7, 99,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Icelandic/Latin/Iceland
+ { 52, 7, 101,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Indonesian/Latin/Indonesia
+ { 53, 7, 260,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Interlingua/Latin/World
+ { 55, 44, 38,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Inuktitut/Canadian Aboriginal/Canada
+ { 55, 7, 38,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Inuktitut/Latin/Canada
+ { 57, 7, 104,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Irish/Latin/Ireland
+ { 58, 7, 106,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Italian/Latin/Italy
+ { 58, 7, 184,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Italian/Latin/San Marino
+ { 58, 7, 206,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Italian/Latin/Switzerland
+ { 58, 7, 230,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Italian/Latin/Vatican City State
+ { 59, 19, 108,{ 1804,78 },{ 1804,78 },{ 185,27 },{ 1804,78 },{ 1804,78 },{ 185,27 }}, // Japanese/Japanese/Japan
+ { 60, 7, 101,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Javanese/Latin/Indonesia
+ { 61, 21, 100,{ 1882,93 },{ 1882,93 },{ 185,27 },{ 1882,93 },{ 1882,93 },{ 185,27 }}, // Kannada/Kannada/India
+ { 62, 1, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kashmiri/Arabic/India
+ { 63, 2, 110,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kazakh/Cyrillic/Kazakhstan
+ { 64, 7, 179,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kinyarwanda/Latin/Rwanda
+ { 65, 2, 116,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kirghiz/Cyrillic/Kyrgyzstan
+ { 66, 22, 114,{ 1975,55 },{ 1975,55 },{ 185,27 },{ 1975,55 },{ 1975,55 },{ 185,27 }}, // Korean/Korean/South Korea
+ { 66, 22, 113,{ 1975,55 },{ 1975,55 },{ 185,27 },{ 1975,55 },{ 1975,55 },{ 185,27 }}, // Korean/Korean/North Korea
+ { 67, 7, 217,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kurdish/Latin/Turkey
+ { 68, 7, 35,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Rundi/Latin/Burundi
+ { 69, 23, 117,{ 2030,80 },{ 2110,81 },{ 185,27 },{ 2191,80 },{ 2110,81 },{ 185,27 }}, // Lao/Lao/Laos
+ { 71, 7, 118,{ 2271,93 },{ 2271,93 },{ 185,27 },{ 2271,93 },{ 2271,93 },{ 185,27 }}, // Latvian/Latin/Latvia
+ { 72, 7, 49,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lingala/Latin/Congo Kinshasa
+ { 72, 7, 6,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lingala/Latin/Angola
+ { 72, 7, 41,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lingala/Latin/Central African Republic
+ { 72, 7, 50,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lingala/Latin/Congo Brazzaville
+ { 73, 7, 124,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lithuanian/Latin/Lithuania
+ { 74, 2, 127,{ 2364,80 },{ 2364,80 },{ 185,27 },{ 2364,80 },{ 2364,80 },{ 185,27 }}, // Macedonian/Cyrillic/Macedonia
+ { 75, 7, 128,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Malagasy/Latin/Madagascar
+ { 76, 7, 130,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Malay/Latin/Malaysia
+ { 76, 1, 130,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Malay/Arabic/Malaysia
+ { 76, 7, 32,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Malay/Latin/Brunei
+ { 76, 7, 190,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Malay/Latin/Singapore
+ { 77, 24, 100,{ 2444,92 },{ 2444,92 },{ 2536,40 },{ 2444,92 },{ 2444,92 },{ 2536,40 }}, // Malayalam/Malayalam/India
+ { 78, 7, 133,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Maltese/Latin/Malta
+ { 79, 7, 154,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Maori/Latin/New Zealand
+ { 80, 13, 100,{ 2576,81 },{ 2576,81 },{ 2657,27 },{ 2576,81 },{ 2576,81 },{ 2657,27 }}, // Marathi/Devanagari/India
+ { 82, 2, 143,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Mongolian/Cyrillic/Mongolia
+ { 82, 8, 44,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Mongolian/Mongolian/China
+ { 84, 13, 150,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Nepali/Devanagari/Nepal
+ { 84, 13, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Nepali/Devanagari/India
+ { 85, 7, 161,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Norwegian Bokmal/Latin/Norway
+ { 85, 7, 203,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands
+ { 86, 7, 74,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Occitan/Latin/France
+ { 87, 26, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Oriya/Oriya/India
+ { 88, 1, 1,{ 2684,63 },{ 2684,63 },{ 185,27 },{ 2684,63 },{ 2684,63 },{ 185,27 }}, // Pashto/Arabic/Afghanistan
+ { 88, 1, 163,{ 2684,63 },{ 2684,63 },{ 185,27 },{ 2684,63 },{ 2684,63 },{ 185,27 }}, // Pashto/Arabic/Pakistan
+ { 89, 1, 102,{ 2747,67 },{ 2747,67 },{ 2814,24 },{ 2747,67 },{ 2747,67 },{ 2814,24 }}, // Persian/Arabic/Iran
+ { 89, 1, 1,{ 2747,67 },{ 2747,67 },{ 2838,24 },{ 2747,67 },{ 2862,57 },{ 2814,24 }}, // Persian/Arabic/Afghanistan
+ { 90, 7, 172,{ 2919,84 },{ 2919,84 },{ 185,27 },{ 2919,84 },{ 2919,84 },{ 185,27 }}, // Polish/Latin/Poland
+ { 91, 7, 30,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Brazil
+ { 91, 7, 6,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Angola
+ { 91, 7, 39,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Cape Verde
+ { 91, 7, 62,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/East Timor
+ { 91, 7, 66,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Equatorial Guinea
+ { 91, 7, 92,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Guinea Bissau
+ { 91, 7, 125,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Luxembourg
+ { 91, 7, 126,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Macau
+ { 91, 7, 146,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Mozambique
+ { 91, 7, 173,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Portugal
+ { 91, 7, 185,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Sao Tome And Principe
+ { 91, 7, 206,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Portuguese/Latin/Switzerland
+ { 92, 4, 100,{ 3003,78 },{ 3003,78 },{ 185,27 },{ 3003,78 },{ 3003,78 },{ 185,27 }}, // Punjabi/Gurmukhi/India
+ { 92, 1, 163,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Punjabi/Arabic/Pakistan
+ { 93, 7, 169,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Quechua/Latin/Peru
+ { 93, 7, 26,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Quechua/Latin/Bolivia
+ { 93, 7, 63,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Quechua/Latin/Ecuador
+ { 94, 7, 206,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Romansh/Latin/Switzerland
+ { 95, 7, 177,{ 3081,86 },{ 3081,86 },{ 185,27 },{ 3081,86 },{ 3081,86 },{ 185,27 }}, // Romanian/Latin/Romania
+ { 95, 7, 141,{ 3081,86 },{ 3081,86 },{ 185,27 },{ 3081,86 },{ 3081,86 },{ 185,27 }}, // Romanian/Latin/Moldova
+ { 96, 2, 178,{ 3167,81 },{ 3167,81 },{ 185,27 },{ 3167,81 },{ 3167,81 },{ 185,27 }}, // Russian/Cyrillic/Russia
+ { 96, 2, 20,{ 3167,81 },{ 3167,81 },{ 185,27 },{ 3167,81 },{ 3167,81 },{ 185,27 }}, // Russian/Cyrillic/Belarus
+ { 96, 2, 110,{ 3167,81 },{ 3167,81 },{ 185,27 },{ 3167,81 },{ 3167,81 },{ 185,27 }}, // Russian/Cyrillic/Kazakhstan
+ { 96, 2, 116,{ 3167,81 },{ 3167,81 },{ 185,27 },{ 3167,81 },{ 3167,81 },{ 185,27 }}, // Russian/Cyrillic/Kyrgyzstan
+ { 96, 2, 141,{ 3167,81 },{ 3167,81 },{ 185,27 },{ 3167,81 },{ 3167,81 },{ 185,27 }}, // Russian/Cyrillic/Moldova
+ { 96, 2, 222,{ 3167,81 },{ 3167,81 },{ 185,27 },{ 3167,81 },{ 3167,81 },{ 185,27 }}, // Russian/Cyrillic/Ukraine
+ { 98, 7, 41,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sango/Latin/Central African Republic
+ { 99, 13, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sanskrit/Devanagari/India
+ { 100, 2, 243,{ 3248,81 },{ 3248,81 },{ 185,27 },{ 3248,81 },{ 3248,81 },{ 185,27 }}, // Serbian/Cyrillic/Serbia
+ { 100, 7, 27,{ 3329,81 },{ 3329,81 },{ 185,27 },{ 3329,81 },{ 3329,81 },{ 185,27 }}, // Serbian/Latin/Bosnia And Herzegowina
+ { 100, 7, 242,{ 3329,81 },{ 3329,81 },{ 185,27 },{ 3329,81 },{ 3329,81 },{ 185,27 }}, // Serbian/Latin/Montenegro
+ { 100, 7, 243,{ 3329,81 },{ 3329,81 },{ 185,27 },{ 3329,81 },{ 3329,81 },{ 185,27 }}, // Serbian/Latin/Serbia
+ { 100, 2, 27,{ 3248,81 },{ 3248,81 },{ 185,27 },{ 3248,81 },{ 3248,81 },{ 185,27 }}, // Serbian/Cyrillic/Bosnia And Herzegowina
+ { 100, 2, 242,{ 3248,81 },{ 3248,81 },{ 185,27 },{ 3248,81 },{ 3248,81 },{ 185,27 }}, // Serbian/Cyrillic/Montenegro
+ { 100, 2, 257,{ 3248,81 },{ 3248,81 },{ 185,27 },{ 3248,81 },{ 3248,81 },{ 185,27 }}, // Serbian/Cyrillic/Kosovo
+ { 100, 7, 257,{ 3329,81 },{ 3329,81 },{ 185,27 },{ 3329,81 },{ 3329,81 },{ 185,27 }}, // Serbian/Latin/Kosovo
+ { 101, 2, 81,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Ossetic/Cyrillic/Georgia
+ { 101, 2, 178,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Ossetic/Cyrillic/Russia
+ { 102, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Southern Sotho/Latin/South Africa
+ { 103, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tswana/Latin/South Africa
+ { 104, 7, 240,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Shona/Latin/Zimbabwe
+ { 105, 1, 163,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sindhi/Arabic/Pakistan
+ { 106, 32, 198,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sinhala/Sinhala/Sri Lanka
+ { 107, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Swati/Latin/South Africa
+ { 108, 7, 191,{ 600,82 },{ 600,82 },{ 185,27 },{ 600,82 },{ 600,82 },{ 185,27 }}, // Slovak/Latin/Slovakia
+ { 109, 7, 192,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Slovenian/Latin/Slovenia
+ { 110, 7, 194,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Somali/Latin/Somalia
+ { 110, 7, 59,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Somali/Latin/Djibouti
+ { 110, 7, 69,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Somali/Latin/Ethiopia
+ { 110, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Somali/Latin/Kenya
+ { 111, 7, 197,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Spain
+ { 111, 7, 10,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Argentina
+ { 111, 7, 22,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Belize
+ { 111, 7, 26,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Bolivia
+ { 111, 7, 30,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Brazil
+ { 111, 7, 43,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Chile
+ { 111, 7, 47,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Colombia
+ { 111, 7, 52,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Costa Rica
+ { 111, 7, 55,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Cuba
+ { 111, 7, 61,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Dominican Republic
+ { 111, 7, 63,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Ecuador
+ { 111, 7, 65,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/El Salvador
+ { 111, 7, 66,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Equatorial Guinea
+ { 111, 7, 90,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Guatemala
+ { 111, 7, 96,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Honduras
+ { 111, 7, 139,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Mexico
+ { 111, 7, 155,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Nicaragua
+ { 111, 7, 166,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Panama
+ { 111, 7, 168,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Paraguay
+ { 111, 7, 169,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Peru
+ { 111, 7, 170,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Philippines
+ { 111, 7, 174,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Puerto Rico
+ { 111, 7, 225,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/United States
+ { 111, 7, 227,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Uruguay
+ { 111, 7, 231,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Venezuela
+ { 111, 7, 238,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Canary Islands
+ { 111, 7, 246,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Latin America
+ { 111, 7, 250,{ 682,84 },{ 682,84 },{ 185,27 },{ 682,84 },{ 682,84 },{ 185,27 }}, // Spanish/Latin/Ceuta And Melilla
+ { 113, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Swahili/Latin/Tanzania
+ { 113, 7, 49,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Swahili/Latin/Congo Kinshasa
+ { 113, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Swahili/Latin/Kenya
+ { 113, 7, 221,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Swahili/Latin/Uganda
+ { 114, 7, 205,{ 3410,84 },{ 3410,84 },{ 185,27 },{ 3494,84 },{ 3494,84 },{ 185,27 }}, // Swedish/Latin/Sweden
+ { 114, 7, 73,{ 3410,84 },{ 3410,84 },{ 185,27 },{ 3494,84 },{ 3494,84 },{ 185,27 }}, // Swedish/Latin/Finland
+ { 114, 7, 248,{ 3410,84 },{ 3410,84 },{ 185,27 },{ 3494,84 },{ 3494,84 },{ 185,27 }}, // Swedish/Latin/Aland Islands
+ { 115, 7, 106,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sardinian/Latin/Italy
+ { 116, 2, 209,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tajik/Cyrillic/Tajikistan
+ { 117, 27, 100,{ 3578,64 },{ 3642,94 },{ 185,27 },{ 3578,64 },{ 3642,94 },{ 185,27 }}, // Tamil/Tamil/India
+ { 117, 27, 130,{ 3578,64 },{ 3642,94 },{ 185,27 },{ 3578,64 },{ 3642,94 },{ 185,27 }}, // Tamil/Tamil/Malaysia
+ { 117, 27, 190,{ 3578,64 },{ 3642,94 },{ 185,27 },{ 3578,64 },{ 3642,94 },{ 185,27 }}, // Tamil/Tamil/Singapore
+ { 117, 27, 198,{ 3578,64 },{ 3642,94 },{ 185,27 },{ 3578,64 },{ 3642,94 },{ 185,27 }}, // Tamil/Tamil/Sri Lanka
+ { 118, 2, 178,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tatar/Cyrillic/Russia
+ { 119, 28, 100,{ 3736,89 },{ 3736,89 },{ 185,27 },{ 3736,89 },{ 3736,89 },{ 185,27 }}, // Telugu/Telugu/India
+ { 120, 30, 211,{ 3825,99 },{ 3825,99 },{ 185,27 },{ 3825,99 },{ 3825,99 },{ 185,27 }}, // Thai/Thai/Thailand
+ { 121, 31, 44,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tibetan/Tibetan/China
+ { 121, 31, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tibetan/Tibetan/India
+ { 122, 14, 69,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tigrinya/Ethiopic/Ethiopia
+ { 122, 14, 67,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tigrinya/Ethiopic/Eritrea
+ { 123, 7, 214,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tongan/Latin/Tonga
+ { 124, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tsonga/Latin/South Africa
+ { 125, 7, 217,{ 3924,81 },{ 3924,81 },{ 185,27 },{ 3924,81 },{ 3924,81 },{ 185,27 }}, // Turkish/Latin/Turkey
+ { 125, 7, 56,{ 3924,81 },{ 3924,81 },{ 185,27 },{ 3924,81 },{ 3924,81 },{ 185,27 }}, // Turkish/Latin/Cyprus
+ { 126, 7, 218,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Turkmen/Latin/Turkmenistan
+ { 128, 1, 44,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Uighur/Arabic/China
+ { 129, 2, 222,{ 4005,50 },{ 4055,81 },{ 185,27 },{ 4136,58 },{ 4055,81 },{ 185,27 }}, // Ukrainian/Cyrillic/Ukraine
+ { 130, 1, 163,{ 4194,67 },{ 4194,67 },{ 185,27 },{ 4194,67 },{ 4194,67 },{ 185,27 }}, // Urdu/Arabic/Pakistan
+ { 130, 1, 100,{ 4194,67 },{ 4194,67 },{ 185,27 },{ 4194,67 },{ 4194,67 },{ 185,27 }}, // Urdu/Arabic/India
+ { 131, 7, 228,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Uzbek/Latin/Uzbekistan
+ { 131, 1, 1,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Uzbek/Arabic/Afghanistan
+ { 131, 2, 228,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Uzbek/Cyrillic/Uzbekistan
+ { 132, 7, 232,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Vietnamese/Latin/Vietnam
+ { 133, 7, 260,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Volapuk/Latin/World
+ { 134, 7, 224,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Welsh/Latin/United Kingdom
+ { 135, 7, 187,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Wolof/Latin/Senegal
+ { 136, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Xhosa/Latin/South Africa
+ { 137, 18, 260,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Yiddish/Hebrew/World
+ { 138, 7, 157,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Yoruba/Latin/Nigeria
+ { 138, 7, 23,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Yoruba/Latin/Benin
+ { 140, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Zulu/Latin/South Africa
+ { 141, 7, 161,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Norwegian Nynorsk/Latin/Norway
+ { 142, 7, 27,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Bosnian/Latin/Bosnia And Herzegowina
+ { 142, 2, 27,{ 3248,81 },{ 3248,81 },{ 185,27 },{ 3248,81 },{ 3248,81 },{ 185,27 }}, // Bosnian/Cyrillic/Bosnia And Herzegowina
+ { 143, 29, 131,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Divehi/Thaana/Maldives
+ { 144, 7, 251,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Manx/Latin/Isle Of Man
+ { 145, 7, 224,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Cornish/Latin/United Kingdom
+ { 146, 7, 83,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Akan/Latin/Ghana
+ { 147, 13, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Konkani/Devanagari/India
+ { 148, 7, 83,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Ga/Latin/Ghana
+ { 149, 7, 157,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Igbo/Latin/Nigeria
+ { 150, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kamba/Latin/Kenya
+ { 151, 33, 103,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Syriac/Syriac/Iraq
+ { 152, 14, 67,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Blin/Ethiopic/Eritrea
+ { 153, 14, 69,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Geez/Ethiopic/Ethiopia
+ { 155, 7, 69,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sidamo/Latin/Ethiopia
+ { 156, 7, 157,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Atsam/Latin/Nigeria
+ { 157, 14, 67,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tigre/Ethiopic/Eritrea
+ { 158, 7, 157,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Jju/Latin/Nigeria
+ { 159, 7, 106,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Friulian/Latin/Italy
+ { 160, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Venda/Latin/South Africa
+ { 161, 7, 83,{ 4261,48 },{ 4309,87 },{ 185,27 },{ 4261,48 },{ 4309,87 },{ 185,27 }}, // Ewe/Latin/Ghana
+ { 161, 7, 212,{ 4261,48 },{ 4309,87 },{ 185,27 },{ 4261,48 },{ 4309,87 },{ 185,27 }}, // Ewe/Latin/Togo
+ { 162, 14, 69,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Walamo/Ethiopic/Ethiopia
+ { 163, 7, 225,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Hawaiian/Latin/United States
+ { 164, 7, 157,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tyap/Latin/Nigeria
+ { 165, 7, 129,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Nyanja/Latin/Malawi
+ { 166, 7, 170,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Filipino/Latin/Philippines
+ { 167, 7, 206,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Swiss German/Latin/Switzerland
+ { 167, 7, 74,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Swiss German/Latin/France
+ { 167, 7, 123,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Swiss German/Latin/Liechtenstein
+ { 168, 34, 44,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sichuan Yi/Yi/China
+ { 169, 7, 121,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kpelle/Latin/Liberia
+ { 170, 7, 82,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Low German/Latin/Germany
+ { 170, 7, 151,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Low German/Latin/Netherlands
+ { 171, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // South Ndebele/Latin/South Africa
+ { 172, 7, 195,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Northern Sotho/Latin/South Africa
+ { 173, 7, 161,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Northern Sami/Latin/Norway
+ { 173, 7, 73,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Northern Sami/Latin/Finland
+ { 173, 7, 205,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Northern Sami/Latin/Sweden
+ { 174, 7, 208,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Taroko/Latin/Taiwan
+ { 175, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Gusii/Latin/Kenya
+ { 176, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Taita/Latin/Kenya
+ { 177, 7, 187,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Senegal
+ { 177, 7, 34,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Burkina Faso
+ { 177, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Cameroon
+ { 177, 7, 80,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Gambia
+ { 177, 7, 83,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Ghana
+ { 177, 7, 91,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Guinea
+ { 177, 7, 92,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Guinea Bissau
+ { 177, 7, 121,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Liberia
+ { 177, 7, 136,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Mauritania
+ { 177, 7, 156,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Niger
+ { 177, 7, 157,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Nigeria
+ { 177, 7, 189,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Latin/Sierra Leone
+ { 177, 134, 91,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Fulah/Adlam/Guinea
+ { 178, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kikuyu/Latin/Kenya
+ { 179, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Samburu/Latin/Kenya
+ { 180, 7, 146,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sena/Latin/Mozambique
+ { 181, 7, 240,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // North Ndebele/Latin/Zimbabwe
+ { 182, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Rombo/Latin/Tanzania
+ { 183, 9, 145,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tachelhit/Tifinagh/Morocco
+ { 183, 7, 145,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tachelhit/Latin/Morocco
+ { 184, 7, 3,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kabyle/Latin/Algeria
+ { 185, 7, 221,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Nyankole/Latin/Uganda
+ { 186, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Bena/Latin/Tanzania
+ { 187, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Vunjo/Latin/Tanzania
+ { 188, 7, 132,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Bambara/Latin/Mali
+ { 188, 75, 132,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Bambara/Nko/Mali
+ { 189, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Embu/Latin/Kenya
+ { 190, 12, 225,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Cherokee/Cherokee/United States
+ { 191, 7, 137,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Morisyen/Latin/Mauritius
+ { 192, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Makonde/Latin/Tanzania
+ { 193, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Langi/Latin/Tanzania
+ { 194, 7, 221,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Ganda/Latin/Uganda
+ { 195, 7, 239,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Bemba/Latin/Zambia
+ { 196, 7, 39,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kabuverdianu/Latin/Cape Verde
+ { 197, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Meru/Latin/Kenya
+ { 198, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kalenjin/Latin/Kenya
+ { 199, 7, 148,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Nama/Latin/Namibia
+ { 200, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Machame/Latin/Tanzania
+ { 201, 7, 82,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Colognian/Latin/Germany
+ { 202, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Masai/Latin/Kenya
+ { 202, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Masai/Latin/Tanzania
+ { 203, 7, 221,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Soga/Latin/Uganda
+ { 204, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Luyia/Latin/Kenya
+ { 205, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Asu/Latin/Tanzania
+ { 206, 7, 221,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Teso/Latin/Uganda
+ { 206, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Teso/Latin/Kenya
+ { 207, 7, 67,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Saho/Latin/Eritrea
+ { 208, 7, 132,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Koyra Chiini/Latin/Mali
+ { 209, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Rwa/Latin/Tanzania
+ { 210, 7, 111,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Luo/Latin/Kenya
+ { 211, 7, 221,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Chiga/Latin/Uganda
+ { 212, 7, 145,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Central Morocco Tamazight/Latin/Morocco
+ { 213, 7, 132,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Koyraboro Senni/Latin/Mali
+ { 214, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Shambala/Latin/Tanzania
+ { 215, 13, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Bodo/Devanagari/India
+ { 218, 2, 178,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Chechen/Cyrillic/Russia
+ { 219, 2, 178,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Church/Cyrillic/Russia
+ { 220, 2, 178,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Chuvash/Cyrillic/Russia
+ { 230, 7, 49,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Luba Katanga/Latin/Congo Kinshasa
+ { 231, 7, 125,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Luxembourgish/Latin/Luxembourg
+ { 236, 7, 21,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Walloon/Latin/Belgium
+ { 237, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Aghem/Latin/Cameroon
+ { 238, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Basaa/Latin/Cameroon
+ { 239, 7, 156,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Zarma/Latin/Niger
+ { 240, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Duala/Latin/Cameroon
+ { 241, 7, 187,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Jola Fonyi/Latin/Senegal
+ { 242, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Ewondo/Latin/Cameroon
+ { 243, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Bafia/Latin/Cameroon
+ { 244, 7, 146,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Makhuwa Meetto/Latin/Mozambique
+ { 245, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Mundang/Latin/Cameroon
+ { 246, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kwasio/Latin/Cameroon
+ { 247, 7, 254,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Nuer/Latin/South Sudan
+ { 248, 2, 178,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sakha/Cyrillic/Russia
+ { 249, 7, 210,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sangu/Latin/Tanzania
+ { 251, 7, 156,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tasawaq/Latin/Niger
+ { 252, 35, 121,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Vai/Vai/Liberia
+ { 252, 7, 121,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Vai/Latin/Liberia
+ { 253, 7, 206,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Walser/Latin/Switzerland
+ { 254, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Yangben/Latin/Cameroon
+ { 256, 7, 197,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Asturian/Latin/Spain
+ { 257, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Ngomba/Latin/Cameroon
+ { 258, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kako/Latin/Cameroon
+ { 259, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Meta/Latin/Cameroon
+ { 260, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Ngiemboon/Latin/Cameroon
+ { 290, 11, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Manipuri/Bengali/India
+ { 309, 100, 232,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Tai Dam/Tai Viet/Vietnam
+ { 312, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Akoose/Latin/Cameroon
+ { 313, 7, 225,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lakota/Latin/United States
+ { 314, 9, 145,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Standard Moroccan Tamazight/Tifinagh/Morocco
+ { 315, 7, 43,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Mapuche/Latin/Chile
+ { 316, 1, 103,{ 4396,102 },{ 4396,102 },{ 185,27 },{ 4396,102 },{ 4396,102 },{ 185,27 }}, // Central Kurdish/Arabic/Iraq
+ { 316, 1, 102,{ 4396,102 },{ 4396,102 },{ 185,27 },{ 4396,102 },{ 4396,102 },{ 185,27 }}, // Central Kurdish/Arabic/Iran
+ { 317, 7, 82,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lower Sorbian/Latin/Germany
+ { 318, 7, 82,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Upper Sorbian/Latin/Germany
+ { 319, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kenyang/Latin/Cameroon
+ { 320, 7, 38,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Mohawk/Latin/Canada
+ { 321, 75, 91,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Nko/Nko/Guinea
+ { 322, 7, 260,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Prussian/Latin/World
+ { 323, 7, 90,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kiche/Latin/Guatemala
+ { 324, 7, 205,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Southern Sami/Latin/Sweden
+ { 325, 7, 205,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lule Sami/Latin/Sweden
+ { 326, 7, 73,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Inari Sami/Latin/Finland
+ { 327, 7, 73,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Skolt Sami/Latin/Finland
+ { 328, 7, 13,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Warlpiri/Latin/Australia
+ { 346, 1, 102,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Mazanderani/Arabic/Iran
+ { 349, 1, 102,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Northern Luri/Arabic/Iran
+ { 349, 1, 103,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Northern Luri/Arabic/Iraq
+ { 357, 6, 97,{ 484,39 },{ 484,39 },{ 185,27 },{ 484,39 },{ 484,39 },{ 185,27 }}, // Cantonese/Traditional Han/Hong Kong
+ { 357, 5, 44,{ 484,39 },{ 484,39 },{ 185,27 },{ 484,39 },{ 484,39 },{ 185,27 }}, // Cantonese/Simplified Han/China
+ { 360, 7, 260,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Ido/Latin/World
+ { 361, 7, 260,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lojban/Latin/World
+ { 362, 7, 106,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Sicilian/Latin/Italy
+ { 363, 1, 102,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Southern Kurdish/Arabic/Iran
+ { 364, 1, 163,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Western Balochi/Arabic/Pakistan
+ { 365, 7, 170,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Cebuano/Latin/Philippines
+ { 366, 2, 178,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Erzya/Cyrillic/Russia
+ { 0, 0, 0,{ 0,0},{ 0,0},{ 0,0},{ 0,0},{ 0,0},{ 0,0}}, // trailing zeros
+};
+
+static const ushort months_data[] = {
+0x46, 0x61, 0x72, 0x3b, 0x4f, 0x72, 0x64, 0x3b, 0x4b, 0x68, 0x6f, 0x3b, 0x54, 0x69, 0x72, 0x3b, 0x4d, 0x6f, 0x72, 0x3b,
+0x53, 0x68, 0x61, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x41, 0x62, 0x61, 0x3b, 0x41, 0x7a, 0x61, 0x3b, 0x44, 0x65, 0x79, 0x3b,
+0x42, 0x61, 0x68, 0x3b, 0x45, 0x73, 0x66, 0x3b, 0x46, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x4f, 0x72,
+0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x73, 0x68, 0x74, 0x3b, 0x4b, 0x68, 0x6f, 0x72, 0x64, 0x61, 0x64, 0x3b, 0x54, 0x69,
+0x72, 0x3b, 0x4d, 0x6f, 0x72, 0x64, 0x61, 0x64, 0x3b, 0x53, 0x68, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72, 0x3b, 0x4d,
+0x65, 0x68, 0x72, 0x3b, 0x41, 0x62, 0x61, 0x6e, 0x3b, 0x41, 0x7a, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x79, 0x3b, 0x42, 0x61,
+0x68, 0x6d, 0x61, 0x6e, 0x3b, 0x45, 0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0x46, 0x3b, 0x4f, 0x3b, 0x4b, 0x3b, 0x54, 0x3b,
+0x4d, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x31, 0x3b, 0x32, 0x3b,
+0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b,
+0x31, 0x32, 0x3b, 0x31, 0x33, 0x31, 0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x38,
+0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x641, 0x631, 0x641, 0x631, 0x62f, 0x646, 0x3b, 0x623,
+0x630, 0x631, 0x628, 0x64a, 0x647, 0x634, 0x62a, 0x3b, 0x62e, 0x631, 0x62f, 0x627, 0x62f, 0x3b, 0x62a, 0x627, 0x631, 0x3b, 0x645, 0x631,
+0x62f, 0x627, 0x62f, 0x3b, 0x634, 0x647, 0x631, 0x641, 0x627, 0x631, 0x3b, 0x645, 0x647, 0x631, 0x3b, 0x622, 0x64a, 0x627, 0x646, 0x3b,
+0x622, 0x630, 0x631, 0x3b, 0x62f, 0x64a, 0x3b, 0x628, 0x647, 0x645, 0x646, 0x3b, 0x627, 0x633, 0x641, 0x646, 0x62f, 0x627, 0x631, 0x3b,
+0x9ab, 0x9cd, 0x9af, 0x9be, 0x9ad, 0x9be, 0x9b0, 0x9cd, 0x9a1, 0x9bf, 0x9a8, 0x3b, 0x985, 0x9b0, 0x9a1, 0x9bf, 0x9ac, 0x9c7, 0x9b9, 0x9c7,
+0x9b6, 0x9cd, 0x9a4, 0x3b, 0x996, 0x9cb, 0x9b0, 0x9cd, 0x9a6, 0x9cd, 0x9a6, 0x3b, 0x9a4, 0x9c0, 0x9b0, 0x3b, 0x9ae, 0x9b0, 0x9cd, 0x9af,
+0x9be, 0x9a6, 0x3b, 0x9b6, 0x9be, 0x9b9, 0x9b0, 0x9bf, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9ae, 0x9c7, 0x9b9, 0x9c7, 0x9b0, 0x3b, 0x986, 0x9ac,
+0x9be, 0x9a8, 0x3b, 0x986, 0x99c, 0x9be, 0x9b0, 0x3b, 0x9a6, 0x9c7, 0x3b, 0x9ac, 0x9be, 0x9b9, 0x9ae, 0x9be, 0x9a8, 0x3b, 0x98f, 0x9b8,
+0x9ab, 0x9cd, 0x9af, 0x9be, 0x9a8, 0x9cd, 0x9a1, 0x3b, 0x9ab, 0x9cd, 0x9af, 0x9be, 0x9ad, 0x9be, 0x9b0, 0x9cd, 0x9a1, 0x9bf, 0x9a8, 0x3b,
+0x985, 0x9b0, 0x9a1, 0x9bf, 0x9ac, 0x9c7, 0x9b9, 0x9c7, 0x9b6, 0x9cd, 0x9a4, 0x3b, 0x996, 0x9cb, 0x9b0, 0x9cd, 0x9a6, 0x9cd, 0x9a6, 0x3b,
+0x9a4, 0x9c0, 0x9b0, 0x3b, 0x9ae, 0x9b0, 0x9cd, 0x9af, 0x9be, 0x9a6, 0x3b, 0x9b6, 0x9be, 0x9b9, 0x9b0, 0x9bf, 0x9ac, 0x9be, 0x9b0, 0x3b,
+0x9ae, 0x9c7, 0x9b9, 0x9c7, 0x9b0, 0x3b, 0x986, 0x9ac, 0x9be, 0x9a8, 0x3b, 0x9ac, 0x9be, 0x99c, 0x9be, 0x9b0, 0x3b, 0x9a6, 0x9c7, 0x3b,
+0x9ac, 0x9be, 0x9b9, 0x9ae, 0x9be, 0x9a8, 0x3b, 0x98f, 0x9b8, 0x9ab, 0x9cd, 0x9af, 0x9be, 0x9a8, 0x9cd, 0x9a1, 0x3b, 0x9e7, 0x3b, 0x9e8,
+0x3b, 0x9e9, 0x3b, 0x9ea, 0x3b, 0x9eb, 0x3b, 0x9ec, 0x3b, 0x9ed, 0x3b, 0x9ee, 0x3b, 0x9ef, 0x3b, 0x9e7, 0x9e6, 0x3b, 0x9e7, 0x9e7,
+0x3b, 0x9e7, 0x9e8, 0x3b, 0x31, 0x6708, 0x3b, 0x32, 0x6708, 0x3b, 0x33, 0x6708, 0x3b, 0x34, 0x6708, 0x3b, 0x35, 0x6708, 0x3b, 0x36,
+0x6708, 0x3b, 0x37, 0x6708, 0x3b, 0x38, 0x6708, 0x3b, 0x39, 0x6708, 0x3b, 0x31, 0x30, 0x6708, 0x3b, 0x31, 0x31, 0x6708, 0x3b, 0x31,
+0x32, 0x6708, 0x3b, 0x4e00, 0x6708, 0x3b, 0x4e8c, 0x6708, 0x3b, 0x4e09, 0x6708, 0x3b, 0x56db, 0x6708, 0x3b, 0x4e94, 0x6708, 0x3b, 0x516d, 0x6708,
+0x3b, 0x4e03, 0x6708, 0x3b, 0x516b, 0x6708, 0x3b, 0x4e5d, 0x6708, 0x3b, 0x5341, 0x6708, 0x3b, 0x5341, 0x4e00, 0x6708, 0x3b, 0x5341, 0x4e8c, 0x6708,
+0x3b, 0x31, 0x2e, 0x3b, 0x32, 0x2e, 0x3b, 0x33, 0x2e, 0x3b, 0x34, 0x2e, 0x3b, 0x35, 0x2e, 0x3b, 0x36, 0x2e, 0x3b, 0x37,
+0x2e, 0x3b, 0x38, 0x2e, 0x3b, 0x39, 0x2e, 0x3b, 0x31, 0x30, 0x2e, 0x3b, 0x31, 0x31, 0x2e, 0x3b, 0x31, 0x32, 0x2e, 0x3b,
+0x66, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x6f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x161, 0x74,
+0x3b, 0x63, 0x68, 0x6f, 0x72, 0x64, 0xe1, 0x64, 0x3b, 0x74, 0xed, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x64, 0xe1, 0x64, 0x3b,
+0x161, 0x61, 0x68, 0x72, 0xed, 0x76, 0x61, 0x72, 0x3b, 0x6d, 0x65, 0x68, 0x72, 0x3b, 0xe1, 0x62, 0xe1, 0x6e, 0x3b, 0xe1,
+0x7a, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x69, 0x3b, 0x62, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x3b, 0x65, 0x73, 0x66, 0x61, 0x6e,
+0x64, 0x3b, 0x66, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x6f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65,
+0x73, 0x68, 0x74, 0x3b, 0x6b, 0x68, 0x6f, 0x72, 0x64, 0x61, 0x64, 0x3b, 0x74, 0x69, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x64,
+0x61, 0x64, 0x3b, 0x73, 0x68, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72, 0x3b, 0x6d, 0x65, 0x68, 0x72, 0x3b, 0x61, 0x62,
+0x61, 0x6e, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x79, 0x3b, 0x62, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x3b, 0x65,
+0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0x66, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x6f, 0x72, 0x64, 0x69,
+0x62, 0x65, 0x68, 0x65, 0x161, 0x74, 0x3b, 0x6b, 0x68, 0x6f, 0x72, 0x64, 0x61, 0x64, 0x3b, 0x74, 0x69, 0x72, 0x3b, 0x6d,
+0x6f, 0x72, 0x64, 0x61, 0x64, 0x3b, 0x161, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72, 0x3b, 0x6d, 0x65, 0x68, 0x72, 0x3b,
+0x61, 0x62, 0x61, 0x6e, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x79, 0x3b, 0x62, 0x61, 0x68, 0x6d, 0x61, 0x6e,
+0x3b, 0x65, 0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0x66, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x6b, 0x75, 0x75,
+0x3b, 0x6f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x161, 0x74, 0x6b, 0x75, 0x75, 0x3b, 0x6b, 0x68, 0x6f, 0x72, 0x64,
+0x61, 0x64, 0x6b, 0x75, 0x75, 0x3b, 0x74, 0x69, 0x72, 0x6b, 0x75, 0x75, 0x3b, 0x6d, 0x6f, 0x72, 0x64, 0x61, 0x64, 0x6b,
+0x75, 0x75, 0x3b, 0x161, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72, 0x6b, 0x75, 0x75, 0x3b, 0x6d, 0x65, 0x68, 0x72, 0x6b,
+0x75, 0x75, 0x3b, 0x61, 0x62, 0x61, 0x6e, 0x6b, 0x75, 0x75, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6b, 0x75, 0x75, 0x3b, 0x64,
+0x65, 0x79, 0x6b, 0x75, 0x75, 0x3b, 0x62, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x6b, 0x75, 0x75, 0x3b, 0x65, 0x73, 0x66, 0x61,
+0x6e, 0x64, 0x6b, 0x75, 0x75, 0x3b, 0x66, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x6b, 0x75, 0x75, 0x74, 0x61,
+0x3b, 0x6f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x161, 0x74, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6b, 0x68, 0x6f,
+0x72, 0x64, 0x61, 0x64, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x74, 0x69, 0x72, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d,
+0x6f, 0x72, 0x64, 0x61, 0x64, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x161, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72, 0x6b,
+0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d, 0x65, 0x68, 0x72, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x61, 0x62, 0x61, 0x6e, 0x6b,
+0x75, 0x75, 0x74, 0x61, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x64, 0x65, 0x79, 0x6b, 0x75,
+0x75, 0x74, 0x61, 0x3b, 0x62, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x65, 0x73, 0x66, 0x61,
+0x6e, 0x64, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x66, 0x61, 0x72, 0x2e, 0x3b, 0x6f, 0x72, 0x64, 0x2e, 0x3b, 0x6b, 0x68,
+0x6f, 0x2e, 0x3b, 0x74, 0x69, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x2e, 0x3b, 0x161, 0x61, 0x68, 0x2e, 0x3b, 0x6d, 0x65, 0x68,
+0x72, 0x3b, 0xe2, 0x62, 0xe2, 0x6e, 0x3b, 0xe2, 0x7a, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x79, 0x3b, 0x62, 0x61, 0x68, 0x2e,
+0x3b, 0x65, 0x73, 0x66, 0x2e, 0x3b, 0x66, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x6f, 0x72, 0x64, 0x69,
+0x62, 0x65, 0x68, 0x65, 0x161, 0x74, 0x3b, 0x6b, 0x68, 0x6f, 0x72, 0x64, 0xe2, 0x64, 0x3b, 0x74, 0x69, 0x72, 0x3b, 0x6d,
+0x6f, 0x72, 0x64, 0xe2, 0x64, 0x3b, 0x161, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72, 0x3b, 0x6d, 0x65, 0x68, 0x72, 0x3b,
+0xe2, 0x62, 0xe2, 0x6e, 0x3b, 0xe2, 0x7a, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x79, 0x3b, 0x62, 0x61, 0x68, 0x6d, 0x61, 0x6e,
+0x3b, 0x65, 0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0x46, 0x61, 0x72, 0x2e, 0x3b, 0x4f, 0x72, 0x64, 0x2e, 0x3b, 0x4b, 0x68,
+0x6f, 0x2e, 0x3b, 0x54, 0x69, 0x72, 0x3b, 0x4d, 0x6f, 0x72, 0x2e, 0x3b, 0x160, 0x61, 0x68, 0x2e, 0x3b, 0x4d, 0x65, 0x68,
+0x72, 0x3b, 0xc2, 0x62, 0xe2, 0x2e, 0x3b, 0xc2, 0x7a, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x79, 0x3b, 0x42, 0x61, 0x68, 0x2e,
+0x3b, 0x45, 0x73, 0x66, 0x2e, 0x3b, 0x46, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x4f, 0x72, 0x64, 0x69,
+0x62, 0x65, 0x68, 0x65, 0x161, 0x74, 0x3b, 0x4b, 0x68, 0x6f, 0x72, 0x64, 0xe2, 0x64, 0x3b, 0x54, 0x69, 0x72, 0x3b, 0x4d,
+0x6f, 0x72, 0x64, 0xe2, 0x64, 0x3b, 0x160, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x68, 0x72, 0x3b,
+0xc2, 0x62, 0xe2, 0x6e, 0x3b, 0xc2, 0x7a, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x79, 0x3b, 0x42, 0x61, 0x68, 0x6d, 0x61, 0x6e,
+0x3b, 0x45, 0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0x10e4, 0x10d0, 0x10e0, 0x10d5, 0x10d0, 0x10e0, 0x10d3, 0x10d8, 0x10dc, 0x10d8, 0x3b, 0x10dd,
+0x10e0, 0x10d3, 0x10d8, 0x10d1, 0x10d4, 0x10f0, 0x10d4, 0x10e8, 0x10d7, 0x10d8, 0x3b, 0x10ee, 0x10dd, 0x10e0, 0x10d3, 0x10d0, 0x10d3, 0x10d8, 0x3b, 0x10d7,
+0x10d8, 0x10e0, 0x10d8, 0x3b, 0x10db, 0x10dd, 0x10e0, 0x10d3, 0x10d0, 0x10d3, 0x10d8, 0x3b, 0x10e8, 0x10d0, 0x10f0, 0x10e0, 0x10d8, 0x10d5, 0x10d0, 0x10e0,
+0x10d8, 0x3b, 0x10db, 0x10d4, 0x10f0, 0x10e0, 0x10d8, 0x3b, 0x10d0, 0x10d1, 0x10d0, 0x10dc, 0x10d8, 0x3b, 0x10d0, 0x10d6, 0x10d0, 0x10e0, 0x10d8, 0x3b,
+0x10d3, 0x10d4, 0x10d8, 0x3b, 0x10d1, 0x10d0, 0x10f0, 0x10db, 0x10d0, 0x10dc, 0x10d8, 0x3b, 0x10d4, 0x10e1, 0x10e4, 0x10d0, 0x10dc, 0x10d3, 0x10d8, 0x3b,
+0x46, 0x61, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x4f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x73, 0x63,
+0x68, 0x74, 0x3b, 0x43, 0x68, 0x6f, 0x72, 0x64, 0x101, 0x64, 0x3b, 0x54, 0x69, 0x72, 0x3b, 0x4d, 0x6f, 0x72, 0x64, 0x101,
+0x64, 0x3b, 0x53, 0x63, 0x68, 0x61, 0x68, 0x72, 0x69, 0x77, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x68, 0x72, 0x3b, 0x100, 0x62,
+0x101, 0x6e, 0x3b, 0x100, 0x73, 0x61, 0x72, 0x3b, 0x44, 0xe9, 0x69, 0x3b, 0x42, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x3b, 0x45,
+0x73, 0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0xaab, 0xabe, 0xab0, 0xacd, 0xab5, 0xabe, 0xab0, 0xacd, 0xaa6, 0xabf, 0xaa8, 0x3b, 0xa93,
+0xab0, 0xaa1, 0xac0, 0xaac, 0xac7, 0xab9, 0xac7, 0xab6, 0xacd, 0xa9f, 0x3b, 0xa96, 0xacb, 0xab0, 0xaa6, 0xabe, 0xaa6, 0x3b, 0xaa4, 0xabf,
+0xab0, 0x3b, 0xaae, 0xacb, 0xab0, 0xacd, 0xaa6, 0xabe, 0xaa6, 0x3b, 0xab6, 0xabe, 0xab9, 0xab0, 0xabf, 0xab5, 0xab0, 0x3b, 0xaae, 0xac7,
+0xab9, 0xab0, 0x3b, 0xa85, 0xaac, 0xabe, 0xaa8, 0x3b, 0xa85, 0xa9d, 0xabe, 0xab0, 0x3b, 0xaa1, 0xac7, 0xaaf, 0x3b, 0xaac, 0xabe, 0xab9,
+0xaae, 0xac7, 0xaa8, 0x3b, 0xa8f, 0xab8, 0xacd, 0xaab, 0xabe, 0xaa8, 0xacd, 0xaa1, 0x3b, 0x5e4, 0x5e8, 0x5d5, 0x5e8, 0x5d3, 0x5d9, 0x5df,
+0x3b, 0x5d0, 0x5e8, 0x5d3, 0x5d9, 0x5d1, 0x5d4, 0x5e9, 0x5ea, 0x3b, 0x5d7, 0x5f3, 0x5e8, 0x5d3, 0x5d0, 0x5d3, 0x3b, 0x5ea, 0x5d9, 0x5e8,
+0x3b, 0x5de, 0x5e8, 0x5d3, 0x5d0, 0x5d3, 0x3b, 0x5e9, 0x5d4, 0x5e8, 0x5d9, 0x5d5, 0x5e8, 0x3b, 0x5de, 0x5d4, 0x5e8, 0x3b, 0x5d0, 0x5d1,
+0x5d0, 0x5df, 0x3b, 0x5d0, 0x5d3, 0x5f3, 0x5e8, 0x3b, 0x5d3, 0x5d9, 0x3b, 0x5d1, 0x5d4, 0x5de, 0x5df, 0x3b, 0x5d0, 0x5e1, 0x5e4, 0x5e0,
+0x5d3, 0x3b, 0x92b, 0x930, 0x94d, 0x935, 0x93e, 0x926, 0x93f, 0x928, 0x3b, 0x913, 0x930, 0x94d, 0x926, 0x93f, 0x935, 0x947, 0x939, 0x947,
+0x938, 0x94d, 0x91f, 0x3b, 0x916, 0x94b, 0x930, 0x930, 0x94d, 0x926, 0x93e, 0x926, 0x3b, 0x91f, 0x93f, 0x930, 0x3b, 0x92e, 0x94b, 0x930,
+0x926, 0x93e, 0x926, 0x3b, 0x936, 0x93e, 0x939, 0x930, 0x940, 0x935, 0x930, 0x94d, 0x3b, 0x92e, 0x947, 0x939, 0x930, 0x3b, 0x905, 0x935,
+0x928, 0x3b, 0x905, 0x91c, 0x93c, 0x930, 0x3b, 0x921, 0x947, 0x3b, 0x92c, 0x939, 0x92e, 0x928, 0x3b, 0x908, 0x938, 0x94d, 0x92b, 0x928,
+0x94d, 0x926, 0x94d, 0x3b, 0x30d5, 0x30a1, 0x30eb, 0x30f4, 0x30a1, 0x30eb, 0x30c7, 0x30a3, 0x30fc, 0x30f3, 0x3b, 0x30aa, 0x30eb, 0x30c7, 0x30a3, 0x30fc,
+0x30d9, 0x30d8, 0x30b7, 0x30e5, 0x30c8, 0x3b, 0x30db, 0x30eb, 0x30c0, 0x30fc, 0x30c9, 0x3b, 0x30c6, 0x30a3, 0x30fc, 0x30eb, 0x3b, 0x30e2, 0x30eb, 0x30c0,
+0x30fc, 0x30c9, 0x3b, 0x30b7, 0x30e3, 0x30cf, 0x30ea, 0x30fc, 0x30f4, 0x30a1, 0x30eb, 0x3b, 0x30e1, 0x30d5, 0x30eb, 0x3b, 0x30a2, 0x30fc, 0x30d0, 0x30fc,
+0x30f3, 0x3b, 0x30a2, 0x30fc, 0x30b6, 0x30eb, 0x3b, 0x30c7, 0x30a4, 0x3b, 0x30d0, 0x30d5, 0x30de, 0x30f3, 0x3b, 0x30a8, 0x30b9, 0x30d5, 0x30a1, 0x30f3,
+0x30c9, 0x3b, 0xcab, 0xcb0, 0xccd, 0xcb5, 0xcb0, 0xccd, 0xca6, 0xcbf, 0xca8, 0xccd, 0x3b, 0xc93, 0xcb0, 0xccd, 0xca6, 0xcbf, 0xcac, 0xcc6,
+0xcb9, 0xcc6, 0xcb6, 0xccd, 0xc9f, 0xccd, 0x3b, 0xc96, 0xccb, 0xcb0, 0xccd, 0xca1, 0xcbe, 0xca6, 0xccd, 0x3b, 0xc9f, 0xcbf, 0xcb0, 0xccd,
+0x3b, 0xcae, 0xcca, 0xcb0, 0xccd, 0xca6, 0xcbe, 0xca6, 0xccd, 0x3b, 0xcb6, 0xcb9, 0xcb0, 0xcbf, 0xcb5, 0xcbe, 0xcb0, 0xccd, 0x3b, 0xcae,
+0xcc6, 0xcb9, 0xccd, 0xcb0, 0xccd, 0x3b, 0xc85, 0xcac, 0xca8, 0xccd, 0x3b, 0xc85, 0xc9d, 0xcb0, 0xccd, 0x3b, 0xca1, 0xcc7, 0x3b, 0xcac,
+0xcb9, 0xccd, 0xcae, 0xca8, 0xccd, 0x3b, 0xc8e, 0xcb8, 0xccd, 0xcab, 0xcbe, 0xc82, 0xca1, 0xccd, 0x3b, 0xd654, 0xb974, 0xbc14, 0xb518, 0x3b,
+0xc624, 0xb974, 0xb514, 0xbca0, 0xd5e4, 0xc26c, 0xd2b8, 0x3b, 0xd638, 0xb974, 0xb2e4, 0xb4dc, 0x3b, 0xd2f0, 0xb974, 0x3b, 0xbaa8, 0xb974, 0xb2e4, 0xb4dc,
+0x3b, 0xc0e4, 0xd750, 0xb9ac, 0xbc14, 0xb974, 0x3b, 0xba54, 0xd750, 0xb974, 0x3b, 0xc544, 0xbc18, 0x3b, 0xc544, 0xc790, 0xb974, 0x3b, 0xb2e4, 0xc774,
+0x3b, 0xbc14, 0xd750, 0xb9cc, 0x3b, 0xc5d0, 0xc2a4, 0xd310, 0xb4dc, 0x3b, 0xe9f, 0xea3, 0xeb2, 0xea7, 0xeb2, 0xe94, 0xeb4, 0xe99, 0x3b, 0xead,
+0xecd, 0xea3, 0xe94, 0xeb5, 0xe9a, 0xeb5, 0xec0, 0xeab, 0xeae, 0xe94, 0x3b, 0xe84, 0xecd, 0xea3, 0xec0, 0xe94, 0xe94, 0x3b, 0xec1, 0xe95,
+0xea3, 0x3b, 0xea1, 0xecd, 0xea3, 0xec0, 0xe94, 0xe94, 0x3b, 0xe8a, 0xeb2, 0xea3, 0xea5, 0xeb4, 0xea7, 0xeb2, 0x3b, 0xec0, 0xea1, 0xeb5,
+0x3b, 0xead, 0xeb2, 0xe9a, 0xeb2, 0xe99, 0x3b, 0xead, 0xeb2, 0xe8a, 0xeb2, 0x3b, 0xe94, 0xeb5, 0xea3, 0x3b, 0xe9a, 0xea3, 0xeb2, 0xea1,
+0xeb2, 0xe99, 0x3b, 0xec0, 0xead, 0xeaa, 0xe9f, 0xeb2, 0xe99, 0x3b, 0xe9f, 0xea3, 0xeb2, 0xea7, 0xeb2, 0xe94, 0xeb4, 0xe99, 0x3b, 0xead,
+0xecd, 0xea3, 0xe94, 0xeb5, 0xe9a, 0xeb5, 0xec0, 0xeab, 0xea3, 0xe94, 0x3b, 0xe84, 0xecd, 0xea3, 0xec0, 0xe94, 0xe94, 0x3b, 0xec1, 0xe95,
+0xea3, 0x3b, 0xea1, 0xecd, 0xea3, 0xec0, 0xe94, 0xe94, 0x3b, 0xe8a, 0xeb2, 0xea3, 0xeab, 0xeb4, 0xea7, 0xeb2, 0x3b, 0xec0, 0xea1, 0xeb5,
+0x3b, 0xead, 0xeb2, 0xe9a, 0xeb2, 0xe99, 0x3b, 0xead, 0xeb2, 0xe8a, 0xeb2, 0xea3, 0x3b, 0xe94, 0xeb5, 0xea3, 0x3b, 0xe9a, 0xea3, 0xeb2,
+0xec1, 0xea1, 0xe99, 0x3b, 0xec0, 0xead, 0xeaa, 0xe9f, 0xeb2, 0xe99, 0x3b, 0xe9f, 0xeb2, 0xea3, 0xea7, 0xeb2, 0xe94, 0xeb4, 0xe99, 0x3b,
+0xead, 0xecd, 0xea3, 0xe94, 0xeb5, 0xe9a, 0xeb5, 0xec0, 0xeab, 0xea3, 0xe94, 0x3b, 0xe84, 0xecd, 0xea3, 0xec0, 0xe94, 0xe94, 0x3b, 0xec1,
+0xe95, 0xea3, 0x3b, 0xea1, 0xecd, 0xea3, 0xec0, 0xe94, 0xe94, 0x3b, 0xe8a, 0xeb2, 0xea3, 0xeab, 0xeb4, 0xea7, 0xeb2, 0x3b, 0xec0, 0xea1,
+0xeb5, 0x3b, 0xead, 0xeb2, 0xe9a, 0xeb2, 0xe99, 0x3b, 0xead, 0xeb2, 0xe8a, 0xeb2, 0x3b, 0xe94, 0xeb5, 0xea3, 0x3b, 0xe9a, 0xea3, 0xeb2,
+0xea1, 0xeb2, 0xe99, 0x3b, 0xec0, 0xead, 0xeaa, 0xe9f, 0xeb2, 0xe99, 0x3b, 0x66, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x12b, 0x6e,
+0x73, 0x3b, 0x6f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x161, 0x74, 0x73, 0x3b, 0x68, 0x6f, 0x72, 0x64, 0x101, 0x64,
+0x73, 0x3b, 0x74, 0x12b, 0x72, 0x73, 0x3b, 0x6d, 0x6f, 0x72, 0x64, 0x101, 0x64, 0x73, 0x3b, 0x161, 0x61, 0x68, 0x72, 0x69,
+0x76, 0x113, 0x72, 0x73, 0x3b, 0x6d, 0x65, 0x68, 0x72, 0x73, 0x3b, 0x61, 0x62, 0x61, 0x6e, 0x73, 0x3b, 0x61, 0x7a, 0x65,
+0x72, 0x73, 0x3b, 0x64, 0x65, 0x6a, 0x73, 0x3b, 0x62, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x73, 0x3b, 0x65, 0x73, 0x66, 0x61,
+0x6e, 0x64, 0x73, 0x3b, 0x444, 0x430, 0x440, 0x432, 0x430, 0x440, 0x434, 0x438, 0x43d, 0x3b, 0x43e, 0x440, 0x434, 0x438, 0x431, 0x435,
+0x445, 0x435, 0x448, 0x442, 0x3b, 0x43a, 0x43e, 0x440, 0x434, 0x430, 0x434, 0x3b, 0x442, 0x438, 0x440, 0x3b, 0x43c, 0x43e, 0x440, 0x434,
+0x430, 0x434, 0x3b, 0x448, 0x430, 0x445, 0x440, 0x438, 0x432, 0x430, 0x440, 0x3b, 0x43c, 0x435, 0x440, 0x3b, 0x430, 0x431, 0x430, 0x43d,
+0x3b, 0x430, 0x437, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x458, 0x3b, 0x431, 0x430, 0x445, 0x43c, 0x430, 0x43d, 0x3b, 0x435, 0x441, 0x444,
+0x430, 0x43d, 0x434, 0x3b, 0xd2b, 0xd7c, 0xd35, 0xd3e, 0xd7c, 0xd26, 0xd3f, 0xd7b, 0x3b, 0xd13, 0xd7c, 0xd21, 0xd3f, 0xd2c, 0xd46, 0xd39,
+0xd46, 0xd37, 0xd4d, 0x200c, 0xd31, 0xd4d, 0xd31, 0xd4d, 0x3b, 0xd16, 0xd4b, 0xd7c, 0xd26, 0xd3e, 0xd26, 0xd4d, 0x3b, 0xd1f, 0xd3f, 0xd7c,
+0x3b, 0xd2e, 0xd4b, 0xd7c, 0xd26, 0xd3e, 0xd26, 0xd4d, 0x3b, 0xd37, 0xd39, 0xd4d, 0x200c, 0xd30, 0xd3f, 0xd35, 0xd3e, 0xd7c, 0x3b, 0xd2e,
+0xd46, 0xd39, 0xd7c, 0x3b, 0xd05, 0xd2c, 0xd3e, 0xd7b, 0x3b, 0xd05, 0xd38, 0xd7c, 0x3b, 0xd21, 0xd46, 0xd2f, 0xd4d, 0x3b, 0xd2c, 0xd39,
+0xd4d, 0x200c, 0xd2e, 0xd3e, 0xd7b, 0x3b, 0xd0e, 0xd38, 0xd4d, 0x200c, 0xd2b, 0xd3e, 0xd7b, 0xd21, 0xd4d, 0x3b, 0xd2b, 0x2e, 0x3b, 0xd13,
+0x2e, 0x3b, 0xd16, 0xd4b, 0x3b, 0xd1f, 0xd3f, 0x2e, 0x3b, 0xd2e, 0xd4b, 0x2e, 0x3b, 0xd37, 0x2e, 0x3b, 0xd2e, 0xd46, 0x2e, 0x3b,
+0xd05, 0x2e, 0x3b, 0xd05, 0x2e, 0x3b, 0xd21, 0xd46, 0x2e, 0x3b, 0xd2c, 0x2e, 0x3b, 0xd0e, 0x2e, 0x3b, 0x92b, 0x930, 0x935, 0x930,
+0x926, 0x93f, 0x928, 0x3b, 0x913, 0x930, 0x94d, 0x926, 0x93f, 0x92c, 0x947, 0x939, 0x947, 0x936, 0x94d, 0x924, 0x3b, 0x916, 0x94b, 0x930,
+0x926, 0x93e, 0x926, 0x3b, 0x924, 0x93f, 0x930, 0x3b, 0x92e, 0x94b, 0x930, 0x926, 0x93e, 0x926, 0x3b, 0x936, 0x93e, 0x939, 0x930, 0x940,
+0x935, 0x93e, 0x930, 0x3b, 0x92e, 0x947, 0x939, 0x947, 0x930, 0x3b, 0x905, 0x92c, 0x93e, 0x928, 0x3b, 0x905, 0x91d, 0x93e, 0x930, 0x3b,
+0x926, 0x947, 0x3b, 0x92c, 0x93e, 0x939, 0x92e, 0x93e, 0x928, 0x3b, 0x90f, 0x938, 0x92b, 0x93e, 0x902, 0x926, 0x3b, 0x967, 0x3b, 0x968,
+0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x96e, 0x3b, 0x96f, 0x3b, 0x967, 0x966, 0x3b, 0x967, 0x967,
+0x3b, 0x967, 0x968, 0x3b, 0x648, 0x631, 0x6cc, 0x3b, 0x63a, 0x648, 0x6cc, 0x6cc, 0x3b, 0x63a, 0x628, 0x631, 0x6af, 0x648, 0x644, 0x6cc,
+0x3b, 0x686, 0x646, 0x6af, 0x627, 0x69a, 0x3b, 0x632, 0x645, 0x631, 0x6cc, 0x3b, 0x648, 0x696, 0x6cc, 0x3b, 0x62a, 0x644, 0x647, 0x3b,
+0x644, 0x693, 0x645, 0x3b, 0x644, 0x6cc, 0x646, 0x62f, 0x6cd, 0x3b, 0x645, 0x631, 0x63a, 0x648, 0x645, 0x6cc, 0x3b, 0x633, 0x644, 0x648,
+0x627, 0x63a, 0x647, 0x3b, 0x6a9, 0x628, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x62f, 0x6cc, 0x646, 0x3b, 0x627, 0x631, 0x62f, 0x6cc, 0x628,
+0x647, 0x634, 0x62a, 0x3b, 0x62e, 0x631, 0x62f, 0x627, 0x62f, 0x3b, 0x62a, 0x6cc, 0x631, 0x3b, 0x645, 0x631, 0x62f, 0x627, 0x62f, 0x3b,
+0x634, 0x647, 0x631, 0x6cc, 0x648, 0x631, 0x3b, 0x645, 0x647, 0x631, 0x3b, 0x622, 0x628, 0x627, 0x646, 0x3b, 0x622, 0x630, 0x631, 0x3b,
+0x62f, 0x6cc, 0x3b, 0x628, 0x647, 0x645, 0x646, 0x3b, 0x627, 0x633, 0x641, 0x646, 0x62f, 0x3b, 0x641, 0x3b, 0x627, 0x3b, 0x62e, 0x3b,
+0x62a, 0x3b, 0x645, 0x3b, 0x634, 0x3b, 0x645, 0x3b, 0x622, 0x3b, 0x622, 0x3b, 0x62f, 0x3b, 0x628, 0x3b, 0x627, 0x3b, 0x62d, 0x3b,
+0x62b, 0x3b, 0x62c, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x645, 0x3b, 0x639, 0x3b, 0x642, 0x3b, 0x62c, 0x3b, 0x62f, 0x3b,
+0x62d, 0x3b, 0x62d, 0x645, 0x644, 0x3b, 0x62b, 0x648, 0x631, 0x3b, 0x62c, 0x648, 0x632, 0x627, 0x3b, 0x633, 0x631, 0x637, 0x627, 0x646,
+0x3b, 0x627, 0x633, 0x62f, 0x3b, 0x633, 0x646, 0x628, 0x644, 0x647, 0x654, 0x3b, 0x645, 0x6cc, 0x632, 0x627, 0x646, 0x3b, 0x639, 0x642,
+0x631, 0x628, 0x3b, 0x642, 0x648, 0x633, 0x3b, 0x62c, 0x62f, 0x6cc, 0x3b, 0x62f, 0x644, 0x648, 0x3b, 0x62d, 0x648, 0x62a, 0x3b, 0x46,
+0x61, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x4f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x73, 0x7a, 0x74,
+0x3b, 0x43, 0x68, 0x6f, 0x72, 0x64, 0x101, 0x64, 0x3b, 0x54, 0x69, 0x72, 0x3b, 0x4d, 0x6f, 0x72, 0x64, 0x101, 0x64, 0x3b,
+0x53, 0x7a, 0x61, 0x68, 0x72, 0x69, 0x77, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x68, 0x72, 0x3b, 0x100, 0x62, 0x101, 0x6e, 0x3b,
+0x100, 0x73, 0x61, 0x72, 0x3b, 0x44, 0xe9, 0x69, 0x3b, 0x42, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x3b, 0x45, 0x73, 0x66, 0x61,
+0x6e, 0x64, 0x3b, 0xa2b, 0xa3e, 0xa30, 0xa35, 0xa30, 0xa21, 0xa40, 0xa28, 0x3b, 0xa14, 0xa30, 0xa21, 0xa3e, 0xa08, 0xa2c, 0xa39, 0xa48,
+0xa38, 0xa3c, 0xa1f, 0x3b, 0xa16, 0xa4b, 0xa21, 0xa30, 0xa21, 0x3b, 0xa1f, 0xa3f, 0xa30, 0x3b, 0xa2e, 0xa4b, 0xa30, 0xa21, 0xa3e, 0xa26,
+0x3b, 0xa38, 0xa3c, 0xa30, 0xa3e, 0xa07, 0xa35, 0xa30, 0x3b, 0xa2e, 0xa47, 0xa39, 0xa30, 0x3b, 0xa05, 0xa2c, 0xa3e, 0xa28, 0x3b, 0xa05,
+0xa1c, 0xa3c, 0xa3e, 0xa30, 0x3b, 0xa21, 0xa47, 0xa05, 0x3b, 0xa2c, 0xa3e, 0xa39, 0xa2e, 0xa28, 0x3b, 0xa10, 0xa38, 0xa2b, 0xa70, 0xa21,
+0x3b, 0x46, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x4f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x73,
+0x68, 0x74, 0x3b, 0x4b, 0x68, 0x6f, 0x72, 0x64, 0x61, 0x64, 0x3b, 0x54, 0x69, 0x72, 0x3b, 0x41, 0x2d, 0x4d, 0x6f, 0x72,
+0x64, 0x61, 0x64, 0x3b, 0x53, 0x68, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x68, 0x72, 0x3b, 0x41,
+0x62, 0x61, 0x6e, 0x3b, 0x41, 0x7a, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x79, 0x3b, 0x42, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x3b,
+0x45, 0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0x444, 0x430, 0x440, 0x432, 0x430, 0x440, 0x434, 0x438, 0x43d, 0x3b, 0x43e, 0x440, 0x434,
+0x438, 0x431, 0x435, 0x445, 0x435, 0x448, 0x442, 0x3b, 0x445, 0x43e, 0x440, 0x434, 0x430, 0x434, 0x3b, 0x442, 0x438, 0x440, 0x3b, 0x43c,
+0x43e, 0x440, 0x434, 0x430, 0x434, 0x3b, 0x448, 0x430, 0x445, 0x440, 0x438, 0x432, 0x435, 0x440, 0x3b, 0x43c, 0x435, 0x445, 0x440, 0x3b,
+0x430, 0x431, 0x430, 0x43d, 0x3b, 0x430, 0x437, 0x435, 0x440, 0x3b, 0x434, 0x435, 0x439, 0x3b, 0x431, 0x430, 0x445, 0x43c, 0x430, 0x43d,
+0x3b, 0x44d, 0x441, 0x444, 0x430, 0x43d, 0x434, 0x3b, 0x424, 0x430, 0x440, 0x430, 0x432, 0x430, 0x434, 0x438, 0x43d, 0x3b, 0x41e, 0x440,
+0x434, 0x438, 0x431, 0x435, 0x445, 0x435, 0x448, 0x442, 0x3b, 0x41a, 0x43e, 0x440, 0x434, 0x430, 0x434, 0x3b, 0x422, 0x438, 0x440, 0x3b,
+0x41c, 0x43e, 0x440, 0x434, 0x430, 0x434, 0x3b, 0x428, 0x430, 0x445, 0x440, 0x438, 0x432, 0x430, 0x440, 0x3b, 0x41c, 0x435, 0x445, 0x440,
+0x3b, 0x410, 0x431, 0x430, 0x43d, 0x3b, 0x410, 0x437, 0x430, 0x440, 0x3b, 0x414, 0x435, 0x458, 0x3b, 0x411, 0x430, 0x445, 0x43c, 0x430,
+0x43d, 0x3b, 0x415, 0x441, 0x444, 0x430, 0x43d, 0x434, 0x3b, 0x46, 0x61, 0x72, 0x61, 0x76, 0x61, 0x64, 0x69, 0x6e, 0x3b, 0x4f,
+0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x161, 0x74, 0x3b, 0x4b, 0x6f, 0x72, 0x64, 0x61, 0x64, 0x3b, 0x54, 0x69, 0x72,
+0x3b, 0x4d, 0x6f, 0x72, 0x64, 0x61, 0x64, 0x3b, 0x160, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x68,
+0x72, 0x3b, 0x41, 0x62, 0x61, 0x6e, 0x3b, 0x41, 0x7a, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x6a, 0x3b, 0x42, 0x61, 0x68, 0x6d,
+0x61, 0x6e, 0x3b, 0x45, 0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0x46, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x3b,
+0x4f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x73, 0x68, 0x74, 0x3b, 0x4b, 0x68, 0x6f, 0x72, 0x64, 0x101, 0x64, 0x3b,
+0x54, 0x69, 0x72, 0x3b, 0x4d, 0x6f, 0x72, 0x64, 0x101, 0x64, 0x3b, 0x53, 0x68, 0x61, 0x68, 0x72, 0x69, 0x76, 0x61, 0x72,
+0x3b, 0x4d, 0x65, 0x68, 0x72, 0x3b, 0x100, 0x62, 0x101, 0x6e, 0x3b, 0x100, 0x7a, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x79, 0x3b,
+0x42, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x3b, 0x45, 0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0x66, 0x61, 0x72, 0x76, 0x61, 0x72,
+0x64, 0x69, 0x6e, 0x3b, 0x6f, 0x72, 0x64, 0x69, 0x62, 0x65, 0x68, 0x65, 0x73, 0x68, 0x74, 0x3b, 0x6b, 0x68, 0x6f, 0x72,
+0x64, 0x101, 0x64, 0x3b, 0x74, 0x69, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x64, 0x101, 0x64, 0x3b, 0x73, 0x68, 0x61, 0x68, 0x72,
+0x69, 0x76, 0x61, 0x72, 0x3b, 0x6d, 0x65, 0x68, 0x72, 0x3b, 0x101, 0x62, 0x101, 0x6e, 0x3b, 0x101, 0x7a, 0x61, 0x72, 0x3b,
+0x64, 0x65, 0x79, 0x3b, 0x62, 0x61, 0x68, 0x6d, 0x61, 0x6e, 0x3b, 0x65, 0x73, 0x66, 0x61, 0x6e, 0x64, 0x3b, 0xb83, 0xbaa,
+0xbb0, 0xbcd, 0x2e, 0x3b, 0xb86, 0xbb0, 0xbcd, 0xb9f, 0xbbf, 0x2e, 0x3b, 0xb95, 0xbca, 0xbb0, 0xbcd, 0x2e, 0x3b, 0xba4, 0xbbf, 0xbb0,
+0xbcd, 0x3b, 0xbae, 0xbca, 0xbb0, 0xbcd, 0x2e, 0x3b, 0xbb7, 0xbbe, 0xbb0, 0xbbf, 0x2e, 0x3b, 0xbae, 0xbc6, 0xbb9, 0xbcd, 0x2e, 0x3b,
+0xb85, 0xbaa, 0xbbe, 0x2e, 0x3b, 0xb85, 0xb9a, 0xbbe, 0x2e, 0x3b, 0xba4, 0xbc7, 0x3b, 0xbaa, 0xbb9, 0xbcd, 0x2e, 0x3b, 0xb8e, 0xb83,
+0x2e, 0x3b, 0xb83, 0xbaa, 0xbb0, 0xbcd, 0xbb5, 0xbbe, 0xba4, 0xbbf, 0xba9, 0xbcd, 0x3b, 0xb86, 0xbb0, 0xbcd, 0xb9f, 0xbbf, 0xbaa, 0xbc6,
+0xbb9, 0xbc6, 0xbb7, 0xbcd, 0xba4, 0xbcd, 0x3b, 0xb95, 0xbca, 0xbb0, 0xbcd, 0xba4, 0xbbe, 0xba4, 0xbcd, 0x3b, 0xba4, 0xbbf, 0xbb0, 0xbcd,
+0x3b, 0xbae, 0xbca, 0xbb0, 0xbcd, 0xba4, 0xbbe, 0xba4, 0xbcd, 0x3b, 0xbb7, 0xbbe, 0xbb0, 0xbbf, 0xbb5, 0xbbe, 0xbb0, 0xbcd, 0x3b, 0xbae,
+0xbc6, 0xbb9, 0xbcd, 0xbb0, 0xbcd, 0x3b, 0xb85, 0xbaa, 0xbbe, 0xba9, 0xbcd, 0x3b, 0xb85, 0xb9a, 0xbbe, 0xbb0, 0xbcd, 0x3b, 0xba4, 0xbc7,
+0x3b, 0xbaa, 0xbb9, 0xbcd, 0xbae, 0xbbe, 0xba9, 0xbcd, 0x3b, 0xb8e, 0xb83, 0xbaa, 0xbbe, 0xba9, 0xbcd, 0x3b, 0xc2b, 0xc3e, 0xc35, 0xc30,
+0xc4d, 0xc21, 0xc3f, 0xc28, 0xc4d, 0x3b, 0xc0a, 0xc21, 0xc3e, 0xc2c, 0xc39, 0xc37, 0xc4d, 0xc1f, 0xc4d, 0x3b, 0xc16, 0xc4b, 0xc30, 0xc4d,
+0xc21, 0xc3e, 0xc21, 0xc4d, 0x3b, 0xc1f, 0xc3f, 0xc30, 0xc4d, 0x3b, 0xc2e, 0xc46, 0xc30, 0xc4d, 0xc21, 0xc3e, 0xc21, 0xc4d, 0x3b, 0xc36,
+0xc36, 0xc3f, 0xc35, 0xc30, 0xc4d, 0x3b, 0xc2e, 0xc46, 0xc39, 0xc30, 0xc4d, 0x3b, 0xc05, 0xc2c, 0xc28, 0xc4d, 0x3b, 0xc05, 0xc1c, 0xc30,
+0xc4d, 0x3b, 0xc21, 0xc47, 0x3b, 0xc2c, 0xc3e, 0xc39, 0xc4d, 0x200c, 0xc2e, 0xc3e, 0xc28, 0xc4d, 0x3b, 0xc0e, 0xc38, 0xc4d, 0x200c, 0xc2b,
+0xc3e, 0xc02, 0xc21, 0xc4d, 0x3b, 0xe1f, 0xe32, 0xe23, 0xe4c, 0xe27, 0xe32, 0xe23, 0xe4c, 0xe14, 0xe34, 0xe19, 0x3b, 0xe2d, 0xe2d, 0xe23,
+0xe4c, 0xe14, 0xe34, 0xe40, 0xe1a, 0xe40, 0xe2e, 0xe0a, 0xe15, 0xe4c, 0x3b, 0xe04, 0xe2d, 0xe23, 0xe4c, 0xe41, 0xe14, 0xe14, 0x3b, 0xe40,
+0xe15, 0xe2d, 0xe23, 0xe4c, 0x3b, 0xe21, 0xe2d, 0xe23, 0xe4c, 0xe41, 0xe14, 0xe14, 0x3b, 0xe0a, 0xe32, 0xe2b, 0xe23, 0xe34, 0xe27, 0xe32,
+0xe23, 0xe4c, 0x3b, 0xe40, 0xe21, 0xe2e, 0xe23, 0xe4c, 0x3b, 0xe2d, 0xe30, 0xe1a, 0xe32, 0xe19, 0x3b, 0xe2d, 0xe30, 0xe0b, 0xe32, 0xe23,
+0xe4c, 0x3b, 0xe40, 0xe14, 0xe22, 0xe4c, 0x3b, 0xe1a, 0xe32, 0xe2e, 0xe4c, 0xe21, 0xe32, 0xe19, 0x3b, 0xe40, 0xe2d, 0xe2a, 0xe1f, 0xe32,
+0xe19, 0xe14, 0xe4c, 0x3b, 0x46, 0x65, 0x72, 0x76, 0x65, 0x72, 0x64, 0x69, 0x6e, 0x3b, 0x4f, 0x72, 0x64, 0x69, 0x62, 0x65,
+0x68, 0x65, 0x15f, 0x74, 0x3b, 0x48, 0x6f, 0x72, 0x64, 0x61, 0x64, 0x3b, 0x54, 0x69, 0x72, 0x3b, 0x4d, 0x6f, 0x72, 0x64,
+0x61, 0x64, 0x3b, 0x15e, 0x65, 0x68, 0x72, 0x69, 0x76, 0x65, 0x72, 0x3b, 0x4d, 0x65, 0x68, 0x72, 0x3b, 0x41, 0x62, 0x61,
+0x6e, 0x3b, 0x41, 0x7a, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x79, 0x3b, 0x42, 0x65, 0x68, 0x6d, 0x65, 0x6e, 0x3b, 0x45, 0x73,
+0x66, 0x65, 0x6e, 0x64, 0x3b, 0x444, 0x430, 0x440, 0x3b, 0x43e, 0x440, 0x434, 0x3b, 0x445, 0x43e, 0x440, 0x3b, 0x442, 0x456, 0x440,
+0x3b, 0x43c, 0x43e, 0x440, 0x3b, 0x448, 0x430, 0x445, 0x3b, 0x43c, 0x435, 0x445, 0x3b, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x430, 0x437,
+0x435, 0x440, 0x3b, 0x434, 0x435, 0x439, 0x3b, 0x431, 0x430, 0x445, 0x3b, 0x435, 0x441, 0x444, 0x3b, 0x444, 0x430, 0x440, 0x432, 0x430,
+0x440, 0x434, 0x456, 0x43d, 0x3b, 0x43e, 0x440, 0x434, 0x456, 0x431, 0x435, 0x445, 0x435, 0x448, 0x442, 0x3b, 0x445, 0x43e, 0x440, 0x434,
+0x430, 0x434, 0x3b, 0x442, 0x456, 0x440, 0x3b, 0x43c, 0x43e, 0x440, 0x434, 0x430, 0x434, 0x3b, 0x448, 0x430, 0x445, 0x440, 0x456, 0x432,
+0x435, 0x440, 0x3b, 0x43c, 0x435, 0x445, 0x440, 0x3b, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x430, 0x437, 0x435, 0x440, 0x3b, 0x434, 0x435,
+0x439, 0x3b, 0x431, 0x430, 0x445, 0x43c, 0x430, 0x43d, 0x3b, 0x435, 0x441, 0x444, 0x430, 0x43d, 0x434, 0x3b, 0x444, 0x430, 0x440, 0x2e,
+0x3b, 0x43e, 0x440, 0x434, 0x2e, 0x3b, 0x445, 0x43e, 0x440, 0x2e, 0x3b, 0x442, 0x456, 0x440, 0x3b, 0x43c, 0x43e, 0x440, 0x2e, 0x3b,
+0x448, 0x430, 0x445, 0x2e, 0x3b, 0x43c, 0x435, 0x445, 0x2e, 0x3b, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x430, 0x437, 0x435, 0x440, 0x3b,
+0x434, 0x435, 0x439, 0x3b, 0x431, 0x430, 0x445, 0x2e, 0x3b, 0x435, 0x441, 0x444, 0x2e, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x62f, 0x646,
+0x3b, 0x622, 0x631, 0x688, 0x628, 0x627, 0x626, 0x634, 0x3b, 0x62e, 0x62f, 0x627, 0x62f, 0x627, 0x62f, 0x3b, 0x62a, 0x6cc, 0x631, 0x3b,
+0x645, 0x631, 0x62f, 0x627, 0x62f, 0x3b, 0x634, 0x6c1, 0x631, 0x6cc, 0x648, 0x627, 0x631, 0x3b, 0x645, 0x6c1, 0x631, 0x3b, 0x627, 0x628,
+0x627, 0x646, 0x3b, 0x622, 0x632, 0x631, 0x3b, 0x688, 0x6d2, 0x3b, 0x628, 0x6c1, 0x645, 0x646, 0x3b, 0x627, 0x633, 0x641, 0x646, 0x62f,
+0x3b, 0x64, 0x7a, 0x76, 0x3b, 0x64, 0x7a, 0x64, 0x3b, 0x74, 0x65, 0x64, 0x3b, 0x61, 0x66, 0x254, 0x3b, 0x64, 0x61, 0x6d,
+0x3b, 0x6d, 0x61, 0x73, 0x3b, 0x73, 0x69, 0x61, 0x3b, 0x64, 0x65, 0x61, 0x3b, 0x61, 0x6e, 0x79, 0x3b, 0x6b, 0x65, 0x6c,
+0x3b, 0x61, 0x64, 0x65, 0x3b, 0x64, 0x7a, 0x6d, 0x3b, 0x64, 0x7a, 0x6f, 0x76, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x64, 0x7a,
+0x65, 0x3b, 0x74, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x61, 0x66, 0x254, 0x66, 0x69, 0x1ebd, 0x3b, 0x64, 0x61, 0x6d, 0x25b,
+0x3b, 0x6d, 0x61, 0x73, 0x61, 0x3b, 0x73, 0x69, 0x61, 0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x64, 0x65, 0x61, 0x73, 0x69, 0x61,
+0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x61, 0x6e, 0x79, 0x254, 0x6e, 0x79, 0x254, 0x3b, 0x6b, 0x65, 0x6c, 0x65, 0x3b, 0x61, 0x64,
+0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x62e, 0x627, 0x6a9, 0x6d5,
+0x644, 0x6ce, 0x648, 0x6d5, 0x3b, 0x628, 0x627, 0x646, 0x6d5, 0x645, 0x6d5, 0x695, 0x3b, 0x62c, 0x6c6, 0x632, 0x6d5, 0x631, 0x62f, 0x627,
+0x646, 0x3b, 0x67e, 0x648, 0x648, 0x634, 0x67e, 0x6d5, 0x695, 0x3b, 0x6af, 0x6d5, 0x644, 0x627, 0x648, 0x6ce, 0x698, 0x3b, 0x62e, 0x6d5,
+0x631, 0x645, 0x627, 0x646, 0x627, 0x646, 0x3b, 0x695, 0x6d5, 0x632, 0x628, 0x6d5, 0x631, 0x3b, 0x62e, 0x6d5, 0x632, 0x6d5, 0x6b5, 0x648,
+0x6d5, 0x631, 0x3b, 0x633, 0x6d5, 0x631, 0x645, 0x627, 0x648, 0x6d5, 0x632, 0x3b, 0x628, 0x6d5, 0x641, 0x631, 0x627, 0x646, 0x628, 0x627,
+0x631, 0x3b, 0x695, 0x6ce, 0x628, 0x6d5, 0x646, 0x62f, 0x627, 0x646, 0x3b, 0x631, 0x6d5, 0x634, 0x6d5, 0x645, 0x6ce, 0x3b
+};
+// GENERATED PART ENDS HERE
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/corelib/time/qjalalicalendar_p.h b/src/corelib/time/qjalalicalendar_p.h
new file mode 100644
index 0000000000..5b94dada9f
--- /dev/null
+++ b/src/corelib/time/qjalalicalendar_p.h
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QJALALI_CALENDAR_P_H
+#define QJALALI_CALENDAR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of calendar implementations. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qcalendarbackend_p.h"
+
+QT_REQUIRE_CONFIG(jalalicalendar);
+
+QT_BEGIN_NAMESPACE
+
+class Q_CORE_EXPORT QJalaliCalendar : public QCalendarBackend
+{
+public:
+ QJalaliCalendar();
+ // Calendar properties:
+ QString name() const override;
+ QCalendar::System calendarSystem() const override;
+ // Date queries:
+ int daysInMonth(int month, int year = QCalendar::Unspecified) const override;
+ bool isLeapYear(int year) const override;
+ // Properties of the calendar
+ bool isLunar() const override;
+ bool isLuniSolar() const override;
+ bool isSolar() const override;
+ // Julian Day conversions:
+ bool dateToJulianDay(int year, int month, int day, qint64 *jd) const override;
+ QCalendar::YearMonthDay julianDayToDate(qint64 jd) const override;
+
+protected:
+ // locale support:
+ const QCalendarLocale *localeMonthIndexData() const override;
+ const ushort *localeMonthData() const override;
+};
+
+QT_END_NAMESPACE
+
+#endif // QJALALI_CALENDAR_P_H
diff --git a/src/corelib/time/qjuliancalendar.cpp b/src/corelib/time/qjuliancalendar.cpp
new file mode 100644
index 0000000000..8c6818eb31
--- /dev/null
+++ b/src/corelib/time/qjuliancalendar.cpp
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qglobal.h"
+#include "qjuliancalendar_p.h"
+#include "qromancalendar_data_p.h"
+#include "qcalendarmath_p.h"
+#include <QtCore/qmath.h>
+#include <QtCore/qlocale.h>
+#include <QtCore/qdatetime.h>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QRoundingDown;
+
+/*!
+ \since 5.14
+
+ \class QJulianCalendar
+ \inmodule QtCore
+ \brief The QJulianCalendar class provides Julian calendar system
+ implementation.
+
+ \section1 Julian Calendar
+
+ The Julian calendar, proposed by Julius Caesar in 46 BC (708 AUC), was a
+ reform of the Roman calendar. It took effect on 1 January 45 BC (AUC 709),
+ by edict. It was the predominant calendar in the Roman world, most of
+ Europe, and in European settlements in the Americas and elsewhere, until it
+ was refined and gradually replaced by the Gregorian calendar,
+ promulgated in 1582 by Pope Gregory XIII.
+
+ The Julian calendar gains against the mean tropical year at the rate of one
+ day in 128 years. For the Gregorian calendar, the figure is one day in
+ 3030 years. The difference in the average length of the year
+ between Julian (365.25 days) and Gregorian (365.2425 days) is 0.002%.
+
+ Source: \l {https://en.wikipedia.org/wiki/Julian_calendar}{Wikipedia page on
+ Julian Calendar}
+ */
+
+QJulianCalendar::QJulianCalendar()
+ : QRomanCalendar(QStringLiteral("Julian"), QCalendar::System::Julian) {}
+
+QString QJulianCalendar::name() const
+{
+ return QStringLiteral("Julian");
+}
+
+QCalendar::System QJulianCalendar::calendarSystem() const
+{
+ return QCalendar::System::Julian;
+}
+
+bool QJulianCalendar::isLeapYear(int year) const
+{
+ if (year == QCalendar::Unspecified || !year)
+ return false;
+
+ return qMod(year < 0 ? year + 1 : year, 4) == 0;
+}
+
+// Julian Day 0 was January the first in the proleptic Julian calendar's 4713 BC
+
+bool QJulianCalendar::dateToJulianDay(int year, int month, int day, qint64 *jd) const
+{
+ Q_ASSERT(jd);
+ if (!isDateValid(year, month, day))
+ return false;
+ if (year < 0)
+ ++year;
+ const qint64 c0 = month < 3 ? -1 : 0;
+ const qint64 j1 = qDiv(1461 * (year + c0), 4);
+ const qint64 j2 = qDiv(153 * month - 1836 * c0 - 457, 5);
+ *jd = j1 + j2 + day + 1721117;
+ return true;
+}
+
+QCalendar::YearMonthDay QJulianCalendar::julianDayToDate(qint64 jd) const
+{
+ const qint64 y2 = jd - 1721118;
+ const qint64 k2 = 4 * y2 + 3;
+ const qint64 k1 = 5 * qDiv(qMod(k2, 1461), 4) + 2;
+ const qint64 x1 = qDiv(k1, 153);
+ const qint64 c0 = qDiv(x1 + 2, 12);
+ const int y = qint16(qDiv(k2, 1461) + c0);
+ const int month = quint8(x1 - 12 * c0 + 3);
+ const int day = qDiv(qMod(k1, 153), 5) + 1;
+ return QCalendar::YearMonthDay(y > 0 ? y : y - 1, month, day);
+}
+
+QT_END_NAMESPACE
diff --git a/src/gui/image/qpictureformatplugin.h b/src/corelib/time/qjuliancalendar_p.h
index 3f59c04d79..104cf6aa30 100644
--- a/src/gui/image/qpictureformatplugin.h
+++ b/src/corelib/time/qjuliancalendar_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the QtGui module of the Qt Toolkit.
+** This file is part of the QtCore module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@@ -37,40 +37,38 @@
**
****************************************************************************/
-#ifndef QPICTUREFORMATPLUGIN_H
-#define QPICTUREFORMATPLUGIN_H
+#ifndef QJULIAN_CALENDAR_P_H
+#define QJULIAN_CALENDAR_P_H
-#include <QtGui/qtguiglobal.h>
-#include <QtCore/qplugin.h>
-#include <QtCore/qfactoryinterface.h>
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of calendar implementations. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
-QT_BEGIN_NAMESPACE
-
-
-#if !defined(QT_NO_PICTURE)
-
-class QPicture;
-class QImage;
-class QString;
-class QStringList;
+#include "qromancalendar_p.h"
-#define QPictureFormatInterface_iid "org.qt-project.Qt.QPictureFormatInterface"
+QT_BEGIN_NAMESPACE
-class Q_GUI_EXPORT QPictureFormatPlugin : public QObject
+class Q_CORE_EXPORT QJulianCalendar : public QRomanCalendar
{
- Q_OBJECT
public:
- explicit QPictureFormatPlugin(QObject *parent = nullptr);
- ~QPictureFormatPlugin();
-
- virtual bool loadPicture(const QString &format, const QString &filename, QPicture *pic);
- virtual bool savePicture(const QString &format, const QString &filename, const QPicture &pic);
- virtual bool installIOHandler(const QString &format) = 0;
-
+ QJulianCalendar();
+ // Calendar properties:
+ QString name() const override;
+ QCalendar::System calendarSystem() const override;
+ // Date queries:
+ bool isLeapYear(int year) const override;
+ // Julian Day conversions:
+ bool dateToJulianDay(int year, int month, int day, qint64 *jd) const override;
+ QCalendar::YearMonthDay julianDayToDate(qint64 jd) const override;
};
-#endif // QT_NO_PICTURE
-
QT_END_NAMESPACE
-#endif // QPICTUREFORMATPLUGIN_H
+#endif // QJULIAN_CALENDAR_P_H
diff --git a/src/corelib/time/qmilankoviccalendar.cpp b/src/corelib/time/qmilankoviccalendar.cpp
new file mode 100644
index 0000000000..68d74947b9
--- /dev/null
+++ b/src/corelib/time/qmilankoviccalendar.cpp
@@ -0,0 +1,141 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qglobal.h"
+#include "qmilankoviccalendar_p.h"
+#include "qcalendarmath_p.h"
+#include <QtCore/qmath.h>
+#include <QtCore/qlocale.h>
+#include <QtCore/qdatetime.h>
+
+QT_BEGIN_NAMESPACE
+
+using namespace QRoundingDown;
+
+/*!
+ \since 5.14
+
+ \class QMilankovicCalendar
+ \inmodule QtCore
+ \brief The QMilankovicCalendar class provides Milanković calendar system
+ implementation.
+
+ \section1
+
+ The Revised Julian calendar, also known as the Milanković calendar, or,
+ less formally, new calendar, is a calendar, developed and proposed by the
+ Serbian scientist Milutin Milanković in 1923, which effectively discontinued
+ the 340 years of divergence between the naming of dates sanctioned by those
+ Eastern Orthodox churches adopting it and the Gregorian calendar that has
+ come to predominate worldwide. This calendar was intended to replace the
+ ecclesiastical calendar based on the Julian calendar hitherto in use by all
+ of the Eastern Orthodox Church. The Revised Julian calendar temporarily
+ aligned its dates with the Gregorian calendar proclaimed in 1582 by Pope
+ Gregory XIII for adoption by the Christian world. The calendar has been
+ adopted by the Orthodox churches of Constantinople, Albania, Alexandria,
+ Antioch, Bulgaria, Cyprus, Greece, Poland, and Romania.
+
+ Source: \l {https://en.wikipedia.org/wiki/Revised_Julian_calendar}{Wikipedia
+ page on Milanković Calendar}
+ */
+
+QMilankovicCalendar::QMilankovicCalendar()
+ : QRomanCalendar(QStringLiteral("Milankovic"), QCalendar::System::Milankovic) {}
+
+QString QMilankovicCalendar::name() const
+{
+ return QStringLiteral("Milankovic");
+}
+
+QCalendar::System QMilankovicCalendar::calendarSystem() const
+{
+ return QCalendar::System::Milankovic;
+}
+
+bool QMilankovicCalendar::isLeapYear(int year) const
+{
+ if (year == QCalendar::Unspecified)
+ return false;
+ if (year <= 0)
+ ++year;
+ if (qMod(year, 4))
+ return false;
+ if (qMod(year, 100) == 0) {
+ const qint16 century = qMod(qDiv(year, 100), 9);
+ if (century != 2 && century != 6)
+ return false;
+ }
+ return true;
+}
+
+bool QMilankovicCalendar::dateToJulianDay(int year, int month, int day, qint64 *jd) const
+{
+ Q_ASSERT(jd);
+ if (!isDateValid(year, month, day))
+ return false;
+ if (year <= 0)
+ ++year;
+ const qint16 c0 = month < 3 ? -1 : 0;
+ const qint16 x1 = month - 12 * c0 - 3;
+ const qint16 x4 = year + c0;
+ const qint16 x3 = qDiv(x4, 100);
+ const qint16 x2 = qMod(x4, 100);
+ *jd = qDiv(328718 * x3 + 6, 9)
+ + qDiv(36525 * x2 , 100)
+ + qDiv(153 * x1 + 2 , 5)
+ + day + 1721119;
+ return true;
+}
+
+QCalendar::YearMonthDay QMilankovicCalendar::julianDayToDate(qint64 jd) const
+{
+ const qint64 k3 = 9 * (jd - 1721120) + 2;
+ const qint64 x3 = qDiv(k3, 328718);
+ const qint64 k2 = 100 * qDiv(qMod(k3, 328718), 9) + 99;
+ const qint64 k1 = qDiv(qMod(k2, 36525), 100) * 5 + 2;
+ const qint64 x2 = qDiv(k2, 36525);
+ const qint64 x1 = qDiv(5 * qDiv(qMod(k2, 36525), 100) + 2, 153);
+ const qint64 c0 = qDiv(x1 + 2, 12);
+ const int y = 100 * x3 + x2 + c0;
+ const int month = x1 - 12 * c0 + 3;
+ const int day = qDiv(qMod(k1, 153), 5) + 1;
+ return QCalendar::YearMonthDay(y > 0 ? y : y - 1, month, day);
+}
+
+QT_END_NAMESPACE
diff --git a/src/widgets/util/qscroller_mac.mm b/src/corelib/time/qmilankoviccalendar_p.h
index 6dbb483089..ebff7e7f39 100644
--- a/src/widgets/util/qscroller_mac.mm
+++ b/src/corelib/time/qmilankoviccalendar_p.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the QtWidgets module of the Qt Toolkit.
+** This file is part of the QtCore module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
@@ -37,36 +37,38 @@
**
****************************************************************************/
-#include <QtCore/qglobal.h>
+#ifndef QMILANKOVICCALENDAR_CALENDAR_P_H
+#define QMILANKOVICCALENDAR_CALENDAR_P_H
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of calendar implementations. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
-#import <AppKit/AppKit.h>
-
-#include "qscroller_p.h"
+#include "qromancalendar_p.h"
QT_BEGIN_NAMESPACE
-QPointF QScrollerPrivate::realDpi(int screen) const
+class Q_CORE_EXPORT QMilankovicCalendar : public QRomanCalendar
{
- QMacAutoReleasePool pool;
- NSArray *nsscreens = [NSScreen screens];
-
- if (screen < 0 || screen >= int([nsscreens count]))
- screen = 0;
-
- NSScreen *nsscreen = [nsscreens objectAtIndex:screen];
- CGDirectDisplayID display = [[[nsscreen deviceDescription] objectForKey:@"NSScreenNumber"] intValue];
-
- CGSize mmsize = CGDisplayScreenSize(display);
- if (mmsize.width > 0 && mmsize.height > 0) {
- return QPointF(CGDisplayPixelsWide(display) / mmsize.width,
- CGDisplayPixelsHigh(display) / mmsize.height) * qreal(25.4);
- } else {
- return QPointF();
- }
-}
+public:
+ QMilankovicCalendar();
+ // Calendar properties:
+ QString name() const override;
+ QCalendar::System calendarSystem() const override;
+ // Date queries:
+ bool isLeapYear(int year) const override;
+ // Julian Day conversions:
+ bool dateToJulianDay(int year, int month, int day, qint64 *jd) const override;
+ QCalendar::YearMonthDay julianDayToDate(qint64 jd) const override;
+};
QT_END_NAMESPACE
-#endif
+#endif // QMILANKOVICCALENDAR_CALENDAR_P_H
diff --git a/src/corelib/time/qromancalendar.cpp b/src/corelib/time/qromancalendar.cpp
new file mode 100644
index 0000000000..81b8d93d43
--- /dev/null
+++ b/src/corelib/time/qromancalendar.cpp
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qglobal.h"
+#include "qromancalendar_p.h"
+#include "qromancalendar_data_p.h"
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \since 5.14
+
+ \class QRomanCalendar
+ \inmodule QtCore
+ \brief The QRomanCalendar class is a shared base for calendars based on the
+ ancient Roman calendar.
+
+ \section1
+
+ Calendars based on the ancient Roman calendar share the names of months, whose
+ lengths depend in a common way on whether the year is a leap year. They differ
+ in how they determine which years are leap years.
+
+ \sa QGregorianCalendar, QJulianCalendar, QMilankovicCalendar
+*/
+
+int QRomanCalendar::daysInMonth(int month, int year) const
+{
+ if (!year || month < 1 || month > 12)
+ return 0;
+
+ if (month == 2)
+ return isLeapYear(year) ? 29 : 28;
+
+ // Long if odd up to July = 7, or if even from 8 = August onwards:
+ return 30 | ((month & 1) ^ (month >> 3));
+}
+
+int QRomanCalendar::minDaysInMonth() const
+{
+ return 28;
+}
+
+bool QRomanCalendar::isLunar() const
+{
+ return false;
+}
+
+bool QRomanCalendar::isLuniSolar() const
+{
+ return false;
+}
+
+bool QRomanCalendar::isSolar() const
+{
+ return true;
+}
+
+const QCalendarLocale *QRomanCalendar::localeMonthIndexData() const
+{
+ return locale_data;
+}
+
+const ushort *QRomanCalendar::localeMonthData() const
+{
+ return months_data;
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/time/qromancalendar_data_p.h b/src/corelib/time/qromancalendar_data_p.h
new file mode 100644
index 0000000000..b3a2a24a44
--- /dev/null
+++ b/src/corelib/time/qromancalendar_data_p.h
@@ -0,0 +1,2646 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QROMANCALENDAR_DATA_P_H
+#define QROMANCALENDAR_DATA_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
+// file may change from version to version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/private/qglobal_p.h>
+#include <QtCore/private/qcalendarbackend_p.h>
+
+QT_BEGIN_NAMESPACE
+
+// GENERATED PART STARTS HERE
+
+/*
+ This part of the file was generated on 2019-05-27 from the
+ Common Locale Data Repository v35.1
+
+ http://www.unicode.org/cldr/
+
+ Do not edit this section: instead regenerate it using
+ cldr2qlocalexml.py and qlocalexml2cpp.py on updated (or
+ edited) CLDR data; see qtbase/util/locale_database/.
+*/
+
+static const QCalendarLocale locale_data[] = {
+ // lang script terr sShort sLong sNarrow short long narrow
+ { 1, 0, 0,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 158,29 }}, // C/AnyScript/AnyCountry
+ { 3, 7, 69,{ 187,48 },{ 235,111 },{ 134,24 },{ 187,48 },{ 235,111 },{ 134,24 }}, // Oromo/Latin/Ethiopia
+ { 3, 7, 111,{ 187,48 },{ 235,111 },{ 346,24 },{ 187,48 },{ 235,111 },{ 134,24 }}, // Oromo/Latin/Kenya
+ { 4, 7, 69,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Afar/Latin/Ethiopia
+ { 5, 7, 195,{ 445,59 },{ 504,92 },{ 134,24 },{ 445,59 },{ 504,92 },{ 134,24 }}, // Afrikaans/Latin/South Africa
+ { 5, 7, 148,{ 445,59 },{ 504,92 },{ 134,24 },{ 445,59 },{ 504,92 },{ 134,24 }}, // Afrikaans/Latin/Namibia
+ { 6, 7, 2,{ 596,50 },{ 646,78 },{ 724,27 },{ 596,50 },{ 646,78 },{ 724,27 }}, // Albanian/Latin/Albania
+ { 6, 7, 127,{ 596,50 },{ 646,78 },{ 724,27 },{ 596,50 },{ 646,78 },{ 724,27 }}, // Albanian/Latin/Macedonia
+ { 6, 7, 257,{ 596,50 },{ 646,78 },{ 724,27 },{ 596,50 },{ 646,78 },{ 724,27 }}, // Albanian/Latin/Kosovo
+ { 7, 14, 69,{ 751,46 },{ 797,61 },{ 858,24 },{ 751,46 },{ 797,61 },{ 858,24 }}, // Amharic/Ethiopic/Ethiopia
+ { 8, 1, 64,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Egypt
+ { 8, 1, 3,{ 981,71 },{ 981,71 },{ 1052,24 },{ 981,71 },{ 981,71 },{ 1052,24 }}, // Arabic/Arabic/Algeria
+ { 8, 1, 17,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Bahrain
+ { 8, 1, 42,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Chad
+ { 8, 1, 48,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Comoros
+ { 8, 1, 59,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Djibouti
+ { 8, 1, 67,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Eritrea
+ { 8, 1, 103,{ 1076,92 },{ 1076,92 },{ 1168,24 },{ 1192,92 },{ 1076,92 },{ 1168,24 }}, // Arabic/Arabic/Iraq
+ { 8, 1, 105,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Israel
+ { 8, 1, 109,{ 1076,92 },{ 1076,92 },{ 1168,24 },{ 1076,92 },{ 1076,92 },{ 1168,24 }}, // Arabic/Arabic/Jordan
+ { 8, 1, 115,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Kuwait
+ { 8, 1, 119,{ 1076,92 },{ 1076,92 },{ 1168,24 },{ 1076,92 },{ 1076,92 },{ 1168,24 }}, // Arabic/Arabic/Lebanon
+ { 8, 1, 122,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Libya
+ { 8, 1, 136,{ 1284,72 },{ 1284,72 },{ 1356,24 },{ 1284,72 },{ 1284,72 },{ 1356,24 }}, // Arabic/Arabic/Mauritania
+ { 8, 1, 145,{ 1380,70 },{ 1380,70 },{ 1450,24 },{ 1380,70 },{ 1380,70 },{ 1450,24 }}, // Arabic/Arabic/Morocco
+ { 8, 1, 162,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Oman
+ { 8, 1, 165,{ 1076,92 },{ 1076,92 },{ 1168,24 },{ 1076,92 },{ 1076,92 },{ 1168,24 }}, // Arabic/Arabic/Palestinian Territories
+ { 8, 1, 175,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Qatar
+ { 8, 1, 186,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Saudi Arabia
+ { 8, 1, 194,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Somalia
+ { 8, 1, 201,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Sudan
+ { 8, 1, 207,{ 1076,92 },{ 1076,92 },{ 1168,24 },{ 1076,92 },{ 1076,92 },{ 1168,24 }}, // Arabic/Arabic/Syria
+ { 8, 1, 216,{ 981,71 },{ 981,71 },{ 1052,24 },{ 981,71 },{ 981,71 },{ 1052,24 }}, // Arabic/Arabic/Tunisia
+ { 8, 1, 223,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/United Arab Emirates
+ { 8, 1, 236,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Western Sahara
+ { 8, 1, 237,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/Yemen
+ { 8, 1, 254,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/South Sudan
+ { 8, 1, 260,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/World
+ { 9, 10, 11,{ 1474,48 },{ 1522,94 },{ 1616,24 },{ 1474,48 },{ 1640,106 },{ 1616,24 }}, // Armenian/Armenian/Armenia
+ { 10, 11, 100,{ 1746,64 },{ 1810,89 },{ 1899,24 },{ 1746,64 },{ 1810,89 },{ 1899,24 }}, // Assamese/Bengali/India
+ { 12, 7, 15,{ 1923,48 },{ 1971,77 },{ 418,27 },{ 1923,48 },{ 2048,77 },{ 418,27 }}, // Azerbaijani/Latin/Azerbaijan
+ { 12, 1, 102,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Azerbaijani/Arabic/Iran
+ { 12, 2, 15,{ 2125,48 },{ 2173,77 },{ 418,27 },{ 2125,48 },{ 2250,77 },{ 418,27 }}, // Azerbaijani/Cyrillic/Azerbaijan
+ { 13, 2, 178,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Bashkir/Cyrillic/Russia
+ { 14, 7, 197,{ 2327,60 },{ 2387,93 },{ 2480,24 },{ 2327,60 },{ 2387,93 },{ 2480,24 }}, // Basque/Latin/Spain
+ { 15, 11, 18,{ 2504,90 },{ 2504,90 },{ 2594,33 },{ 2627,77 },{ 2504,90 },{ 2594,33 }}, // Bengali/Bengali/Bangladesh
+ { 15, 11, 100,{ 2504,90 },{ 2504,90 },{ 2594,33 },{ 2627,77 },{ 2504,90 },{ 2594,33 }}, // Bengali/Bengali/India
+ { 16, 31, 25,{ 2704,63 },{ 2767,191 },{ 2958,27 },{ 2985,27 },{ 3012,132 },{ 3144,27 }}, // Dzongkha/Tibetan/Bhutan
+ { 19, 7, 74,{ 3171,63 },{ 3234,78 },{ 3312,36 },{ 3171,63 },{ 3234,78 },{ 3312,36 }}, // Breton/Latin/France
+ { 20, 2, 33,{ 3348,49 },{ 3397,82 },{ 3479,24 },{ 3348,49 },{ 3397,82 },{ 3479,24 }}, // Bulgarian/Cyrillic/Bulgaria
+ { 21, 25, 147,{ 3503,43 },{ 3546,88 },{ 3634,24 },{ 3503,43 },{ 3546,88 },{ 3634,24 }}, // Burmese/Myanmar/Myanmar
+ { 22, 2, 20,{ 3658,48 },{ 3706,95 },{ 3801,24 },{ 3825,48 },{ 3873,98 },{ 3801,24 }}, // Belarusian/Cyrillic/Belarus
+ { 23, 20, 36,{ 3971,71 },{ 3971,71 },{ 4042,24 },{ 3971,71 },{ 3971,71 },{ 4042,24 }}, // Khmer/Khmer/Cambodia
+ { 24, 7, 197,{ 4066,60 },{ 4126,82 },{ 4208,36 },{ 4244,93 },{ 4337,115 },{ 4208,36 }}, // Catalan/Latin/Spain
+ { 24, 7, 5,{ 4066,60 },{ 4126,82 },{ 4208,36 },{ 4244,93 },{ 4337,115 },{ 4208,36 }}, // Catalan/Latin/Andorra
+ { 24, 7, 74,{ 4066,60 },{ 4126,82 },{ 4208,36 },{ 4244,93 },{ 4337,115 },{ 4208,36 }}, // Catalan/Latin/France
+ { 24, 7, 106,{ 4066,60 },{ 4126,82 },{ 4208,36 },{ 4244,93 },{ 4337,115 },{ 4208,36 }}, // Catalan/Latin/Italy
+ { 25, 5, 44,{ 4452,39 },{ 4491,38 },{ 418,27 },{ 4452,39 },{ 4491,38 },{ 418,27 }}, // Chinese/Simplified Han/China
+ { 25, 5, 97,{ 4452,39 },{ 4491,38 },{ 418,27 },{ 4452,39 },{ 4491,38 },{ 418,27 }}, // Chinese/Simplified Han/Hong Kong
+ { 25, 5, 126,{ 4452,39 },{ 4491,38 },{ 418,27 },{ 4452,39 },{ 4491,38 },{ 418,27 }}, // Chinese/Simplified Han/Macau
+ { 25, 5, 190,{ 4452,39 },{ 4491,38 },{ 418,27 },{ 4452,39 },{ 4491,38 },{ 418,27 }}, // Chinese/Simplified Han/Singapore
+ { 25, 6, 97,{ 4452,39 },{ 4452,39 },{ 418,27 },{ 4452,39 },{ 4452,39 },{ 418,27 }}, // Chinese/Traditional Han/Hong Kong
+ { 25, 6, 126,{ 4452,39 },{ 4452,39 },{ 418,27 },{ 4452,39 },{ 4452,39 },{ 418,27 }}, // Chinese/Traditional Han/Macau
+ { 25, 6, 208,{ 4452,39 },{ 4452,39 },{ 418,27 },{ 4452,39 },{ 4452,39 },{ 418,27 }}, // Chinese/Traditional Han/Taiwan
+ { 26, 7, 74,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Corsican/Latin/France
+ { 27, 7, 54,{ 4529,49 },{ 4578,94 },{ 4672,39 },{ 4529,49 },{ 4711,98 },{ 4672,39 }}, // Croatian/Latin/Croatia
+ { 27, 7, 27,{ 4529,49 },{ 4578,94 },{ 4672,39 },{ 4529,49 },{ 4711,98 },{ 4672,39 }}, // Croatian/Latin/Bosnia And Herzegowina
+ { 28, 7, 57,{ 4809,48 },{ 4857,82 },{ 418,27 },{ 4809,48 },{ 4939,84 },{ 418,27 }}, // Czech/Latin/Czech Republic
+ { 29, 7, 58,{ 5023,59 },{ 5082,84 },{ 134,24 },{ 5023,59 },{ 5082,84 },{ 134,24 }}, // Danish/Latin/Denmark
+ { 29, 7, 86,{ 5023,59 },{ 5082,84 },{ 134,24 },{ 5023,59 },{ 5082,84 },{ 134,24 }}, // Danish/Latin/Greenland
+ { 30, 7, 151,{ 5166,59 },{ 5225,88 },{ 134,24 },{ 5166,59 },{ 5225,88 },{ 134,24 }}, // Dutch/Latin/Netherlands
+ { 30, 7, 12,{ 5166,59 },{ 5225,88 },{ 134,24 },{ 5166,59 },{ 5225,88 },{ 134,24 }}, // Dutch/Latin/Aruba
+ { 30, 7, 21,{ 5166,59 },{ 5225,88 },{ 134,24 },{ 5166,59 },{ 5225,88 },{ 134,24 }}, // Dutch/Latin/Belgium
+ { 30, 7, 152,{ 5166,59 },{ 5225,88 },{ 134,24 },{ 5166,59 },{ 5225,88 },{ 134,24 }}, // Dutch/Latin/Cura Sao
+ { 30, 7, 202,{ 5166,59 },{ 5225,88 },{ 134,24 },{ 5166,59 },{ 5225,88 },{ 134,24 }}, // Dutch/Latin/Suriname
+ { 30, 7, 255,{ 5166,59 },{ 5225,88 },{ 134,24 },{ 5166,59 },{ 5225,88 },{ 134,24 }}, // Dutch/Latin/Bonaire
+ { 30, 7, 256,{ 5166,59 },{ 5225,88 },{ 134,24 },{ 5166,59 },{ 5225,88 },{ 134,24 }}, // Dutch/Latin/Sint Maarten
+ { 31, 7, 225,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/United States
+ { 31, 3, 225,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // English/Deseret/United States
+ { 31, 7, 4,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/American Samoa
+ { 31, 7, 7,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Anguilla
+ { 31, 7, 9,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Antigua And Barbuda
+ { 31, 7, 13,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Australia
+ { 31, 7, 14,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Austria
+ { 31, 7, 16,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Bahamas
+ { 31, 7, 19,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Barbados
+ { 31, 7, 21,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Belgium
+ { 31, 7, 22,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Belize
+ { 31, 7, 24,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Bermuda
+ { 31, 7, 28,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Botswana
+ { 31, 7, 31,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/British Indian Ocean Territory
+ { 31, 7, 35,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Burundi
+ { 31, 7, 37,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Cameroon
+ { 31, 7, 38,{ 5313,59 },{ 48,86 },{ 134,24 },{ 5313,59 },{ 48,86 },{ 134,24 }}, // English/Latin/Canada
+ { 31, 7, 40,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Cayman Islands
+ { 31, 7, 45,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Christmas Island
+ { 31, 7, 46,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Cocos Islands
+ { 31, 7, 51,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Cook Islands
+ { 31, 7, 56,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Cyprus
+ { 31, 7, 58,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Denmark
+ { 31, 7, 60,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Dominica
+ { 31, 7, 67,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Eritrea
+ { 31, 7, 70,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Falkland Islands
+ { 31, 7, 72,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Fiji
+ { 31, 7, 73,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Finland
+ { 31, 7, 75,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Guernsey
+ { 31, 7, 80,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Gambia
+ { 31, 7, 82,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Germany
+ { 31, 7, 83,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Ghana
+ { 31, 7, 84,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Gibraltar
+ { 31, 7, 87,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Grenada
+ { 31, 7, 89,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Guam
+ { 31, 7, 93,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Guyana
+ { 31, 7, 97,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Hong Kong
+ { 31, 7, 100,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/India
+ { 31, 7, 104,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Ireland
+ { 31, 7, 105,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Israel
+ { 31, 7, 107,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Jamaica
+ { 31, 7, 111,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Kenya
+ { 31, 7, 112,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Kiribati
+ { 31, 7, 120,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Lesotho
+ { 31, 7, 121,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Liberia
+ { 31, 7, 126,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Macau
+ { 31, 7, 128,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Madagascar
+ { 31, 7, 129,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Malawi
+ { 31, 7, 130,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Malaysia
+ { 31, 7, 133,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Malta
+ { 31, 7, 134,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Marshall Islands
+ { 31, 7, 137,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Mauritius
+ { 31, 7, 140,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Micronesia
+ { 31, 7, 144,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Montserrat
+ { 31, 7, 148,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Namibia
+ { 31, 7, 149,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Nauru
+ { 31, 7, 151,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Netherlands
+ { 31, 7, 154,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/New Zealand
+ { 31, 7, 157,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Nigeria
+ { 31, 7, 158,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Niue
+ { 31, 7, 159,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Norfolk Island
+ { 31, 7, 160,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Northern Mariana Islands
+ { 31, 7, 163,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Pakistan
+ { 31, 7, 164,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Palau
+ { 31, 7, 167,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Papua New Guinea
+ { 31, 7, 170,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Philippines
+ { 31, 7, 171,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Pitcairn
+ { 31, 7, 174,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Puerto Rico
+ { 31, 7, 179,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Rwanda
+ { 31, 7, 180,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Saint Kitts And Nevis
+ { 31, 7, 181,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Saint Lucia
+ { 31, 7, 182,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Saint Vincent And The Grenadines
+ { 31, 7, 183,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Samoa
+ { 31, 7, 188,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Seychelles
+ { 31, 7, 189,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Sierra Leone
+ { 31, 7, 190,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Singapore
+ { 31, 7, 192,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Slovenia
+ { 31, 7, 193,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Solomon Islands
+ { 31, 7, 195,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/South Africa
+ { 31, 7, 199,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Saint Helena
+ { 31, 7, 201,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Sudan
+ { 31, 7, 204,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Swaziland
+ { 31, 7, 205,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Sweden
+ { 31, 7, 206,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Switzerland
+ { 31, 7, 210,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Tanzania
+ { 31, 7, 213,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Tokelau
+ { 31, 7, 214,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Tonga
+ { 31, 7, 215,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Trinidad And Tobago
+ { 31, 7, 219,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Turks And Caicos Islands
+ { 31, 7, 220,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Tuvalu
+ { 31, 7, 221,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Uganda
+ { 31, 7, 223,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/United Arab Emirates
+ { 31, 7, 224,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/United Kingdom
+ { 31, 7, 226,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/United States Minor Outlying Islands
+ { 31, 7, 229,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Vanuatu
+ { 31, 7, 233,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/British Virgin Islands
+ { 31, 7, 234,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/United States Virgin Islands
+ { 31, 7, 239,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Zambia
+ { 31, 7, 240,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Zimbabwe
+ { 31, 7, 249,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Diego Garcia
+ { 31, 7, 251,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Isle Of Man
+ { 31, 7, 252,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Jersey
+ { 31, 7, 254,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/South Sudan
+ { 31, 7, 256,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Sint Maarten
+ { 31, 7, 260,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/World
+ { 31, 7, 261,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Europe
+ { 32, 7, 260,{ 5372,48 },{ 5420,91 },{ 134,24 },{ 5372,48 },{ 5420,91 },{ 134,24 }}, // Esperanto/Latin/World
+ { 33, 7, 68,{ 5511,59 },{ 5570,91 },{ 5661,24 },{ 5511,59 },{ 5570,91 },{ 5661,24 }}, // Estonian/Latin/Estonia
+ { 34, 7, 71,{ 5685,48 },{ 5733,83 },{ 134,24 },{ 5816,59 },{ 5733,83 },{ 134,24 }}, // Faroese/Latin/Faroe Islands
+ { 34, 7, 58,{ 5685,48 },{ 5733,83 },{ 134,24 },{ 5816,59 },{ 5733,83 },{ 134,24 }}, // Faroese/Latin/Denmark
+ { 36, 7, 73,{ 5875,69 },{ 5944,105 },{ 6049,24 },{ 6073,93 },{ 6166,129 },{ 6049,24 }}, // Finnish/Latin/Finland
+ { 37, 7, 74,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/France
+ { 37, 7, 3,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Algeria
+ { 37, 7, 21,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Belgium
+ { 37, 7, 23,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Benin
+ { 37, 7, 34,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Burkina Faso
+ { 37, 7, 35,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Burundi
+ { 37, 7, 37,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Cameroon
+ { 37, 7, 38,{ 6443,64 },{ 6358,85 },{ 134,24 },{ 6443,64 },{ 6358,85 },{ 134,24 }}, // French/Latin/Canada
+ { 37, 7, 41,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Central African Republic
+ { 37, 7, 42,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Chad
+ { 37, 7, 48,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Comoros
+ { 37, 7, 49,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Congo Kinshasa
+ { 37, 7, 50,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Congo Brazzaville
+ { 37, 7, 53,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Ivory Coast
+ { 37, 7, 59,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Djibouti
+ { 37, 7, 66,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Equatorial Guinea
+ { 37, 7, 76,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/French Guiana
+ { 37, 7, 77,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/French Polynesia
+ { 37, 7, 79,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Gabon
+ { 37, 7, 88,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Guadeloupe
+ { 37, 7, 91,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Guinea
+ { 37, 7, 94,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Haiti
+ { 37, 7, 125,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Luxembourg
+ { 37, 7, 128,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Madagascar
+ { 37, 7, 132,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Mali
+ { 37, 7, 135,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Martinique
+ { 37, 7, 136,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Mauritania
+ { 37, 7, 137,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Mauritius
+ { 37, 7, 138,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Mayotte
+ { 37, 7, 142,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Monaco
+ { 37, 7, 145,{ 6507,61 },{ 6358,85 },{ 134,24 },{ 6507,61 },{ 6358,85 },{ 134,24 }}, // French/Latin/Morocco
+ { 37, 7, 153,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/New Caledonia
+ { 37, 7, 156,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Niger
+ { 37, 7, 176,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Reunion
+ { 37, 7, 179,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Rwanda
+ { 37, 7, 187,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Senegal
+ { 37, 7, 188,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Seychelles
+ { 37, 7, 200,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Saint Pierre And Miquelon
+ { 37, 7, 206,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Switzerland
+ { 37, 7, 207,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Syria
+ { 37, 7, 212,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Togo
+ { 37, 7, 216,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Tunisia
+ { 37, 7, 229,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Vanuatu
+ { 37, 7, 235,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Wallis And Futuna Islands
+ { 37, 7, 244,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Saint Barthelemy
+ { 37, 7, 245,{ 6295,63 },{ 6358,85 },{ 134,24 },{ 6295,63 },{ 6358,85 },{ 134,24 }}, // French/Latin/Saint Martin
+ { 38, 7, 151,{ 6568,48 },{ 6616,95 },{ 134,24 },{ 6568,48 },{ 6616,95 },{ 134,24 }}, // Western Frisian/Latin/Netherlands
+ { 39, 7, 224,{ 6711,61 },{ 6772,142 },{ 6914,24 },{ 6711,61 },{ 6938,167 },{ 6914,24 }}, // Gaelic/Latin/United Kingdom
+ { 40, 7, 197,{ 7105,60 },{ 7165,87 },{ 7252,24 },{ 7276,60 },{ 7336,87 },{ 7423,36 }}, // Galician/Latin/Spain
+ { 41, 15, 81,{ 7459,48 },{ 7507,99 },{ 7606,24 },{ 7459,48 },{ 7507,99 },{ 7606,24 }}, // Georgian/Georgian/Georgia
+ { 42, 7, 82,{ 7630,48 },{ 7678,83 },{ 134,24 },{ 7761,60 },{ 7678,83 },{ 134,24 }}, // German/Latin/Germany
+ { 42, 7, 14,{ 7821,48 },{ 7869,83 },{ 134,24 },{ 7952,59 },{ 7869,83 },{ 134,24 }}, // German/Latin/Austria
+ { 42, 7, 21,{ 7630,48 },{ 7678,83 },{ 134,24 },{ 7761,60 },{ 7678,83 },{ 134,24 }}, // German/Latin/Belgium
+ { 42, 7, 106,{ 7821,48 },{ 7869,83 },{ 134,24 },{ 7952,59 },{ 7869,83 },{ 134,24 }}, // German/Latin/Italy
+ { 42, 7, 123,{ 7630,48 },{ 7678,83 },{ 134,24 },{ 7761,60 },{ 7678,83 },{ 134,24 }}, // German/Latin/Liechtenstein
+ { 42, 7, 125,{ 7630,48 },{ 7678,83 },{ 134,24 },{ 7761,60 },{ 7678,83 },{ 134,24 }}, // German/Latin/Luxembourg
+ { 42, 7, 206,{ 7630,48 },{ 7678,83 },{ 134,24 },{ 7761,60 },{ 7678,83 },{ 134,24 }}, // German/Latin/Switzerland
+ { 43, 16, 85,{ 8011,50 },{ 8061,115 },{ 8176,24 },{ 8200,50 },{ 8250,115 },{ 8176,24 }}, // Greek/Greek/Greece
+ { 43, 16, 56,{ 8011,50 },{ 8061,115 },{ 8176,24 },{ 8200,50 },{ 8250,115 },{ 8176,24 }}, // Greek/Greek/Cyprus
+ { 44, 7, 86,{ 8365,48 },{ 8413,96 },{ 134,24 },{ 8365,48 },{ 8413,96 },{ 134,24 }}, // Greenlandic/Latin/Greenland
+ { 45, 7, 168,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Guarani/Latin/Paraguay
+ { 46, 17, 100,{ 8509,67 },{ 8576,87 },{ 8663,31 },{ 8509,67 },{ 8576,87 },{ 8663,31 }}, // Gujarati/Gujarati/India
+ { 47, 7, 157,{ 8694,48 },{ 8742,85 },{ 8827,24 },{ 8694,48 },{ 8742,85 },{ 8827,24 }}, // Hausa/Latin/Nigeria
+ { 47, 1, 157,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Hausa/Arabic/Nigeria
+ { 47, 7, 83,{ 8694,48 },{ 8742,85 },{ 8827,24 },{ 8694,48 },{ 8742,85 },{ 8827,24 }}, // Hausa/Latin/Ghana
+ { 47, 7, 156,{ 8694,48 },{ 8742,85 },{ 8827,24 },{ 8694,48 },{ 8742,85 },{ 8827,24 }}, // Hausa/Latin/Niger
+ { 48, 18, 105,{ 8851,58 },{ 8909,72 },{ 418,27 },{ 8851,58 },{ 8909,72 },{ 418,27 }}, // Hebrew/Hebrew/Israel
+ { 49, 13, 100,{ 8981,59 },{ 9040,73 },{ 9113,30 },{ 8981,59 },{ 9040,73 },{ 9113,30 }}, // Hindi/Devanagari/India
+ { 50, 7, 98,{ 9143,64 },{ 9207,98 },{ 9305,25 },{ 9143,64 },{ 9207,98 },{ 9305,25 }}, // Hungarian/Latin/Hungary
+ { 51, 7, 99,{ 9330,59 },{ 9389,82 },{ 9471,24 },{ 9330,59 },{ 9389,82 },{ 9471,24 }}, // Icelandic/Latin/Iceland
+ { 52, 7, 101,{ 9495,48 },{ 9543,87 },{ 134,24 },{ 9495,48 },{ 9543,87 },{ 134,24 }}, // Indonesian/Latin/Indonesia
+ { 53, 7, 260,{ 9630,48 },{ 9678,93 },{ 418,27 },{ 9630,48 },{ 9678,93 },{ 9771,24 }}, // Interlingua/Latin/World
+ { 55, 44, 38,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Inuktitut/Canadian Aboriginal/Canada
+ { 55, 7, 38,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Inuktitut/Latin/Canada
+ { 57, 7, 104,{ 9795,62 },{ 9857,107 },{ 9964,24 },{ 9795,62 },{ 9857,107 },{ 9964,24 }}, // Irish/Latin/Ireland
+ { 58, 7, 106,{ 9988,48 },{ 10036,94 },{ 10130,24 },{ 9988,48 },{ 10036,94 },{ 10130,24 }}, // Italian/Latin/Italy
+ { 58, 7, 184,{ 9988,48 },{ 10036,94 },{ 10130,24 },{ 9988,48 },{ 10036,94 },{ 10130,24 }}, // Italian/Latin/San Marino
+ { 58, 7, 206,{ 9988,48 },{ 10036,94 },{ 10130,24 },{ 9988,48 },{ 10036,94 },{ 10130,24 }}, // Italian/Latin/Switzerland
+ { 58, 7, 230,{ 9988,48 },{ 10036,94 },{ 10130,24 },{ 9988,48 },{ 10036,94 },{ 10130,24 }}, // Italian/Latin/Vatican City State
+ { 59, 19, 108,{ 4452,39 },{ 4452,39 },{ 418,27 },{ 4452,39 },{ 4452,39 },{ 418,27 }}, // Japanese/Japanese/Japan
+ { 60, 7, 101,{ 10154,48 },{ 9543,87 },{ 134,24 },{ 10154,48 },{ 9543,87 },{ 134,24 }}, // Javanese/Latin/Indonesia
+ { 61, 21, 100,{ 10202,63 },{ 10265,87 },{ 10352,31 },{ 10383,69 },{ 10265,87 },{ 10352,31 }}, // Kannada/Kannada/India
+ { 62, 1, 100,{ 10452,72 },{ 10452,72 },{ 10524,24 },{ 10452,72 },{ 10452,72 },{ 10524,24 }}, // Kashmiri/Arabic/India
+ { 63, 2, 110,{ 10548,60 },{ 10608,83 },{ 10691,24 },{ 10548,60 },{ 10715,83 },{ 10691,24 }}, // Kazakh/Cyrillic/Kazakhstan
+ { 64, 7, 179,{ 10798,60 },{ 10858,101 },{ 418,27 },{ 10798,60 },{ 10858,101 },{ 418,27 }}, // Kinyarwanda/Latin/Rwanda
+ { 65, 2, 116,{ 10959,48 },{ 11007,80 },{ 11087,24 },{ 11111,59 },{ 11170,80 },{ 11087,24 }}, // Kirghiz/Cyrillic/Kyrgyzstan
+ { 66, 22, 114,{ 11250,39 },{ 11250,39 },{ 11250,39 },{ 11250,39 },{ 11250,39 },{ 11250,39 }}, // Korean/Korean/South Korea
+ { 66, 22, 113,{ 11250,39 },{ 11250,39 },{ 11250,39 },{ 11250,39 },{ 11250,39 },{ 11250,39 }}, // Korean/Korean/North Korea
+ { 67, 7, 217,{ 11289,48 },{ 11337,88 },{ 11425,24 },{ 11289,48 },{ 11449,101 },{ 11425,24 }}, // Kurdish/Latin/Turkey
+ { 68, 7, 35,{ 11550,60 },{ 11610,106 },{ 418,27 },{ 11550,60 },{ 11610,106 },{ 418,27 }}, // Rundi/Latin/Burundi
+ { 69, 23, 117,{ 11716,61 },{ 11777,75 },{ 418,27 },{ 11716,61 },{ 11777,75 },{ 418,27 }}, // Lao/Lao/Laos
+ { 71, 7, 118,{ 11852,65 },{ 11917,101 },{ 134,24 },{ 11852,65 },{ 11917,101 },{ 134,24 }}, // Latvian/Latin/Latvia
+ { 72, 7, 49,{ 12018,48 },{ 12066,203 },{ 12269,24 },{ 12018,48 },{ 12066,203 },{ 12269,24 }}, // Lingala/Latin/Congo Kinshasa
+ { 72, 7, 6,{ 12018,48 },{ 12066,203 },{ 12269,24 },{ 12018,48 },{ 12066,203 },{ 12269,24 }}, // Lingala/Latin/Angola
+ { 72, 7, 41,{ 12018,48 },{ 12066,203 },{ 12269,24 },{ 12018,48 },{ 12066,203 },{ 12269,24 }}, // Lingala/Latin/Central African Republic
+ { 72, 7, 50,{ 12018,48 },{ 12066,203 },{ 12269,24 },{ 12018,48 },{ 12066,203 },{ 12269,24 }}, // Lingala/Latin/Congo Brazzaville
+ { 73, 7, 124,{ 12293,70 },{ 12363,96 },{ 12459,24 },{ 12293,70 },{ 12483,98 },{ 12459,24 }}, // Lithuanian/Latin/Lithuania
+ { 74, 2, 127,{ 12581,61 },{ 12642,85 },{ 12727,24 },{ 12581,61 },{ 12642,85 },{ 12727,24 }}, // Macedonian/Cyrillic/Macedonia
+ { 75, 7, 128,{ 12751,48 },{ 12799,92 },{ 134,24 },{ 12751,48 },{ 12799,92 },{ 134,24 }}, // Malagasy/Latin/Madagascar
+ { 76, 7, 130,{ 12891,48 },{ 12939,82 },{ 13021,24 },{ 12891,48 },{ 12939,82 },{ 13021,24 }}, // Malay/Latin/Malaysia
+ { 76, 1, 130,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Malay/Arabic/Malaysia
+ { 76, 7, 32,{ 12891,48 },{ 12939,82 },{ 13021,24 },{ 12891,48 },{ 12939,82 },{ 13021,24 }}, // Malay/Latin/Brunei
+ { 76, 7, 190,{ 12891,48 },{ 12939,82 },{ 13021,24 },{ 12891,48 },{ 12939,82 },{ 13021,24 }}, // Malay/Latin/Singapore
+ { 77, 24, 100,{ 13045,62 },{ 13107,88 },{ 13195,32 },{ 13045,62 },{ 13107,88 },{ 13195,32 }}, // Malayalam/Malayalam/India
+ { 78, 7, 133,{ 13227,48 },{ 13275,86 },{ 13361,36 },{ 13227,48 },{ 13275,86 },{ 13397,24 }}, // Maltese/Latin/Malta
+ { 79, 7, 154,{ 13421,59 },{ 13480,133 },{ 13613,24 },{ 13421,59 },{ 13480,133 },{ 13613,24 }}, // Maori/Latin/New Zealand
+ { 80, 13, 100,{ 13637,66 },{ 13703,86 },{ 13789,32 },{ 13637,66 },{ 13703,86 },{ 13789,32 }}, // Marathi/Devanagari/India
+ { 82, 2, 143,{ 13821,99 },{ 13920,192 },{ 14112,38 },{ 13821,99 },{ 14150,192 },{ 14112,38 }}, // Mongolian/Cyrillic/Mongolia
+ { 82, 8, 44,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Mongolian/Mongolian/China
+ { 84, 13, 150,{ 14342,85 },{ 14342,85 },{ 14427,53 },{ 14342,85 },{ 14342,85 },{ 14480,52 }}, // Nepali/Devanagari/Nepal
+ { 84, 13, 100,{ 14342,85 },{ 14342,85 },{ 14427,53 },{ 14342,85 },{ 14342,85 },{ 14480,52 }}, // Nepali/Devanagari/India
+ { 85, 7, 161,{ 5685,48 },{ 14532,83 },{ 134,24 },{ 5816,59 },{ 14532,83 },{ 134,24 }}, // Norwegian Bokmal/Latin/Norway
+ { 85, 7, 203,{ 5685,48 },{ 14532,83 },{ 134,24 },{ 5816,59 },{ 14532,83 },{ 134,24 }}, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands
+ { 86, 7, 74,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Occitan/Latin/France
+ { 87, 26, 100,{ 14615,86 },{ 14615,86 },{ 14701,32 },{ 14615,86 },{ 14615,86 },{ 14701,32 }}, // Oriya/Oriya/India
+ { 88, 1, 1,{ 14733,68 },{ 14801,69 },{ 418,27 },{ 14870,69 },{ 14870,69 },{ 14939,24 }}, // Pashto/Arabic/Afghanistan
+ { 88, 1, 163,{ 14733,68 },{ 14801,69 },{ 418,27 },{ 14870,69 },{ 14870,69 },{ 14939,24 }}, // Pashto/Arabic/Pakistan
+ { 89, 1, 102,{ 14963,70 },{ 14963,70 },{ 15033,24 },{ 15057,74 },{ 15057,74 },{ 15033,24 }}, // Persian/Arabic/Iran
+ { 89, 1, 1,{ 15131,68 },{ 15131,68 },{ 14939,24 },{ 15199,62 },{ 15131,68 },{ 14939,24 }}, // Persian/Arabic/Afghanistan
+ { 90, 7, 172,{ 15261,48 },{ 15309,97 },{ 15406,24 },{ 15261,48 },{ 15430,99 },{ 15529,24 }}, // Polish/Latin/Poland
+ { 91, 7, 30,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Brazil
+ { 91, 7, 6,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Angola
+ { 91, 7, 39,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Cape Verde
+ { 91, 7, 62,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/East Timor
+ { 91, 7, 66,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Equatorial Guinea
+ { 91, 7, 92,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Guinea Bissau
+ { 91, 7, 125,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Luxembourg
+ { 91, 7, 126,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Macau
+ { 91, 7, 146,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Mozambique
+ { 91, 7, 173,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Portugal
+ { 91, 7, 185,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Sao Tome And Principe
+ { 91, 7, 206,{ 15553,48 },{ 15601,89 },{ 134,24 },{ 15553,48 },{ 15601,89 },{ 134,24 }}, // Portuguese/Latin/Switzerland
+ { 92, 4, 100,{ 15690,50 },{ 15740,68 },{ 15808,28 },{ 15690,50 },{ 15740,68 },{ 15808,28 }}, // Punjabi/Gurmukhi/India
+ { 92, 1, 163,{ 15836,67 },{ 15836,67 },{ 418,27 },{ 15836,67 },{ 15836,67 },{ 418,27 }}, // Punjabi/Arabic/Pakistan
+ { 93, 7, 169,{ 15903,48 },{ 15951,88 },{ 418,27 },{ 15903,48 },{ 15951,88 },{ 418,27 }}, // Quechua/Latin/Peru
+ { 93, 7, 26,{ 15903,48 },{ 15951,88 },{ 418,27 },{ 15903,48 },{ 15951,88 },{ 418,27 }}, // Quechua/Latin/Bolivia
+ { 93, 7, 63,{ 15903,48 },{ 15951,88 },{ 418,27 },{ 15903,48 },{ 15951,88 },{ 418,27 }}, // Quechua/Latin/Ecuador
+ { 94, 7, 206,{ 16039,67 },{ 16106,92 },{ 16198,24 },{ 16039,67 },{ 16106,92 },{ 16198,24 }}, // Romansh/Latin/Switzerland
+ { 95, 7, 177,{ 16222,60 },{ 16282,98 },{ 16380,24 },{ 16222,60 },{ 16282,98 },{ 16380,24 }}, // Romanian/Latin/Romania
+ { 95, 7, 141,{ 16222,60 },{ 16282,98 },{ 16380,24 },{ 16222,60 },{ 16282,98 },{ 16380,24 }}, // Romanian/Latin/Moldova
+ { 96, 2, 178,{ 16404,62 },{ 11170,80 },{ 11087,24 },{ 16466,62 },{ 16528,82 },{ 11087,24 }}, // Russian/Cyrillic/Russia
+ { 96, 2, 20,{ 16404,62 },{ 11170,80 },{ 11087,24 },{ 16466,62 },{ 16528,82 },{ 11087,24 }}, // Russian/Cyrillic/Belarus
+ { 96, 2, 110,{ 16404,62 },{ 11170,80 },{ 11087,24 },{ 16466,62 },{ 16528,82 },{ 11087,24 }}, // Russian/Cyrillic/Kazakhstan
+ { 96, 2, 116,{ 16404,62 },{ 11170,80 },{ 11087,24 },{ 16466,62 },{ 16528,82 },{ 11087,24 }}, // Russian/Cyrillic/Kyrgyzstan
+ { 96, 2, 141,{ 16404,62 },{ 11170,80 },{ 11087,24 },{ 16466,62 },{ 16528,82 },{ 11087,24 }}, // Russian/Cyrillic/Moldova
+ { 96, 2, 222,{ 16404,62 },{ 11170,80 },{ 11087,24 },{ 16466,62 },{ 16528,82 },{ 11087,24 }}, // Russian/Cyrillic/Ukraine
+ { 98, 7, 41,{ 16610,48 },{ 16658,91 },{ 16749,24 },{ 16610,48 },{ 16658,91 },{ 16749,24 }}, // Sango/Latin/Central African Republic
+ { 99, 13, 100,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Sanskrit/Devanagari/India
+ { 100, 2, 243,{ 16773,48 },{ 16821,81 },{ 12727,24 },{ 16773,48 },{ 16821,81 },{ 12727,24 }}, // Serbian/Cyrillic/Serbia
+ { 100, 7, 27,{ 16902,50 },{ 16952,81 },{ 9771,24 },{ 17033,48 },{ 16952,81 },{ 9771,24 }}, // Serbian/Latin/Bosnia And Herzegowina
+ { 100, 7, 242,{ 17081,58 },{ 16952,81 },{ 9771,24 },{ 17081,58 },{ 16952,81 },{ 9771,24 }}, // Serbian/Latin/Montenegro
+ { 100, 7, 243,{ 17033,48 },{ 16952,81 },{ 9771,24 },{ 17033,48 },{ 16952,81 },{ 9771,24 }}, // Serbian/Latin/Serbia
+ { 100, 2, 27,{ 17139,50 },{ 16821,81 },{ 12727,24 },{ 16773,48 },{ 16821,81 },{ 12727,24 }}, // Serbian/Cyrillic/Bosnia And Herzegowina
+ { 100, 2, 242,{ 17139,50 },{ 16821,81 },{ 12727,24 },{ 17139,50 },{ 16821,81 },{ 12727,24 }}, // Serbian/Cyrillic/Montenegro
+ { 100, 2, 257,{ 17139,50 },{ 16821,81 },{ 12727,24 },{ 17139,50 },{ 16821,81 },{ 12727,24 }}, // Serbian/Cyrillic/Kosovo
+ { 100, 7, 257,{ 17081,58 },{ 16952,81 },{ 9771,24 },{ 17081,58 },{ 16952,81 },{ 9771,24 }}, // Serbian/Latin/Kosovo
+ { 101, 2, 81,{ 17189,63 },{ 17252,82 },{ 11087,24 },{ 17334,60 },{ 17394,86 },{ 11087,24 }}, // Ossetic/Cyrillic/Georgia
+ { 101, 2, 178,{ 17189,63 },{ 17252,82 },{ 11087,24 },{ 17334,60 },{ 17394,86 },{ 11087,24 }}, // Ossetic/Cyrillic/Russia
+ { 102, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Southern Sotho/Latin/South Africa
+ { 103, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tswana/Latin/South Africa
+ { 104, 7, 240,{ 17480,48 },{ 17528,100 },{ 17628,24 },{ 17480,48 },{ 17528,100 },{ 17628,24 }}, // Shona/Latin/Zimbabwe
+ { 105, 1, 163,{ 17652,72 },{ 17652,72 },{ 134,24 },{ 17652,72 },{ 17652,72 },{ 134,24 }}, // Sindhi/Arabic/Pakistan
+ { 106, 32, 198,{ 17724,59 },{ 17783,96 },{ 17879,32 },{ 17911,61 },{ 17783,96 },{ 17879,32 }}, // Sinhala/Sinhala/Sri Lanka
+ { 107, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Swati/Latin/South Africa
+ { 108, 7, 191,{ 17972,48 },{ 18020,82 },{ 9771,24 },{ 17972,48 },{ 18102,89 },{ 9771,24 }}, // Slovak/Latin/Slovakia
+ { 109, 7, 192,{ 18191,59 },{ 18250,86 },{ 9771,24 },{ 18191,59 },{ 18250,86 },{ 9771,24 }}, // Slovenian/Latin/Slovenia
+ { 110, 7, 194,{ 18336,48 },{ 18384,92 },{ 18476,24 },{ 18336,48 },{ 18500,189 },{ 18476,24 }}, // Somali/Latin/Somalia
+ { 110, 7, 59,{ 18336,48 },{ 18384,92 },{ 18476,24 },{ 18336,48 },{ 18500,189 },{ 18476,24 }}, // Somali/Latin/Djibouti
+ { 110, 7, 69,{ 18336,48 },{ 18384,92 },{ 18476,24 },{ 18336,48 },{ 18500,189 },{ 18476,24 }}, // Somali/Latin/Ethiopia
+ { 110, 7, 111,{ 18336,48 },{ 18384,92 },{ 18476,24 },{ 18336,48 },{ 18500,189 },{ 18476,24 }}, // Somali/Latin/Kenya
+ { 111, 7, 197,{ 18689,61 },{ 18750,89 },{ 18839,24 },{ 18689,61 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Spain
+ { 111, 7, 10,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Argentina
+ { 111, 7, 22,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Belize
+ { 111, 7, 26,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Bolivia
+ { 111, 7, 30,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Brazil
+ { 111, 7, 43,{ 18689,61 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Chile
+ { 111, 7, 47,{ 18689,61 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Colombia
+ { 111, 7, 52,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Costa Rica
+ { 111, 7, 55,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Cuba
+ { 111, 7, 61,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Dominican Republic
+ { 111, 7, 63,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Ecuador
+ { 111, 7, 65,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/El Salvador
+ { 111, 7, 66,{ 18689,61 },{ 18750,89 },{ 18839,24 },{ 18689,61 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Equatorial Guinea
+ { 111, 7, 90,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Guatemala
+ { 111, 7, 96,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Honduras
+ { 111, 7, 139,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Mexico
+ { 111, 7, 155,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Nicaragua
+ { 111, 7, 166,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Panama
+ { 111, 7, 168,{ 18689,61 },{ 18750,89 },{ 18839,24 },{ 18689,61 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Paraguay
+ { 111, 7, 169,{ 18923,60 },{ 15951,88 },{ 18839,24 },{ 18983,60 },{ 19043,88 },{ 18839,24 }}, // Spanish/Latin/Peru
+ { 111, 7, 170,{ 18689,61 },{ 18750,89 },{ 18839,24 },{ 18689,61 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Philippines
+ { 111, 7, 174,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Puerto Rico
+ { 111, 7, 225,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/United States
+ { 111, 7, 227,{ 18923,60 },{ 15951,88 },{ 18839,24 },{ 18983,60 },{ 19043,88 },{ 18839,24 }}, // Spanish/Latin/Uruguay
+ { 111, 7, 231,{ 18689,61 },{ 18750,89 },{ 18839,24 },{ 18689,61 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Venezuela
+ { 111, 7, 238,{ 18689,61 },{ 18750,89 },{ 18839,24 },{ 18689,61 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Canary Islands
+ { 111, 7, 246,{ 18863,60 },{ 18750,89 },{ 18839,24 },{ 18863,60 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Latin America
+ { 111, 7, 250,{ 18689,61 },{ 18750,89 },{ 18839,24 },{ 18689,61 },{ 18750,89 },{ 18839,24 }}, // Spanish/Latin/Ceuta And Melilla
+ { 113, 7, 210,{ 19131,48 },{ 19179,84 },{ 134,24 },{ 19131,48 },{ 19179,84 },{ 134,24 }}, // Swahili/Latin/Tanzania
+ { 113, 7, 49,{ 19131,48 },{ 19179,84 },{ 134,24 },{ 19131,48 },{ 19179,84 },{ 134,24 }}, // Swahili/Latin/Congo Kinshasa
+ { 113, 7, 111,{ 19131,48 },{ 19179,84 },{ 134,24 },{ 19131,48 },{ 19179,84 },{ 134,24 }}, // Swahili/Latin/Kenya
+ { 113, 7, 221,{ 19131,48 },{ 19179,84 },{ 134,24 },{ 19131,48 },{ 19179,84 },{ 134,24 }}, // Swahili/Latin/Uganda
+ { 114, 7, 205,{ 19263,59 },{ 19322,86 },{ 134,24 },{ 19263,59 },{ 19322,86 },{ 134,24 }}, // Swedish/Latin/Sweden
+ { 114, 7, 73,{ 19263,59 },{ 19322,86 },{ 134,24 },{ 19263,59 },{ 19322,86 },{ 134,24 }}, // Swedish/Latin/Finland
+ { 114, 7, 248,{ 19263,59 },{ 19322,86 },{ 134,24 },{ 19263,59 },{ 19322,86 },{ 134,24 }}, // Swedish/Latin/Aland Islands
+ { 115, 7, 106,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Sardinian/Latin/Italy
+ { 116, 2, 209,{ 10959,48 },{ 19408,71 },{ 11087,24 },{ 10959,48 },{ 19408,71 },{ 11087,24 }}, // Tajik/Cyrillic/Tajikistan
+ { 117, 27, 100,{ 19479,58 },{ 19537,86 },{ 19623,31 },{ 19479,58 },{ 19537,86 },{ 19623,31 }}, // Tamil/Tamil/India
+ { 117, 27, 130,{ 19479,58 },{ 19537,86 },{ 19623,31 },{ 19479,58 },{ 19537,86 },{ 19623,31 }}, // Tamil/Tamil/Malaysia
+ { 117, 27, 190,{ 19479,58 },{ 19537,86 },{ 19623,31 },{ 19479,58 },{ 19537,86 },{ 19623,31 }}, // Tamil/Tamil/Singapore
+ { 117, 27, 198,{ 19479,58 },{ 19537,86 },{ 19623,31 },{ 19479,58 },{ 19537,86 },{ 19623,31 }}, // Tamil/Tamil/Sri Lanka
+ { 118, 2, 178,{ 19654,62 },{ 19716,81 },{ 418,27 },{ 19654,62 },{ 19716,81 },{ 418,27 }}, // Tatar/Cyrillic/Russia
+ { 119, 28, 100,{ 19797,62 },{ 19859,86 },{ 19945,31 },{ 19797,62 },{ 19859,86 },{ 19945,31 }}, // Telugu/Telugu/India
+ { 120, 30, 211,{ 19976,63 },{ 20039,98 },{ 19976,63 },{ 19976,63 },{ 20039,98 },{ 19976,63 }}, // Thai/Thai/Thailand
+ { 121, 31, 44,{ 2704,63 },{ 20137,159 },{ 418,27 },{ 2704,63 },{ 20296,147 },{ 418,27 }}, // Tibetan/Tibetan/China
+ { 121, 31, 100,{ 2704,63 },{ 20137,159 },{ 418,27 },{ 2704,63 },{ 20296,147 },{ 418,27 }}, // Tibetan/Tibetan/India
+ { 122, 14, 69,{ 20443,36 },{ 20479,54 },{ 20533,24 },{ 20443,36 },{ 20479,54 },{ 20533,24 }}, // Tigrinya/Ethiopic/Ethiopia
+ { 122, 14, 67,{ 20443,36 },{ 20479,54 },{ 20533,24 },{ 20443,36 },{ 20479,54 },{ 20533,24 }}, // Tigrinya/Ethiopic/Eritrea
+ { 123, 7, 214,{ 20557,51 },{ 20608,87 },{ 20695,24 },{ 20557,51 },{ 20608,87 },{ 20695,24 }}, // Tongan/Latin/Tonga
+ { 124, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tsonga/Latin/South Africa
+ { 125, 7, 217,{ 20719,48 },{ 20767,75 },{ 20842,24 },{ 20719,48 },{ 20767,75 },{ 20842,24 }}, // Turkish/Latin/Turkey
+ { 125, 7, 56,{ 20719,48 },{ 20767,75 },{ 20842,24 },{ 20719,48 },{ 20767,75 },{ 20842,24 }}, // Turkish/Latin/Cyprus
+ { 126, 7, 218,{ 20866,50 },{ 20916,77 },{ 20993,24 },{ 21017,51 },{ 21068,77 },{ 20993,24 }}, // Turkmen/Latin/Turkmenistan
+ { 128, 1, 44,{ 21145,84 },{ 21145,84 },{ 418,27 },{ 21145,84 },{ 21145,84 },{ 418,27 }}, // Uighur/Arabic/China
+ { 129, 2, 222,{ 21229,48 },{ 21277,95 },{ 21372,24 },{ 21396,67 },{ 21463,87 },{ 21550,24 }}, // Ukrainian/Cyrillic/Ukraine
+ { 130, 1, 163,{ 21574,68 },{ 21574,68 },{ 134,24 },{ 21574,68 },{ 21574,68 },{ 134,24 }}, // Urdu/Arabic/Pakistan
+ { 130, 1, 100,{ 21574,68 },{ 21574,68 },{ 134,24 },{ 21574,68 },{ 21574,68 },{ 134,24 }}, // Urdu/Arabic/India
+ { 131, 7, 228,{ 21642,48 },{ 21690,75 },{ 21765,24 },{ 21789,48 },{ 21837,75 },{ 21765,24 }}, // Uzbek/Latin/Uzbekistan
+ { 131, 1, 1,{ 21912,47 },{ 15131,68 },{ 418,27 },{ 21912,47 },{ 15131,68 },{ 418,27 }}, // Uzbek/Arabic/Afghanistan
+ { 131, 2, 228,{ 21959,48 },{ 22007,71 },{ 11087,24 },{ 21959,48 },{ 22007,71 },{ 11087,24 }}, // Uzbek/Cyrillic/Uzbekistan
+ { 132, 7, 232,{ 22078,75 },{ 22153,99 },{ 418,27 },{ 22252,75 },{ 22327,99 },{ 418,27 }}, // Vietnamese/Latin/Vietnam
+ { 133, 7, 260,{ 22426,48 },{ 22474,74 },{ 22548,24 },{ 22572,48 },{ 22474,74 },{ 22548,24 }}, // Volapuk/Latin/World
+ { 134, 7, 224,{ 22620,52 },{ 22672,87 },{ 22759,26 },{ 22785,59 },{ 22672,87 },{ 22759,26 }}, // Welsh/Latin/United Kingdom
+ { 135, 7, 187,{ 22844,47 },{ 22891,84 },{ 418,27 },{ 22844,47 },{ 22891,84 },{ 418,27 }}, // Wolof/Latin/Senegal
+ { 136, 7, 195,{ 22975,48 },{ 23023,91 },{ 418,27 },{ 22975,48 },{ 23023,91 },{ 418,27 }}, // Xhosa/Latin/South Africa
+ { 137, 18, 260,{ 23114,58 },{ 23172,92 },{ 418,27 },{ 23172,92 },{ 23172,92 },{ 418,27 }}, // Yiddish/Hebrew/World
+ { 138, 7, 157,{ 23264,40 },{ 23304,73 },{ 23377,27 },{ 23404,55 },{ 23459,121 },{ 23377,27 }}, // Yoruba/Latin/Nigeria
+ { 138, 7, 23,{ 23580,41 },{ 23621,74 },{ 23695,27 },{ 23722,56 },{ 23778,134 },{ 23695,27 }}, // Yoruba/Latin/Benin
+ { 140, 7, 195,{ 23912,48 },{ 23960,91 },{ 134,24 },{ 23912,48 },{ 23960,91 },{ 24051,24 }}, // Zulu/Latin/South Africa
+ { 141, 7, 161,{ 5685,48 },{ 14532,83 },{ 134,24 },{ 24075,59 },{ 14532,83 },{ 134,24 }}, // Norwegian Nynorsk/Latin/Norway
+ { 142, 7, 27,{ 8365,48 },{ 24134,83 },{ 9771,24 },{ 8365,48 },{ 24134,83 },{ 9771,24 }}, // Bosnian/Latin/Bosnia And Herzegowina
+ { 142, 2, 27,{ 24217,48 },{ 24265,83 },{ 12727,24 },{ 24217,48 },{ 24265,83 },{ 12727,24 }}, // Bosnian/Cyrillic/Bosnia And Herzegowina
+ { 143, 29, 131,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Divehi/Thaana/Maldives
+ { 144, 7, 251,{ 24348,102 },{ 24450,140 },{ 418,27 },{ 24348,102 },{ 24450,140 },{ 418,27 }}, // Manx/Latin/Isle Of Man
+ { 145, 7, 224,{ 24590,46 },{ 24636,130 },{ 418,27 },{ 24590,46 },{ 24636,130 },{ 418,27 }}, // Cornish/Latin/United Kingdom
+ { 146, 7, 83,{ 24766,48 },{ 24814,192 },{ 418,27 },{ 24766,48 },{ 24814,192 },{ 418,27 }}, // Akan/Latin/Ghana
+ { 147, 13, 100,{ 25006,88 },{ 25006,88 },{ 418,27 },{ 25006,88 },{ 25006,88 },{ 418,27 }}, // Konkani/Devanagari/India
+ { 148, 7, 83,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Ga/Latin/Ghana
+ { 149, 7, 157,{ 25094,48 },{ 25142,87 },{ 25229,24 },{ 25094,48 },{ 25142,87 },{ 25229,24 }}, // Igbo/Latin/Nigeria
+ { 150, 7, 111,{ 25253,48 },{ 25301,189 },{ 25490,24 },{ 25253,48 },{ 25301,189 },{ 25490,24 }}, // Kamba/Latin/Kenya
+ { 151, 33, 103,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Syriac/Syriac/Iraq
+ { 152, 14, 67,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Blin/Ethiopic/Eritrea
+ { 153, 14, 69,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Geez/Ethiopic/Ethiopia
+ { 155, 7, 69,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Sidamo/Latin/Ethiopia
+ { 156, 7, 157,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Atsam/Latin/Nigeria
+ { 157, 14, 67,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tigre/Ethiopic/Eritrea
+ { 158, 7, 157,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Jju/Latin/Nigeria
+ { 159, 7, 106,{ 25514,48 },{ 25562,77 },{ 25639,24 },{ 25514,48 },{ 25562,77 },{ 25639,24 }}, // Friulian/Latin/Italy
+ { 160, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Venda/Latin/South Africa
+ { 161, 7, 83,{ 25663,48 },{ 25711,87 },{ 25798,24 },{ 25663,48 },{ 25711,87 },{ 25798,24 }}, // Ewe/Latin/Ghana
+ { 161, 7, 212,{ 25663,48 },{ 25711,87 },{ 25798,24 },{ 25663,48 },{ 25711,87 },{ 25798,24 }}, // Ewe/Latin/Togo
+ { 162, 14, 69,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Walamo/Ethiopic/Ethiopia
+ { 163, 7, 225,{ 25822,59 },{ 25881,95 },{ 418,27 },{ 25822,59 },{ 25881,95 },{ 418,27 }}, // Hawaiian/Latin/United States
+ { 164, 7, 157,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tyap/Latin/Nigeria
+ { 165, 7, 129,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Nyanja/Latin/Malawi
+ { 166, 7, 170,{ 25976,48 },{ 26024,88 },{ 26112,38 },{ 25976,48 },{ 26024,88 },{ 25976,48 }}, // Filipino/Latin/Philippines
+ { 167, 7, 206,{ 7630,48 },{ 26150,86 },{ 134,24 },{ 7630,48 },{ 26150,86 },{ 134,24 }}, // Swiss German/Latin/Switzerland
+ { 167, 7, 74,{ 7630,48 },{ 26150,86 },{ 134,24 },{ 7630,48 },{ 26150,86 },{ 134,24 }}, // Swiss German/Latin/France
+ { 167, 7, 123,{ 7630,48 },{ 26150,86 },{ 134,24 },{ 7630,48 },{ 26150,86 },{ 134,24 }}, // Swiss German/Latin/Liechtenstein
+ { 168, 34, 44,{ 26236,38 },{ 26236,38 },{ 418,27 },{ 26236,38 },{ 26236,38 },{ 418,27 }}, // Sichuan Yi/Yi/China
+ { 169, 7, 121,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Kpelle/Latin/Liberia
+ { 170, 7, 82,{ 26274,59 },{ 26333,85 },{ 134,24 },{ 26274,59 },{ 26333,85 },{ 134,24 }}, // Low German/Latin/Germany
+ { 170, 7, 151,{ 26274,59 },{ 26333,85 },{ 134,24 },{ 26274,59 },{ 26333,85 },{ 134,24 }}, // Low German/Latin/Netherlands
+ { 171, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // South Ndebele/Latin/South Africa
+ { 172, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Northern Sotho/Latin/South Africa
+ { 173, 7, 161,{ 26418,59 },{ 26477,145 },{ 26622,24 },{ 26418,59 },{ 26477,145 },{ 26622,24 }}, // Northern Sami/Latin/Norway
+ { 173, 7, 73,{ 26646,60 },{ 26477,145 },{ 26622,24 },{ 26646,60 },{ 26477,145 },{ 26622,24 }}, // Northern Sami/Latin/Finland
+ { 173, 7, 205,{ 26418,59 },{ 26477,145 },{ 26622,24 },{ 26418,59 },{ 26477,145 },{ 26622,24 }}, // Northern Sami/Latin/Sweden
+ { 174, 7, 208,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Taroko/Latin/Taiwan
+ { 175, 7, 111,{ 26706,48 },{ 26754,88 },{ 26842,24 },{ 26706,48 },{ 26754,88 },{ 26842,24 }}, // Gusii/Latin/Kenya
+ { 176, 7, 111,{ 26866,48 },{ 26914,221 },{ 27135,24 },{ 26866,48 },{ 26914,221 },{ 27135,24 }}, // Taita/Latin/Kenya
+ { 177, 7, 187,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Senegal
+ { 177, 7, 34,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Burkina Faso
+ { 177, 7, 37,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Cameroon
+ { 177, 7, 80,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Gambia
+ { 177, 7, 83,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Ghana
+ { 177, 7, 91,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Guinea
+ { 177, 7, 92,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Guinea Bissau
+ { 177, 7, 121,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Liberia
+ { 177, 7, 136,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Mauritania
+ { 177, 7, 156,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Niger
+ { 177, 7, 157,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Nigeria
+ { 177, 7, 189,{ 27159,48 },{ 27207,77 },{ 27284,24 },{ 27159,48 },{ 27207,77 },{ 27284,24 }}, // Fulah/Latin/Sierra Leone
+ { 177, 134, 91,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Fulah/Adlam/Guinea
+ { 178, 7, 111,{ 27308,48 },{ 27356,185 },{ 27541,24 },{ 27308,48 },{ 27356,185 },{ 27541,24 }}, // Kikuyu/Latin/Kenya
+ { 179, 7, 111,{ 27565,48 },{ 27613,173 },{ 27786,24 },{ 27565,48 },{ 27613,173 },{ 27786,24 }}, // Samburu/Latin/Kenya
+ { 180, 7, 146,{ 27810,48 },{ 27858,88 },{ 134,24 },{ 27810,48 },{ 27858,88 },{ 134,24 }}, // Sena/Latin/Mozambique
+ { 181, 7, 240,{ 27946,52 },{ 27998,112 },{ 28110,24 },{ 27946,52 },{ 27998,112 },{ 28110,24 }}, // North Ndebele/Latin/Zimbabwe
+ { 182, 7, 210,{ 28134,39 },{ 28173,194 },{ 28367,24 },{ 28134,39 },{ 28173,194 },{ 28367,24 }}, // Rombo/Latin/Tanzania
+ { 183, 9, 145,{ 28391,48 },{ 28439,81 },{ 28520,24 },{ 28391,48 },{ 28439,81 },{ 28520,24 }}, // Tachelhit/Tifinagh/Morocco
+ { 183, 7, 145,{ 28544,48 },{ 28592,81 },{ 28673,24 },{ 28544,48 },{ 28592,81 },{ 28673,24 }}, // Tachelhit/Latin/Morocco
+ { 184, 7, 3,{ 28697,48 },{ 28745,82 },{ 28827,24 },{ 28851,48 },{ 28899,84 },{ 28983,24 }}, // Kabyle/Latin/Algeria
+ { 185, 7, 221,{ 29007,48 },{ 29055,152 },{ 134,24 },{ 29007,48 },{ 29055,152 },{ 134,24 }}, // Nyankole/Latin/Uganda
+ { 186, 7, 210,{ 29207,48 },{ 29255,254 },{ 29509,24 },{ 29207,48 },{ 29255,254 },{ 29509,24 }}, // Bena/Latin/Tanzania
+ { 187, 7, 210,{ 19131,48 },{ 29533,87 },{ 134,24 },{ 19131,48 },{ 29533,87 },{ 134,24 }}, // Vunjo/Latin/Tanzania
+ { 188, 7, 132,{ 29620,47 },{ 29667,92 },{ 29759,24 },{ 29620,47 },{ 29667,92 },{ 29759,24 }}, // Bambara/Latin/Mali
+ { 188, 75, 132,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Bambara/Nko/Mali
+ { 189, 7, 111,{ 29783,48 },{ 29831,207 },{ 30038,24 },{ 29783,48 },{ 29831,207 },{ 30038,24 }}, // Embu/Latin/Kenya
+ { 190, 12, 225,{ 30062,36 },{ 30098,58 },{ 30156,24 },{ 30062,36 },{ 30098,58 },{ 30156,24 }}, // Cherokee/Cherokee/United States
+ { 191, 7, 137,{ 30180,47 },{ 30227,68 },{ 30295,24 },{ 30180,47 },{ 30227,68 },{ 30295,24 }}, // Morisyen/Latin/Mauritius
+ { 192, 7, 210,{ 19131,48 },{ 30319,264 },{ 134,24 },{ 19131,48 },{ 30319,264 },{ 134,24 }}, // Makonde/Latin/Tanzania
+ { 193, 7, 210,{ 30583,83 },{ 30666,111 },{ 30777,24 },{ 30583,83 },{ 30666,111 },{ 30777,24 }}, // Langi/Latin/Tanzania
+ { 194, 7, 221,{ 30801,48 },{ 30849,97 },{ 134,24 },{ 30801,48 },{ 30849,97 },{ 134,24 }}, // Ganda/Latin/Uganda
+ { 195, 7, 239,{ 30946,48 },{ 30994,83 },{ 31077,24 },{ 30946,48 },{ 30994,83 },{ 31077,24 }}, // Bemba/Latin/Zambia
+ { 196, 7, 39,{ 31101,48 },{ 31149,85 },{ 134,24 },{ 31101,48 },{ 31149,85 },{ 134,24 }}, // Kabuverdianu/Latin/Cape Verde
+ { 197, 7, 111,{ 31234,48 },{ 31282,86 },{ 31368,24 },{ 31234,48 },{ 31282,86 },{ 31368,24 }}, // Meru/Latin/Kenya
+ { 198, 7, 111,{ 31392,49 },{ 31441,121 },{ 31562,24 },{ 31392,49 },{ 31441,121 },{ 31562,24 }}, // Kalenjin/Latin/Kenya
+ { 199, 7, 148,{ 0,48 },{ 31586,136 },{ 134,24 },{ 0,48 },{ 31586,136 },{ 134,24 }}, // Nama/Latin/Namibia
+ { 200, 7, 210,{ 19131,48 },{ 29533,87 },{ 134,24 },{ 19131,48 },{ 29533,87 },{ 134,24 }}, // Machame/Latin/Tanzania
+ { 201, 7, 82,{ 31722,59 },{ 31781,87 },{ 13021,24 },{ 31868,48 },{ 31781,87 },{ 13021,24 }}, // Colognian/Latin/Germany
+ { 202, 7, 111,{ 31916,51 },{ 31967,132 },{ 418,27 },{ 31916,51 },{ 31967,132 },{ 418,27 }}, // Masai/Latin/Kenya
+ { 202, 7, 210,{ 31916,51 },{ 31967,132 },{ 418,27 },{ 31916,51 },{ 31967,132 },{ 418,27 }}, // Masai/Latin/Tanzania
+ { 203, 7, 221,{ 30801,48 },{ 30849,97 },{ 134,24 },{ 30801,48 },{ 30849,97 },{ 134,24 }}, // Soga/Latin/Uganda
+ { 204, 7, 111,{ 32099,48 },{ 19179,84 },{ 134,24 },{ 32099,48 },{ 19179,84 },{ 134,24 }}, // Luyia/Latin/Kenya
+ { 205, 7, 210,{ 32147,48 },{ 19179,84 },{ 134,24 },{ 32147,48 },{ 19179,84 },{ 134,24 }}, // Asu/Latin/Tanzania
+ { 206, 7, 221,{ 32195,48 },{ 32243,94 },{ 32337,24 },{ 32195,48 },{ 32243,94 },{ 32337,24 }}, // Teso/Latin/Uganda
+ { 206, 7, 111,{ 32195,48 },{ 32243,94 },{ 32337,24 },{ 32195,48 },{ 32243,94 },{ 32337,24 }}, // Teso/Latin/Kenya
+ { 207, 7, 67,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Saho/Latin/Eritrea
+ { 208, 7, 132,{ 32361,46 },{ 32407,88 },{ 32495,24 },{ 32361,46 },{ 32407,88 },{ 32495,24 }}, // Koyra Chiini/Latin/Mali
+ { 209, 7, 210,{ 19131,48 },{ 29533,87 },{ 134,24 },{ 19131,48 },{ 29533,87 },{ 134,24 }}, // Rwa/Latin/Tanzania
+ { 210, 7, 111,{ 32519,48 },{ 32567,186 },{ 32753,24 },{ 32519,48 },{ 32567,186 },{ 32753,24 }}, // Luo/Latin/Kenya
+ { 211, 7, 221,{ 29007,48 },{ 29055,152 },{ 134,24 },{ 29007,48 },{ 29055,152 },{ 134,24 }}, // Chiga/Latin/Uganda
+ { 212, 7, 145,{ 32777,48 },{ 32825,86 },{ 32911,24 },{ 32777,48 },{ 32825,86 },{ 32911,24 }}, // Central Morocco Tamazight/Latin/Morocco
+ { 213, 7, 132,{ 32361,46 },{ 32407,88 },{ 32495,24 },{ 32361,46 },{ 32407,88 },{ 32495,24 }}, // Koyraboro Senni/Latin/Mali
+ { 214, 7, 210,{ 19131,48 },{ 32935,84 },{ 134,24 },{ 19131,48 },{ 32935,84 },{ 134,24 }}, // Shambala/Latin/Tanzania
+ { 215, 13, 100,{ 33019,88 },{ 33019,88 },{ 33107,31 },{ 33019,88 },{ 33019,88 },{ 33107,31 }}, // Bodo/Devanagari/India
+ { 218, 2, 178,{ 21959,48 },{ 11170,80 },{ 11087,24 },{ 21959,48 },{ 11170,80 },{ 11087,24 }}, // Chechen/Cyrillic/Russia
+ { 219, 2, 178,{ 33138,65 },{ 33203,117 },{ 33320,30 },{ 33138,65 },{ 33350,117 },{ 33320,30 }}, // Church/Cyrillic/Russia
+ { 220, 2, 178,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Chuvash/Cyrillic/Russia
+ { 230, 7, 49,{ 33467,49 },{ 33516,99 },{ 33615,24 },{ 33467,49 },{ 33516,99 },{ 33615,24 }}, // Luba Katanga/Latin/Congo Kinshasa
+ { 231, 7, 125,{ 33639,48 },{ 33687,85 },{ 134,24 },{ 33772,59 },{ 33687,85 },{ 134,24 }}, // Luxembourgish/Latin/Luxembourg
+ { 236, 7, 21,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Walloon/Latin/Belgium
+ { 237, 7, 37,{ 33831,48 },{ 33879,195 },{ 34074,24 },{ 33831,48 },{ 33879,195 },{ 34074,24 }}, // Aghem/Latin/Cameroon
+ { 238, 7, 37,{ 34098,48 },{ 34146,90 },{ 34236,24 },{ 34098,48 },{ 34146,90 },{ 34236,24 }}, // Basaa/Latin/Cameroon
+ { 239, 7, 156,{ 32361,46 },{ 32407,88 },{ 32495,24 },{ 32361,46 },{ 32407,88 },{ 32495,24 }}, // Zarma/Latin/Niger
+ { 240, 7, 37,{ 34260,49 },{ 34309,99 },{ 34408,24 },{ 34260,49 },{ 34309,99 },{ 34408,24 }}, // Duala/Latin/Cameroon
+ { 241, 7, 187,{ 34432,36 },{ 34468,82 },{ 34550,24 },{ 34432,36 },{ 34468,82 },{ 34550,24 }}, // Jola Fonyi/Latin/Senegal
+ { 242, 7, 37,{ 34574,50 },{ 34624,141 },{ 34765,24 },{ 34574,50 },{ 34624,141 },{ 34765,24 }}, // Ewondo/Latin/Cameroon
+ { 243, 7, 37,{ 34789,39 },{ 34828,191 },{ 418,27 },{ 34789,39 },{ 34828,191 },{ 418,27 }}, // Bafia/Latin/Cameroon
+ { 244, 7, 146,{ 35019,48 },{ 35067,213 },{ 35280,24 },{ 35019,48 },{ 35067,213 },{ 35280,24 }}, // Makhuwa Meetto/Latin/Mozambique
+ { 245, 7, 37,{ 35304,48 },{ 35352,139 },{ 35491,24 },{ 35304,48 },{ 35352,139 },{ 35491,24 }}, // Mundang/Latin/Cameroon
+ { 246, 7, 37,{ 35515,51 },{ 35566,143 },{ 418,27 },{ 35515,51 },{ 35566,143 },{ 418,27 }}, // Kwasio/Latin/Cameroon
+ { 247, 7, 254,{ 35709,54 },{ 35763,96 },{ 35859,24 },{ 35709,54 },{ 35763,96 },{ 35859,24 }}, // Nuer/Latin/South Sudan
+ { 248, 2, 178,{ 35883,50 },{ 35933,116 },{ 36049,24 },{ 35883,50 },{ 36073,121 },{ 36049,24 }}, // Sakha/Cyrillic/Russia
+ { 249, 7, 210,{ 36194,48 },{ 36242,117 },{ 418,27 },{ 36194,48 },{ 36242,117 },{ 418,27 }}, // Sangu/Latin/Tanzania
+ { 251, 7, 156,{ 32361,46 },{ 32407,88 },{ 32495,24 },{ 32361,46 },{ 32407,88 },{ 32495,24 }}, // Tasawaq/Latin/Niger
+ { 252, 35, 121,{ 36359,38 },{ 36397,61 },{ 418,27 },{ 36359,38 },{ 36397,61 },{ 418,27 }}, // Vai/Vai/Liberia
+ { 252, 7, 121,{ 36458,81 },{ 36458,81 },{ 418,27 },{ 36458,81 },{ 36458,81 },{ 418,27 }}, // Vai/Latin/Liberia
+ { 253, 7, 206,{ 36539,48 },{ 36587,99 },{ 36686,24 },{ 36539,48 },{ 36587,99 },{ 36686,24 }}, // Walser/Latin/Switzerland
+ { 254, 7, 37,{ 36710,51 },{ 36761,191 },{ 418,27 },{ 36710,51 },{ 36761,191 },{ 418,27 }}, // Yangben/Latin/Cameroon
+ { 256, 7, 197,{ 36952,48 },{ 37000,85 },{ 37085,24 },{ 37109,48 },{ 37157,117 },{ 37085,24 }}, // Asturian/Latin/Spain
+ { 257, 7, 37,{ 37274,174 },{ 37274,174 },{ 418,27 },{ 37274,174 },{ 37274,174 },{ 418,27 }}, // Ngomba/Latin/Cameroon
+ { 258, 7, 37,{ 37448,102 },{ 37448,102 },{ 418,27 },{ 37448,102 },{ 37448,102 },{ 418,27 }}, // Kako/Latin/Cameroon
+ { 259, 7, 37,{ 37550,137 },{ 37687,142 },{ 37829,36 },{ 37550,137 },{ 37687,142 },{ 37829,36 }}, // Meta/Latin/Cameroon
+ { 260, 7, 37,{ 37865,165 },{ 37865,165 },{ 418,27 },{ 37865,165 },{ 37865,165 },{ 418,27 }}, // Ngiemboon/Latin/Cameroon
+ { 290, 11, 100,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Manipuri/Bengali/India
+ { 309, 100, 232,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tai Dam/Tai Viet/Vietnam
+ { 312, 7, 37,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Akoose/Latin/Cameroon
+ { 313, 7, 225,{ 38030,180 },{ 38030,180 },{ 418,27 },{ 38030,180 },{ 38030,180 },{ 418,27 }}, // Lakota/Latin/United States
+ { 314, 9, 145,{ 28391,48 },{ 28439,81 },{ 28520,24 },{ 28391,48 },{ 28439,81 },{ 28520,24 }}, // Standard Moroccan Tamazight/Tifinagh/Morocco
+ { 315, 7, 43,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Mapuche/Latin/Chile
+ { 316, 1, 103,{ 38210,105 },{ 38210,105 },{ 38315,24 },{ 38210,105 },{ 38210,105 },{ 38315,24 }}, // Central Kurdish/Arabic/Iraq
+ { 316, 1, 102,{ 38210,105 },{ 38210,105 },{ 38315,24 },{ 38210,105 },{ 38210,105 },{ 38315,24 }}, // Central Kurdish/Arabic/Iran
+ { 317, 7, 82,{ 38339,48 },{ 38387,85 },{ 9771,24 },{ 38472,60 },{ 38532,93 },{ 9771,24 }}, // Lower Sorbian/Latin/Germany
+ { 318, 7, 82,{ 38625,48 },{ 38673,86 },{ 9771,24 },{ 38759,60 },{ 38819,93 },{ 9771,24 }}, // Upper Sorbian/Latin/Germany
+ { 319, 7, 37,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Kenyang/Latin/Cameroon
+ { 320, 7, 38,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Mohawk/Latin/Canada
+ { 321, 75, 91,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Nko/Nko/Guinea
+ { 322, 7, 260,{ 38912,48 },{ 38960,91 },{ 39051,24 },{ 38912,48 },{ 38960,91 },{ 39051,24 }}, // Prussian/Latin/World
+ { 323, 7, 90,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Kiche/Latin/Guatemala
+ { 324, 7, 205,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Southern Sami/Latin/Sweden
+ { 325, 7, 205,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Lule Sami/Latin/Sweden
+ { 326, 7, 73,{ 39075,77 },{ 39152,140 },{ 39292,25 },{ 39075,77 },{ 39152,140 },{ 39292,25 }}, // Inari Sami/Latin/Finland
+ { 327, 7, 73,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Skolt Sami/Latin/Finland
+ { 328, 7, 13,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Warlpiri/Latin/Australia
+ { 346, 1, 102,{ 14963,70 },{ 14963,70 },{ 418,27 },{ 14963,70 },{ 14963,70 },{ 418,27 }}, // Mazanderani/Arabic/Iran
+ { 349, 1, 102,{ 39317,77 },{ 39317,77 },{ 418,27 },{ 39317,77 },{ 39317,77 },{ 418,27 }}, // Northern Luri/Arabic/Iran
+ { 349, 1, 103,{ 39317,77 },{ 39317,77 },{ 418,27 },{ 39317,77 },{ 39317,77 },{ 418,27 }}, // Northern Luri/Arabic/Iraq
+ { 357, 6, 97,{ 4452,39 },{ 4452,39 },{ 418,27 },{ 4452,39 },{ 4452,39 },{ 418,27 }}, // Cantonese/Traditional Han/Hong Kong
+ { 357, 5, 44,{ 4452,39 },{ 4491,38 },{ 418,27 },{ 4452,39 },{ 4491,38 },{ 418,27 }}, // Cantonese/Simplified Han/China
+ { 360, 7, 260,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Ido/Latin/World
+ { 361, 7, 260,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Lojban/Latin/World
+ { 362, 7, 106,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Sicilian/Latin/Italy
+ { 363, 1, 102,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Southern Kurdish/Arabic/Iran
+ { 364, 1, 163,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Western Balochi/Arabic/Pakistan
+ { 365, 7, 170,{ 39394,46 },{ 39440,88 },{ 39528,24 },{ 39394,46 },{ 39440,88 },{ 39528,24 }}, // Cebuano/Latin/Philippines
+ { 366, 2, 178,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Erzya/Cyrillic/Russia
+ { 0, 0, 0,{ 0,0},{ 0,0},{ 0,0},{ 0,0},{ 0,0},{ 0,0}}, // trailing zeros
+};
+
+static const ushort months_data[] = {
+0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b,
+0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x63, 0x74, 0x3b,
+0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x3b, 0x46, 0x65, 0x62, 0x72,
+0x75, 0x61, 0x72, 0x79, 0x3b, 0x4d, 0x61, 0x72, 0x63, 0x68, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79,
+0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65,
+0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65,
+0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b,
+0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x31, 0x3b,
+0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31,
+0x31, 0x3b, 0x31, 0x32, 0x3b, 0x31, 0x33, 0x41, 0x6d, 0x61, 0x3b, 0x47, 0x75, 0x72, 0x3b, 0x42, 0x69, 0x74, 0x3b, 0x45,
+0x6c, 0x62, 0x3b, 0x43, 0x61, 0x6d, 0x3b, 0x57, 0x61, 0x78, 0x3b, 0x41, 0x64, 0x6f, 0x3b, 0x48, 0x61, 0x67, 0x3b, 0x46,
+0x75, 0x6c, 0x3b, 0x4f, 0x6e, 0x6b, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x4d, 0x75, 0x64, 0x3b, 0x41, 0x6d, 0x61, 0x6a, 0x6a,
+0x69, 0x69, 0x3b, 0x47, 0x75, 0x72, 0x61, 0x61, 0x6e, 0x64, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x42, 0x69, 0x74, 0x6f, 0x6f,
+0x74, 0x65, 0x65, 0x73, 0x73, 0x61, 0x3b, 0x45, 0x6c, 0x62, 0x61, 0x3b, 0x43, 0x61, 0x61, 0x6d, 0x73, 0x61, 0x3b, 0x57,
+0x61, 0x78, 0x61, 0x62, 0x61, 0x6a, 0x6a, 0x69, 0x69, 0x3b, 0x41, 0x64, 0x6f, 0x6f, 0x6c, 0x65, 0x65, 0x73, 0x73, 0x61,
+0x3b, 0x48, 0x61, 0x67, 0x61, 0x79, 0x79, 0x61, 0x3b, 0x46, 0x75, 0x75, 0x6c, 0x62, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6e,
+0x6b, 0x6f, 0x6c, 0x6f, 0x6c, 0x65, 0x65, 0x73, 0x73, 0x61, 0x3b, 0x53, 0x61, 0x64, 0x61, 0x61, 0x73, 0x61, 0x3b, 0x4d,
+0x75, 0x64, 0x64, 0x65, 0x65, 0x3b, 0x41, 0x3b, 0x47, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x43, 0x3b, 0x57, 0x3b, 0x41, 0x3b,
+0x48, 0x3b, 0x46, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x4d, 0x30, 0x31, 0x3b, 0x4d, 0x30, 0x32, 0x3b, 0x4d, 0x30,
+0x33, 0x3b, 0x4d, 0x30, 0x34, 0x3b, 0x4d, 0x30, 0x35, 0x3b, 0x4d, 0x30, 0x36, 0x3b, 0x4d, 0x30, 0x37, 0x3b, 0x4d, 0x30,
+0x38, 0x3b, 0x4d, 0x30, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x31, 0x3b,
+0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31,
+0x31, 0x3b, 0x31, 0x32, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0x72, 0x74, 0x2e, 0x3b,
+0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x41,
+0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44,
+0x65, 0x73, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72,
+0x69, 0x65, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a,
+0x75, 0x6e, 0x69, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x65, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b,
+0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f,
+0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b,
+0x73, 0x68, 0x6b, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x70, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x71, 0x65, 0x72, 0x3b,
+0x6b, 0x6f, 0x72, 0x72, 0x3b, 0x67, 0x75, 0x73, 0x68, 0x3b, 0x73, 0x68, 0x74, 0x3b, 0x74, 0x65, 0x74, 0x3b, 0x6e, 0xeb,
+0x6e, 0x3b, 0x64, 0x68, 0x6a, 0x3b, 0x6a, 0x61, 0x6e, 0x61, 0x72, 0x3b, 0x73, 0x68, 0x6b, 0x75, 0x72, 0x74, 0x3b, 0x6d,
+0x61, 0x72, 0x73, 0x3b, 0x70, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x71, 0x65, 0x72, 0x73, 0x68, 0x6f,
+0x72, 0x3b, 0x6b, 0x6f, 0x72, 0x72, 0x69, 0x6b, 0x3b, 0x67, 0x75, 0x73, 0x68, 0x74, 0x3b, 0x73, 0x68, 0x74, 0x61, 0x74,
+0x6f, 0x72, 0x3b, 0x74, 0x65, 0x74, 0x6f, 0x72, 0x3b, 0x6e, 0xeb, 0x6e, 0x74, 0x6f, 0x72, 0x3b, 0x64, 0x68, 0x6a, 0x65,
+0x74, 0x6f, 0x72, 0x3b, 0x6a, 0x3b, 0x73, 0x68, 0x3b, 0x6d, 0x3b, 0x70, 0x3b, 0x6d, 0x3b, 0x71, 0x3b, 0x6b, 0x3b, 0x67,
+0x3b, 0x73, 0x68, 0x3b, 0x74, 0x3b, 0x6e, 0x3b, 0x64, 0x68, 0x3b, 0x1303, 0x1295, 0x12e9, 0x3b, 0x134c, 0x1265, 0x1229, 0x3b, 0x121b,
+0x122d, 0x127d, 0x3b, 0x12a4, 0x1355, 0x122a, 0x3b, 0x121c, 0x12ed, 0x3b, 0x1301, 0x1295, 0x3b, 0x1301, 0x120b, 0x12ed, 0x3b, 0x12a6, 0x1308, 0x1235,
+0x3b, 0x1234, 0x1355, 0x1274, 0x3b, 0x12a6, 0x12ad, 0x1276, 0x3b, 0x1296, 0x126c, 0x121d, 0x3b, 0x12f2, 0x1234, 0x121d, 0x3b, 0x1303, 0x1295, 0x12e9,
+0x12c8, 0x122a, 0x3b, 0x134c, 0x1265, 0x1229, 0x12c8, 0x122a, 0x3b, 0x121b, 0x122d, 0x127d, 0x3b, 0x12a4, 0x1355, 0x122a, 0x120d, 0x3b, 0x121c, 0x12ed,
+0x3b, 0x1301, 0x1295, 0x3b, 0x1301, 0x120b, 0x12ed, 0x3b, 0x12a6, 0x1308, 0x1235, 0x1275, 0x3b, 0x1234, 0x1355, 0x1274, 0x121d, 0x1260, 0x122d, 0x3b,
+0x12a6, 0x12ad, 0x1276, 0x1260, 0x122d, 0x3b, 0x1296, 0x126c, 0x121d, 0x1260, 0x122d, 0x3b, 0x12f2, 0x1234, 0x121d, 0x1260, 0x122d, 0x3b, 0x1303, 0x3b,
+0x134c, 0x3b, 0x121b, 0x3b, 0x12a4, 0x3b, 0x121c, 0x3b, 0x1301, 0x3b, 0x1301, 0x3b, 0x12a6, 0x3b, 0x1234, 0x3b, 0x12a6, 0x3b, 0x1296, 0x3b,
+0x12f2, 0x3b, 0x64a, 0x646, 0x627, 0x64a, 0x631, 0x3b, 0x641, 0x628, 0x631, 0x627, 0x64a, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b,
+0x623, 0x628, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x646, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x644,
+0x64a, 0x648, 0x3b, 0x623, 0x63a, 0x633, 0x637, 0x633, 0x3b, 0x633, 0x628, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648,
+0x628, 0x631, 0x3b, 0x646, 0x648, 0x641, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x64a, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x64a, 0x3b, 0x641,
+0x3b, 0x645, 0x3b, 0x623, 0x3b, 0x648, 0x3b, 0x646, 0x3b, 0x644, 0x3b, 0x63a, 0x3b, 0x633, 0x3b, 0x643, 0x3b, 0x628, 0x3b, 0x62f,
+0x3b, 0x62c, 0x627, 0x646, 0x641, 0x64a, 0x3b, 0x641, 0x64a, 0x641, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x623, 0x641,
+0x631, 0x64a, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x3b, 0x62c, 0x648, 0x627, 0x646, 0x3b, 0x62c, 0x648, 0x64a, 0x644, 0x64a, 0x629, 0x3b,
+0x623, 0x648, 0x62a, 0x3b, 0x633, 0x628, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648,
+0x641, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x64a, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x623, 0x3b,
+0x645, 0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x623, 0x3b, 0x633, 0x3b, 0x623, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x643, 0x627, 0x646, 0x648,
+0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x634, 0x628, 0x627, 0x637, 0x3b, 0x622, 0x630, 0x627, 0x631, 0x3b, 0x646,
+0x64a, 0x633, 0x627, 0x646, 0x3b, 0x623, 0x64a, 0x627, 0x631, 0x3b, 0x62d, 0x632, 0x64a, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, 0x648,
+0x632, 0x3b, 0x622, 0x628, 0x3b, 0x623, 0x64a, 0x644, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x623,
+0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x643, 0x627, 0x646, 0x648,
+0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x643, 0x3b, 0x634, 0x3b, 0x622, 0x3b, 0x646, 0x3b, 0x623, 0x3b, 0x62d, 0x3b,
+0x62a, 0x3b, 0x622, 0x3b, 0x623, 0x3b, 0x62a, 0x3b, 0x62a, 0x3b, 0x643, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644,
+0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x634, 0x628, 0x627, 0x637, 0x3b, 0x622, 0x630, 0x627, 0x631, 0x3b, 0x646, 0x64a, 0x633, 0x627, 0x646,
+0x3b, 0x623, 0x64a, 0x627, 0x631, 0x3b, 0x62d, 0x632, 0x64a, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, 0x648, 0x632, 0x3b, 0x622, 0x628,
+0x3b, 0x623, 0x64a, 0x644, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0xa0, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x62a,
+0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644,
+0x623, 0x648, 0x644, 0x3b, 0x64a, 0x646, 0x627, 0x64a, 0x631, 0x3b, 0x641, 0x628, 0x631, 0x627, 0x64a, 0x631, 0x3b, 0x645, 0x627, 0x631,
+0x633, 0x3b, 0x625, 0x628, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x646, 0x64a, 0x648, 0x3b, 0x64a,
+0x648, 0x644, 0x64a, 0x648, 0x3b, 0x623, 0x63a, 0x634, 0x62a, 0x3b, 0x634, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648,
+0x628, 0x631, 0x3b, 0x646, 0x648, 0x641, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x62c, 0x645, 0x628, 0x631, 0x3b, 0x64a, 0x3b, 0x641, 0x3b,
+0x645, 0x3b, 0x625, 0x3b, 0x648, 0x3b, 0x646, 0x3b, 0x644, 0x3b, 0x63a, 0x3b, 0x634, 0x3b, 0x643, 0x3b, 0x628, 0x3b, 0x62f, 0x3b,
+0x64a, 0x646, 0x627, 0x64a, 0x631, 0x3b, 0x641, 0x628, 0x631, 0x627, 0x64a, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x623, 0x628,
+0x631, 0x64a, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x3b, 0x64a, 0x648, 0x646, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x644, 0x64a, 0x648, 0x632,
+0x3b, 0x63a, 0x634, 0x62a, 0x3b, 0x634, 0x62a, 0x646, 0x628, 0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648,
+0x646, 0x628, 0x631, 0x3b, 0x62f, 0x62c, 0x646, 0x628, 0x631, 0x3b, 0x64a, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x623, 0x3b, 0x645, 0x3b,
+0x646, 0x3b, 0x644, 0x3b, 0x63a, 0x3b, 0x634, 0x3b, 0x643, 0x3b, 0x628, 0x3b, 0x62f, 0x3b, 0x570, 0x576, 0x57e, 0x3b, 0x583, 0x57f,
+0x57e, 0x3b, 0x574, 0x580, 0x57f, 0x3b, 0x561, 0x57a, 0x580, 0x3b, 0x574, 0x575, 0x57d, 0x3b, 0x570, 0x576, 0x57d, 0x3b, 0x570, 0x56c,
+0x57d, 0x3b, 0x585, 0x563, 0x57d, 0x3b, 0x57d, 0x565, 0x57a, 0x3b, 0x570, 0x578, 0x56f, 0x3b, 0x576, 0x578, 0x575, 0x3b, 0x564, 0x565,
+0x56f, 0x3b, 0x570, 0x578, 0x582, 0x576, 0x57e, 0x561, 0x580, 0x3b, 0x583, 0x565, 0x57f, 0x580, 0x57e, 0x561, 0x580, 0x3b, 0x574, 0x561,
+0x580, 0x57f, 0x3b, 0x561, 0x57a, 0x580, 0x56b, 0x56c, 0x3b, 0x574, 0x561, 0x575, 0x56b, 0x57d, 0x3b, 0x570, 0x578, 0x582, 0x576, 0x56b,
+0x57d, 0x3b, 0x570, 0x578, 0x582, 0x56c, 0x56b, 0x57d, 0x3b, 0x585, 0x563, 0x578, 0x57d, 0x57f, 0x578, 0x57d, 0x3b, 0x57d, 0x565, 0x57a,
+0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x570, 0x578, 0x56f, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x576, 0x578, 0x575,
+0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x564, 0x565, 0x56f, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x540, 0x3b, 0x553, 0x3b,
+0x544, 0x3b, 0x531, 0x3b, 0x544, 0x3b, 0x540, 0x3b, 0x540, 0x3b, 0x555, 0x3b, 0x54d, 0x3b, 0x540, 0x3b, 0x546, 0x3b, 0x534, 0x3b,
+0x570, 0x578, 0x582, 0x576, 0x57e, 0x561, 0x580, 0x56b, 0x3b, 0x583, 0x565, 0x57f, 0x580, 0x57e, 0x561, 0x580, 0x56b, 0x3b, 0x574, 0x561,
+0x580, 0x57f, 0x56b, 0x3b, 0x561, 0x57a, 0x580, 0x56b, 0x56c, 0x56b, 0x3b, 0x574, 0x561, 0x575, 0x56b, 0x57d, 0x56b, 0x3b, 0x570, 0x578,
+0x582, 0x576, 0x56b, 0x57d, 0x56b, 0x3b, 0x570, 0x578, 0x582, 0x56c, 0x56b, 0x57d, 0x56b, 0x3b, 0x585, 0x563, 0x578, 0x57d, 0x57f, 0x578,
+0x57d, 0x56b, 0x3b, 0x57d, 0x565, 0x57a, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x56b, 0x3b, 0x570, 0x578, 0x56f, 0x57f, 0x565, 0x574,
+0x562, 0x565, 0x580, 0x56b, 0x3b, 0x576, 0x578, 0x575, 0x565, 0x574, 0x562, 0x565, 0x580, 0x56b, 0x3b, 0x564, 0x565, 0x56f, 0x57f, 0x565,
+0x574, 0x562, 0x565, 0x580, 0x56b, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9f0, 0x9c1, 0x3b, 0x9ae, 0x9be,
+0x9f0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9f0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x2019, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c,
+0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x3b, 0x99b, 0x9c7, 0x9aa, 0x9cd, 0x9a4, 0x9c7, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb,
+0x3b, 0x9a8, 0x9f1, 0x9c7, 0x3b, 0x9a1, 0x9bf, 0x99a, 0x9c7, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9f1, 0x9be, 0x9f0, 0x9c0, 0x3b, 0x9ab,
+0x9c7, 0x9ac, 0x9cd, 0x9f0, 0x9c1, 0x9f1, 0x9be, 0x9f0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9f0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9f0,
+0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x2019, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b7,
+0x9cd, 0x99f, 0x3b, 0x99b, 0x9c7, 0x9aa, 0x9cd, 0x9a4, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac,
+0x9f0, 0x3b, 0x9a8, 0x9f1, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x9a1, 0x9bf, 0x99a, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x99c,
+0x3b, 0x9ab, 0x3b, 0x9ae, 0x3b, 0x98f, 0x3b, 0x9ae, 0x3b, 0x99c, 0x3b, 0x99c, 0x3b, 0x986, 0x3b, 0x99b, 0x3b, 0x985, 0x3b, 0x9a8,
+0x3b, 0x9a1, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d,
+0x61, 0x79, 0x3b, 0x69, 0x79, 0x6e, 0x3b, 0x69, 0x79, 0x6c, 0x3b, 0x61, 0x76, 0x71, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f,
+0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x79, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x59, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x46, 0x65,
+0x76, 0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b,
+0x130, 0x79, 0x75, 0x6e, 0x3b, 0x130, 0x79, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x71, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e,
+0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0x79, 0x61, 0x62, 0x72,
+0x3b, 0x44, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x79, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x61,
+0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x75,
+0x6e, 0x3b, 0x69, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x71, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0x79, 0x61,
+0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x6e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65,
+0x6b, 0x61, 0x62, 0x72, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440,
+0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x458, 0x43d, 0x3b, 0x438, 0x458, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43d,
+0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x458, 0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x408, 0x430, 0x43d, 0x432, 0x430, 0x440, 0x3b,
+0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x41c, 0x430,
+0x439, 0x3b, 0x418, 0x458, 0x443, 0x43d, 0x3b, 0x418, 0x458, 0x443, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421,
+0x435, 0x43d, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x41e, 0x43a, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x41d, 0x43e, 0x458, 0x430,
+0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x458, 0x430, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432,
+0x440, 0x430, 0x43b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438,
+0x458, 0x443, 0x43d, 0x3b, 0x438, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442,
+0x458, 0x430, 0x431, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x43d, 0x43e, 0x458, 0x430, 0x431, 0x440, 0x3b,
+0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x75, 0x72, 0x74, 0x2e, 0x3b, 0x6f, 0x74, 0x73, 0x2e, 0x3b, 0x6d, 0x61, 0x72,
+0x2e, 0x3b, 0x61, 0x70, 0x69, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x2e, 0x3b, 0x65, 0x6b, 0x61, 0x2e, 0x3b, 0x75, 0x7a, 0x74,
+0x2e, 0x3b, 0x61, 0x62, 0x75, 0x2e, 0x3b, 0x69, 0x72, 0x61, 0x2e, 0x3b, 0x75, 0x72, 0x72, 0x2e, 0x3b, 0x61, 0x7a, 0x61,
+0x2e, 0x3b, 0x61, 0x62, 0x65, 0x2e, 0x3b, 0x75, 0x72, 0x74, 0x61, 0x72, 0x72, 0x69, 0x6c, 0x61, 0x3b, 0x6f, 0x74, 0x73,
+0x61, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x78, 0x6f, 0x61, 0x3b, 0x61, 0x70, 0x69, 0x72, 0x69, 0x6c, 0x61,
+0x3b, 0x6d, 0x61, 0x69, 0x61, 0x74, 0x7a, 0x61, 0x3b, 0x65, 0x6b, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x75, 0x7a, 0x74, 0x61,
+0x69, 0x6c, 0x61, 0x3b, 0x61, 0x62, 0x75, 0x7a, 0x74, 0x75, 0x61, 0x3b, 0x69, 0x72, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x75,
+0x72, 0x72, 0x69, 0x61, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6f, 0x61, 0x3b, 0x61, 0x62, 0x65, 0x6e, 0x64, 0x75, 0x61, 0x3b,
+0x55, 0x3b, 0x4f, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x55, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x55, 0x3b,
+0x41, 0x3b, 0x41, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1,
+0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae,
+0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7,
+0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7,
+0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x99c, 0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b,
+0x9ae, 0x9be, 0x3b, 0x98f, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b,
+0x985, 0x3b, 0x9a8, 0x3b, 0x9a1, 0x9bf, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd,
+0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be,
+0x987, 0x3b, 0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985,
+0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae,
+0x9cd, 0x9ac, 0x9b0, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f,
+0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f,
+0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21,
+0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf44, 0xf54, 0xf0b, 0x3b,
+0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72,
+0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b,
+0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b,
+0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b,
+0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56,
+0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b,
+0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4,
+0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4,
+0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf21, 0x3b,
+0xf22, 0x3b, 0xf23, 0x3b, 0xf24, 0x3b, 0xf25, 0x3b, 0xf26, 0x3b, 0xf27, 0x3b, 0xf28, 0x3b, 0xf29, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21,
+0xf21, 0x3b, 0xf21, 0xf22, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23, 0x3b, 0xf24, 0x3b, 0xf25, 0x3b, 0xf26, 0x3b, 0xf27, 0x3b, 0xf28,
+0x3b, 0xf29, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0x31, 0x32, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf44, 0xf54, 0xf0b, 0x3b,
+0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54,
+0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b,
+0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54,
+0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf42, 0xf74,
+0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74,
+0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66,
+0xf0b, 0xf54, 0xf0b, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23, 0x3b, 0x34, 0x3b, 0xf25, 0x3b, 0xf26, 0x3b, 0xf27, 0x3b, 0xf28, 0x3b,
+0x39, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0xf21, 0xf22, 0x3b, 0x47, 0x65, 0x6e, 0x2e, 0x3b, 0x43, 0x2bc, 0x68, 0x77,
+0x65, 0x2e, 0x3b, 0x4d, 0x65, 0x75, 0x72, 0x2e, 0x3b, 0x45, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x65, 0x3b, 0x4d, 0x65,
+0x7a, 0x68, 0x2e, 0x3b, 0x47, 0x6f, 0x75, 0x65, 0x2e, 0x3b, 0x45, 0x6f, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x65, 0x6e, 0x2e,
+0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x7a, 0x75, 0x2e, 0x3b, 0x47, 0x65, 0x6e, 0x76, 0x65, 0x72,
+0x3b, 0x43, 0x2bc, 0x68, 0x77, 0x65, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x4d, 0x65, 0x75, 0x72, 0x7a, 0x68, 0x3b, 0x45, 0x62,
+0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x65, 0x3b, 0x4d, 0x65, 0x7a, 0x68, 0x65, 0x76, 0x65, 0x6e, 0x3b, 0x47, 0x6f, 0x75,
+0x65, 0x72, 0x65, 0x3b, 0x45, 0x6f, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x65, 0x6e, 0x67, 0x6f, 0x6c, 0x6f, 0x3b, 0x48, 0x65,
+0x72, 0x65, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x72, 0x7a, 0x75, 0x3b, 0x30, 0x31, 0x3b, 0x30, 0x32, 0x3b, 0x30, 0x33,
+0x3b, 0x30, 0x34, 0x3b, 0x30, 0x35, 0x3b, 0x30, 0x36, 0x3b, 0x30, 0x37, 0x3b, 0x30, 0x38, 0x3b, 0x30, 0x39, 0x3b, 0x31,
+0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x44f, 0x43d, 0x443, 0x3b, 0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x442,
+0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, 0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433,
+0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x435, 0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x44f, 0x43d, 0x443,
+0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f,
+0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, 0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443,
+0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440,
+0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x44f,
+0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b, 0x44e, 0x3b, 0x44e, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d,
+0x3b, 0x434, 0x3b, 0x1007, 0x1014, 0x103a, 0x3b, 0x1016, 0x1031, 0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007,
+0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x3b, 0x1029, 0x3b, 0x1005, 0x1000, 0x103a, 0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x3b, 0x1014,
+0x102d, 0x102f, 0x3b, 0x1012, 0x102e, 0x3b, 0x1007, 0x1014, 0x103a, 0x1014, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1016, 0x1031, 0x1016, 0x1031, 0x102c,
+0x103a, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x1015, 0x103c, 0x102e, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d,
+0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x101c, 0x102d, 0x102f, 0x1004, 0x103a, 0x3b, 0x1029, 0x1002, 0x102f, 0x1010, 0x103a, 0x3b, 0x1005, 0x1000, 0x103a,
+0x1010, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x1010, 0x102d, 0x102f, 0x1018, 0x102c, 0x3b, 0x1014, 0x102d, 0x102f,
+0x101d, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1012, 0x102e, 0x1007, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1007, 0x3b, 0x1016, 0x3b, 0x1019, 0x3b,
+0x1027, 0x3b, 0x1019, 0x3b, 0x1007, 0x3b, 0x1007, 0x3b, 0x1029, 0x3b, 0x1005, 0x3b, 0x1021, 0x3b, 0x1014, 0x3b, 0x1012, 0x3b, 0x441, 0x442,
+0x443, 0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x441, 0x430, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d,
+0x440, 0x3b, 0x43b, 0x456, 0x43f, 0x3b, 0x436, 0x43d, 0x456, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456,
+0x441, 0x3b, 0x441, 0x43d, 0x435, 0x3b, 0x441, 0x442, 0x443, 0x434, 0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x44e, 0x442, 0x44b, 0x3b,
+0x441, 0x430, 0x43a, 0x430, 0x432, 0x456, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x441, 0x430, 0x432, 0x456, 0x43a, 0x3b, 0x43c, 0x430, 0x439,
+0x3b, 0x447, 0x44d, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x456, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x436, 0x43d, 0x456, 0x432,
+0x435, 0x43d, 0x44c, 0x3b, 0x432, 0x435, 0x440, 0x430, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x43a, 0x430, 0x441, 0x442, 0x440, 0x44b, 0x447,
+0x43d, 0x456, 0x43a, 0x3b, 0x43b, 0x456, 0x441, 0x442, 0x430, 0x43f, 0x430, 0x434, 0x3b, 0x441, 0x43d, 0x435, 0x436, 0x430, 0x43d, 0x44c,
+0x3b, 0x441, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x43a, 0x3b, 0x43c, 0x3b, 0x447, 0x3b, 0x43b, 0x3b, 0x436, 0x3b, 0x432, 0x3b, 0x43a,
+0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x441, 0x442, 0x443, 0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x441, 0x430, 0x43a, 0x3b, 0x43a, 0x440, 0x430,
+0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x447, 0x44d, 0x440, 0x3b, 0x43b, 0x456, 0x43f, 0x3b, 0x436, 0x43d, 0x456, 0x3b, 0x432, 0x435, 0x440,
+0x3b, 0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b, 0x441, 0x43d, 0x435, 0x3b, 0x441, 0x442, 0x443, 0x434, 0x437, 0x435, 0x43d,
+0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x430, 0x433, 0x430, 0x3b, 0x441, 0x430, 0x43a, 0x430, 0x432, 0x456, 0x43a, 0x430, 0x3b, 0x43a, 0x440,
+0x430, 0x441, 0x430, 0x432, 0x456, 0x43a, 0x430, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x447, 0x44d, 0x440, 0x432, 0x435, 0x43d, 0x44f, 0x3b,
+0x43b, 0x456, 0x43f, 0x435, 0x43d, 0x44f, 0x3b, 0x436, 0x43d, 0x456, 0x45e, 0x43d, 0x44f, 0x3b, 0x432, 0x435, 0x440, 0x430, 0x441, 0x43d,
+0x44f, 0x3b, 0x43a, 0x430, 0x441, 0x442, 0x440, 0x44b, 0x447, 0x43d, 0x456, 0x43a, 0x430, 0x3b, 0x43b, 0x456, 0x441, 0x442, 0x430, 0x43f,
+0x430, 0x434, 0x430, 0x3b, 0x441, 0x43d, 0x435, 0x436, 0x43d, 0x44f, 0x3b, 0x1798, 0x1780, 0x179a, 0x17b6, 0x3b, 0x1780, 0x17bb, 0x1798, 0x17d2,
+0x1797, 0x17c8, 0x3b, 0x1798, 0x17b8, 0x1793, 0x17b6, 0x3b, 0x1798, 0x17c1, 0x179f, 0x17b6, 0x3b, 0x17a7, 0x179f, 0x1797, 0x17b6, 0x3b, 0x1798, 0x17b7,
+0x1790, 0x17bb, 0x1793, 0x17b6, 0x3b, 0x1780, 0x1780, 0x17d2, 0x1780, 0x178a, 0x17b6, 0x3b, 0x179f, 0x17b8, 0x17a0, 0x17b6, 0x3b, 0x1780, 0x1789, 0x17d2,
+0x1789, 0x17b6, 0x3b, 0x178f, 0x17bb, 0x179b, 0x17b6, 0x3b, 0x179c, 0x17b7, 0x1785, 0x17d2, 0x1786, 0x17b7, 0x1780, 0x17b6, 0x3b, 0x1792, 0x17d2, 0x1793,
+0x17bc, 0x3b, 0x1798, 0x3b, 0x1780, 0x3b, 0x1798, 0x3b, 0x1798, 0x3b, 0x17a7, 0x3b, 0x1798, 0x3b, 0x1780, 0x3b, 0x179f, 0x3b, 0x1780, 0x3b,
+0x178f, 0x3b, 0x179c, 0x3b, 0x1792, 0x3b, 0x67, 0x65, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72,
+0xe7, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c,
+0x2e, 0x3b, 0x61, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e,
+0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x3b, 0x6d,
+0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, 0x79, 0x3b,
+0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72,
+0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64,
+0x65, 0x73, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47, 0x4e, 0x3b, 0x46, 0x42, 0x3b, 0x4d, 0xc7, 0x3b, 0x41, 0x42, 0x3b,
+0x4d, 0x47, 0x3b, 0x4a, 0x4e, 0x3b, 0x4a, 0x4c, 0x3b, 0x41, 0x47, 0x3b, 0x53, 0x54, 0x3b, 0x4f, 0x43, 0x3b, 0x4e, 0x56,
+0x3b, 0x44, 0x53, 0x3b, 0x64, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x2e,
+0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6d,
+0x61, 0x69, 0x67, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6c, 0x2e, 0x3b,
+0x64, 0x2019, 0x61, 0x67, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x2e,
+0x3b, 0x64, 0x65, 0x20, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x64, 0x65, 0x20,
+0x67, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x6d,
+0x61, 0x72, 0xe7, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x67, 0x3b,
+0x64, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x6c, 0x3b, 0x64, 0x2019,
+0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x64, 0x65, 0x20, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x2019,
+0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b,
+0x64, 0x65, 0x20, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x31, 0x6708, 0x3b, 0x32, 0x6708, 0x3b, 0x33, 0x6708,
+0x3b, 0x34, 0x6708, 0x3b, 0x35, 0x6708, 0x3b, 0x36, 0x6708, 0x3b, 0x37, 0x6708, 0x3b, 0x38, 0x6708, 0x3b, 0x39, 0x6708, 0x3b, 0x31,
+0x30, 0x6708, 0x3b, 0x31, 0x31, 0x6708, 0x3b, 0x31, 0x32, 0x6708, 0x3b, 0x4e00, 0x6708, 0x3b, 0x4e8c, 0x6708, 0x3b, 0x4e09, 0x6708, 0x3b,
+0x56db, 0x6708, 0x3b, 0x4e94, 0x6708, 0x3b, 0x516d, 0x6708, 0x3b, 0x4e03, 0x6708, 0x3b, 0x516b, 0x6708, 0x3b, 0x4e5d, 0x6708, 0x3b, 0x5341, 0x6708,
+0x3b, 0x5341, 0x4e00, 0x6708, 0x3b, 0x5341, 0x4e8c, 0x6708, 0x3b, 0x73, 0x69, 0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x3b, 0x6f, 0x17e,
+0x75, 0x3b, 0x74, 0x72, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x3b, 0x6c, 0x69, 0x70, 0x3b, 0x73, 0x72, 0x70, 0x3b, 0x6b, 0x6f,
+0x6c, 0x3b, 0x72, 0x75, 0x6a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x73, 0x74, 0x75, 0x3b, 0x70, 0x72, 0x6f, 0x3b, 0x73, 0x69,
+0x6a, 0x65, 0x10d, 0x61, 0x6e, 0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x61, 0x10d, 0x61, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, 0x61,
+0x6b, 0x3b, 0x74, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x6a, 0x3b, 0x73, 0x76, 0x69, 0x62, 0x61, 0x6e, 0x6a, 0x3b, 0x6c, 0x69,
+0x70, 0x61, 0x6e, 0x6a, 0x3b, 0x73, 0x72, 0x70, 0x61, 0x6e, 0x6a, 0x3b, 0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, 0x3b,
+0x72, 0x75, 0x6a, 0x61, 0x6e, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x73, 0x74, 0x75, 0x64, 0x65,
+0x6e, 0x69, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x61, 0x63, 0x3b, 0x31, 0x2e, 0x3b, 0x32, 0x2e, 0x3b, 0x33, 0x2e,
+0x3b, 0x34, 0x2e, 0x3b, 0x35, 0x2e, 0x3b, 0x36, 0x2e, 0x3b, 0x37, 0x2e, 0x3b, 0x38, 0x2e, 0x3b, 0x39, 0x2e, 0x3b, 0x31,
+0x30, 0x2e, 0x3b, 0x31, 0x31, 0x2e, 0x3b, 0x31, 0x32, 0x2e, 0x3b, 0x73, 0x69, 0x6a, 0x65, 0x10d, 0x6e, 0x6a, 0x61, 0x3b,
+0x76, 0x65, 0x6c, 0x6a, 0x61, 0x10d, 0x65, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, 0x6b, 0x61, 0x3b, 0x74, 0x72, 0x61, 0x76, 0x6e,
+0x6a, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x62, 0x6e, 0x6a, 0x61, 0x3b, 0x6c, 0x69, 0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x73, 0x72,
+0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, 0x61, 0x3b, 0x72, 0x75, 0x6a, 0x6e, 0x61, 0x3b,
+0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x61, 0x3b, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x6f, 0x67, 0x61, 0x3b,
+0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x61, 0x3b, 0x6c, 0x65, 0x64, 0x3b, 0xfa, 0x6e, 0x6f, 0x3b, 0x62, 0x159, 0x65,
+0x3b, 0x64, 0x75, 0x62, 0x3b, 0x6b, 0x76, 0x11b, 0x3b, 0x10d, 0x76, 0x6e, 0x3b, 0x10d, 0x76, 0x63, 0x3b, 0x73, 0x72, 0x70,
+0x3b, 0x7a, 0xe1, 0x159, 0x3b, 0x159, 0xed, 0x6a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x70, 0x72, 0x6f, 0x3b, 0x6c, 0x65, 0x64,
+0x65, 0x6e, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x3b, 0x62, 0x159, 0x65, 0x7a, 0x65, 0x6e, 0x3b, 0x64, 0x75, 0x62, 0x65, 0x6e,
+0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x65, 0x6e, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65,
+0x6e, 0x65, 0x63, 0x3b, 0x73, 0x72, 0x70, 0x65, 0x6e, 0x3b, 0x7a, 0xe1, 0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x65, 0x6e,
+0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x65, 0x63, 0x3b, 0x6c,
+0x65, 0x64, 0x6e, 0x61, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x61, 0x3b, 0x62, 0x159, 0x65, 0x7a, 0x6e, 0x61, 0x3b, 0x64, 0x75,
+0x62, 0x6e, 0x61, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x6e, 0x61, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x6e, 0x61, 0x3b, 0x10d, 0x65,
+0x72, 0x76, 0x65, 0x6e, 0x63, 0x65, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x61, 0x3b, 0x7a, 0xe1, 0x159, 0xed, 0x3b, 0x159, 0xed,
+0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x75, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e,
+0x63, 0x65, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70,
+0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67,
+0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63,
+0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72,
+0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75,
+0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b,
+0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63,
+0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x72, 0x74, 0x2e,
+0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b,
+0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b,
+0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72,
+0x69, 0x3b, 0x6d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75,
+0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x65, 0x70,
+0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d,
+0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65,
+0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6e,
+0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x63, 0x74,
+0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b,
+0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b,
+0x61, 0x16d, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b,
+0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72,
+0x74, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x6f, 0x3b, 0x6d, 0x61, 0x6a, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f,
+0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x16d, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65,
+0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72,
+0x6f, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6a, 0x61, 0x61, 0x6e, 0x3b, 0x76, 0x65, 0x65, 0x62,
+0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e,
+0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, 0x6b, 0x74,
+0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x74, 0x73, 0x3b, 0x6a, 0x61, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x76, 0x65,
+0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x6c, 0x3b,
+0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75,
+0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65,
+0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x74, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72,
+0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f,
+0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72,
+0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70,
+0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b,
+0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d,
+0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b,
+0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f,
+0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e,
+0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b,
+0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b,
+0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69,
+0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x3b,
+0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x3b, 0x65, 0x6c, 0x6f,
+0x3b, 0x73, 0x79, 0x79, 0x73, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x3b, 0x6a, 0x6f,
+0x75, 0x6c, 0x75, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x75,
+0x75, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, 0x75, 0x75, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75,
+0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x75, 0x75, 0x3b, 0x68, 0x65,
+0x69, 0x6e, 0xe4, 0x6b, 0x75, 0x75, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x75, 0x75, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x75,
+0x75, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, 0x75, 0x75, 0x3b,
+0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x75, 0x75, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x4b,
+0x3b, 0x48, 0x3b, 0x45, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, 0x2e,
+0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x2e, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, 0x2e, 0x3b, 0x68, 0x75,
+0x68, 0x74, 0x69, 0x6b, 0x2e, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x2e, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x2e,
+0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x2e, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x2e, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b,
+0x2e, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, 0x2e, 0x3b, 0x6a, 0x6f,
+0x75, 0x6c, 0x75, 0x6b, 0x2e, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x65, 0x6c,
+0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b,
+0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75, 0x74,
+0x61, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x75, 0x75,
+0x74, 0x61, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x75, 0x75, 0x74,
+0x61, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, 0x75,
+0x75, 0x74, 0x61, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e,
+0x3b, 0x66, 0xe9, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69,
+0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70,
+0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, 0x61,
+0x6e, 0x76, 0x69, 0x65, 0x72, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x69, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61,
+0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x6c, 0x65,
+0x74, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74,
+0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0xe9, 0x63, 0x65, 0x6d, 0x62,
+0x72, 0x65, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b,
+0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x6c, 0x2e,
+0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76,
+0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0xe9, 0x76, 0x2e, 0x3b, 0x6d, 0x61, 0x72,
+0x2e, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x2e, 0x3b, 0x6a, 0x75, 0x69, 0x6c,
+0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f,
+0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x72, 0x74, 0x3b,
+0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b,
+0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6e,
+0x65, 0x77, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x77, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x4d, 0x61,
+0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x61, 0x69, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x79,
+0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x69,
+0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x69, 0x6d, 0x62, 0x65,
+0x72, 0x3b, 0x44, 0x65, 0x73, 0x69, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x46, 0x61, 0x6f, 0x69, 0x3b, 0x47, 0x65, 0x61, 0x72,
+0x72, 0x3b, 0x4d, 0xe0, 0x72, 0x74, 0x3b, 0x47, 0x69, 0x62, 0x6c, 0x3b, 0x43, 0xe8, 0x69, 0x74, 0x3b, 0xd2, 0x67, 0x6d,
+0x68, 0x3b, 0x49, 0x75, 0x63, 0x68, 0x3b, 0x4c, 0xf9, 0x6e, 0x61, 0x3b, 0x53, 0x75, 0x6c, 0x74, 0x3b, 0x44, 0xe0, 0x6d,
+0x68, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x3b, 0x44, 0xf9, 0x62, 0x68, 0x3b, 0x41, 0x6d, 0x20, 0x46, 0x61, 0x6f, 0x69, 0x6c,
+0x6c, 0x65, 0x61, 0x63, 0x68, 0x3b, 0x41, 0x6e, 0x20, 0x47, 0x65, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x3b, 0x41, 0x6d, 0x20,
+0x4d, 0xe0, 0x72, 0x74, 0x3b, 0x41, 0x6e, 0x20, 0x47, 0x69, 0x62, 0x6c, 0x65, 0x61, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x43,
+0xe8, 0x69, 0x74, 0x65, 0x61, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0xd2, 0x67, 0x6d, 0x68, 0x69, 0x6f, 0x73, 0x3b,
+0x41, 0x6e, 0x20, 0x74, 0x2d, 0x49, 0x75, 0x63, 0x68, 0x61, 0x72, 0x3b, 0x41, 0x6e, 0x20, 0x4c, 0xf9, 0x6e, 0x61, 0x73,
+0x74, 0x61, 0x6c, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x75, 0x6c, 0x74, 0x61, 0x69, 0x6e, 0x3b, 0x41, 0x6e, 0x20,
+0x44, 0xe0, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e,
+0x3b, 0x41, 0x6e, 0x20, 0x44, 0xf9, 0x62, 0x68, 0x6c, 0x61, 0x63, 0x68, 0x64, 0x3b, 0x46, 0x3b, 0x47, 0x3b, 0x4d, 0x3b,
+0x47, 0x3b, 0x43, 0x3b, 0xd2, 0x3b, 0x49, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x64, 0x68,
+0x65, 0x6e, 0x20, 0x46, 0x68, 0x61, 0x6f, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x63, 0x68, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20,
+0x47, 0x68, 0x65, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x4d, 0x68, 0xe0, 0x72, 0x74, 0x3b,
+0x64, 0x68, 0x65, 0x6e, 0x20, 0x47, 0x68, 0x69, 0x62, 0x6c, 0x65, 0x61, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x43,
+0x68, 0xe8, 0x69, 0x74, 0x65, 0x61, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0xd2, 0x67, 0x6d, 0x68, 0x69, 0x6f, 0x73,
+0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x49, 0x75, 0x63, 0x68, 0x61, 0x72, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x4c, 0xf9,
+0x6e, 0x61, 0x73, 0x74, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x75, 0x6c, 0x74, 0x61, 0x69,
+0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x44, 0xe0, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20,
+0x74, 0x2d, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x44, 0xf9, 0x62, 0x68, 0x6c,
+0x61, 0x63, 0x68, 0x64, 0x3b, 0x58, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b,
+0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x58, 0x75, 0xf1, 0x6f, 0x3b, 0x58, 0x75, 0x6c, 0x2e, 0x3b,
+0x41, 0x67, 0x6f, 0x2e, 0x3b, 0x53, 0x65, 0x74, 0x2e, 0x3b, 0x4f, 0x75, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b,
+0x44, 0x65, 0x63, 0x2e, 0x3b, 0x58, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x69, 0x72,
+0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x58,
+0x75, 0xf1, 0x6f, 0x3b, 0x58, 0x75, 0x6c, 0x6c, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74,
+0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
+0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x58, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b,
+0x4d, 0x3b, 0x58, 0x3b, 0x58, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x78, 0x61, 0x6e, 0x2e,
+0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x6f,
+0x3b, 0x78, 0x75, 0xf1, 0x6f, 0x3b, 0x78, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e,
+0x3b, 0x6f, 0x75, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x78, 0x61, 0x6e, 0x65,
+0x69, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61,
+0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x78, 0x75, 0xf1, 0x6f, 0x3b, 0x78, 0x75, 0x6c, 0x6c, 0x6f,
+0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x75, 0x74,
+0x75, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62,
+0x72, 0x6f, 0x3b, 0x78, 0x2e, 0x3b, 0x66, 0x2e, 0x3b, 0x6d, 0x2e, 0x3b, 0x61, 0x2e, 0x3b, 0x6d, 0x2e, 0x3b, 0x78, 0x2e,
+0x3b, 0x78, 0x2e, 0x3b, 0x61, 0x2e, 0x3b, 0x73, 0x2e, 0x3b, 0x6f, 0x2e, 0x3b, 0x6e, 0x2e, 0x3b, 0x64, 0x2e, 0x3b, 0x10d8,
+0x10d0, 0x10dc, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x3b, 0x10d8,
+0x10d5, 0x10dc, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x3b, 0x10d0, 0x10d2, 0x10d5, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x3b, 0x10dc,
+0x10dd, 0x10d4, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x3b, 0x10d8, 0x10d0, 0x10dc, 0x10d5, 0x10d0, 0x10e0, 0x10d8, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x10d4, 0x10e0,
+0x10d5, 0x10d0, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x10e2, 0x10d8, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x10d8, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0,
+0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d0, 0x10d2,
+0x10d5, 0x10d8, 0x10e1, 0x10e2, 0x10dd, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x10e2, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dd, 0x10e5, 0x10e2,
+0x10dd, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dc, 0x10dd, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x10d4,
+0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d7, 0x3b, 0x10db, 0x3b, 0x10d0, 0x3b, 0x10db, 0x3b, 0x10d8, 0x3b, 0x10d8, 0x3b,
+0x10d0, 0x3b, 0x10e1, 0x3b, 0x10dd, 0x3b, 0x10dc, 0x3b, 0x10d3, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4,
+0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75,
+0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61,
+0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70,
+0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75,
+0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62,
+0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72,
+0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x2e,
+0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b,
+0x53, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e,
+0x3b, 0x4a, 0xe4, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69,
+0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74,
+0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0xe4, 0x6e, 0x6e, 0x65, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72,
+0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a,
+0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74,
+0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
+0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0xe4, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62,
+0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69,
+0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e,
+0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c,
+0x3ac, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3ac, 0x3b9, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bd, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bb,
+0x3b, 0x391, 0x3cd, 0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3b, 0x39d, 0x3bf, 0x3ad, 0x3b, 0x394, 0x3b5, 0x3ba,
+0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3ac, 0x3c1,
+0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3c1, 0x3c4, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3af, 0x3bb, 0x3b9, 0x3bf, 0x3c2,
+0x3b, 0x39c, 0x3ac, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bd, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bb, 0x3b9,
+0x3bf, 0x3c2, 0x3b, 0x391, 0x3cd, 0x3b3, 0x3bf, 0x3c5, 0x3c3, 0x3c4, 0x3bf, 0x3c2, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3ad, 0x3bc, 0x3b2,
+0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3ce, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39d, 0x3bf, 0x3ad, 0x3bc, 0x3b2,
+0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3b, 0x3a6, 0x3b,
+0x39c, 0x3b, 0x391, 0x3b, 0x39c, 0x3b, 0x399, 0x3b, 0x399, 0x3b, 0x391, 0x3b, 0x3a3, 0x3b, 0x39f, 0x3b, 0x39d, 0x3b, 0x394, 0x3b,
+0x399, 0x3b1, 0x3bd, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c, 0x3b1, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3b1, 0x390, 0x3b,
+0x399, 0x3bf, 0x3c5, 0x3bd, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3b, 0x391, 0x3c5, 0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba,
+0x3c4, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5,
+0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39c, 0x3b1, 0x3c1, 0x3c4, 0x3af, 0x3bf, 0x3c5,
+0x3b, 0x391, 0x3c0, 0x3c1, 0x3b9, 0x3bb, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39c, 0x3b1, 0x390, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd,
+0x3af, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x391, 0x3c5, 0x3b3, 0x3bf, 0x3cd, 0x3c3, 0x3c4, 0x3bf,
+0x3c5, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3c9, 0x3b2, 0x3c1,
+0x3af, 0x3bf, 0x3c5, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b5, 0x3bc, 0x3b2,
+0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72,
+0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70,
+0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69,
+0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x72,
+0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x61, 0x6a, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61,
+0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x69, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b,
+0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x64,
+0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd,
+0xab0, 0xac1, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c,
+0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7,
+0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacb, 0x3b, 0xaa8, 0xab5, 0xac7, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd,
+0xaaf, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd,
+0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, 0xabe,
+0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa91, 0xa95,
+0xacd, 0xa9f, 0xacb, 0xaac, 0xab0, 0x3b, 0xaa8, 0xab5, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0xaae, 0xacd,
+0xaac, 0xab0, 0x3b, 0xa9c, 0xabe, 0x3b, 0xaab, 0xac7, 0x3b, 0xaae, 0xabe, 0x3b, 0xa8f, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0x3b,
+0xa9c, 0xac1, 0x3b, 0xa91, 0x3b, 0xab8, 0x3b, 0xa91, 0x3b, 0xaa8, 0x3b, 0xaa1, 0xabf, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x61,
+0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x66, 0x69, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75,
+0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x75, 0x77, 0x3b, 0x44, 0x69,
+0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x69, 0x72, 0x75, 0x3b, 0x46, 0x61, 0x62, 0x75, 0x72, 0x61, 0x69, 0x72, 0x75, 0x3b,
+0x4d, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x41, 0x66, 0x69, 0x72, 0x69, 0x6c, 0x75, 0x3b, 0x4d, 0x61, 0x79, 0x75, 0x3b, 0x59,
+0x75, 0x6e, 0x69, 0x3b, 0x59, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x74, 0x75,
+0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x75, 0x77, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x44,
+0x69, 0x73, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59,
+0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5f3, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x5f3,
+0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5f3, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9,
+0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5f3, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x5f3, 0x3b, 0x5d0, 0x5d5, 0x5e7, 0x5f3, 0x3b, 0x5e0,
+0x5d5, 0x5d1, 0x5f3, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5f3, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x5d5, 0x5d0,
+0x5e8, 0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9,
+0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x5de, 0x5d1, 0x5e8, 0x3b,
+0x5d0, 0x5d5, 0x5e7, 0x5d8, 0x5d5, 0x5d1, 0x5e8, 0x3b, 0x5e0, 0x5d5, 0x5d1, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5d1, 0x5e8,
+0x3b, 0x91c, 0x928, 0x970, 0x3b, 0x92b, 0x93c, 0x930, 0x970, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930,
+0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x970, 0x3b, 0x905, 0x917, 0x970, 0x3b, 0x938,
+0x93f, 0x924, 0x970, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x970, 0x3b, 0x928, 0x935, 0x970, 0x3b, 0x926, 0x93f, 0x938, 0x970, 0x3b,
+0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x93c, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905,
+0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905,
+0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x92c, 0x930, 0x3b,
+0x928, 0x935, 0x902, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x93c, 0x3b, 0x92e, 0x93e,
+0x3b, 0x905, 0x3b, 0x92e, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, 0x905, 0x3b, 0x928, 0x3b,
+0x926, 0x93f, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x2e, 0x3b,
+0xe1, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x6a, 0x2e, 0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, 0x6a, 0xfa, 0x6c, 0x2e, 0x3b,
+0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76,
+0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1,
+0x72, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x69, 0x75, 0x73, 0x3b, 0xe1, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0xe1,
+0x6a, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6e, 0x69, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6c, 0x69, 0x75, 0x73, 0x3b, 0x61, 0x75,
+0x67, 0x75, 0x73, 0x7a, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f,
+0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65,
+0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0xc1, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41,
+0x3b, 0x53, 0x7a, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b,
+0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0xed, 0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, 0x6a,
+0xfa, 0x6c, 0x2e, 0x3b, 0xe1, 0x67, 0xfa, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e,
+0xf3, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0xfa, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72,
+0xfa, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0xed, 0x3b, 0x6a,
+0xfa, 0x6e, 0xed, 0x3b, 0x6a, 0xfa, 0x6c, 0xed, 0x3b, 0xe1, 0x67, 0xfa, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65,
+0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0xf3, 0x76, 0x65, 0x6d, 0x62, 0x65,
+0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d,
+0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0xc1, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46,
+0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a,
+0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44,
+0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b,
+0x4d, 0x61, 0x72, 0x65, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69,
+0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d,
+0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72,
+0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61,
+0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75,
+0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x63, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61,
+0x6e, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x72,
+0x74, 0x69, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f,
+0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65,
+0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72,
+0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d,
+0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x45, 0x61, 0x6e, 0x3b, 0x46,
+0x65, 0x61, 0x62, 0x68, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, 0x69, 0x62, 0x3b, 0x42, 0x65, 0x61, 0x6c, 0x3b,
+0x4d, 0x65, 0x69, 0x74, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x3b, 0x4d, 0x46, 0xf3, 0x6d, 0x68,
+0x3b, 0x44, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, 0x3b, 0x45, 0x61, 0x6e,
+0xe1, 0x69, 0x72, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x72, 0x61, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, 0x69,
+0x62, 0x72, 0x65, 0xe1, 0x6e, 0x3b, 0x42, 0x65, 0x61, 0x6c, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x74,
+0x68, 0x65, 0x61, 0x6d, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x61, 0x73, 0x61, 0x3b, 0x4d, 0x65,
+0xe1, 0x6e, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x44, 0x65, 0x69, 0x72, 0x65, 0x61, 0x64, 0x68, 0x20,
+0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c,
+0x61, 0x69, 0x67, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x42, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4c, 0x3b,
+0x4d, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x67, 0x65, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b,
+0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x67, 0x3b, 0x67, 0x69, 0x75, 0x3b, 0x6c, 0x75, 0x67, 0x3b, 0x61, 0x67, 0x6f, 0x3b,
+0x73, 0x65, 0x74, 0x3b, 0x6f, 0x74, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x69, 0x63, 0x3b, 0x67, 0x65, 0x6e, 0x6e,
+0x61, 0x69, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x62, 0x72, 0x61, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61,
+0x70, 0x72, 0x69, 0x6c, 0x65, 0x3b, 0x6d, 0x61, 0x67, 0x67, 0x69, 0x6f, 0x3b, 0x67, 0x69, 0x75, 0x67, 0x6e, 0x6f, 0x3b,
+0x6c, 0x75, 0x67, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x65, 0x6d,
+0x62, 0x72, 0x65, 0x3b, 0x6f, 0x74, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65,
+0x3b, 0x64, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b,
+0x47, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65,
+0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75,
+0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65,
+0x73, 0x3b, 0xc9c, 0xca8, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa,
+0xccd, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0x3b,
+0xcb8, 0xcc6, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, 0xccb, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0x3b, 0xca1,
+0xcbf, 0xcb8, 0xcc6, 0xc82, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0xcb5, 0xcb0, 0xcbf, 0x3b,
+0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0xcb2, 0xccd, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2,
+0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0xcb8, 0xccd, 0xc9f, 0xccd, 0x3b, 0xcb8, 0xcc6, 0xcaa, 0xccd, 0xc9f,
+0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, 0xccb, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0xcac,
+0xcb0, 0xccd, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc9c, 0x3b, 0xcab, 0xcc6, 0x3b, 0xcae, 0xcbe, 0x3b,
+0xc8f, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0x3b, 0xc9c, 0xcc1, 0x3b, 0xc86, 0x3b, 0xcb8, 0xcc6, 0x3b, 0xc85, 0x3b, 0xca8, 0x3b,
+0xca1, 0xcbf, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcbe,
+0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c,
+0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0x3b, 0xcb8, 0xcc6, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, 0xccb,
+0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0x3b, 0x62c, 0x646, 0x624, 0x631, 0x6cc, 0x3b, 0x641, 0x631,
+0x624, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x655, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x654, 0x3b,
+0x62c, 0x648, 0x657, 0x646, 0x3b, 0x62c, 0x648, 0x657, 0x644, 0x627, 0x6cc, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a,
+0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x657, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633,
+0x645, 0x628, 0x631, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, 0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x627, 0x3b,
+0x633, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x49b, 0x430, 0x4a3, 0x2e, 0x3b, 0x430, 0x49b, 0x43f, 0x2e, 0x3b, 0x43d, 0x430,
+0x443, 0x2e, 0x3b, 0x441, 0x4d9, 0x443, 0x2e, 0x3b, 0x43c, 0x430, 0x43c, 0x2e, 0x3b, 0x43c, 0x430, 0x443, 0x2e, 0x3b, 0x448, 0x456,
+0x43b, 0x2e, 0x3b, 0x442, 0x430, 0x43c, 0x2e, 0x3b, 0x49b, 0x44b, 0x440, 0x2e, 0x3b, 0x49b, 0x430, 0x437, 0x2e, 0x3b, 0x49b, 0x430,
+0x440, 0x2e, 0x3b, 0x436, 0x435, 0x43b, 0x2e, 0x3b, 0x49a, 0x430, 0x4a3, 0x442, 0x430, 0x440, 0x3b, 0x410, 0x49b, 0x43f, 0x430, 0x43d,
+0x3b, 0x41d, 0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x421, 0x4d9, 0x443, 0x456, 0x440, 0x3b, 0x41c, 0x430, 0x43c, 0x44b, 0x440, 0x3b,
+0x41c, 0x430, 0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x428, 0x456, 0x43b, 0x434, 0x435, 0x3b, 0x422, 0x430, 0x43c, 0x44b, 0x437, 0x3b, 0x49a,
+0x44b, 0x440, 0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49a, 0x430, 0x437, 0x430, 0x43d, 0x3b, 0x49a, 0x430, 0x440, 0x430, 0x448, 0x430,
+0x3b, 0x416, 0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430, 0x43d, 0x3b, 0x49a, 0x3b, 0x410, 0x3b, 0x41d, 0x3b, 0x421, 0x3b, 0x41c,
+0x3b, 0x41c, 0x3b, 0x428, 0x3b, 0x422, 0x3b, 0x49a, 0x3b, 0x49a, 0x3b, 0x49a, 0x3b, 0x416, 0x3b, 0x49b, 0x430, 0x4a3, 0x442, 0x430,
+0x440, 0x3b, 0x430, 0x49b, 0x43f, 0x430, 0x43d, 0x3b, 0x43d, 0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x441, 0x4d9, 0x443, 0x456, 0x440,
+0x3b, 0x43c, 0x430, 0x43c, 0x44b, 0x440, 0x3b, 0x43c, 0x430, 0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x448, 0x456, 0x43b, 0x434, 0x435, 0x3b,
+0x442, 0x430, 0x43c, 0x44b, 0x437, 0x3b, 0x49b, 0x44b, 0x440, 0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49b, 0x430, 0x437, 0x430, 0x43d,
+0x3b, 0x49b, 0x430, 0x440, 0x430, 0x448, 0x430, 0x3b, 0x436, 0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430, 0x43d, 0x3b, 0x6d, 0x75,
+0x74, 0x2e, 0x3b, 0x67, 0x61, 0x73, 0x2e, 0x3b, 0x77, 0x65, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x2e, 0x3b, 0x67, 0x69,
+0x63, 0x2e, 0x3b, 0x6b, 0x61, 0x6d, 0x2e, 0x3b, 0x6e, 0x79, 0x61, 0x2e, 0x3b, 0x6b, 0x61, 0x6e, 0x2e, 0x3b, 0x6e, 0x7a,
+0x65, 0x2e, 0x3b, 0x75, 0x6b, 0x77, 0x2e, 0x3b, 0x75, 0x67, 0x75, 0x2e, 0x3b, 0x75, 0x6b, 0x75, 0x2e, 0x3b, 0x4d, 0x75,
+0x74, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, 0x47, 0x61, 0x73, 0x68, 0x79, 0x61, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x3b, 0x57,
+0x65, 0x72, 0x75, 0x72, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x61, 0x3b, 0x47, 0x69, 0x63, 0x75, 0x72, 0x61, 0x6e, 0x73,
+0x69, 0x3b, 0x4b, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x4b, 0x61,
+0x6e, 0x61, 0x6d, 0x61, 0x3b, 0x4e, 0x7a, 0x65, 0x6c, 0x69, 0x3b, 0x55, 0x6b, 0x77, 0x61, 0x6b, 0x69, 0x72, 0x61, 0x3b,
+0x55, 0x67, 0x75, 0x73, 0x68, 0x79, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x55, 0x6b, 0x75, 0x62, 0x6f, 0x7a, 0x61, 0x3b, 0x42f,
+0x43d, 0x432, 0x3b, 0x424, 0x435, 0x432, 0x3b, 0x41c, 0x430, 0x440, 0x3b, 0x410, 0x43f, 0x440, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418,
+0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x3b, 0x421, 0x435, 0x43d, 0x3b, 0x41e, 0x43a, 0x442, 0x3b, 0x41d,
+0x43e, 0x44f, 0x3b, 0x414, 0x435, 0x43a, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b,
+0x44c, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e,
+0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f,
+0x431, 0x440, 0x44c, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x414,
+0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x42f, 0x3b, 0x424, 0x3b, 0x41c, 0x3b, 0x410, 0x3b, 0x41c, 0x3b, 0x418, 0x3b, 0x418,
+0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x41e, 0x3b, 0x41d, 0x3b, 0x414, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e,
+0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x2e, 0x3b,
+0x438, 0x44e, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b,
+0x43d, 0x43e, 0x44f, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x444, 0x435, 0x432,
+0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x439,
+0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435,
+0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440,
+0x44c, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x31, 0xc6d4, 0x3b, 0x32, 0xc6d4, 0x3b, 0x33, 0xc6d4, 0x3b, 0x34,
+0xc6d4, 0x3b, 0x35, 0xc6d4, 0x3b, 0x36, 0xc6d4, 0x3b, 0x37, 0xc6d4, 0x3b, 0x38, 0xc6d4, 0x3b, 0x39, 0xc6d4, 0x3b, 0x31, 0x30, 0xc6d4,
+0x3b, 0x31, 0x31, 0xc6d4, 0x3b, 0x31, 0x32, 0xc6d4, 0x3b, 0x72, 0xea, 0x62, 0x3b, 0x72, 0x65, 0x15f, 0x3b, 0x61, 0x64, 0x61,
+0x3b, 0x61, 0x76, 0x72, 0x3b, 0x67, 0x75, 0x6c, 0x3b, 0x70, 0xfb, 0x15f, 0x3b, 0x74, 0xee, 0x72, 0x3b, 0x67, 0x65, 0x6c,
+0x3b, 0x72, 0x65, 0x7a, 0x3b, 0x6b, 0x65, 0x77, 0x3b, 0x73, 0x65, 0x72, 0x3b, 0x62, 0x65, 0x72, 0x3b, 0x72, 0xea, 0x62,
+0x65, 0x6e, 0x64, 0x61, 0x6e, 0x3b, 0x72, 0x65, 0x15f, 0x65, 0x6d, 0xee, 0x3b, 0x61, 0x64, 0x61, 0x72, 0x3b, 0x61, 0x76,
+0x72, 0xea, 0x6c, 0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e, 0x3b, 0x70, 0xfb, 0x15f, 0x70, 0x65, 0x72, 0x3b, 0x74, 0xee, 0x72,
+0x6d, 0x65, 0x68, 0x3b, 0x67, 0x65, 0x6c, 0x61, 0x77, 0xea, 0x6a, 0x3b, 0x72, 0x65, 0x7a, 0x62, 0x65, 0x72, 0x3b, 0x6b,
+0x65, 0x77, 0xe7, 0xea, 0x72, 0x3b, 0x73, 0x65, 0x72, 0x6d, 0x61, 0x77, 0x65, 0x7a, 0x3b, 0x62, 0x65, 0x72, 0x66, 0x61,
+0x6e, 0x62, 0x61, 0x72, 0x3b, 0x52, 0x3b, 0x52, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x47, 0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x47,
+0x3b, 0x52, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x72, 0xea, 0x62, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0xea, 0x3b, 0x72,
+0x65, 0x15f, 0x65, 0x6d, 0x69, 0x79, 0xea, 0x3b, 0x61, 0x64, 0x61, 0x72, 0xea, 0x3b, 0x61, 0x76, 0x72, 0xea, 0x6c, 0xea,
+0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e, 0xea, 0x3b, 0x70, 0xfb, 0x15f, 0x70, 0x65, 0x72, 0xea, 0x3b, 0x74, 0xee, 0x72, 0x6d,
+0x65, 0x68, 0xea, 0x3b, 0x67, 0x65, 0x6c, 0x61, 0x77, 0xea, 0x6a, 0xea, 0x3b, 0x72, 0x65, 0x7a, 0x62, 0x65, 0x72, 0xea,
+0x3b, 0x6b, 0x65, 0x77, 0xe7, 0xea, 0x72, 0xea, 0x3b, 0x73, 0x65, 0x72, 0x6d, 0x61, 0x77, 0x65, 0x7a, 0xea, 0x3b, 0x62,
+0x65, 0x72, 0x66, 0x61, 0x6e, 0x62, 0x61, 0x72, 0xea, 0x3b, 0x4d, 0x75, 0x74, 0x2e, 0x3b, 0x47, 0x61, 0x73, 0x2e, 0x3b,
+0x57, 0x65, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x74, 0x2e, 0x3b, 0x47, 0x69, 0x63, 0x2e, 0x3b, 0x4b, 0x61, 0x6d, 0x2e, 0x3b,
+0x4e, 0x79, 0x61, 0x2e, 0x3b, 0x4b, 0x61, 0x6e, 0x2e, 0x3b, 0x4e, 0x7a, 0x65, 0x2e, 0x3b, 0x55, 0x6b, 0x77, 0x2e, 0x3b,
+0x55, 0x67, 0x75, 0x2e, 0x3b, 0x55, 0x6b, 0x75, 0x2e, 0x3b, 0x4e, 0x7a, 0x65, 0x72, 0x6f, 0x3b, 0x52, 0x75, 0x68, 0x75,
+0x68, 0x75, 0x6d, 0x61, 0x3b, 0x4e, 0x74, 0x77, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x3b, 0x4e, 0x64, 0x61, 0x6d, 0x75,
+0x6b, 0x69, 0x7a, 0x61, 0x3b, 0x52, 0x75, 0x73, 0x61, 0x6d, 0x61, 0x3b, 0x52, 0x75, 0x68, 0x65, 0x73, 0x68, 0x69, 0x3b,
+0x4d, 0x75, 0x6b, 0x61, 0x6b, 0x61, 0x72, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x61, 0x72, 0x6f, 0x3b,
+0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x47, 0x69, 0x74, 0x75, 0x67, 0x75, 0x74, 0x75, 0x3b, 0x4d, 0x75,
+0x6e, 0x79, 0x6f, 0x6e, 0x79, 0x6f, 0x3b, 0x4b, 0x69, 0x67, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, 0xea1, 0x2e, 0xe81, 0x2e,
+0x3b, 0xe81, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0x2e, 0xe99, 0x2e, 0x3b, 0xea1, 0x2e, 0xeaa, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe9e, 0x2e,
+0x3b, 0xea1, 0xeb4, 0x2e, 0xe96, 0x2e, 0x3b, 0xe81, 0x2e, 0xea5, 0x2e, 0x3b, 0xeaa, 0x2e, 0xeab, 0x2e, 0x3b, 0xe81, 0x2e, 0xe8d,
+0x2e, 0x3b, 0xe95, 0x2e, 0xea5, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe88, 0x2e, 0x3b, 0xe97, 0x2e, 0xea7, 0x2e, 0x3b, 0xea1, 0xeb1, 0xe87,
+0xe81, 0xead, 0xe99, 0x3b, 0xe81, 0xeb8, 0xea1, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb5, 0xe99, 0xeb2, 0x3b, 0xec0, 0xea1, 0xeaa, 0xeb2, 0x3b,
+0xe9e, 0xeb6, 0xe94, 0xeaa, 0xeb0, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb4, 0xe96, 0xeb8, 0xe99, 0xeb2, 0x3b, 0xe81, 0xecd, 0xea5, 0xeb0, 0xe81,
+0xebb, 0xe94, 0x3b, 0xeaa, 0xeb4, 0xe87, 0xeab, 0xeb2, 0x3b, 0xe81, 0xeb1, 0xe99, 0xe8d, 0xeb2, 0x3b, 0xe95, 0xeb8, 0xea5, 0xeb2, 0x3b,
+0xe9e, 0xeb0, 0xe88, 0xeb4, 0xe81, 0x3b, 0xe97, 0xeb1, 0xe99, 0xea7, 0xeb2, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0x65,
+0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73,
+0x3b, 0x6a, 0x16b, 0x6e, 0x2e, 0x3b, 0x6a, 0x16b, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74,
+0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e,
+0x76, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74,
+0x73, 0x3b, 0x61, 0x70, 0x72, 0x12b, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6e, 0x69,
+0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6c, 0x69, 0x6a, 0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x73, 0x3b, 0x73, 0x65,
+0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6e, 0x6f,
+0x76, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x79, 0x61,
+0x6e, 0x3b, 0x66, 0x62, 0x6c, 0x3b, 0x6d, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x79, 0x75,
+0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x74, 0x3b, 0x73, 0x74, 0x62, 0x3b, 0x254, 0x74, 0x62, 0x3b, 0x6e, 0x76,
+0x62, 0x3b, 0x64, 0x73, 0x62, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x79, 0x61, 0x6d, 0x62, 0x6f,
+0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x73, 0xe1, 0x6e,
+0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x73, 0xe1, 0x74, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79,
+0x61, 0x20, 0x6d, 0xed, 0x6e, 0x65, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x74,
+0xe1, 0x6e, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x6f, 0x74, 0xf3, 0x62, 0xe1, 0x3b,
+0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6e, 0x73, 0x61, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a,
+0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x77, 0x61, 0x6d, 0x62, 0x65, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61,
+0x20, 0x6c, 0x69, 0x62, 0x77, 0x61, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69,
+0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x254,
+0x30c, 0x6b, 0x254, 0x301, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e,
+0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x79, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x79,
+0x3b, 0x79, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x254, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x2e, 0x3b, 0x76,
+0x61, 0x73, 0x2e, 0x3b, 0x6b, 0x6f, 0x76, 0x2e, 0x3b, 0x62, 0x61, 0x6c, 0x2e, 0x3b, 0x67, 0x65, 0x67, 0x2e, 0x3b, 0x62,
+0x69, 0x72, 0x17e, 0x2e, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x2e, 0x3b, 0x72, 0x75, 0x67, 0x70, 0x2e, 0x3b, 0x72, 0x75, 0x67,
+0x73, 0x2e, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x2e, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x2e, 0x3b, 0x67, 0x72, 0x75, 0x6f,
+0x64, 0x2e, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x73, 0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x6b, 0x6f,
+0x76, 0x61, 0x73, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x3b, 0x67, 0x65, 0x67, 0x75, 0x17e, 0x117, 0x3b,
+0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x73, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x61, 0x3b, 0x72, 0x75, 0x67, 0x70, 0x6a,
+0x16b, 0x74, 0x69, 0x73, 0x3b, 0x72, 0x75, 0x67, 0x73, 0x117, 0x6a, 0x69, 0x73, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x69, 0x73,
+0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x74, 0x69, 0x73, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, 0x69, 0x73, 0x3b, 0x53,
+0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x47, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x52, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4c,
+0x3b, 0x47, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x6f, 0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x6b, 0x6f,
+0x76, 0x6f, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x17e, 0x69, 0x6f, 0x3b, 0x67, 0x65, 0x67, 0x75, 0x17e, 0x117, 0x73,
+0x3b, 0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x6f, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x6f, 0x73, 0x3b, 0x72, 0x75, 0x67,
+0x70, 0x6a, 0x16b, 0x10d, 0x69, 0x6f, 0x3b, 0x72, 0x75, 0x67, 0x73, 0x117, 0x6a, 0x6f, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x69,
+0x6f, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x10d, 0x69, 0x6f, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, 0x17e, 0x69, 0x6f,
+0x3b, 0x458, 0x430, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e,
+0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x2e, 0x3b, 0x458, 0x443, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b,
+0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x2e, 0x3b, 0x434, 0x435, 0x43a,
+0x2e, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x43c,
+0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, 0x458,
+0x443, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, 0x438,
+0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, 0x435,
+0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x458, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b, 0x458, 0x3b, 0x458,
+0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d,
+0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, 0x6e, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, 0x41,
+0x6f, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a,
+0x61, 0x6e, 0x6f, 0x61, 0x72, 0x79, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x72, 0x79, 0x3b, 0x4d, 0x61, 0x72, 0x74,
+0x73, 0x61, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, 0x6e, 0x61, 0x3b, 0x4a,
+0x6f, 0x6c, 0x61, 0x79, 0x3b, 0x41, 0x6f, 0x67, 0x6f, 0x73, 0x69, 0x74, 0x72, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x61,
+0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x61, 0x6d, 0x62, 0x72,
+0x61, 0x3b, 0x44, 0x65, 0x73, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d,
+0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f,
+0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a,
+0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x3b,
+0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b,
+0x4f, 0x67, 0x6f, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62,
+0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72,
+0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f,
+0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0xd1c, 0xd28, 0xd41, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0x3b, 0xd2e, 0xd3e, 0xd7c, 0x3b,
+0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b,
+0xd13, 0xd17, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0x3b, 0xd12, 0xd15, 0xd4d, 0xd1f, 0xd4b, 0x3b, 0xd28, 0xd35,
+0xd02, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0x3b, 0xd1c, 0xd28, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41,
+0xd35, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd3e, 0xd7c, 0xd1a, 0xd4d, 0xd1a, 0xd4d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0xd7d, 0x3b, 0xd2e,
+0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd13, 0xd17, 0xd38, 0xd4d, 0xd31, 0xd4d, 0xd31,
+0xd4d, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd12, 0xd15, 0xd4d, 0x200c, 0xd1f, 0xd4b, 0xd2c,
+0xd7c, 0x3b, 0xd28, 0xd35, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd1c, 0x3b, 0xd2b, 0xd46, 0x3b,
+0xd2e, 0xd3e, 0x3b, 0xd0f, 0x3b, 0xd2e, 0xd46, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0x3b, 0xd13, 0x3b, 0xd38, 0xd46, 0x3b,
+0xd12, 0x3b, 0xd28, 0x3b, 0xd21, 0xd3f, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x72, 0x61, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41,
+0x70, 0x72, 0x3b, 0x4d, 0x65, 0x6a, 0x3b, 0x120, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x77, 0x3b, 0x53,
+0x65, 0x74, 0x3b, 0x4f, 0x74, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x10b, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x61,
+0x72, 0x3b, 0x46, 0x72, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d,
+0x65, 0x6a, 0x6a, 0x75, 0x3b, 0x120, 0x75, 0x6e, 0x6a, 0x75, 0x3b, 0x4c, 0x75, 0x6c, 0x6a, 0x75, 0x3b, 0x41, 0x77, 0x77,
+0x69, 0x73, 0x73, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x74, 0x75, 0x62,
+0x72, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x10b, 0x65, 0x6d, 0x62, 0x72, 0x75,
+0x3b, 0x4a, 0x6e, 0x3b, 0x46, 0x72, 0x3b, 0x4d, 0x7a, 0x3b, 0x41, 0x70, 0x3b, 0x4d, 0x6a, 0x3b, 0x120, 0x6e, 0x3b, 0x4c,
+0x6a, 0x3b, 0x41, 0x77, 0x3b, 0x53, 0x74, 0x3b, 0x4f, 0x62, 0x3b, 0x4e, 0x76, 0x3b, 0x44, 0x10b, 0x3b, 0x4a, 0x3b, 0x46,
+0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x120, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44,
+0x3b, 0x4b, 0x6f, 0x68, 0x69, 0x3b, 0x48, 0x75, 0x69, 0x3b, 0x50, 0x6f, 0x75, 0x3b, 0x50, 0x61, 0x65, 0x3b, 0x48, 0x61,
+0x72, 0x61, 0x3b, 0x50, 0x69, 0x70, 0x69, 0x3b, 0x48, 0x14d, 0x6e, 0x67, 0x6f, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, 0x4d,
+0x61, 0x68, 0x75, 0x3b, 0x4e, 0x75, 0x6b, 0x75, 0x3b, 0x52, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x48, 0x61, 0x6b, 0x69, 0x3b,
+0x4b, 0x6f, 0x68, 0x69, 0x74, 0x101, 0x74, 0x65, 0x61, 0x3b, 0x48, 0x75, 0x69, 0x74, 0x61, 0x6e, 0x67, 0x75, 0x72, 0x75,
+0x3b, 0x50, 0x6f, 0x75, 0x74, 0x16b, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x50, 0x61, 0x65, 0x6e, 0x67, 0x61,
+0x77, 0x68, 0x101, 0x77, 0x68, 0x101, 0x3b, 0x48, 0x61, 0x72, 0x61, 0x74, 0x75, 0x61, 0x3b, 0x50, 0x69, 0x70, 0x69, 0x72,
+0x69, 0x3b, 0x48, 0x14d, 0x6e, 0x67, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, 0x69,
+0x6b, 0x14d, 0x6b, 0x101, 0x3b, 0x4d, 0x61, 0x68, 0x75, 0x72, 0x75, 0x3b, 0x57, 0x68, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x61,
+0x2d, 0x101, 0x2d, 0x6e, 0x75, 0x6b, 0x75, 0x3b, 0x57, 0x68, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x2d, 0x101, 0x2d, 0x72,
+0x61, 0x6e, 0x67, 0x69, 0x3b, 0x48, 0x61, 0x6b, 0x69, 0x68, 0x65, 0x61, 0x3b, 0x4b, 0x3b, 0x48, 0x3b, 0x50, 0x3b, 0x50,
+0x3b, 0x48, 0x3b, 0x50, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x52, 0x3b, 0x48, 0x3b, 0x91c, 0x93e, 0x928,
+0x947, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f,
+0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x911, 0x917, 0x3b, 0x938, 0x92a, 0x94d, 0x91f,
+0x947, 0x902, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x3b, 0x921, 0x93f, 0x938,
+0x947, 0x902, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e,
+0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c,
+0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x911, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, 0x902,
+0x92c, 0x930, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930,
+0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x93e, 0x3b, 0x92b, 0x947, 0x3b, 0x92e, 0x93e, 0x3b, 0x90f, 0x3b,
+0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x911, 0x3b, 0x938, 0x3b, 0x911, 0x3b, 0x928, 0x94b, 0x3b, 0x921, 0x93f,
+0x3b, 0x31, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x32, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x33, 0x2d, 0x440,
+0x20, 0x441, 0x430, 0x440, 0x3b, 0x34, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x35, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440,
+0x3b, 0x36, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x37, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x38, 0x2d, 0x440,
+0x20, 0x441, 0x430, 0x440, 0x3b, 0x39, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x31, 0x30, 0x2d, 0x440, 0x20, 0x441, 0x430,
+0x440, 0x3b, 0x31, 0x31, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x31, 0x32, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b,
+0x41d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x425, 0x43e, 0x451, 0x440, 0x434, 0x443,
+0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x413, 0x443, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440,
+0x20, 0x441, 0x430, 0x440, 0x3b, 0x414, 0x4e9, 0x440, 0x4e9, 0x432, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440,
+0x3b, 0x422, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x417, 0x443, 0x440, 0x433, 0x430,
+0x430, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x414, 0x43e, 0x43b, 0x43e, 0x43e, 0x434, 0x443, 0x433,
+0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x41d, 0x430, 0x439, 0x43c, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441,
+0x430, 0x440, 0x3b, 0x415, 0x441, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x410, 0x440, 0x430, 0x432,
+0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x410, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x43d, 0x44d, 0x433,
+0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x410, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x445, 0x43e, 0x451,
+0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x49, 0x3b, 0x49, 0x49, 0x3b, 0x49, 0x49, 0x49,
+0x3b, 0x49, 0x56, 0x3b, 0x56, 0x3b, 0x56, 0x49, 0x3b, 0x56, 0x49, 0x49, 0x3b, 0x56, 0x49, 0x49, 0x49, 0x3b, 0x49, 0x58,
+0x3b, 0x58, 0x3b, 0x58, 0x49, 0x3b, 0x58, 0x49, 0x49, 0x3b, 0x43d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20,
+0x441, 0x430, 0x440, 0x3b, 0x445, 0x43e, 0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x433,
+0x443, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x434, 0x4e9, 0x440, 0x4e9, 0x432,
+0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x442, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440,
+0x20, 0x441, 0x430, 0x440, 0x3b, 0x437, 0x443, 0x440, 0x433, 0x430, 0x430, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430,
+0x440, 0x3b, 0x434, 0x43e, 0x43b, 0x43e, 0x43e, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x43d, 0x430,
+0x439, 0x43c, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x435, 0x441, 0x434, 0x4af, 0x433, 0x44d, 0x44d,
+0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x430, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440,
+0x3b, 0x430, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x43d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440,
+0x3b, 0x430, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x445, 0x43e, 0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430,
+0x440, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x905, 0x930, 0x940, 0x3b, 0x92e, 0x93e,
+0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941,
+0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930,
+0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x921, 0x93f,
+0x938, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a,
+0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x3b, 0x905, 0x917, 0x3b,
+0x938, 0x947, 0x92a, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x3b,
+0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x3b, 0x92e, 0x947,
+0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x947, 0x92a, 0x3b, 0x905, 0x915, 0x94d, 0x91f,
+0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66,
+0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61,
+0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73,
+0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76,
+0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xb1c, 0xb3e, 0xb28, 0xb41, 0xb06,
+0xb30, 0xb40, 0x3b, 0xb2b, 0xb47, 0xb2c, 0xb43, 0xb06, 0xb30, 0xb40, 0x3b, 0xb2e, 0xb3e, 0xb30, 0xb4d, 0xb1a, 0xb4d, 0xb1a, 0x3b, 0xb05,
+0xb2a, 0xb4d, 0xb30, 0xb47, 0xb32, 0x3b, 0xb2e, 0xb07, 0x3b, 0xb1c, 0xb41, 0xb28, 0x3b, 0xb1c, 0xb41, 0xb32, 0xb3e, 0xb07, 0x3b, 0xb05,
+0xb17, 0xb37, 0xb4d, 0xb1f, 0x3b, 0xb38, 0xb47, 0xb2a, 0xb4d, 0xb1f, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb05, 0xb15, 0xb4d, 0xb1f,
+0xb4b, 0xb2c, 0xb30, 0x3b, 0xb28, 0xb2d, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb21, 0xb3f, 0xb38, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30,
+0x3b, 0xb1c, 0xb3e, 0x3b, 0xb2b, 0xb47, 0x3b, 0xb2e, 0xb3e, 0x3b, 0xb05, 0x3b, 0xb2e, 0xb07, 0x3b, 0xb1c, 0xb41, 0x3b, 0xb1c, 0xb41,
+0x3b, 0xb05, 0x3b, 0xb38, 0xb47, 0x3b, 0xb05, 0x3b, 0xb28, 0x3b, 0xb21, 0xb3f, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641,
+0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, 0x3b,
+0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628,
+0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631,
+0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x6d0, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b,
+0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627,
+0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648,
+0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x628, 0x631, 0x648,
+0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, 0x3b, 0x62c, 0x648, 0x646,
+0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x6d0, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b,
+0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c,
+0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, 0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646,
+0x3b, 0x62f, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x3b, 0x645, 0x627, 0x631, 0x633,
+0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x647, 0x3b, 0x698, 0x648, 0x626, 0x646, 0x3b, 0x698, 0x648, 0x626, 0x6cc, 0x647,
+0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646,
+0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x698, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x622,
+0x3b, 0x645, 0x3b, 0x698, 0x3b, 0x698, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x698, 0x627, 0x646,
+0x648, 0x6cc, 0x647, 0x654, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x654, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631,
+0x6cc, 0x644, 0x3b, 0x645, 0x647, 0x654, 0x3b, 0x698, 0x648, 0x626, 0x646, 0x3b, 0x698, 0x648, 0x626, 0x6cc, 0x647, 0x654, 0x3b, 0x627,
+0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x627,
+0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x628, 0x631,
+0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648,
+0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b,
+0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c,
+0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644,
+0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a,
+0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645,
+0x3b, 0x73, 0x74, 0x79, 0x3b, 0x6c, 0x75, 0x74, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6b, 0x77, 0x69, 0x3b, 0x6d, 0x61, 0x6a,
+0x3b, 0x63, 0x7a, 0x65, 0x3b, 0x6c, 0x69, 0x70, 0x3b, 0x73, 0x69, 0x65, 0x3b, 0x77, 0x72, 0x7a, 0x3b, 0x70, 0x61, 0x17a,
+0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x67, 0x72, 0x75, 0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x65, 0x144, 0x3b, 0x6c, 0x75, 0x74,
+0x79, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x65, 0x63, 0x3b, 0x6b, 0x77, 0x69, 0x65, 0x63, 0x69, 0x65, 0x144, 0x3b, 0x6d, 0x61,
+0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x72, 0x77, 0x69, 0x65, 0x63, 0x3b, 0x6c, 0x69, 0x70, 0x69, 0x65, 0x63, 0x3b, 0x73, 0x69,
+0x65, 0x72, 0x70, 0x69, 0x65, 0x144, 0x3b, 0x77, 0x72, 0x7a, 0x65, 0x73, 0x69, 0x65, 0x144, 0x3b, 0x70, 0x61, 0x17a, 0x64,
+0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x67, 0x72, 0x75,
+0x64, 0x7a, 0x69, 0x65, 0x144, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x43, 0x3b, 0x4c, 0x3b,
+0x53, 0x3b, 0x57, 0x3b, 0x50, 0x3b, 0x4c, 0x3b, 0x47, 0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x6e, 0x69, 0x61, 0x3b, 0x6c,
+0x75, 0x74, 0x65, 0x67, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x63, 0x61, 0x3b, 0x6b, 0x77, 0x69, 0x65, 0x74, 0x6e, 0x69, 0x61,
+0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x63, 0x7a, 0x65, 0x72, 0x77, 0x63, 0x61, 0x3b, 0x6c, 0x69, 0x70, 0x63, 0x61, 0x3b,
+0x73, 0x69, 0x65, 0x72, 0x70, 0x6e, 0x69, 0x61, 0x3b, 0x77, 0x72, 0x7a, 0x65, 0x15b, 0x6e, 0x69, 0x61, 0x3b, 0x70, 0x61,
+0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x61,
+0x3b, 0x67, 0x72, 0x75, 0x64, 0x6e, 0x69, 0x61, 0x3b, 0x73, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x63,
+0x3b, 0x6c, 0x3b, 0x73, 0x3b, 0x77, 0x3b, 0x70, 0x3b, 0x6c, 0x3b, 0x67, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76,
+0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c,
+0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x7a,
+0x3b, 0x6a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x76, 0x65, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x6d,
+0x61, 0x72, 0xe7, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x68,
+0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d,
+0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f,
+0x3b, 0x64, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0xa1c, 0xa28, 0x3b, 0xa2b, 0xa3c, 0xa30, 0x3b, 0xa2e, 0xa3e, 0xa30,
+0xa1a, 0x3b, 0xa05, 0xa2a, 0xa4d, 0xa30, 0xa48, 0x3b, 0xa2e, 0xa08, 0x3b, 0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0x3b,
+0xa05, 0xa17, 0x3b, 0xa38, 0xa24, 0xa70, 0x3b, 0xa05, 0xa15, 0xa24, 0xa42, 0x3b, 0xa28, 0xa35, 0xa70, 0x3b, 0xa26, 0xa38, 0xa70, 0x3b,
+0xa1c, 0xa28, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2b, 0xa3c, 0xa30, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a,
+0xa4d, 0xa30, 0xa48, 0xa32, 0x3b, 0xa2e, 0xa08, 0x3b, 0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0xa08, 0x3b, 0xa05, 0xa17,
+0xa38, 0xa24, 0x3b, 0xa38, 0xa24, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa05, 0xa15, 0xa24, 0xa42, 0xa2c, 0xa30, 0x3b, 0xa28, 0xa35, 0xa70, 0xa2c,
+0xa30, 0x3b, 0xa26, 0xa38, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa1c, 0x3b, 0xa2b, 0xa3c, 0x3b, 0xa2e, 0xa3e, 0x3b, 0xa05, 0x3b, 0xa2e, 0x3b,
+0xa1c, 0xa42, 0x3b, 0xa1c, 0xa41, 0x3b, 0xa05, 0x3b, 0xa38, 0x3b, 0xa05, 0x3b, 0xa28, 0x3b, 0xa26, 0x3b, 0x62c, 0x646, 0x648, 0x631,
+0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645,
+0x626, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a,
+0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645,
+0x628, 0x631, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d,
+0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f,
+0x63, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x63, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x62,
+0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79,
+0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f,
+0x3b, 0x53, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e,
+0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x73,
+0x63, 0x68, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72,
+0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, 0x7a, 0x65, 0x72, 0x63, 0x6c, 0x2e, 0x3b, 0x66, 0x61, 0x6e, 0x2e, 0x3b, 0x61,
+0x76, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e,
+0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x65, 0x72, 0x3b, 0x66, 0x61, 0x76, 0x72, 0x65, 0x72,
+0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x67, 0x6c, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, 0x7a, 0x65,
+0x72, 0x63, 0x6c, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x66, 0x61, 0x6e, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x61, 0x76, 0x75, 0x73,
+0x74, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b,
+0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x53, 0x3b,
+0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b,
+0x44, 0x3b, 0x69, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72,
+0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, 0x6e, 0x2e, 0x3b, 0x69, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e,
+0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63,
+0x2e, 0x3b, 0x69, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x65,
+0x3b, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x65, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x65, 0x3b, 0x6d, 0x61, 0x69, 0x3b,
+0x69, 0x75, 0x6e, 0x69, 0x65, 0x3b, 0x69, 0x75, 0x6c, 0x69, 0x65, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73,
+0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b,
+0x6e, 0x6f, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b,
+0x49, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b,
+0x4e, 0x3b, 0x44, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b,
+0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430,
+0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x2e,
+0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440,
+0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x438, 0x44e, 0x43d, 0x2e, 0x3b, 0x438, 0x44e, 0x43b, 0x2e,
+0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f,
+0x431, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44f, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430,
+0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x430, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x44f, 0x3b,
+0x438, 0x44e, 0x43d, 0x44f, 0x3b, 0x438, 0x44e, 0x43b, 0x44f, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x430, 0x3b, 0x441, 0x435,
+0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440,
+0x44f, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44f, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x3b, 0x4d, 0x62,
+0xe4, 0x3b, 0x4e, 0x67, 0x75, 0x3b, 0x42, 0xea, 0x6c, 0x3b, 0x46, 0xf6, 0x6e, 0x3b, 0x4c, 0x65, 0x6e, 0x3b, 0x4b, 0xfc,
+0x6b, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x4e, 0x67, 0x62, 0x3b, 0x4e, 0x61, 0x62, 0x3b, 0x4b, 0x61, 0x6b, 0x3b, 0x4e, 0x79,
+0x65, 0x6e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x75, 0x6e, 0x64, 0xef, 0x67, 0x69, 0x3b, 0x4d, 0x62, 0xe4, 0x6e, 0x67,
+0xfc, 0x3b, 0x4e, 0x67, 0x75, 0x62, 0xf9, 0x65, 0x3b, 0x42, 0xea, 0x6c, 0xe4, 0x77, 0xfc, 0x3b, 0x46, 0xf6, 0x6e, 0x64,
+0x6f, 0x3b, 0x4c, 0x65, 0x6e, 0x67, 0x75, 0x61, 0x3b, 0x4b, 0xfc, 0x6b, 0xfc, 0x72, 0xfc, 0x3b, 0x4d, 0x76, 0x75, 0x6b,
+0x61, 0x3b, 0x4e, 0x67, 0x62, 0x65, 0x72, 0x65, 0x72, 0x65, 0x3b, 0x4e, 0x61, 0x62, 0xe4, 0x6e, 0x64, 0xfc, 0x72, 0x75,
+0x3b, 0x4b, 0x61, 0x6b, 0x61, 0x75, 0x6b, 0x61, 0x3b, 0x4e, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, 0x46,
+0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431,
+0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b,
+0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446,
+0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, 0x440, 0x442,
+0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430,
+0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e,
+0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, 0x430,
+0x440, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d,
+0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b,
+0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66,
+0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61,
+0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70,
+0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d,
+0x62, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62,
+0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c,
+0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63,
+0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x2e,
+0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x2e, 0x3b, 0x73, 0x65,
+0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x458,
+0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b,
+0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x3b, 0x43e, 0x43a, 0x442,
+0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b, 0x42f, 0x43d, 0x432, 0x2e, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x2e, 0x3b,
+0x41c, 0x430, 0x440, 0x442, 0x2e, 0x3b, 0x410, 0x43f, 0x440, 0x2e, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x44c, 0x3b,
+0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x2e, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x41e, 0x43a, 0x442, 0x2e,
+0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x2e, 0x3b, 0x414, 0x435, 0x43a, 0x2e, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x424,
+0x435, 0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x44a, 0x438, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x44c,
+0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441,
+0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41d,
+0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444,
+0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x44b, 0x3b, 0x438,
+0x44e, 0x43d, 0x44b, 0x3b, 0x438, 0x44e, 0x43b, 0x44b, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x2e, 0x3b, 0x43e,
+0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44b,
+0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x44a, 0x438, 0x439, 0x44b, 0x3b, 0x430, 0x43f,
+0x440, 0x435, 0x43b, 0x44b, 0x3b, 0x43c, 0x430, 0x439, 0x44b, 0x3b, 0x438, 0x44e, 0x43d, 0x44b, 0x3b, 0x438, 0x44e, 0x43b, 0x44b, 0x3b,
+0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x44b, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x43e, 0x43a, 0x442,
+0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44b, 0x3b,
+0x4e, 0x64, 0x69, 0x3b, 0x4b, 0x75, 0x6b, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x4b, 0x75, 0x62, 0x3b, 0x43, 0x68, 0x76, 0x3b,
+0x43, 0x68, 0x6b, 0x3b, 0x43, 0x68, 0x67, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x47, 0x75, 0x6e, 0x3b, 0x47, 0x75, 0x6d, 0x3b,
+0x4d, 0x62, 0x75, 0x3b, 0x5a, 0x76, 0x69, 0x3b, 0x4e, 0x64, 0x69, 0x72, 0x61, 0x3b, 0x4b, 0x75, 0x6b, 0x61, 0x64, 0x7a,
+0x69, 0x3b, 0x4b, 0x75, 0x72, 0x75, 0x6d, 0x65, 0x3b, 0x4b, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x62, 0x69, 0x3b, 0x43, 0x68,
+0x69, 0x76, 0x61, 0x62, 0x76, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75,
+0x6e, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4e, 0x79, 0x61, 0x6d, 0x61, 0x76, 0x68, 0x75, 0x76, 0x68, 0x75, 0x3b, 0x47, 0x75,
+0x6e, 0x79, 0x61, 0x6e, 0x61, 0x3b, 0x47, 0x75, 0x6d, 0x69, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4d, 0x62, 0x75, 0x64, 0x7a,
+0x69, 0x3b, 0x5a, 0x76, 0x69, 0x74, 0x61, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x43, 0x3b,
+0x43, 0x3b, 0x4e, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x64a,
+0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x64a,
+0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x621, 0x650, 0x3b, 0x622, 0x6af, 0x633, 0x67d, 0x3b, 0x633, 0x64a, 0x67e,
+0x67d, 0x645, 0x628, 0x631, 0x3b, 0x622, 0x6aa, 0x67d, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x68a, 0x633,
+0x645, 0x628, 0x631, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d,
+0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b,
+0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9,
+0xdc3, 0xdd0, 0x3b, 0xda2, 0xdb1, 0xdc0, 0xdcf, 0xdbb, 0xdd2, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0xdbb, 0xdc0, 0xdcf, 0xdbb, 0xdd2, 0x3b, 0xdb8,
+0xdcf, 0xdbb, 0xdca, 0xdad, 0xdd4, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b,
+0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0xdc3, 0xdca, 0xdad, 0xdd4, 0x3b, 0xdc3, 0xdd0,
+0xdb4, 0xdca, 0xdad, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0xdad, 0xddd, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdb1,
+0xddc, 0xdc0, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xda2,
+0x3b, 0xdb4, 0xdd9, 0x3b, 0xdb8, 0xdcf, 0x3b, 0xd85, 0x3b, 0xdb8, 0xdd0, 0x3b, 0xda2, 0xdd6, 0x3b, 0xda2, 0xdd6, 0x3b, 0xd85, 0x3b,
+0xdc3, 0xdd0, 0x3b, 0xd94, 0x3b, 0xdb1, 0xdd9, 0x3b, 0xdaf, 0xdd9, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x3b, 0xdb8, 0xdcf,
+0xdbb, 0xdca, 0xdad, 0xdd4, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2,
+0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0x3b, 0xd94, 0xd9a,
+0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b,
+0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b,
+0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b,
+0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63,
+0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0x61,
+0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3,
+0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65,
+0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x61, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x61, 0x3b, 0x6d,
+0x61, 0x72, 0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x61, 0x3b, 0x6d, 0xe1, 0x6a, 0x61, 0x3b, 0x6a, 0xfa, 0x6e,
+0x61, 0x3b, 0x6a, 0xfa, 0x6c, 0x61, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65,
+0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72,
+0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e,
+0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b,
+0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x76, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b,
+0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62,
+0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a,
+0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b,
+0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f,
+0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b,
+0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b,
+0x4c, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x73, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x66, 0x3b,
+0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x61, 0x61, 0x79, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x61, 0x61, 0x79,
+0x6f, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b,
+0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x75, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x53,
+0x65, 0x62, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f,
+0x66, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b,
+0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b,
+0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20,
+0x4c, 0x61, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x64, 0x64, 0x65, 0x78, 0x61,
+0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x41, 0x66, 0x72, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68,
+0x61, 0x20, 0x53, 0x68, 0x61, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x69, 0x78, 0x61,
+0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, 0x6f, 0x64, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69,
+0x73, 0x68, 0x61, 0x20, 0x53, 0x69, 0x64, 0x65, 0x65, 0x64, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20,
+0x53, 0x61, 0x67, 0x61, 0x61, 0x6c, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, 0x6f, 0x62, 0x6e,
+0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x77, 0x20, 0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f,
+0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x20, 0x69, 0x79, 0x6f,
+0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d,
+0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a,
+0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b,
+0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72,
+0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x6f,
+0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b,
+0x73, 0x65, 0x70, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e,
+0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45,
+0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e,
+0x3b, 0x44, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62,
+0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67,
+0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69,
+0x63, 0x2e, 0x3b, 0x45, 0x6e, 0x65, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x62,
+0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x79, 0x2e, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x67,
+0x6f, 0x2e, 0x3b, 0x53, 0x65, 0x74, 0x2e, 0x3b, 0x4f, 0x63, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x69,
+0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62,
+0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67,
+0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69,
+0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72,
+0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b,
+0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62,
+0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65,
+0x3b, 0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d,
+0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41,
+0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a,
+0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68,
+0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75,
+0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b,
+0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d,
+0x62, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70,
+0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67,
+0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63,
+0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d,
+0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a,
+0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65,
+0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64,
+0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b,
+0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x3b,
+0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41e,
+0x43a, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0xb9c,
+0xba9, 0x2e, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0x2e, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0x2e, 0x3b,
+0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0x2e, 0x3b, 0xb9a, 0xbc6, 0xbaa,
+0xbcd, 0x2e, 0x3b, 0xb85, 0xb95, 0xbcd, 0x2e, 0x3b, 0xba8, 0xbb5, 0x2e, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0x2e, 0x3b, 0xb9c, 0xba9, 0xbb5,
+0xbb0, 0xbbf, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0xbb0, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0xb9a, 0xbcd, 0x3b, 0xb8f,
+0xbaa, 0xbcd, 0xbb0, 0xbb2, 0xbcd, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86,
+0xb95, 0xbb8, 0xbcd, 0xb9f, 0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb85, 0xb95, 0xbcd,
+0xb9f, 0xbcb, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0xbae, 0xbcd, 0xbaa,
+0xbb0, 0xbcd, 0x3b, 0xb9c, 0x3b, 0xbaa, 0xbbf, 0x3b, 0xbae, 0xbbe, 0x3b, 0xb8f, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb9c,
+0xbc2, 0x3b, 0xb86, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xb85, 0x3b, 0xba8, 0x3b, 0xb9f, 0xbbf, 0x3b, 0x433, 0x44b, 0x439, 0x43d, 0x2e, 0x3b,
+0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438,
+0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e, 0x3b,
+0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x433, 0x44b, 0x439, 0x43d,
+0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440,
+0x435, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432,
+0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440,
+0x44c, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0xc1c, 0xc28, 0x3b,
+0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0x3b, 0xc2e,
+0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc41, 0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f,
+0xc46, 0xc02, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0x3b, 0xc28, 0xc35, 0xc02, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, 0x3b, 0xc1c,
+0xc28, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f,
+0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc41, 0xc32,
+0xc48, 0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b,
+0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc28, 0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46,
+0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0x3b, 0xc0f, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42,
+0x3b, 0xc1c, 0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b, 0xc05, 0x3b, 0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e,
+0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, 0xe04, 0x2e, 0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e,
+0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, 0xe01, 0x2e, 0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01,
+0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21,
+0xe01, 0xe23, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21, 0xe20, 0xe32, 0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19,
+0xe32, 0xe04, 0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22, 0xe19, 0x3b, 0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21,
+0xe34, 0xe16, 0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01, 0xe23, 0xe01, 0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b,
+0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32, 0xe22, 0xe19, 0x3b, 0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e,
+0xe24, 0xe28, 0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b, 0xe18, 0xe31, 0xe19, 0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0xf5f, 0xfb3, 0xf0b,
+0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54,
+0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b,
+0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3,
+0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53,
+0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3,
+0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54,
+0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f,
+0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56,
+0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0x3b, 0xf5f,
+0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b,
+0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74,
+0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56,
+0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0x3b,
+0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b,
+0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66,
+0xf0b, 0xf54, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x3b, 0x1218, 0x130b, 0x3b, 0x121a, 0x12eb, 0x3b, 0x130d, 0x1295, 0x3b, 0x1230, 0x1290,
+0x3b, 0x1213, 0x121d, 0x3b, 0x1290, 0x1213, 0x3b, 0x1218, 0x1235, 0x3b, 0x1325, 0x1245, 0x3b, 0x1215, 0x12f3, 0x3b, 0x1273, 0x1215, 0x3b, 0x1325,
+0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x12eb, 0x3b, 0x130d, 0x1295, 0x1266,
+0x1275, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x1228, 0x121d, 0x3b, 0x1325,
+0x1245, 0x121d, 0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, 0x3b, 0x1325, 0x3b, 0x1208, 0x3b, 0x1218, 0x3b, 0x121a,
+0x3b, 0x130d, 0x3b, 0x1230, 0x3b, 0x1213, 0x3b, 0x1290, 0x3b, 0x1218, 0x3b, 0x1325, 0x3b, 0x1215, 0x3b, 0x1273, 0x3b, 0x53, 0x101, 0x6e,
+0x3b, 0x46, 0x113, 0x70, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75,
+0x6e, 0x3b, 0x53, 0x69, 0x75, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x3b,
+0x4e, 0x14d, 0x76, 0x3b, 0x54, 0x12b, 0x73, 0x3b, 0x53, 0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70, 0x75,
+0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x73, 0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69, 0x3b,
+0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x6f,
+0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70, 0x61,
+0x3b, 0x4e, 0x14d, 0x76, 0x65, 0x6d, 0x61, 0x3b, 0x54, 0x12b, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d,
+0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4f,
+0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4e, 0x69, 0x73, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48,
+0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f, 0x75, 0x3b, 0x45, 0x79, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x3b, 0x4b,
+0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x6b, 0x3b, 0x15e, 0x75, 0x62, 0x61, 0x74, 0x3b, 0x4d, 0x61,
+0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x79, 0x131, 0x73, 0x3b, 0x48, 0x61, 0x7a, 0x69, 0x72,
+0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a, 0x3b, 0x41, 0x11f, 0x75, 0x73, 0x74, 0x6f, 0x73, 0x3b, 0x45, 0x79,
+0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x73, 0x131, 0x6d, 0x3b, 0x41, 0x72, 0x61, 0x6c, 0x131,
+0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x45, 0x3b,
+0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0xdd, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x77, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70,
+0x72, 0x3b, 0x4d, 0x61, 0xfd, 0x3b, 0x49, 0xfd, 0x75, 0x6e, 0x3b, 0x49, 0xfd, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x67, 0x3b,
+0x53, 0x65, 0x6e, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0xfd, 0x3b, 0x44, 0x65, 0x6b, 0x3b, 0xdd, 0x61, 0x6e, 0x77,
+0x61, 0x72, 0x3b, 0x46, 0x65, 0x77, 0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c,
+0x3b, 0x4d, 0x61, 0xfd, 0x3b, 0x49, 0xfd, 0x75, 0x6e, 0x3b, 0x49, 0xfd, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x67, 0x75, 0x73,
+0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x4e,
+0x6f, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0xdd, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41,
+0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0xfd, 0x61, 0x6e,
+0x3b, 0x66, 0x65, 0x77, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0xfd, 0x3b, 0x69, 0xfd,
+0x75, 0x6e, 0x3b, 0x69, 0xfd, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b,
+0x6e, 0x6f, 0xfd, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0xfd, 0x61, 0x6e, 0x77, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x77, 0x72, 0x61,
+0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0xfd, 0x3b, 0x69, 0xfd, 0x75,
+0x6e, 0x3b, 0x69, 0xfd, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0xfd, 0x61,
+0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x6e, 0x6f, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65,
+0x6b, 0x61, 0x62, 0x72, 0x3b, 0x64a, 0x627, 0x646, 0x6cb, 0x627, 0x631, 0x3b, 0x641, 0x6d0, 0x6cb, 0x631, 0x627, 0x644, 0x3b, 0x645,
+0x627, 0x631, 0x62a, 0x3b, 0x626, 0x627, 0x67e, 0x631, 0x6d0, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x3b, 0x626, 0x649, 0x64a, 0x6c7, 0x646,
+0x3b, 0x626, 0x649, 0x64a, 0x6c7, 0x644, 0x3b, 0x626, 0x627, 0x6cb, 0x63a, 0x6c7, 0x633, 0x62a, 0x3b, 0x633, 0x6d0, 0x646, 0x62a, 0x6d5,
+0x628, 0x649, 0x631, 0x3b, 0x626, 0x6c6, 0x643, 0x62a, 0x6d5, 0x628, 0x649, 0x631, 0x3b, 0x646, 0x648, 0x64a, 0x627, 0x628, 0x649, 0x631,
+0x3b, 0x62f, 0x6d0, 0x643, 0x627, 0x628, 0x649, 0x631, 0x3b, 0x441, 0x456, 0x447, 0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x431, 0x435, 0x440,
+0x3b, 0x43a, 0x432, 0x456, 0x3b, 0x442, 0x440, 0x430, 0x3b, 0x447, 0x435, 0x440, 0x3b, 0x43b, 0x438, 0x43f, 0x3b, 0x441, 0x435, 0x440,
+0x3b, 0x432, 0x435, 0x440, 0x3b, 0x436, 0x43e, 0x432, 0x3b, 0x43b, 0x438, 0x441, 0x3b, 0x433, 0x440, 0x443, 0x3b, 0x441, 0x456, 0x447,
+0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x44e, 0x442, 0x438, 0x439, 0x3b, 0x431, 0x435, 0x440, 0x435, 0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x43a,
+0x432, 0x456, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x435,
+0x43d, 0x44c, 0x3b, 0x43b, 0x438, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x432, 0x435,
+0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x43e,
+0x43f, 0x430, 0x434, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x435, 0x43d, 0x44c, 0x3b, 0x421, 0x3b, 0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b,
+0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b, 0x412, 0x3b, 0x416, 0x3b, 0x41b, 0x3b, 0x413, 0x3b, 0x441, 0x456, 0x447, 0x2e,
+0x3b, 0x43b, 0x44e, 0x442, 0x2e, 0x3b, 0x431, 0x435, 0x440, 0x2e, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x2e, 0x3b, 0x442, 0x440, 0x430,
+0x432, 0x2e, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x2e, 0x3b, 0x43b, 0x438, 0x43f, 0x2e, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x2e, 0x3b,
+0x432, 0x435, 0x440, 0x2e, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x2e, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x2e, 0x3b, 0x433, 0x440, 0x443,
+0x434, 0x2e, 0x3b, 0x441, 0x456, 0x447, 0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x43e, 0x433, 0x43e, 0x3b, 0x431, 0x435, 0x440, 0x435,
+0x437, 0x43d, 0x44f, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x43d, 0x44f, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x43d, 0x44f, 0x3b, 0x447, 0x435,
+0x440, 0x432, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x43f, 0x43d, 0x44f, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x43d, 0x44f, 0x3b, 0x432, 0x435,
+0x440, 0x435, 0x441, 0x43d, 0x44f, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430,
+0x434, 0x430, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x43d, 0x44f, 0x3b, 0x441, 0x3b, 0x43b, 0x3b, 0x431, 0x3b, 0x43a, 0x3b, 0x442, 0x3b,
+0x447, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x432, 0x3b, 0x436, 0x3b, 0x43b, 0x3b, 0x433, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b,
+0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x6cc,
+0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645,
+0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628,
+0x631, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61,
+0x79, 0x3b, 0x49, 0x79, 0x6e, 0x3b, 0x49, 0x79, 0x6c, 0x3b, 0x41, 0x76, 0x67, 0x3b, 0x53, 0x65, 0x6e, 0x3b, 0x4f, 0x6b,
+0x74, 0x3b, 0x4e, 0x6f, 0x79, 0x3b, 0x44, 0x65, 0x6b, 0x3b, 0x59, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x76,
+0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x49,
+0x79, 0x75, 0x6e, 0x3b, 0x49, 0x79, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74,
+0x61, 0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65,
+0x6b, 0x61, 0x62, 0x72, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41,
+0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72,
+0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x6e, 0x3b, 0x69, 0x79, 0x6c, 0x3b, 0x61, 0x76, 0x67,
+0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x79, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x79, 0x61, 0x6e,
+0x76, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x61, 0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x65,
+0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x75, 0x6e, 0x3b, 0x69, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x75,
+0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x6e, 0x6f,
+0x79, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x3b,
+0x645, 0x627, 0x631, 0x3b, 0x627, 0x67e, 0x631, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627,
+0x6af, 0x633, 0x3b, 0x633, 0x67e, 0x62a, 0x3b, 0x627, 0x6a9, 0x62a, 0x3b, 0x646, 0x648, 0x645, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x44f,
+0x43d, 0x432, 0x3b, 0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438,
+0x44e, 0x43d, 0x3b, 0x438, 0x44e, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43d, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d,
+0x43e, 0x44f, 0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b,
+0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x3b, 0x438,
+0x44e, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x43e, 0x43a,
+0x442, 0x44f, 0x431, 0x440, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x54, 0x68,
+0x67, 0x20, 0x31, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x54, 0x68, 0x67, 0x20,
+0x34, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x37, 0x3b,
+0x54, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x54,
+0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31,
+0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x32, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x33, 0x3b, 0x54, 0x68, 0xe1,
+0x6e, 0x67, 0x20, 0x34, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x35, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x36,
+0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x37, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x38, 0x3b, 0x54, 0x68, 0xe1,
+0x6e, 0x67, 0x20, 0x39, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20,
+0x31, 0x31, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x74, 0x68,
+0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x34, 0x3b, 0x74, 0x68, 0x67, 0x20,
+0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x37, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x38, 0x3b,
+0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b,
+0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
+0x20, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x34, 0x3b, 0x74,
+0x68, 0xe1, 0x6e, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67,
+0x20, 0x37, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x39, 0x3b, 0x74,
+0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0xe1,
+0x6e, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0xe4, 0x7a, 0x3b, 0x70, 0x72,
+0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x67, 0x73, 0x74, 0x3b, 0x73, 0x65,
+0x74, 0x3b, 0x74, 0x6f, 0x62, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x79, 0x61, 0x6e, 0x75, 0x6c, 0x3b,
+0x66, 0x65, 0x62, 0x75, 0x6c, 0x3b, 0x6d, 0xe4, 0x7a, 0x75, 0x6c, 0x3b, 0x70, 0x72, 0x69, 0x6c, 0x75, 0x6c, 0x3b, 0x6d,
+0x61, 0x79, 0x75, 0x6c, 0x3b, 0x79, 0x75, 0x6e, 0x75, 0x6c, 0x3b, 0x79, 0x75, 0x6c, 0x75, 0x6c, 0x3b, 0x67, 0x75, 0x73,
+0x74, 0x75, 0x6c, 0x3b, 0x73, 0x65, 0x74, 0x75, 0x6c, 0x3b, 0x74, 0x6f, 0x62, 0x75, 0x6c, 0x3b, 0x6e, 0x6f, 0x76, 0x75,
+0x6c, 0x3b, 0x64, 0x65, 0x6b, 0x75, 0x6c, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x59, 0x3b,
+0x59, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b,
+0x6d, 0xe4, 0x7a, 0x3b, 0x70, 0x72, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b,
+0x67, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x74, 0x6f, 0x6e, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x6b, 0x3b,
+0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b,
+0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79,
+0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x3b, 0x49, 0x6f, 0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43,
+0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, 0x72, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c,
+0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x65, 0x66, 0x69, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x65,
+0x6e, 0x6e, 0x61, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x72, 0x65,
+0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x77, 0x65, 0x64, 0x64, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x66, 0x79, 0x72, 0x3b, 0x49,
+0x3b, 0x43, 0x68, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b,
+0x54, 0x3b, 0x52, 0x68, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x45,
+0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x3b,
+0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52,
+0x68, 0x61, 0x67, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x46, 0x65, 0x77, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x72, 0x3b,
+0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x77, 0x3b, 0x53, 0x75, 0x6c, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0xe0, 0x74, 0x3b, 0x4f,
+0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x77, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x53, 0x61, 0x6d, 0x77, 0x69, 0x79, 0x65, 0x65, 0x3b,
+0x46, 0x65, 0x77, 0x72, 0x69, 0x79, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x41, 0x77, 0x72, 0x69, 0x6c, 0x3b,
+0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x77, 0x65, 0x3b, 0x53, 0x75, 0x6c, 0x65, 0x74, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0xe0,
+0x74, 0x74, 0x75, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x77,
+0xe0, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x73, 0xe0, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46,
+0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a,
+0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44,
+0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x79, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61,
+0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79,
+0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69,
+0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f,
+0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x5d9, 0x5d0, 0x5b7, 0x5e0, 0x3b, 0x5e4,
+0x5bf, 0x5e2, 0x5d1, 0x3b, 0x5de, 0x5e2, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5b7, 0x5e4, 0x5bc, 0x5e8, 0x3b, 0x5de, 0x5d9, 0x5d9, 0x3b, 0x5d9,
+0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d9, 0x5d2, 0x3b, 0x5e1, 0x5e2, 0x5e4, 0x5bc, 0x3b, 0x5d0,
+0x5e7, 0x5d8, 0x3b, 0x5e0, 0x5d0, 0x5d5, 0x5d5, 0x3b, 0x5d3, 0x5e2, 0x5e6, 0x3b, 0x5d9, 0x5d0, 0x5b7, 0x5e0, 0x5d5, 0x5d0, 0x5b7, 0x5e8,
+0x3b, 0x5e4, 0x5bf, 0x5e2, 0x5d1, 0x5e8, 0x5d5, 0x5d0, 0x5b7, 0x5e8, 0x3b, 0x5de, 0x5e2, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5b7, 0x5e4, 0x5bc,
+0x5e8, 0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d9, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5,
+0x5d9, 0x5d2, 0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e2, 0x5e4, 0x5bc, 0x5d8, 0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5d0, 0x5e7, 0x5d8,
+0x5d0, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5e0, 0x5d0, 0x5d5, 0x5d5, 0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5d3, 0x5e2, 0x5e6, 0x5e2, 0x5de,
+0x5d1, 0x5e2, 0x5e8, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x3b, 0xc8, 0x72, 0x3b, 0x1eb8, 0x72, 0x3b, 0xcc, 0x67, 0x3b, 0x1eb8, 0x300, 0x62,
+0x3b, 0xd2, 0x6b, 0x3b, 0x41, 0x67, 0x3b, 0xd2, 0x67, 0x3b, 0x4f, 0x77, 0x3b, 0x1ecc, 0x300, 0x77, 0x3b, 0x42, 0xe9, 0x3b,
+0x1ecc, 0x300, 0x70, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x1eb8, 0x72, 0x1eb9,
+0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64,
+0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x1ecc,
+0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x53, 0x3b, 0xc8,
+0x3b, 0x1eb8, 0x3b, 0xcc, 0x3b, 0x1eb8, 0x300, 0x3b, 0xd2, 0x3b, 0x41, 0x3b, 0xd2, 0x3b, 0x4f, 0x3b, 0x1ecc, 0x300, 0x3b, 0x42,
+0x3b, 0x1ecc, 0x300, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0x3b,
+0xcc, 0x67, 0x62, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x3b, 0x41, 0x67, 0x1eb9, 0x3b, 0xd2, 0x67, 0xfa,
+0x3b, 0x4f, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x3b, 0x4f,
+0x1e63, 0xf9, 0x20, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b,
+0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, 0x3b,
+0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75,
+0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b,
+0x4f, 0x1e63, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0,
+0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b,
+0x53, 0x68, 0x25b, 0x301, 0x3b, 0xc8, 0x72, 0x3b, 0x190, 0x72, 0x3b, 0xcc, 0x67, 0x3b, 0x190, 0x300, 0x62, 0x3b, 0xd2, 0x6b,
+0x3b, 0x41, 0x67, 0x3b, 0xd2, 0x67, 0x3b, 0x4f, 0x77, 0x3b, 0x186, 0x300, 0x77, 0x3b, 0x42, 0xe9, 0x3b, 0x186, 0x300, 0x70,
+0x3b, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x25b, 0x301, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x190, 0x72, 0x25b, 0x300, 0x6e,
+0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x190, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b,
+0x41, 0x67, 0x25b, 0x6d, 0x254, 0x3b, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x186, 0x300, 0x77,
+0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x186, 0x300, 0x70, 0x25b, 0x300, 0x3b, 0x53, 0x3b, 0xc8, 0x3b, 0x190,
+0x3b, 0xcc, 0x3b, 0x190, 0x300, 0x3b, 0xd2, 0x3b, 0x41, 0x3b, 0xd2, 0x3b, 0x4f, 0x3b, 0x186, 0x300, 0x3b, 0x42, 0x3b, 0x186,
+0x300, 0x3b, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0x3b, 0x190, 0x72, 0x25b, 0x300, 0x6e, 0x3b, 0xcc,
+0x67, 0x62, 0x3b, 0x190, 0x300, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x3b, 0x41, 0x67, 0x25b, 0x3b, 0xd2, 0x67, 0xfa, 0x3b,
+0x4f, 0x77, 0x65, 0x3b, 0x186, 0x300, 0x77, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0x3b, 0x186, 0x300, 0x70, 0x25b, 0x3b, 0x4f, 0x73,
+0x68, 0xf9, 0x20, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x25b, 0x301, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c,
+0xe8, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x190, 0x72, 0x25b, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xcc,
+0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x190, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x73, 0x68, 0xf9,
+0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x41, 0x67, 0x25b, 0x6d, 0x254, 0x3b, 0x4f, 0x73,
+0x68, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f,
+0x73, 0x68, 0xf9, 0x20, 0x186, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa,
+0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x186, 0x300, 0x70, 0x25b, 0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b,
+0x4d, 0x61, 0x73, 0x3b, 0x45, 0x70, 0x68, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b,
+0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b,
+0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d,
+0x61, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x68, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75,
+0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70,
+0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d,
+0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d,
+0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b,
+0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a,
+0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f,
+0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72,
+0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b,
+0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74,
+0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e,
+0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x458, 0x430, 0x43d,
+0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d,
+0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x443, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432,
+0x3b, 0x434, 0x435, 0x446, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b,
+0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b,
+0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x443, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430,
+0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434,
+0x435, 0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x4a, 0x2d, 0x67, 0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72,
+0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61,
+0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72,
+0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69,
+0x72, 0x3b, 0x4a, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x2d, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b,
+0x4d, 0x2d, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75,
+0x72, 0x65, 0x65, 0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x67, 0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b,
+0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x65, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79,
+0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79,
+0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65,
+0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75,
+0x79, 0x69, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e,
+0x79, 0x20, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x47, 0x65, 0x6e, 0x3b, 0x48, 0x77, 0x65, 0x3b, 0x4d, 0x65,
+0x75, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b, 0x4d, 0x65, 0x74, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74,
+0x3b, 0x47, 0x77, 0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x6d, 0x69, 0x73, 0x20,
+0x47, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x48, 0x77, 0x65, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x6d,
+0x69, 0x73, 0x20, 0x4d, 0x65, 0x75, 0x72, 0x74, 0x68, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b,
+0x6d, 0x69, 0x73, 0x20, 0x4d, 0x65, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4d, 0x65, 0x74, 0x68, 0x65, 0x76, 0x65, 0x6e, 0x3b,
+0x6d, 0x69, 0x73, 0x20, 0x47, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x45, 0x73,
+0x74, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x47, 0x77, 0x79, 0x6e, 0x6e, 0x67, 0x61, 0x6c, 0x61, 0x3b, 0x6d, 0x69, 0x73, 0x20,
+0x48, 0x65, 0x64, 0x72, 0x61, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x44, 0x75, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4b, 0x65, 0x76,
+0x61, 0x72, 0x64, 0x68, 0x75, 0x3b, 0x53, 0x2d, 0x186, 0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186, 0x3b, 0x45, 0x2d,
+0x4f, 0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f, 0x2d, 0x41, 0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186, 0x3b, 0x46, 0x2d,
+0x190, 0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186, 0x2d, 0x4f, 0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x61, 0x2d,
+0x186, 0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b, 0x4b, 0x77, 0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d, 0x186, 0x67, 0x79, 0x65, 0x66,
+0x75, 0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77, 0x2d, 0x186, 0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62, 0x254, 0x62, 0x69,
+0x72, 0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72, 0x69, 0x73, 0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f, 0x77, 0x20, 0x41,
+0x6b, 0x65, 0x74, 0x73, 0x65, 0x61, 0x62, 0x61, 0x2d, 0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x4f,
+0x62, 0x69, 0x72, 0x61, 0x64, 0x65, 0x2d, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d, 0x75, 0x3b, 0x41,
+0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d, 0x4b, 0x69, 0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b, 0x44, 0x69, 0x66,
+0x75, 0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e, 0x64, 0x61, 0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61, 0x2d, 0x190, 0x62,
+0x254, 0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b, 0x2d, 0x41, 0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186, 0x62, 0x65, 0x72,
+0x25b, 0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62, 0x75, 0x62, 0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d, 0x186, 0x70, 0x25b,
+0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930,
+0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e,
+0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x92f, 0x3b, 0x906, 0x917, 0x94b, 0x938, 0x94d, 0x924, 0x3b, 0x938,
+0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d,
+0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x46, 0x65,
+0x62, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75,
+0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69,
+0x73, 0x3b, 0x4a, 0x65, 0x6e, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb,
+0x3b, 0x4d, 0x61, 0x61, 0x63, 0x68, 0x1ecb, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x65, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a,
+0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x1ecb, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70,
+0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61,
+0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a,
+0x3b, 0x4a, 0x3b, 0x1ecc, 0x3b, 0x53, 0x3b, 0x1ecc, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x65, 0x6c,
+0x3b, 0x4b, 0x74, 0x169, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x74, 0x6e, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x6f,
+0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x4b, 0x6e, 0x64, 0x3b, 0x128, 0x6b, 0x75, 0x3b, 0x128, 0x6b, 0x6d, 0x3b, 0x128, 0x6b, 0x6c,
+0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74,
+0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20,
+0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x68,
+0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x75, 0x6f, 0x6e,
+0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x79, 0x61, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d,
+0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61,
+0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69,
+0x20, 0x6e, 0x61, 0x20, 0x129, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75,
+0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b,
+0x54, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x5a, 0x65, 0x6e, 0x3b, 0x46, 0x65,
+0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x3b, 0x4c, 0x75,
+0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69,
+0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0xe2, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x3b,
+0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x6e, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41,
+0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x61, 0x72,
+0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x5a,
+0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e,
+0x3b, 0x44, 0x3b, 0x64, 0x7a, 0x76, 0x3b, 0x64, 0x7a, 0x64, 0x3b, 0x74, 0x65, 0x64, 0x3b, 0x61, 0x66, 0x254, 0x3b, 0x64,
+0x61, 0x6d, 0x3b, 0x6d, 0x61, 0x73, 0x3b, 0x73, 0x69, 0x61, 0x3b, 0x64, 0x65, 0x61, 0x3b, 0x61, 0x6e, 0x79, 0x3b, 0x6b,
+0x65, 0x6c, 0x3b, 0x61, 0x64, 0x65, 0x3b, 0x64, 0x7a, 0x6d, 0x3b, 0x64, 0x7a, 0x6f, 0x76, 0x65, 0x3b, 0x64, 0x7a, 0x6f,
+0x64, 0x7a, 0x65, 0x3b, 0x74, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x61, 0x66, 0x254, 0x66, 0x129, 0x65, 0x3b, 0x64, 0x61,
+0x6d, 0x61, 0x3b, 0x6d, 0x61, 0x73, 0x61, 0x3b, 0x73, 0x69, 0x61, 0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x64, 0x65, 0x61, 0x73,
+0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x61, 0x6e, 0x79, 0x254, 0x6e, 0x79, 0x254, 0x3b, 0x6b, 0x65, 0x6c, 0x65, 0x3b,
+0x61, 0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x64, 0x3b,
+0x64, 0x3b, 0x74, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x64, 0x3b, 0x61, 0x3b, 0x6b, 0x3b, 0x61, 0x3b,
+0x64, 0x3b, 0x49, 0x61, 0x6e, 0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e, 0x3b, 0x4d, 0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70,
+0x2e, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b, 0x49, 0x75, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e,
+0x3b, 0x4b, 0x65, 0x70, 0x2e, 0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b, 0x4e, 0x6f, 0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e,
+0x3b, 0x49, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65, 0x70, 0x65, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d,
+0x61, 0x6c, 0x61, 0x6b, 0x69, 0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c, 0x69, 0x6c, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49,
+0x75, 0x6e, 0x65, 0x3b, 0x49, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x75, 0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65,
+0x70, 0x61, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f,
+0x77, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x45, 0x6e, 0x65, 0x3b,
+0x50, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b,
+0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b,
+0x44, 0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61,
+0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f,
+0x3b, 0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d,
+0x62, 0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72,
+0x65, 0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b,
+0x4d, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b,
+0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62,
+0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b,
+0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x63, 0x68, 0x74, 0x3b, 0x53,
+0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f,
+0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xa2cd, 0xa1aa, 0x3b, 0xa44d,
+0xa1aa, 0x3b, 0xa315, 0xa1aa, 0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c, 0xa1aa, 0x3b, 0xa0d8, 0xa1aa, 0x3b, 0xa3c3, 0xa1aa, 0x3b, 0xa246, 0xa1aa, 0x3b,
+0xa22c, 0xa1aa, 0x3b, 0xa2b0, 0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa, 0x3b, 0xa2b0, 0xa44b, 0xa1aa, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46,
+0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75,
+0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b,
+0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x61, 0x72,
+0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c,
+0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73,
+0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x76, 0x65, 0x72, 0x3b,
+0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x111,
+0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, 0x6f, 0x3b, 0x6d, 0x69, 0x65,
+0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x3b, 0x10d, 0x61, 0x6b,
+0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x3b, 0x6f, 0x111, 0x111,
+0x61, 0x6a, 0x61, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e,
+0x6e, 0x75, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f,
+0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65,
+0x61, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e,
+0x6e, 0x75, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d,
+0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b,
+0xe1, 0x62, 0x6d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e,
+0x75, 0x3b, 0x4f, 0x3b, 0x47, 0x3b, 0x4e, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b,
+0x47, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b,
+0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69,
+0x3b, 0x62, 0x6f, 0x72, 0x67, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62,
+0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x3b, 0x43, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70,
+0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x43, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65,
+0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x43, 0x68, 0x61, 0x6e, 0x75, 0x61,
+0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70,
+0x69, 0x72, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61,
+0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b,
+0x69, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x62, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62,
+0x61, 0x3b, 0x43, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b,
+0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x49, 0x6d, 0x62, 0x3b, 0x4b, 0x61, 0x77, 0x3b, 0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61,
+0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4b, 0x61, 0x72, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b,
+0x65, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67,
+0x68, 0x77, 0x61, 0x20, 0x69, 0x6d, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61,
+0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x64, 0x61,
+0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f,
+0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20,
+0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20,
+0x67, 0x68, 0x77, 0x61, 0x20, 0x6d, 0x66, 0x75, 0x6e, 0x67, 0x61, 0x64, 0x65, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67,
+0x68, 0x77, 0x61, 0x20, 0x77, 0x75, 0x6e, 0x79, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68,
+0x77, 0x61, 0x20, 0x69, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20,
+0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d,
+0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77, 0x65, 0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77,
+0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x77, 0x69, 0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b,
+0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73,
+0x69, 0x69, 0x3b, 0x63, 0x6f, 0x6c, 0x3b, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0x65, 0x65, 0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b,
+0x6f, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x3b, 0x6a, 0x75, 0x6b, 0x3b, 0x73, 0x6c, 0x74, 0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a,
+0x6f, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x6f, 0x3b, 0x63, 0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d,
+0x62, 0x6f, 0x6f, 0x79, 0x3b, 0x73, 0x65, 0x65, 0x257, 0x74, 0x6f, 0x3b, 0x64, 0x75, 0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b,
+0x6f, 0x72, 0x73, 0x65, 0x3b, 0x6d, 0x6f, 0x72, 0x73, 0x6f, 0x3b, 0x6a, 0x75, 0x6b, 0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c,
+0x74, 0x6f, 0x3b, 0x79, 0x61, 0x72, 0x6b, 0x6f, 0x6d, 0x61, 0x61, 0x3b, 0x6a, 0x6f, 0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f,
+0x77, 0x74, 0x65, 0x3b, 0x73, 0x3b, 0x63, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x64, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b,
+0x73, 0x3b, 0x79, 0x3b, 0x6a, 0x3b, 0x62, 0x3b, 0x4a, 0x45, 0x4e, 0x3b, 0x57, 0x4b, 0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b,
+0x57, 0x4b, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x57, 0x54, 0x44, 0x3b, 0x57, 0x4d, 0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b,
+0x57, 0x4b, 0x44, 0x3b, 0x57, 0x49, 0x4b, 0x3b, 0x57, 0x4d, 0x57, 0x3b, 0x44, 0x49, 0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e,
+0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d,
+0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65,
+0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61,
+0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x64,
+0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a,
+0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77,
+0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77,
+0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169,
+0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4e, 0x64, 0x69, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61,
+0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49,
+0x3b, 0x49, 0x3b, 0x44, 0x3b, 0x4f, 0x62, 0x6f, 0x3b, 0x57, 0x61, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67,
+0x3b, 0x49, 0x6d, 0x65, 0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53, 0x61, 0x70, 0x3b, 0x49, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x61,
+0x3b, 0x54, 0x6f, 0x6d, 0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x54, 0x6f, 0x77, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65,
+0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c,
+0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6b, 0x75, 0x6e, 0x69, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65,
+0x20, 0x6f, 0x6e, 0x67, 0x2019, 0x77, 0x61, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65,
+0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6c, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c,
+0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x69, 0x65, 0x74,
+0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c,
+0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f,
+0x6e, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20,
+0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4f, 0x3b, 0x57, 0x3b, 0x4f, 0x3b, 0x4f, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b,
+0x49, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61,
+0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75,
+0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61,
+0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f,
+0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75,
+0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f,
+0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63,
+0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x5a, 0x69, 0x62, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x3b, 0x4d, 0x62, 0x69, 0x3b, 0x4d,
+0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x77, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75, 0x3b, 0x4e, 0x63, 0x77, 0x3b,
+0x4d, 0x70, 0x61, 0x6e, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x3b, 0x5a, 0x69,
+0x62, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x6c, 0x61, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x6c, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d,
+0x62, 0x69, 0x6d, 0x62, 0x69, 0x74, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x62, 0x61, 0x73, 0x61, 0x3b, 0x4e, 0x6b, 0x77, 0x65,
+0x6e, 0x6b, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75,
+0x6c, 0x69, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4e, 0x63, 0x77, 0x61, 0x62, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4d, 0x70,
+0x61, 0x6e, 0x64, 0x75, 0x6c, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x6d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x7a, 0x69, 0x3b,
+0x4d, 0x70, 0x61, 0x6c, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x5a, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b,
+0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x31, 0x3b, 0x4d, 0x32, 0x3b,
+0x4d, 0x33, 0x3b, 0x4d, 0x34, 0x3b, 0x4d, 0x35, 0x3b, 0x4d, 0x36, 0x3b, 0x4d, 0x37, 0x3b, 0x4d, 0x38, 0x3b, 0x4d, 0x39,
+0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61,
+0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b,
+0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69,
+0x20, 0x77, 0x61, 0x20, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x69,
+0x74, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65,
+0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
+0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b,
+0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f,
+0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61,
+0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x53,
+0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x2d49, 0x2d4f, 0x2d4f, 0x3b, 0x2d31, 0x2d55, 0x2d30, 0x3b, 0x2d4e,
+0x2d30, 0x2d55, 0x3b, 0x2d49, 0x2d31, 0x2d54, 0x3b, 0x2d4e, 0x2d30, 0x2d62, 0x3b, 0x2d62, 0x2d53, 0x2d4f, 0x3b, 0x2d62, 0x2d53, 0x2d4d, 0x3b, 0x2d56,
+0x2d53, 0x2d5b, 0x3b, 0x2d5b, 0x2d53, 0x2d5c, 0x3b, 0x2d3d, 0x2d5c, 0x2d53, 0x3b, 0x2d4f, 0x2d53, 0x2d61, 0x3b, 0x2d37, 0x2d53, 0x2d4a, 0x3b, 0x2d49,
+0x2d4f, 0x2d4f, 0x2d30, 0x2d62, 0x2d54, 0x3b, 0x2d31, 0x2d55, 0x2d30, 0x2d62, 0x2d55, 0x3b, 0x2d4e, 0x2d30, 0x2d55, 0x2d5a, 0x3b, 0x2d49, 0x2d31, 0x2d54,
+0x2d49, 0x2d54, 0x3b, 0x2d4e, 0x2d30, 0x2d62, 0x2d62, 0x2d53, 0x3b, 0x2d62, 0x2d53, 0x2d4f, 0x2d62, 0x2d53, 0x3b, 0x2d62, 0x2d53, 0x2d4d, 0x2d62, 0x2d53,
+0x2d63, 0x3b, 0x2d56, 0x2d53, 0x2d5b, 0x2d5c, 0x3b, 0x2d5b, 0x2d53, 0x2d5c, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b, 0x2d3d, 0x2d5c, 0x2d53, 0x2d31,
+0x2d54, 0x3b, 0x2d4f, 0x2d53, 0x2d61, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b, 0x2d37, 0x2d53, 0x2d4a, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b,
+0x2d49, 0x3b, 0x2d31, 0x3b, 0x2d4e, 0x3b, 0x2d49, 0x3b, 0x2d4e, 0x3b, 0x2d62, 0x3b, 0x2d62, 0x3b, 0x2d56, 0x3b, 0x2d5b, 0x3b, 0x2d3d, 0x3b,
+0x2d4f, 0x3b, 0x2d37, 0x3b, 0x69, 0x6e, 0x6e, 0x3b, 0x62, 0x1e5b, 0x61, 0x3b, 0x6d, 0x61, 0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b,
+0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x263, 0x75, 0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b,
+0x6b, 0x74, 0x75, 0x3b, 0x6e, 0x75, 0x77, 0x3b, 0x64, 0x75, 0x6a, 0x3b, 0x69, 0x6e, 0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62,
+0x1e5b, 0x61, 0x79, 0x1e5b, 0x3b, 0x6d, 0x61, 0x1e5b, 0x1e63, 0x3b, 0x69, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79,
+0x75, 0x3b, 0x79, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b,
+0x63, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e,
+0x62, 0x69, 0x72, 0x3b, 0x64, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x69, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69,
+0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b, 0x263, 0x3b, 0x63, 0x3b, 0x6b, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e,
+0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e,
+0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x57, 0x61, 0x6d,
+0x3b, 0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b,
+0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b,
+0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65,
+0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, 0x62, 0x65, 0x1e5b, 0x3b, 0x57, 0x61, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75,
+0x1e7, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59,
+0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d,
+0x65, 0x263, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194,
+0x75, 0x63, 0x3b, 0x43, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x4e, 0x75, 0x6e, 0x3b, 0x44, 0x75, 0x1e7, 0x3b, 0x59,
+0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73,
+0x3b, 0x59, 0x65, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b,
+0x59, 0x75, 0x6c, 0x79, 0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54,
+0x75, 0x62, 0x65, 0x1e5b, 0x3b, 0x4e, 0x75, 0x6e, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62,
+0x65, 0x1e5b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x194, 0x3b, 0x42, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4c, 0x3b, 0x43, 0x3b, 0x54,
+0x3b, 0x52, 0x3b, 0x57, 0x3b, 0x44, 0x3b, 0x4b, 0x42, 0x5a, 0x3b, 0x4b, 0x42, 0x52, 0x3b, 0x4b, 0x53, 0x54, 0x3b, 0x4b,
+0x4b, 0x4e, 0x3b, 0x4b, 0x54, 0x4e, 0x3b, 0x4b, 0x4d, 0x4b, 0x3b, 0x4b, 0x4d, 0x53, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b,
+0x4d, 0x57, 0x3b, 0x4b, 0x4b, 0x4d, 0x3b, 0x4b, 0x4e, 0x4b, 0x3b, 0x4b, 0x4e, 0x42, 0x3b, 0x4f, 0x6b, 0x77, 0x6f, 0x6b,
+0x75, 0x62, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x6b,
+0x77, 0x61, 0x6b, 0x61, 0x73, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f,
+0x6b, 0x77, 0x61, 0x6b, 0x61, 0x74, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61,
+0x67, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x6a, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61,
+0x6d, 0x75, 0x6e, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x77, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4f,
+0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e,
+0x61, 0x20, 0x6b, 0x75, 0x6d, 0x77, 0x65, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61,
+0x20, 0x69, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x48, 0x75, 0x74, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x44, 0x61, 0x74, 0x3b, 0x54,
+0x61, 0x69, 0x3b, 0x48, 0x61, 0x6e, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54,
+0x69, 0x73, 0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4b, 0x6d, 0x6a, 0x3b, 0x4b, 0x6d, 0x62, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77,
+0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x68, 0x75, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d,
+0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20,
+0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61,
+0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x74, 0x61, 0x69, 0x3b, 0x70, 0x61,
+0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70,
+0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x70, 0x61,
+0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x20,
+0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x70, 0x61, 0x20, 0x6d,
+0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77,
+0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65,
+0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61,
+0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20,
+0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x48, 0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x53,
+0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69,
+0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69,
+0x6c, 0x79, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x61, 0x69,
+0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74,
+0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b,
+0x7a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x77, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a,
+0x75, 0x77, 0x3b, 0x7a, 0x75, 0x6c, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x3b, 0x254, 0x6b, 0x75, 0x3b, 0x6e,
+0x6f, 0x77, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x77, 0x75, 0x79, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x72,
+0x75, 0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x61, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d,
+0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x25b, 0x6e, 0x3b, 0x7a, 0x75, 0x6c, 0x75, 0x79, 0x65, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73,
+0x25b, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x254, 0x6b, 0x75, 0x74, 0x254, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x6e,
+0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x5a,
+0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x5a, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x186, 0x3b, 0x4e,
+0x3b, 0x44, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x61, 0x69, 0x3b, 0x4b, 0x61, 0x74, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x47,
+0x61, 0x74, 0x3b, 0x47, 0x61, 0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x4b, 0x6e, 0x6e, 0x3b, 0x4b, 0x65, 0x6e, 0x3b, 0x49,
+0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x67, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
+0x6d, 0x62, 0x65, 0x72, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x129, 0x72, 0x69,
+0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77,
+0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61,
+0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74,
+0x61, 0x6e, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77,
+0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61,
+0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72,
+0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20,
+0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20,
+0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x4b, 0x61, 0x129, 0x72, 0x129, 0x3b, 0x4d, 0x3b,
+0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b,
+0x49, 0x3b, 0x13a4, 0x13c3, 0x3b, 0x13a7, 0x13a6, 0x3b, 0x13a0, 0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, 0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad, 0x3b,
+0x13ab, 0x13f0, 0x3b, 0x13a6, 0x13b6, 0x3b, 0x13da, 0x13b5, 0x3b, 0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, 0x3b, 0x13a5, 0x13cd, 0x3b, 0x13a4, 0x13c3,
+0x13b8, 0x13d4, 0x13c5, 0x3b, 0x13a7, 0x13a6, 0x13b5, 0x3b, 0x13a0, 0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, 0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd, 0x13ac,
+0x13d8, 0x3b, 0x13d5, 0x13ad, 0x13b7, 0x13f1, 0x3b, 0x13ab, 0x13f0, 0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, 0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd, 0x13d7,
+0x3b, 0x13da, 0x13c2, 0x13c5, 0x13d7, 0x3b, 0x13c5, 0x13d3, 0x13d5, 0x13c6, 0x3b, 0x13a5, 0x13cd, 0x13a9, 0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7, 0x3b,
+0x13a0, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13d5, 0x3b, 0x13ab, 0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, 0x13da, 0x3b, 0x13c5, 0x3b, 0x13a5, 0x3b,
+0x7a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x6d, 0x65, 0x3b, 0x7a,
+0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e,
+0x6f, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x69, 0x79,
+0x65, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b,
+0x7a, 0x69, 0x6c, 0x79, 0x65, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x3b, 0x6f, 0x6b, 0x74,
+0x6f, 0x62, 0x3b, 0x6e, 0x6f, 0x76, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6d, 0x3b, 0x7a, 0x3b, 0x66, 0x3b, 0x6d,
+0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x7a, 0x3b, 0x7a, 0x3b, 0x6f, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4d,
+0x77, 0x65, 0x64, 0x69, 0x20, 0x4e, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61,
+0x20, 0x50, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x54, 0x61, 0x74, 0x75, 0x3b,
+0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65,
+0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77,
+0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x6d, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64,
+0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x76, 0x69, 0x6c,
+0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61,
+0x20, 0x4d, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79,
+0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69,
+0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f,
+0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20,
+0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61,
+0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61,
+0x20, 0x4d, 0x3b, 0x46, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x65, 0x65,
+0x6e, 0x64, 0x61, 0x3b, 0x49, 0x6b, 0xfa, 0x6d, 0x69, 0x3b, 0x49, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0x61, 0x6c, 0x61, 0x3b,
+0x49, 0x64, 0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x56, 0x268, 0x268, 0x72,
+0x268, 0x3b, 0x53, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x49, 0x6e, 0x79, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x53,
+0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x289, 0x66, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4b, 0x289, 0x6e, 0x61,
+0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x289, 0x6b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6b, 0x75, 0x6d,
+0x69, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x64,
+0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4b, 0x289, 0x6d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x4b, 0x289, 0x76, 0x268,
+0x268, 0x72, 0x268, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x69, 0x3b,
+0x4b, 0x289, 0x73, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x46, 0x3b, 0x4e,
+0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x53,
+0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x75, 0x3b, 0x4d, 0x61, 0x61,
+0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x69,
+0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x46,
+0x65, 0x62, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x70, 0x75, 0x6c,
+0x69, 0x3b, 0x4d, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x61, 0x79,
+0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x69, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x62, 0x75, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61,
+0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65,
+0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x45, 0x70,
+0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65,
+0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72,
+0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72,
+0x65, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67,
+0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61,
+0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46,
+0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44,
+0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69,
+0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75,
+0x3b, 0x4e, 0x75, 0x76, 0x3b, 0x44, 0x69, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x46, 0x65, 0x62, 0x72,
+0x65, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x75, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x75,
+0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x75, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b,
+0x53, 0x65, 0x74, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x65,
+0x6e, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x7a, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x41, 0x4e, 0x3b, 0x46, 0x45,
+0x42, 0x3b, 0x4d, 0x41, 0x43, 0x3b, 0x128, 0x50, 0x55, 0x3b, 0x4d, 0x128, 0x128, 0x3b, 0x4e, 0x4a, 0x55, 0x3b, 0x4e, 0x4a,
+0x52, 0x3b, 0x41, 0x47, 0x41, 0x3b, 0x53, 0x50, 0x54, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4e, 0x4f, 0x56, 0x3b, 0x44, 0x45,
+0x43, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x75, 0x61, 0x72, 0x129, 0x3b,
+0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x128, 0x70, 0x75, 0x72, 0x169, 0x3b, 0x4d, 0x129, 0x129, 0x3b, 0x4e, 0x6a, 0x75, 0x6e,
+0x69, 0x3b, 0x4e, 0x6a, 0x75, 0x72, 0x61, 0x129, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74,
+0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x169, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b,
+0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x128, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b,
+0x4e, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x61, 0x74,
+0x3b, 0x54, 0x61, 0x61, 0x3b, 0x49, 0x77, 0x6f, 0x3b, 0x4d, 0x61, 0x6d, 0x3b, 0x50, 0x61, 0x61, 0x3b, 0x4e, 0x67, 0x65,
+0x3b, 0x52, 0x6f, 0x6f, 0x3b, 0x42, 0x75, 0x72, 0x3b, 0x45, 0x70, 0x65, 0x3b, 0x4b, 0x70, 0x74, 0x3b, 0x4b, 0x70, 0x61,
+0x3b, 0x4d, 0x75, 0x6c, 0x67, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x2019, 0x61, 0x74, 0x79, 0x61, 0x61, 0x74, 0x6f, 0x3b, 0x4b,
+0x69, 0x70, 0x74, 0x61, 0x61, 0x6d, 0x6f, 0x3b, 0x49, 0x77, 0x6f, 0x6f, 0x74, 0x6b, 0x75, 0x75, 0x74, 0x3b, 0x4d, 0x61,
+0x6d, 0x75, 0x75, 0x74, 0x3b, 0x50, 0x61, 0x61, 0x67, 0x69, 0x3b, 0x4e, 0x67, 0x2019, 0x65, 0x69, 0x79, 0x65, 0x65, 0x74,
+0x3b, 0x52, 0x6f, 0x6f, 0x70, 0x74, 0x75, 0x69, 0x3b, 0x42, 0x75, 0x72, 0x65, 0x65, 0x74, 0x3b, 0x45, 0x70, 0x65, 0x65,
+0x73, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x20, 0x74, 0x61, 0x61, 0x69,
+0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x62, 0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67,
+0x2019, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, 0x4e, 0x3b, 0x52, 0x3b, 0x42, 0x3b,
+0x45, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x6e, 0x69, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x1c0,
+0x67, 0xf4, 0x61, 0x62, 0x3b, 0x1c0, 0x4b, 0x68, 0x75, 0x75, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c3, 0x48, 0xf4, 0x61,
+0x1c2, 0x6b, 0x68, 0x61, 0x69, 0x62, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x69, 0x74, 0x73, 0xe2, 0x62, 0x3b, 0x47, 0x61, 0x6d,
+0x61, 0x1c0, 0x61, 0x65, 0x62, 0x3b, 0x1c2, 0x4b, 0x68, 0x6f, 0x65, 0x73, 0x61, 0x6f, 0x62, 0x3b, 0x41, 0x6f, 0x1c1, 0x6b,
+0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x54, 0x61, 0x72, 0x61, 0x1c0, 0x6b, 0x68, 0x75, 0x75,
+0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c2, 0x4e, 0xfb, 0x1c1, 0x6e, 0xe2, 0x69, 0x73, 0x65, 0x62, 0x3b, 0x1c0,
+0x48, 0x6f, 0x6f, 0x1c2, 0x67, 0x61, 0x65, 0x62, 0x3b, 0x48, 0xf4, 0x61, 0x73, 0x6f, 0x72, 0x65, 0x1c1, 0x6b, 0x68, 0xe2,
+0x62, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0xe4, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x7a, 0x2e, 0x3b, 0x41, 0x70, 0x72,
+0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x4f, 0x75, 0x6a, 0x2e,
+0x3b, 0x53, 0xe4, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e,
+0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x3b, 0x46, 0xe4, 0x62, 0x72, 0x6f, 0x77, 0x61, 0x3b, 0x4d, 0xe4, 0xe4,
+0x7a, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a,
+0x75, 0x75, 0x6c, 0x69, 0x3b, 0x4f, 0x75, 0x6a, 0x6f, 0xdf, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72,
+0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x68, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44,
+0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0xe4, 0x62, 0x3b, 0x4d, 0xe4, 0x7a, 0x3b,
+0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x75, 0x6a, 0x3b,
+0x53, 0xe4, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x44, 0x61, 0x6c, 0x3b,
+0x41, 0x72, 0xe1, 0x3b, 0x186, 0x25b, 0x6e, 0x3b, 0x44, 0x6f, 0x79, 0x3b, 0x4c, 0xe9, 0x70, 0x3b, 0x52, 0x6f, 0x6b, 0x3b,
+0x53, 0xe1, 0x73, 0x3b, 0x42, 0x254, 0x301, 0x72, 0x3b, 0x4b, 0xfa, 0x73, 0x3b, 0x47, 0xed, 0x73, 0x3b, 0x53, 0x68, 0x289,
+0x301, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x3b, 0x4f, 0x6c, 0x61, 0x64, 0x61, 0x6c, 0x289, 0x301, 0x3b, 0x41, 0x72, 0xe1, 0x74,
+0x3b, 0x186, 0x25b, 0x6e, 0x268, 0x301, 0x254, 0x268, 0x14b, 0x254, 0x6b, 0x3b, 0x4f, 0x6c, 0x6f, 0x64, 0x6f, 0x79, 0xed, 0xf3,
+0x72, 0xed, 0xea, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4f, 0x6c, 0x6f, 0x69, 0x6c, 0xe9, 0x70, 0x16b,
+0x6e, 0x79, 0x12b, 0x113, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4b, 0xfa, 0x6a, 0xfa, 0x254, 0x72, 0x254,
+0x6b, 0x3b, 0x4d, 0xf3, 0x72, 0x75, 0x73, 0xe1, 0x73, 0x69, 0x6e, 0x3b, 0x186, 0x6c, 0x254, 0x301, 0x268, 0x301, 0x62, 0x254,
+0x301, 0x72, 0xe1, 0x72, 0x25b, 0x3b, 0x4b, 0xfa, 0x73, 0x68, 0xee, 0x6e, 0x3b, 0x4f, 0x6c, 0x67, 0xed, 0x73, 0x61, 0x6e,
+0x3b, 0x50, 0x289, 0x73, 0x68, 0x289, 0x301, 0x6b, 0x61, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x14b, 0x289, 0x301, 0x73, 0x3b, 0x4a,
+0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a,
+0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e,
+0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41,
+0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53,
+0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4d,
+0x75, 0x6b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x6f, 0x64, 0x3b, 0x4a,
+0x6f, 0x6c, 0x3b, 0x50, 0x65, 0x64, 0x3b, 0x53, 0x6f, 0x6b, 0x3b, 0x54, 0x69, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b, 0x50,
+0x6f, 0x6f, 0x3b, 0x4f, 0x72, 0x61, 0x72, 0x61, 0x3b, 0x4f, 0x6d, 0x75, 0x6b, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x67,
+0x2019, 0x3b, 0x4f, 0x64, 0x75, 0x6e, 0x67, 0x2019, 0x65, 0x6c, 0x3b, 0x4f, 0x6d, 0x61, 0x72, 0x75, 0x6b, 0x3b, 0x4f, 0x6d,
+0x6f, 0x64, 0x6f, 0x6b, 0x2019, 0x6b, 0x69, 0x6e, 0x67, 0x2019, 0x6f, 0x6c, 0x3b, 0x4f, 0x6a, 0x6f, 0x6c, 0x61, 0x3b, 0x4f,
+0x70, 0x65, 0x64, 0x65, 0x6c, 0x3b, 0x4f, 0x73, 0x6f, 0x6b, 0x6f, 0x73, 0x6f, 0x6b, 0x6f, 0x6d, 0x61, 0x3b, 0x4f, 0x74,
+0x69, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x3b, 0x4f, 0x70, 0x6f, 0x6f, 0x3b, 0x52, 0x3b, 0x4d,
+0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x50,
+0x3b, 0x17d, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x69, 0x3b, 0x4d, 0x65, 0x3b,
+0x17d, 0x75, 0x77, 0x3b, 0x17d, 0x75, 0x79, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e,
+0x6f, 0x6f, 0x3b, 0x44, 0x65, 0x65, 0x3b, 0x17d, 0x61, 0x6e, 0x77, 0x69, 0x79, 0x65, 0x3b, 0x46, 0x65, 0x65, 0x77, 0x69,
+0x72, 0x69, 0x79, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x41, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65,
+0x3b, 0x17d, 0x75, 0x77, 0x65, 0x14b, 0x3b, 0x17d, 0x75, 0x79, 0x79, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x74,
+0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x75, 0x72, 0x3b, 0x4e, 0x6f, 0x6f, 0x77, 0x61,
+0x6e, 0x62, 0x75, 0x72, 0x3b, 0x44, 0x65, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x17d, 0x3b, 0x46, 0x3b, 0x4d,
+0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x17d, 0x3b, 0x17d, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44,
+0x41, 0x43, 0x3b, 0x44, 0x41, 0x52, 0x3b, 0x44, 0x41, 0x44, 0x3b, 0x44, 0x41, 0x4e, 0x3b, 0x44, 0x41, 0x48, 0x3b, 0x44,
+0x41, 0x55, 0x3b, 0x44, 0x41, 0x4f, 0x3b, 0x44, 0x41, 0x42, 0x3b, 0x44, 0x4f, 0x43, 0x3b, 0x44, 0x41, 0x50, 0x3b, 0x44,
+0x47, 0x49, 0x3b, 0x44, 0x41, 0x47, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x63, 0x68, 0x69, 0x65,
+0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20,
+0x6d, 0x61, 0x72, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x6e, 0x67,
+0x2019, 0x77, 0x65, 0x6e, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, 0x44,
+0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x75, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d,
+0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41,
+0x62, 0x6f, 0x72, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4f, 0x63, 0x68, 0x69, 0x6b, 0x6f, 0x3b,
+0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72,
+0x20, 0x67, 0x69, 0x20, 0x61, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41,
+0x70, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x44, 0x3b, 0x4e,
+0x3b, 0x42, 0x3b, 0x55, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x59, 0x65, 0x6e,
+0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x49, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e,
+0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x75, 0x74, 0x3b, 0x4b, 0x1e6d, 0x75, 0x3b, 0x4e, 0x77, 0x61,
+0x3b, 0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x61, 0x79,
+0x65, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x49, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b,
+0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x75,
+0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x4b, 0x1e6d, 0x75, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x77, 0x61, 0x6e, 0x62, 0x69,
+0x72, 0x3b, 0x44, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4d,
+0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61,
+0x6c, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70,
+0x6c, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b,
+0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f,
+0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x91c,
+0x93e, 0x928, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e,
+0x93e, 0x930, 0x94d, 0x938, 0x3b, 0x90f, 0x92b, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c,
+0x941, 0x932, 0x93e, 0x907, 0x3b, 0x906, 0x917, 0x938, 0x94d, 0x925, 0x3b, 0x938, 0x947, 0x92c, 0x925, 0x947, 0x91c, 0x94d, 0x92c, 0x93c,
+0x930, 0x3b, 0x905, 0x916, 0x925, 0x92c, 0x930, 0x3b, 0x928, 0x92c, 0x947, 0x91c, 0x94d, 0x92c, 0x93c, 0x930, 0x3b, 0x926, 0x93f, 0x938,
+0x947, 0x91c, 0x94d, 0x92c, 0x93c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x947, 0x3b, 0x92e, 0x93e, 0x3b, 0x90f, 0x3b, 0x92e, 0x947, 0x3b,
+0x91c, 0x941, 0x3b, 0x91c, 0x941, 0x3b, 0x906, 0x3b, 0x938, 0x947, 0x3b, 0x905, 0x3b, 0x928, 0x3b, 0x926, 0x93f, 0x3b, 0x456, 0x486,
+0x430, 0x2de9, 0x487, 0x3b, 0x444, 0x435, 0x2de1, 0x487, 0x3b, 0x43c, 0x430, 0x2dec, 0x487, 0x3b, 0x430, 0x486, 0x43f, 0x2dec, 0x487, 0x3b,
+0x43c, 0x430, 0xa675, 0x3b, 0x456, 0x486, 0xa64b, 0x2de9, 0x487, 0x3b, 0x456, 0x486, 0xa64b, 0x2de7, 0x487, 0x3b, 0x430, 0x486, 0x301, 0x475,
+0x2de2, 0x487, 0x3b, 0x441, 0x435, 0x2deb, 0x487, 0x3b, 0x47b, 0x486, 0x43a, 0x2dee, 0x3b, 0x43d, 0x43e, 0x435, 0x2de8, 0x3b, 0x434, 0x435,
+0x2de6, 0x487, 0x3b, 0x456, 0x486, 0x430, 0x43d, 0x43d, 0xa64b, 0x430, 0x301, 0x440, 0x457, 0x439, 0x3b, 0x444, 0x435, 0x432, 0x440, 0xa64b,
+0x430, 0x301, 0x440, 0x457, 0x439, 0x3b, 0x43c, 0x430, 0x301, 0x440, 0x442, 0x44a, 0x3b, 0x430, 0x486, 0x43f, 0x440, 0x456, 0x301, 0x43b,
+0x43b, 0x457, 0x439, 0x3b, 0x43c, 0x430, 0x301, 0x457, 0x439, 0x3b, 0x456, 0x486, 0xa64b, 0x301, 0x43d, 0x457, 0x439, 0x3b, 0x456, 0x486,
+0xa64b, 0x301, 0x43b, 0x457, 0x439, 0x3b, 0x430, 0x486, 0x301, 0x475, 0x433, 0xa64b, 0x441, 0x442, 0x44a, 0x3b, 0x441, 0x435, 0x43f, 0x442,
+0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x439, 0x3b, 0x47b, 0x486, 0x43a, 0x442, 0x461, 0x301, 0x432, 0x440, 0x457, 0x439, 0x3b, 0x43d,
+0x43e, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x439, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x439, 0x3b,
+0x406, 0x486, 0x3b, 0x424, 0x3b, 0x41c, 0x3b, 0x410, 0x486, 0x3b, 0x41c, 0x3b, 0x406, 0x486, 0x3b, 0x406, 0x486, 0x3b, 0x410, 0x486,
+0x3b, 0x421, 0x3b, 0x47a, 0x486, 0x3b, 0x41d, 0x3b, 0x414, 0x3b, 0x456, 0x486, 0x430, 0x43d, 0x43d, 0xa64b, 0x430, 0x301, 0x440, 0x457,
+0x430, 0x3b, 0x444, 0x435, 0x432, 0x440, 0xa64b, 0x430, 0x301, 0x440, 0x457, 0x430, 0x3b, 0x43c, 0x430, 0x301, 0x440, 0x442, 0x430, 0x3b,
+0x430, 0x486, 0x43f, 0x440, 0x456, 0x301, 0x43b, 0x43b, 0x457, 0x430, 0x3b, 0x43c, 0x430, 0x301, 0x457, 0x430, 0x3b, 0x456, 0x486, 0xa64b,
+0x301, 0x43d, 0x457, 0x430, 0x3b, 0x456, 0x486, 0xa64b, 0x301, 0x43b, 0x457, 0x430, 0x3b, 0x430, 0x486, 0x301, 0x475, 0x433, 0xa64b, 0x441,
+0x442, 0x430, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x47b, 0x486, 0x43a, 0x442, 0x461,
+0x301, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x43d, 0x43e, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x434, 0x435, 0x43a, 0x435,
+0x301, 0x43c, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x43, 0x69, 0x6f, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x4c, 0x75, 0x73, 0x3b, 0x4d,
+0x75, 0x75, 0x3b, 0x4c, 0x75, 0x6d, 0x3b, 0x4c, 0x75, 0x66, 0x3b, 0x4b, 0x61, 0x62, 0x3b, 0x4c, 0x75, 0x73, 0x68, 0x3b,
+0x4c, 0x75, 0x74, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x43, 0x69, 0x73, 0x3b, 0x43, 0x69, 0x6f, 0x6e,
+0x67, 0x6f, 0x3b, 0x4c, 0xf9, 0x69, 0x73, 0x68, 0x69, 0x3b, 0x4c, 0x75, 0x73, 0xf2, 0x6c, 0x6f, 0x3b, 0x4d, 0xf9, 0x75,
+0x79, 0xe0, 0x3b, 0x4c, 0x75, 0x6d, 0xf9, 0x6e, 0x67, 0xf9, 0x6c, 0xf9, 0x3b, 0x4c, 0x75, 0x66, 0x75, 0x69, 0x6d, 0x69,
+0x3b, 0x4b, 0x61, 0x62, 0xe0, 0x6c, 0xe0, 0x73, 0x68, 0xec, 0x70, 0xf9, 0x3b, 0x4c, 0xf9, 0x73, 0x68, 0xec, 0x6b, 0xe0,
+0x3b, 0x4c, 0x75, 0x74, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x6f, 0x3b, 0x4c, 0x75, 0x6e, 0x67, 0xf9, 0x64, 0x69, 0x3b, 0x4b,
+0x61, 0x73, 0x77, 0xe8, 0x6b, 0xe8, 0x73, 0xe8, 0x3b, 0x43, 0x69, 0x73, 0x77, 0xe0, 0x3b, 0x43, 0x3b, 0x4c, 0x3b, 0x4c,
+0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x4a,
+0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x65, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a,
+0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e,
+0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61,
+0x72, 0x3b, 0x4d, 0xe4, 0x65, 0x72, 0x7a, 0x3b, 0x41, 0x62, 0x72, 0xeb, 0x6c, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a,
+0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74,
+0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62,
+0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62,
+0x2e, 0x3b, 0x4d, 0xe4, 0x65, 0x2e, 0x3b, 0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x69,
+0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e,
+0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x6e, 0xf9, 0x6d, 0x3b, 0x6b, 0x268, 0x7a, 0x3b, 0x74,
+0x268, 0x64, 0x3b, 0x74, 0x61, 0x61, 0x3b, 0x73, 0x65, 0x65, 0x3b, 0x6e, 0x7a, 0x75, 0x3b, 0x64, 0x75, 0x6d, 0x3b, 0x66,
+0x254, 0x65, 0x3b, 0x64, 0x7a, 0x75, 0x3b, 0x6c, 0x254, 0x6d, 0x3b, 0x6b, 0x61, 0x61, 0x3b, 0x66, 0x77, 0x6f, 0x3b, 0x6e,
+0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6e, 0xf9, 0x6d, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6b,
+0x197, 0x300, 0x7a, 0xf9, 0x294, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x74, 0x197, 0x300, 0x64, 0x289, 0x300,
+0x67, 0x68, 0xe0, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x74, 0x1ce, 0x61, 0x66, 0x289, 0x304, 0x67, 0x68,
+0x101, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0xe8, 0x73, 0xe8, 0x65, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254,
+0x300, 0x6e, 0x7a, 0xf9, 0x67, 0x68, 0xf2, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x64, 0xf9, 0x6d, 0x6c,
+0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6b, 0x77, 0xee, 0x66, 0x254, 0x300, 0x65, 0x3b, 0x6e, 0x64,
+0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x74, 0x197, 0x300, 0x66, 0x289, 0x300, 0x67, 0x68, 0xe0, 0x64, 0x7a, 0x75, 0x67, 0x68,
+0xf9, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x67, 0x68, 0x1d4, 0x75, 0x77, 0x65, 0x6c, 0x254, 0x300, 0x6d,
+0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x63, 0x68, 0x77, 0x61, 0x294, 0xe0, 0x6b, 0x61, 0x61, 0x20, 0x77,
+0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0xe8, 0x66, 0x77, 0xf2, 0x6f, 0x3b, 0x6e, 0x3b, 0x6b, 0x3b, 0x74, 0x3b,
+0x74, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x6b, 0x3b, 0x66, 0x3b, 0x64, 0x3b, 0x6c, 0x3b, 0x63, 0x3b, 0x66, 0x3b, 0x6b, 0x254,
+0x6e, 0x3b, 0x6d, 0x61, 0x63, 0x3b, 0x6d, 0x61, 0x74, 0x3b, 0x6d, 0x74, 0x6f, 0x3b, 0x6d, 0x70, 0x75, 0x3b, 0x68, 0x69,
+0x6c, 0x3b, 0x6e, 0x6a, 0x65, 0x3b, 0x68, 0x69, 0x6b, 0x3b, 0x64, 0x69, 0x70, 0x3b, 0x62, 0x69, 0x6f, 0x3b, 0x6d, 0x61,
+0x79, 0x3b, 0x6c, 0x69, 0x253, 0x3b, 0x4b, 0x254, 0x6e, 0x64, 0x254, 0x14b, 0x3b, 0x4d, 0xe0, 0x63, 0x25b, 0x302, 0x6c, 0x3b,
+0x4d, 0xe0, 0x74, 0xf9, 0x6d, 0x62, 0x3b, 0x4d, 0xe0, 0x74, 0x6f, 0x70, 0x3b, 0x4d, 0x300, 0x70, 0x75, 0x79, 0x25b, 0x3b,
+0x48, 0xec, 0x6c, 0xf2, 0x6e, 0x64, 0x25b, 0x300, 0x3b, 0x4e, 0x6a, 0xe8, 0x62, 0xe0, 0x3b, 0x48, 0xec, 0x6b, 0x61, 0x14b,
+0x3b, 0x44, 0xec, 0x70, 0x254, 0x300, 0x73, 0x3b, 0x42, 0xec, 0xf2, 0xf4, 0x6d, 0x3b, 0x4d, 0xe0, 0x79, 0x25b, 0x73, 0xe8,
+0x70, 0x3b, 0x4c, 0xec, 0x62, 0x75, 0x79, 0x20, 0x6c, 0x69, 0x20, 0x144, 0x79, 0xe8, 0x65, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b,
+0x6d, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x68, 0x3b, 0x6e, 0x3b, 0x68, 0x3b, 0x64, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x6c, 0x3b,
+0x64, 0x69, 0x3b, 0x14b, 0x67, 0x254, 0x6e, 0x3b, 0x73, 0x254, 0x14b, 0x3b, 0x64, 0x69, 0x253, 0x3b, 0x65, 0x6d, 0x69, 0x3b,
+0x65, 0x73, 0x254, 0x3b, 0x6d, 0x61, 0x64, 0x3b, 0x64, 0x69, 0x14b, 0x3b, 0x6e, 0x79, 0x25b, 0x74, 0x3b, 0x6d, 0x61, 0x79,
+0x3b, 0x74, 0x69, 0x6e, 0x3b, 0x65, 0x6c, 0xe1, 0x3b, 0x64, 0x69, 0x6d, 0x254, 0x301, 0x64, 0x69, 0x3b, 0x14b, 0x67, 0x254,
+0x6e, 0x64, 0x25b, 0x3b, 0x73, 0x254, 0x14b, 0x25b, 0x3b, 0x64, 0x69, 0x253, 0xe1, 0x253, 0xe1, 0x3b, 0x65, 0x6d, 0x69, 0x61,
+0x73, 0x65, 0x6c, 0x65, 0x3b, 0x65, 0x73, 0x254, 0x70, 0x25b, 0x73, 0x254, 0x70, 0x25b, 0x3b, 0x6d, 0x61, 0x64, 0x69, 0x253,
+0x25b, 0x301, 0x64, 0xed, 0x253, 0x25b, 0x301, 0x3b, 0x64, 0x69, 0x14b, 0x67, 0x69, 0x6e, 0x64, 0x69, 0x3b, 0x6e, 0x79, 0x25b,
+0x74, 0x25b, 0x6b, 0x69, 0x3b, 0x6d, 0x61, 0x79, 0xe9, 0x73, 0x25b, 0x301, 0x3b, 0x74, 0x69, 0x6e, 0xed, 0x6e, 0xed, 0x3b,
+0x65, 0x6c, 0xe1, 0x14b, 0x67, 0x25b, 0x301, 0x3b, 0x64, 0x3b, 0x14b, 0x3b, 0x73, 0x3b, 0x64, 0x3b, 0x65, 0x3b, 0x65, 0x3b,
+0x6d, 0x3b, 0x64, 0x3b, 0x6e, 0x3b, 0x6d, 0x3b, 0x74, 0x3b, 0x65, 0x3b, 0x53, 0x61, 0x3b, 0x46, 0x65, 0x3b, 0x4d, 0x61,
+0x3b, 0x41, 0x62, 0x3b, 0x4d, 0x65, 0x3b, 0x53, 0x75, 0x3b, 0x53, 0xfa, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x3b, 0x4f,
+0x6b, 0x3b, 0x4e, 0x6f, 0x3b, 0x44, 0x65, 0x3b, 0x53, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x46, 0xe9, 0x62, 0x69, 0x72,
+0x69, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x41, 0x62, 0x75, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53,
+0x75, 0x65, 0x14b, 0x3b, 0x53, 0xfa, 0x75, 0x79, 0x65, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x74, 0x65, 0x6d,
+0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72,
+0x3b, 0x44, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b,
+0x53, 0x3b, 0x53, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6e, 0x67, 0x6f, 0x3b, 0x6e, 0x67,
+0x62, 0x3b, 0x6e, 0x67, 0x6c, 0x3b, 0x6e, 0x67, 0x6e, 0x3b, 0x6e, 0x67, 0x74, 0x3b, 0x6e, 0x67, 0x73, 0x3b, 0x6e, 0x67,
+0x7a, 0x3b, 0x6e, 0x67, 0x6d, 0x3b, 0x6e, 0x67, 0x65, 0x3b, 0x6e, 0x67, 0x61, 0x3b, 0x6e, 0x67, 0x61, 0x64, 0x3b, 0x6e,
+0x67, 0x61, 0x62, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6f, 0x73, 0xfa, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x62, 0x25b,
+0x30c, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6c, 0xe1, 0x6c, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6e, 0x79, 0x69,
+0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x74, 0xe1, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x73, 0x61,
+0x6d, 0x259, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x7a, 0x61, 0x6d, 0x67, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x6e,
+0x67, 0x254, 0x6e, 0x20, 0x6d, 0x77, 0x6f, 0x6d, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x65, 0x62, 0x75, 0x6c, 0xfa, 0x3b,
+0x6e, 0x67, 0x254, 0x6e, 0x20, 0x61, 0x77, 0xf3, 0x6d, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x61, 0x77, 0xf3, 0x6d, 0x20,
+0x61, 0x69, 0x20, 0x64, 0x7a, 0x69, 0xe1, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x61, 0x77, 0xf3, 0x6d, 0x20, 0x61, 0x69,
+0x20, 0x62, 0x25b, 0x30c, 0x3b, 0x6f, 0x3b, 0x62, 0x3b, 0x6c, 0x3b, 0x6e, 0x3b, 0x74, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x6d,
+0x3b, 0x65, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x62, 0x3b, 0x14b, 0x31, 0x3b, 0x14b, 0x32, 0x3b, 0x14b, 0x33, 0x3b, 0x14b, 0x34,
+0x3b, 0x14b, 0x35, 0x3b, 0x14b, 0x36, 0x3b, 0x14b, 0x37, 0x3b, 0x14b, 0x38, 0x3b, 0x14b, 0x39, 0x3b, 0x14b, 0x31, 0x30, 0x3b,
+0x14b, 0x31, 0x31, 0x3b, 0x14b, 0x31, 0x32, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x20, 0x6e, 0x74, 0x254, 0x301, 0x6e,
+0x74, 0x254, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x62, 0x25b, 0x301, 0x25b, 0x3b, 0x14b, 0x77, 0xed,
+0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x72, 0xe1, 0xe1, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e,
+0x69, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x6e, 0x3b, 0x14b, 0x77, 0xed,
+0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x66, 0x254, 0x6b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b,
+0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x62, 0x25b, 0x25b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1,
+0x61, 0x72, 0x61, 0x61, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x6e, 0x69, 0x6e,
+0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, 0x6b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20,
+0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, 0x6b, 0x20, 0x64, 0x69, 0x20, 0x62, 0x254, 0x301, 0x6b, 0x3b, 0x14b, 0x77, 0xed,
+0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, 0x6b, 0x20, 0x64, 0x69, 0x20, 0x62, 0x25b, 0x301, 0x25b, 0x3b, 0x4b,
+0x77, 0x61, 0x3b, 0x55, 0x6e, 0x61, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x43, 0x68, 0x65, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d,
+0x6f, 0x63, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, 0x73, 0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4d,
+0x6f, 0x6a, 0x3b, 0x59, 0x65, 0x6c, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x77, 0x61, 0x6e,
+0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x61, 0x79, 0x65, 0x6c, 0x69, 0x3b,
+0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x72, 0x61, 0x72, 0x75, 0x3b, 0x4d, 0x77, 0x65,
+0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x63, 0x68, 0x65, 0x73, 0x68, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72,
+0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x74, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20,
+0x77, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x75, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x63, 0x68, 0x61, 0x3b, 0x4d, 0x77,
+0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f,
+0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b,
+0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20,
+0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72,
+0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x79, 0x65, 0x6c, 0x2019, 0x6c, 0x69, 0x3b,
+0x4b, 0x3b, 0x55, 0x3b, 0x52, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b,
+0x4d, 0x3b, 0x59, 0x3b, 0x46, 0x4c, 0x4f, 0x3b, 0x43, 0x4c, 0x41, 0x3b, 0x43, 0x4b, 0x49, 0x3b, 0x46, 0x4d, 0x46, 0x3b,
+0x4d, 0x41, 0x44, 0x3b, 0x4d, 0x42, 0x49, 0x3b, 0x4d, 0x4c, 0x49, 0x3b, 0x4d, 0x41, 0x4d, 0x3b, 0x46, 0x44, 0x45, 0x3b,
+0x46, 0x4d, 0x55, 0x3b, 0x46, 0x47, 0x57, 0x3b, 0x46, 0x59, 0x55, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x4c, 0x6f, 0x6f, 0x3b,
+0x43, 0x6f, 0x6b, 0x63, 0x77, 0x61, 0x6b, 0x6c, 0x61, 0x14b, 0x6e, 0x65, 0x3b, 0x43, 0x6f, 0x6b, 0x63, 0x77, 0x61, 0x6b,
+0x6c, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x4d, 0x61, 0x72, 0x66, 0x6f, 0x6f, 0x3b, 0x4d, 0x61, 0x64, 0x1dd, 0x1dd,
+0x75, 0x75, 0x74, 0x1dd, 0x62, 0x69, 0x6a, 0x61, 0x14b, 0x3b, 0x4d, 0x61, 0x6d, 0x1dd, 0x14b, 0x67, 0x77, 0xe3, 0x61, 0x66,
+0x61, 0x68, 0x62, 0x69, 0x69, 0x3b, 0x4d, 0x61, 0x6d, 0x1dd, 0x14b, 0x67, 0x77, 0xe3, 0x61, 0x6c, 0x69, 0x69, 0x3b, 0x4d,
+0x61, 0x64, 0x1dd, 0x6d, 0x62, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x44, 0x1dd, 0x253, 0x6c, 0x69, 0x69, 0x3b, 0x46,
+0x129, 0x69, 0x20, 0x4d, 0x75, 0x6e, 0x64, 0x61, 0x14b, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x47, 0x77, 0x61, 0x68, 0x6c, 0x6c,
+0x65, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x59, 0x75, 0x72, 0x75, 0x3b, 0x4f, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x46, 0x3b, 0x44,
+0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x55, 0x3b, 0x57, 0x3b, 0x59, 0x3b, 0x6e, 0x67, 0x31, 0x3b, 0x6e,
+0x67, 0x32, 0x3b, 0x6e, 0x67, 0x33, 0x3b, 0x6e, 0x67, 0x34, 0x3b, 0x6e, 0x67, 0x35, 0x3b, 0x6e, 0x67, 0x36, 0x3b, 0x6e,
+0x67, 0x37, 0x3b, 0x6e, 0x67, 0x38, 0x3b, 0x6e, 0x67, 0x39, 0x3b, 0x6e, 0x67, 0x31, 0x30, 0x3b, 0x6e, 0x67, 0x31, 0x31,
+0x3b, 0x6b, 0x72, 0x69, 0x73, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0xe1, 0x68, 0x72, 0x61, 0x3b,
+0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6d, 0x62, 0x61, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6c, 0x61,
+0x6c, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x74,
+0x61, 0x6e, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x74, 0x75, 0xf3, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20,
+0x68, 0x25b, 0x6d, 0x62, 0x75, 0x25b, 0x72, 0xed, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x6c, 0x254, 0x6d, 0x62, 0x69,
+0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x72, 0x25b, 0x62, 0x76, 0x75, 0xe2, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20,
+0x77, 0x75, 0x6d, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x77, 0x75, 0x6d, 0x20, 0x6e, 0x61, 0x76, 0x1d4, 0x72, 0x3b,
+0x6b, 0x72, 0xed, 0x73, 0x69, 0x6d, 0x69, 0x6e, 0x3b, 0x54, 0x69, 0x6f, 0x70, 0x3b, 0x50, 0x25b, 0x74, 0x3b, 0x44, 0x75,
+0x254, 0x331, 0x254, 0x331, 0x3b, 0x47, 0x75, 0x61, 0x6b, 0x3b, 0x44, 0x75, 0xe4, 0x3b, 0x4b, 0x6f, 0x72, 0x3b, 0x50, 0x61,
+0x79, 0x3b, 0x54, 0x68, 0x6f, 0x6f, 0x3b, 0x54, 0x25b, 0x25b, 0x3b, 0x4c, 0x61, 0x61, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x54,
+0x69, 0x64, 0x3b, 0x54, 0x69, 0x6f, 0x70, 0x20, 0x74, 0x68, 0x61, 0x72, 0x20, 0x70, 0x25b, 0x74, 0x3b, 0x50, 0x25b, 0x74,
+0x3b, 0x44, 0x75, 0x254, 0x331, 0x254, 0x331, 0x14b, 0x3b, 0x47, 0x75, 0x61, 0x6b, 0x3b, 0x44, 0x75, 0xe4, 0x74, 0x3b, 0x4b,
+0x6f, 0x72, 0x6e, 0x79, 0x6f, 0x6f, 0x74, 0x3b, 0x50, 0x61, 0x79, 0x20, 0x79, 0x69, 0x65, 0x331, 0x74, 0x6e, 0x69, 0x3b,
+0x54, 0x68, 0x6f, 0x331, 0x6f, 0x331, 0x72, 0x3b, 0x54, 0x25b, 0x25b, 0x72, 0x3b, 0x4c, 0x61, 0x61, 0x74, 0x68, 0x3b, 0x4b,
+0x75, 0x72, 0x3b, 0x54, 0x69, 0x6f, 0x331, 0x70, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x69, 0x331, 0x69, 0x331, 0x74, 0x3b, 0x54,
+0x3b, 0x50, 0x3b, 0x44, 0x3b, 0x47, 0x3b, 0x44, 0x3b, 0x4b, 0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x4b,
+0x3b, 0x54, 0x3b, 0x422, 0x43e, 0x445, 0x441, 0x3b, 0x41e, 0x43b, 0x443, 0x43d, 0x3b, 0x41a, 0x43b, 0x43d, 0x3b, 0x41c, 0x441, 0x443,
+0x3b, 0x42b, 0x430, 0x43c, 0x3b, 0x411, 0x44d, 0x441, 0x3b, 0x41e, 0x442, 0x439, 0x3b, 0x410, 0x442, 0x440, 0x3b, 0x411, 0x43b, 0x495,
+0x3b, 0x410, 0x43b, 0x442, 0x3b, 0x421, 0x44d, 0x442, 0x3b, 0x410, 0x445, 0x441, 0x3b, 0x442, 0x43e, 0x445, 0x441, 0x443, 0x43d, 0x43d,
+0x44c, 0x443, 0x3b, 0x43e, 0x43b, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x43a, 0x443, 0x43b, 0x443, 0x43d, 0x20, 0x442, 0x443, 0x442,
+0x430, 0x440, 0x3b, 0x43c, 0x443, 0x443, 0x441, 0x20, 0x443, 0x441, 0x442, 0x430, 0x440, 0x3b, 0x44b, 0x430, 0x43c, 0x20, 0x44b, 0x439,
+0x430, 0x3b, 0x431, 0x44d, 0x441, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x43e, 0x442, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x430, 0x442, 0x44b,
+0x440, 0x434, 0x44c, 0x44b, 0x445, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x431, 0x430, 0x43b, 0x430, 0x495, 0x430, 0x43d, 0x20, 0x44b, 0x439,
+0x430, 0x3b, 0x430, 0x43b, 0x442, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x441, 0x44d, 0x442, 0x438, 0x43d, 0x43d, 0x44c, 0x438, 0x3b,
+0x430, 0x445, 0x441, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x422, 0x3b, 0x41e, 0x3b, 0x41a, 0x3b, 0x41c, 0x3b, 0x42b, 0x3b, 0x411,
+0x3b, 0x41e, 0x3b, 0x410, 0x3b, 0x411, 0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x410, 0x3b, 0x422, 0x43e, 0x445, 0x441, 0x443, 0x43d, 0x43d,
+0x44c, 0x443, 0x3b, 0x41e, 0x43b, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x41a, 0x443, 0x43b, 0x443, 0x43d, 0x20, 0x442, 0x443, 0x442,
+0x430, 0x440, 0x3b, 0x41c, 0x443, 0x443, 0x441, 0x20, 0x443, 0x441, 0x442, 0x430, 0x440, 0x3b, 0x42b, 0x430, 0x43c, 0x20, 0x44b, 0x439,
+0x44b, 0x43d, 0x3b, 0x411, 0x44d, 0x441, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x41e, 0x442, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b,
+0x410, 0x442, 0x44b, 0x440, 0x434, 0x44c, 0x44b, 0x445, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x411, 0x430, 0x43b, 0x430, 0x495, 0x430,
+0x43d, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x410, 0x43b, 0x442, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x421, 0x44d, 0x442, 0x438,
+0x43d, 0x43d, 0x44c, 0x438, 0x3b, 0x430, 0x445, 0x441, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x4d, 0x75, 0x70, 0x3b, 0x4d, 0x77,
+0x69, 0x3b, 0x4d, 0x73, 0x68, 0x3b, 0x4d, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x67, 0x3b, 0x4d, 0x75, 0x6a, 0x3b, 0x4d, 0x73,
+0x70, 0x3b, 0x4d, 0x70, 0x67, 0x3b, 0x4d, 0x79, 0x65, 0x3b, 0x4d, 0x6f, 0x6b, 0x3b, 0x4d, 0x75, 0x73, 0x3b, 0x4d, 0x75,
+0x68, 0x3b, 0x4d, 0x75, 0x70, 0x61, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x77, 0x61, 0x3b, 0x4d, 0x77, 0x69, 0x74, 0x6f,
+0x70, 0x65, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x65, 0x6e, 0x64, 0x65, 0x3b, 0x4d, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4d, 0x75,
+0x73, 0x68, 0x65, 0x6e, 0x64, 0x65, 0x20, 0x4d, 0x61, 0x67, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x75, 0x6a, 0x69, 0x6d, 0x62,
+0x69, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x69, 0x70, 0x65, 0x70, 0x6f, 0x3b, 0x4d, 0x75, 0x70, 0x75, 0x67, 0x75, 0x74, 0x6f,
+0x3b, 0x4d, 0x75, 0x6e, 0x79, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x4d, 0x6f, 0x6b, 0x68, 0x75, 0x3b, 0x4d, 0x75, 0x73, 0x6f,
+0x6e, 0x67, 0x61, 0x6e, 0x64, 0x65, 0x6d, 0x62, 0x77, 0x65, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0xa5a8,
+0xa595, 0xa51e, 0x3b, 0xa552, 0xa561, 0x3b, 0xa57e, 0xa5ba, 0x3b, 0xa5a2, 0xa595, 0x3b, 0xa591, 0xa571, 0x3b, 0xa5b1, 0xa60b, 0x3b, 0xa5b1, 0xa55e,
+0x3b, 0xa5db, 0xa515, 0x3b, 0xa562, 0xa54c, 0x3b, 0xa56d, 0xa583, 0x3b, 0xa51e, 0xa60b, 0x3b, 0xa5a8, 0xa595, 0xa5cf, 0x3b, 0xa5a8, 0xa595, 0x20,
+0xa56a, 0xa574, 0x20, 0xa51e, 0xa500, 0xa56e, 0xa54a, 0x3b, 0xa552, 0xa561, 0xa59d, 0xa595, 0x3b, 0xa57e, 0xa5ba, 0x3b, 0xa5a2, 0xa595, 0x3b, 0xa591,
+0xa571, 0x3b, 0xa5b1, 0xa60b, 0x3b, 0xa5b1, 0xa55e, 0xa524, 0x3b, 0xa5db, 0xa515, 0x3b, 0xa562, 0xa54c, 0x3b, 0xa56d, 0xa583, 0x3b, 0xa51e, 0xa60b,
+0xa554, 0xa57f, 0x20, 0xa578, 0xa583, 0xa5cf, 0x3b, 0xa5a8, 0xa595, 0x20, 0xa56a, 0xa574, 0x20, 0xa5cf, 0xa5ba, 0xa56e, 0xa54a, 0x3b, 0x6c, 0x75,
+0x75, 0x6b, 0x61, 0x6f, 0x20, 0x6b, 0x65, 0x6d, 0xe3, 0x3b, 0x253, 0x61, 0x6e, 0x64, 0x61, 0x253, 0x75, 0x3b, 0x76, 0x254,
+0x254, 0x3b, 0x66, 0x75, 0x6c, 0x75, 0x3b, 0x67, 0x6f, 0x6f, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x6b, 0x254, 0x6e, 0x64, 0x65,
+0x3b, 0x73, 0x61, 0x61, 0x68, 0x3b, 0x67, 0x61, 0x6c, 0x6f, 0x3b, 0x6b, 0x65, 0x6e, 0x70, 0x6b, 0x61, 0x74, 0x6f, 0x20,
+0x253, 0x6f, 0x6c, 0x6f, 0x6c, 0x254, 0x3b, 0x6c, 0x75, 0x75, 0x6b, 0x61, 0x6f, 0x20, 0x6c, 0x254, 0x6d, 0x61, 0x3b, 0x4a,
+0x65, 0x6e, 0x3b, 0x48, 0x6f, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x42,
+0x72, 0xe1, 0x3b, 0x48, 0x65, 0x69, 0x3b, 0xd6, 0x69, 0x67, 0x3b, 0x48, 0x65, 0x72, 0x3b, 0x57, 0xed, 0x6d, 0x3b, 0x57,
+0x69, 0x6e, 0x3b, 0x43, 0x68, 0x72, 0x3b, 0x4a, 0x65, 0x6e, 0x6e, 0x65, 0x72, 0x3b, 0x48, 0x6f, 0x72, 0x6e, 0x69, 0x67,
+0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x65, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x6a, 0x65,
+0x3b, 0x42, 0x72, 0xe1, 0x10d, 0x65, 0x74, 0x3b, 0x48, 0x65, 0x69, 0x77, 0x65, 0x74, 0x3b, 0xd6, 0x69, 0x67, 0x161, 0x74,
+0x65, 0x3b, 0x48, 0x65, 0x72, 0x62, 0x161, 0x74, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x57, 0xed, 0x6d, 0xe1, 0x6e, 0x65,
+0x74, 0x3b, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x43, 0x68, 0x72, 0x69, 0x161, 0x74,
+0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x4a, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x42, 0x3b, 0x48, 0x3b,
+0xd6, 0x3b, 0x48, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x43, 0x3b, 0x6f, 0x2e, 0x31, 0x3b, 0x6f, 0x2e, 0x32, 0x3b, 0x6f, 0x2e,
+0x33, 0x3b, 0x6f, 0x2e, 0x34, 0x3b, 0x6f, 0x2e, 0x35, 0x3b, 0x6f, 0x2e, 0x36, 0x3b, 0x6f, 0x2e, 0x37, 0x3b, 0x6f, 0x2e,
+0x38, 0x3b, 0x6f, 0x2e, 0x39, 0x3b, 0x6f, 0x2e, 0x31, 0x30, 0x3b, 0x6f, 0x2e, 0x31, 0x31, 0x3b, 0x6f, 0x2e, 0x31, 0x32,
+0x3b, 0x70, 0x69, 0x6b, 0xed, 0x74, 0xed, 0x6b, 0xed, 0x74, 0x69, 0x65, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0xed, 0x20, 0xfa,
+0x20, 0x6b, 0x75, 0x74, 0xfa, 0x61, 0x6e, 0x3b, 0x73, 0x69, 0x25b, 0x79, 0x25b, 0x301, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69,
+0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x6e, 0x64, 0xed, 0x25b, 0x3b, 0x254, 0x6e, 0x73, 0xfa, 0x6d, 0x62, 0x254, 0x6c, 0x2c, 0x20,
+0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x74, 0xe1, 0x74, 0xfa, 0x25b, 0x3b, 0x6d, 0x65, 0x73, 0x69, 0x14b,
+0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe9, 0x6e, 0x69, 0x65, 0x3b, 0x65, 0x6e, 0x73, 0x69, 0x6c,
+0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x74, 0xe1, 0x6e, 0x75, 0x25b, 0x3b, 0x254, 0x73, 0x254,
+0x6e, 0x3b, 0x65, 0x66, 0x75, 0x74, 0x65, 0x3b, 0x70, 0x69, 0x73, 0x75, 0x79, 0xfa, 0x3b, 0x69, 0x6d, 0x25b, 0x14b, 0x20,
+0x69, 0x20, 0x70, 0x75, 0x254, 0x73, 0x3b, 0x69, 0x6d, 0x25b, 0x14b, 0x20, 0x69, 0x20, 0x70, 0x75, 0x74, 0xfa, 0x6b, 0x2c,
+0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x74, 0xed, 0x25b, 0x3b, 0x6d, 0x61, 0x6b, 0x61, 0x6e, 0x64, 0x69,
+0x6b, 0x25b, 0x3b, 0x70, 0x69, 0x6c, 0x254, 0x6e, 0x64, 0x254, 0x301, 0x3b, 0x58, 0x69, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b,
+0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x58, 0x75, 0x6e, 0x3b, 0x58, 0x6e, 0x74, 0x3b,
+0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x50, 0x61, 0x79, 0x3b, 0x41, 0x76, 0x69, 0x3b,
+0x78, 0x69, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x75, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x75,
+0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x75, 0x3b, 0x78, 0x75, 0x6e, 0x75, 0x3b, 0x78, 0x75, 0x6e,
+0x65, 0x74, 0x75, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x73, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65,
+0x3b, 0x6f, 0x63, 0x68, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x70, 0x61, 0x79, 0x61, 0x72, 0x65, 0x73, 0x3b, 0x61, 0x76, 0x69,
+0x65, 0x6e, 0x74, 0x75, 0x3b, 0x58, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, 0x58, 0x3b, 0x41,
+0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x78, 0x69, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72,
+0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x78, 0x75, 0x6e, 0x3b, 0x78, 0x6e, 0x74, 0x3b, 0x61, 0x67, 0x6f,
+0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x63, 0x68, 0x3b, 0x70, 0x61, 0x79, 0x3b, 0x61, 0x76, 0x69, 0x3b, 0x64, 0x65, 0x20,
+0x78, 0x69, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x75, 0x3b, 0x64, 0x65,
+0x20, 0x6d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61,
+0x79, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x78, 0x75, 0x6e, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x78, 0x75, 0x6e, 0x65, 0x74, 0x75,
+0x3b, 0x64, 0x2019, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x73, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62,
+0x72, 0x65, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x68, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x70, 0x61, 0x79, 0x61,
+0x72, 0x65, 0x73, 0x3b, 0x64, 0x2019, 0x61, 0x76, 0x69, 0x65, 0x6e, 0x74, 0x75, 0x3b, 0x4e, 0x64, 0x75, 0x14b, 0x6d, 0x62,
+0x69, 0x20, 0x53, 0x61, 0x14b, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x70, 0xe1, 0x3b, 0x50, 0x25b,
+0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x74, 0xe1, 0x74, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301,
+0x6e, 0x25b, 0x301, 0x6b, 0x77, 0x61, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x61, 0x74, 0x61, 0x61, 0x3b, 0x50,
+0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x6e, 0x74, 0xfa, 0x6b, 0xfa, 0x3b, 0x50, 0x25b, 0x73,
+0x61, 0x14b, 0x20, 0x53, 0x61, 0x61, 0x6d, 0x62, 0xe1, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e,
+0x25b, 0x301, 0x66, 0x254, 0x6d, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x70, 0x66,
+0xfa, 0xa78b, 0xfa, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x4e, 0x25b, 0x67, 0x25b, 0x301, 0x6d, 0x3b, 0x50, 0x25b, 0x73,
+0x61, 0x14b, 0x20, 0x4e, 0x74, 0x73, 0x254, 0x30c, 0x70, 0x6d, 0x254, 0x301, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x4e,
+0x74, 0x73, 0x254, 0x30c, 0x70, 0x70, 0xe1, 0x3b, 0x70, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b,
+0x6d, 0x62, 0x69, 0x79, 0x254, 0x20, 0x6d, 0x25b, 0x6e, 0x64, 0x6f, 0x14b, 0x67, 0x254, 0x3b, 0x4e, 0x79, 0x254, 0x6c, 0x254,
+0x6d, 0x62, 0x254, 0x14b, 0x67, 0x254, 0x3b, 0x4d, 0x254, 0x6e, 0x254, 0x20, 0x14b, 0x67, 0x62, 0x61, 0x6e, 0x6a, 0x61, 0x3b,
+0x4e, 0x79, 0x61, 0x14b, 0x67, 0x77, 0x25b, 0x20, 0x14b, 0x67, 0x62, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x6b, 0x75, 0x14b, 0x67,
+0x77, 0x25b, 0x3b, 0x66, 0x25b, 0x3b, 0x6e, 0x6a, 0x61, 0x70, 0x69, 0x3b, 0x6e, 0x79, 0x75, 0x6b, 0x75, 0x6c, 0x3b, 0x31,
+0x31, 0x3b, 0x253, 0x75, 0x6c, 0x253, 0x75, 0x73, 0x25b, 0x3b, 0x6d, 0x62, 0x65, 0x67, 0x74, 0x75, 0x67, 0x3b, 0x69, 0x6d,
+0x65, 0x67, 0x20, 0xe0, 0x62, 0xf9, 0x62, 0xec, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, 0x6d, 0x62, 0x259, 0x14b, 0x63, 0x68,
+0x75, 0x62, 0x69, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6e, 0x67, 0x77, 0x259, 0x300, 0x74, 0x3b, 0x69, 0x6d, 0x259, 0x67,
+0x20, 0x66, 0x6f, 0x67, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, 0x69, 0x62, 0x254, 0x64, 0x3b, 0x69,
+0x6d, 0x259, 0x67, 0x20, 0xe0, 0x64, 0xf9, 0x6d, 0x62, 0x259, 0x300, 0x14b, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63,
+0x68, 0x69, 0x6b, 0x61, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x75, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x74,
+0xe8, 0x73, 0x69, 0x2bc, 0x65, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x7a, 0xf2, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b,
+0x72, 0x69, 0x7a, 0x6d, 0x65, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6d, 0x62, 0x65, 0x67, 0x74, 0x75, 0x67, 0x3b,
+0x69, 0x6d, 0x65, 0x67, 0x20, 0xe0, 0x62, 0xf9, 0x62, 0xec, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, 0x6d, 0x62, 0x259, 0x14b,
+0x63, 0x68, 0x75, 0x62, 0x69, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6e, 0x67, 0x77, 0x259, 0x300, 0x74, 0x3b, 0x69, 0x6d,
+0x259, 0x67, 0x20, 0x66, 0x6f, 0x67, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, 0x69, 0x62, 0x254, 0x64,
+0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0xe0, 0x64, 0xf9, 0x6d, 0x62, 0x259, 0x300, 0x14b, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20,
+0x69, 0x63, 0x68, 0x69, 0x6b, 0x61, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x75, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67,
+0x20, 0x74, 0xe8, 0x73, 0x69, 0x2bc, 0x65, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x7a, 0xf2, 0x3b, 0x69, 0x6d, 0x259, 0x67,
+0x20, 0x6b, 0x72, 0x69, 0x7a, 0x6d, 0x65, 0x64, 0x3b, 0x4d, 0x31, 0x3b, 0x41, 0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4e, 0x34,
+0x3b, 0x46, 0x35, 0x3b, 0x49, 0x36, 0x3b, 0x41, 0x37, 0x3b, 0x49, 0x38, 0x3b, 0x4b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31,
+0x31, 0x3b, 0x31, 0x32, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0x73, 0x65, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20, 0x6c, 0xf9,
+0x6d, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6b, 0xe0, 0x67, 0x20, 0x6e, 0x67, 0x77, 0xf3, 0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20,
+0x6c, 0x65, 0x70, 0x79, 0xe8, 0x20, 0x73, 0x68, 0xfa, 0x6d, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x63, 0xff, 0xf3, 0x3b, 0x73,
+0x61, 0x14b, 0x20, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20, 0x63, 0xff, 0xf3, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6e, 0x6a, 0xff,
+0x6f, 0x6c, 0xe1, 0x2bc, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0x79, 0x25b, 0x300, 0x62, 0x20, 0x74, 0x79, 0x25b, 0x300, 0x62,
+0x20, 0x6d, 0x62, 0x289, 0x300, 0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6d, 0x62, 0x289, 0x300, 0x14b, 0x3b, 0x73, 0x61, 0x14b,
+0x20, 0x6e, 0x67, 0x77, 0x254, 0x300, 0x2bc, 0x20, 0x6d, 0x62, 0xff, 0x25b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0xe0, 0x14b,
+0x61, 0x20, 0x74, 0x73, 0x65, 0x74, 0x73, 0xe1, 0x2bc, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6d, 0x65, 0x6a, 0x77, 0x6f, 0x14b,
+0xf3, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6c, 0xf9, 0x6d, 0x3b, 0x57, 0x69, 0xf3, 0x74, 0x68, 0x65, 0x21f, 0x69, 0x6b, 0x61,
+0x20, 0x57, 0xed, 0x3b, 0x54, 0x68, 0x69, 0x79, 0xf3, 0x21f, 0x65, 0x79, 0x75, 0x14b, 0x6b, 0x61, 0x20, 0x57, 0xed, 0x3b,
+0x49, 0x161, 0x74, 0xe1, 0x77, 0x69, 0x10d, 0x68, 0x61, 0x79, 0x61, 0x7a, 0x61, 0x14b, 0x20, 0x57, 0xed, 0x3b, 0x50, 0x21f,
+0x65, 0x17e, 0xed, 0x74, 0x21f, 0x6f, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x77, 0xe1, 0x70, 0x65, 0x74, 0x21f,
+0x6f, 0x20, 0x57, 0xed, 0x3b, 0x57, 0xed, 0x70, 0x61, 0x7a, 0x75, 0x6b, 0x21f, 0x61, 0x2d, 0x77, 0x61, 0x161, 0x74, 0xe9,
+0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x70, 0x21f, 0xe1, 0x73, 0x61, 0x70, 0x61, 0x20, 0x57, 0xed, 0x3b, 0x57,
+0x61, 0x73, 0xfa, 0x74, 0x21f, 0x75, 0x14b, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x77, 0xe1, 0x70, 0x65, 0x1e7,
+0x69, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x77, 0xe1, 0x70, 0x65, 0x2d, 0x6b, 0x61, 0x73, 0x6e, 0xe1, 0x20,
+0x57, 0xed, 0x3b, 0x57, 0x61, 0x6e, 0xed, 0x79, 0x65, 0x74, 0x75, 0x20, 0x57, 0xed, 0x3b, 0x54, 0x21f, 0x61, 0x68, 0xe9,
+0x6b, 0x61, 0x70, 0x161, 0x75, 0x14b, 0x20, 0x57, 0xed, 0x3b, 0x6a9, 0x627, 0x646, 0x648, 0x648, 0x646, 0x6cc, 0x20, 0x62f, 0x648,
+0x648, 0x6d5, 0x645, 0x3b, 0x634, 0x648, 0x628, 0x627, 0x62a, 0x3b, 0x626, 0x627, 0x632, 0x627, 0x631, 0x3b, 0x646, 0x6cc, 0x633, 0x627,
+0x646, 0x3b, 0x626, 0x627, 0x6cc, 0x627, 0x631, 0x3b, 0x62d, 0x648, 0x632, 0x6d5, 0x6cc, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x6d5, 0x645,
+0x648, 0x648, 0x632, 0x3b, 0x626, 0x627, 0x628, 0x3b, 0x626, 0x6d5, 0x6cc, 0x644, 0x648, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x6cc,
+0x646, 0x6cc, 0x20, 0x6cc, 0x6d5, 0x6a9, 0x6d5, 0x645, 0x3b, 0x62a, 0x634, 0x631, 0x6cc, 0x646, 0x6cc, 0x20, 0x62f, 0x648, 0x648, 0x6d5,
+0x645, 0x3b, 0x6a9, 0x627, 0x646, 0x648, 0x646, 0x6cc, 0x20, 0x6cc, 0x6d5, 0x6a9, 0x6d5, 0x645, 0x3b, 0x6a9, 0x3b, 0x634, 0x3b, 0x626,
+0x3b, 0x646, 0x3b, 0x626, 0x3b, 0x62d, 0x3b, 0x62a, 0x3b, 0x626, 0x3b, 0x626, 0x3b, 0x62a, 0x3b, 0x62a, 0x3b, 0x6a9, 0x3b, 0x6a,
+0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x11b, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a,
+0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e,
+0x6f, 0x77, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61,
+0x72, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e,
+0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74,
+0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62,
+0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62,
+0x2e, 0x3b, 0x6d, 0x11b, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x2e, 0x3b, 0x6a, 0x75, 0x6e,
+0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x77, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74,
+0x2e, 0x3b, 0x6e, 0x6f, 0x77, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x61, 0x3b,
+0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c,
+0x61, 0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x61,
+0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f,
+0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x64, 0x65, 0x63, 0x65,
+0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x11b, 0x72, 0x3b, 0x61, 0x70, 0x72,
+0x3b, 0x6d, 0x65, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x3b, 0x73, 0x65, 0x70,
+0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b,
+0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x3b, 0x6d,
+0x65, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x77, 0x67, 0x75,
+0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72,
+0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a,
+0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x11b, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d,
+0x65, 0x6a, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x77, 0x67, 0x2e, 0x3b, 0x73,
+0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x77, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a,
+0x61, 0x6e, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x6d, 0x11b, 0x72, 0x63,
+0x61, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x61, 0x3b, 0x6d, 0x65, 0x6a, 0x65, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x61,
+0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x61, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, 0x74,
+0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62,
+0x72, 0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x72, 0x61, 0x67, 0x3b, 0x77, 0x61, 0x73, 0x3b,
+0x70, 0x16b, 0x6c, 0x3b, 0x73, 0x61, 0x6b, 0x3b, 0x7a, 0x61, 0x6c, 0x3b, 0x73, 0x12b, 0x6d, 0x3b, 0x6c, 0x12b, 0x70, 0x3b,
+0x64, 0x61, 0x67, 0x3b, 0x73, 0x69, 0x6c, 0x3b, 0x73, 0x70, 0x61, 0x3b, 0x6c, 0x61, 0x70, 0x3b, 0x73, 0x61, 0x6c, 0x3b,
+0x72, 0x61, 0x67, 0x73, 0x3b, 0x77, 0x61, 0x73, 0x73, 0x61, 0x72, 0x69, 0x6e, 0x73, 0x3b, 0x70, 0x16b, 0x6c, 0x69, 0x73,
+0x3b, 0x73, 0x61, 0x6b, 0x6b, 0x69, 0x73, 0x3b, 0x7a, 0x61, 0x6c, 0x6c, 0x61, 0x77, 0x73, 0x3b, 0x73, 0x12b, 0x6d, 0x65,
+0x6e, 0x69, 0x73, 0x3b, 0x6c, 0x12b, 0x70, 0x61, 0x3b, 0x64, 0x61, 0x67, 0x67, 0x69, 0x73, 0x3b, 0x73, 0x69, 0x6c, 0x6c,
+0x69, 0x6e, 0x73, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x73, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x16b, 0x74,
+0x69, 0x73, 0x3b, 0x73, 0x61, 0x6c, 0x6c, 0x61, 0x77, 0x73, 0x3b, 0x52, 0x3b, 0x57, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x5a,
+0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x75, 0x111, 0x69, 0x76, 0x3b,
+0x6b, 0x75, 0x6f, 0x76, 0xe2, 0x3b, 0x6e, 0x6a, 0x75, 0x68, 0x10d, 0xe2, 0x3b, 0x63, 0x75, 0xe1, 0x14b, 0x75, 0x69, 0x3b,
+0x76, 0x79, 0x65, 0x73, 0x69, 0x3b, 0x6b, 0x65, 0x73, 0x69, 0x3b, 0x73, 0x79, 0x65, 0x69, 0x6e, 0x69, 0x3b, 0x70, 0x6f,
+0x72, 0x67, 0x65, 0x3b, 0x10d, 0x6f, 0x68, 0x10d, 0xe2, 0x3b, 0x72, 0x6f, 0x6f, 0x76, 0x76, 0xe2, 0x64, 0x3b, 0x73, 0x6b,
+0x61, 0x6d, 0x6d, 0xe2, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0xe2, 0x3b, 0x75, 0x111, 0x111, 0xe2, 0x69, 0x76, 0x65, 0x6d,
+0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6b, 0x75, 0x6f, 0x76, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6e, 0x6a, 0x75, 0x68,
+0x10d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0xe1, 0x14b, 0x75, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b,
+0x76, 0x79, 0x65, 0x73, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6b, 0x65, 0x73, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75,
+0x3b, 0x73, 0x79, 0x65, 0x69, 0x6e, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x70, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0xe1,
+0xe1, 0x6e, 0x75, 0x3b, 0x10d, 0x6f, 0x68, 0x10d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x72, 0x6f, 0x6f, 0x76, 0x76,
+0xe2, 0x64, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0x61, 0x6d, 0x6d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b,
+0x6a, 0x75, 0x6f, 0x76, 0x6c, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x55, 0x3b, 0x4b, 0x3b, 0x4e, 0x4a, 0x3b, 0x43,
+0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x50, 0x3b, 0x10c, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x62c, 0x627, 0x646,
+0x6a4, 0x6cc, 0x6d5, 0x3b, 0x641, 0x626, 0x6a4, 0x631, 0x6cc, 0x6d5, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x6a4, 0x631, 0x6cc,
+0x644, 0x3b, 0x645, 0x626, 0x6cc, 0x3b, 0x62c, 0x648, 0x659, 0x623, 0x646, 0x3b, 0x62c, 0x648, 0x659, 0x644, 0x627, 0x3b, 0x622, 0x6af,
+0x648, 0x633, 0x62a, 0x3b, 0x633, 0x626, 0x67e, 0x62a, 0x627, 0x645, 0x631, 0x3b, 0x626, 0x648, 0x6a9, 0x62a, 0x648, 0x6a4, 0x631, 0x3b,
+0x646, 0x648, 0x6a4, 0x627, 0x645, 0x631, 0x3b, 0x62f, 0x626, 0x633, 0x627, 0x645, 0x631, 0x3b, 0x45, 0x6e, 0x3b, 0x50, 0x65, 0x62,
+0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c,
+0x3b, 0x41, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b,
+0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x6f, 0x3b,
+0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6c,
+0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b,
+0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69,
+0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b,
+0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b
+};
+// GENERATED PART ENDS HERE
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/corelib/time/qromancalendar_p.h b/src/corelib/time/qromancalendar_p.h
new file mode 100644
index 0000000000..ea2f9d01f0
--- /dev/null
+++ b/src/corelib/time/qromancalendar_p.h
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QROMAN_CALENDAR_P_H
+#define QROMAN_CALENDAR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of calendar implementations. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qcalendarbackend_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class Q_CORE_EXPORT QRomanCalendar : public QCalendarBackend
+{
+public:
+ // date queries:
+ int daysInMonth(int month, int year = QCalendar::Unspecified) const override;
+ int minDaysInMonth() const override;
+ // properties of the calendar
+ bool isLunar() const override;
+ bool isLuniSolar() const override;
+ bool isSolar() const override;
+protected:
+ // locale support:
+ const QCalendarLocale *localeMonthIndexData() const override;
+ const ushort *localeMonthData() const override;
+ // (The INTEGRITY compiler got upset at: using QCalendarBackend:QCalendarBackend;)
+ QRomanCalendar(const QString &name, QCalendar::System id = QCalendar::System::User)
+ : QCalendarBackend(name, id) {}
+};
+
+QT_END_NAMESPACE
+
+#endif // QROMAN_CALENDAR_P_H
diff --git a/src/corelib/time/time.pri b/src/corelib/time/time.pri
index bacb7e875d..84efbfbfd2 100644
--- a/src/corelib/time/time.pri
+++ b/src/corelib/time/time.pri
@@ -1,10 +1,47 @@
# Qt time / date / zone / calendar module
HEADERS += \
+ time/qcalendar.h \
+ time/qcalendarbackend_p.h \
+ time/qcalendarmath_p.h \
time/qdatetime.h \
- time/qdatetime_p.h
+ time/qdatetime_p.h \
+ time/qgregoriancalendar_p.h \
+ time/qjuliancalendar_p.h \
+ time/qmilankoviccalendar_p.h \
+ time/qromancalendar_p.h \
+ time/qromancalendar_data_p.h
-SOURCES += time/qdatetime.cpp
+SOURCES += \
+ time/qdatetime.cpp \
+ time/qcalendar.cpp \
+ time/qgregoriancalendar.cpp \
+ time/qjuliancalendar.cpp \
+ time/qmilankoviccalendar.cpp \
+ time/qromancalendar.cpp
+
+qtConfig(hijricalendar) {
+ SOURCES += \
+ time/qhijricalendar.cpp
+ HEADERS += \
+ time/qhijricalendar_p.h \
+ time/qhijricalendar_data_p.h
+}
+
+qtConfig(islamiccivilcalendar) {
+ SOURCES += \
+ time/qislamiccivilcalendar.cpp
+ HEADERS += \
+ time/qislamiccivilcalendar_p.h
+}
+
+qtConfig(jalalicalendar) {
+ SOURCES += \
+ time/qjalalicalendar.cpp
+ HEADERS += \
+ time/qjalalicalendar_p.h \
+ time/qjalalicalendar_data_p.h
+}
qtConfig(timezone) {
HEADERS += \
diff --git a/src/corelib/tools/qbitarray.cpp b/src/corelib/tools/qbitarray.cpp
index 4e8e3c241e..f0b81cce66 100644
--- a/src/corelib/tools/qbitarray.cpp
+++ b/src/corelib/tools/qbitarray.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
-** Copyright (C) 2016 Intel Corporation.
+** Copyright (C) 2019 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -132,12 +132,12 @@ QT_BEGIN_NAMESPACE
* We overallocate the byte array by 1 byte. The first user bit is at
* d.data()[1]. On the extra first byte, we store the difference between the
* number of bits in the byte array (including this byte) and the number of
- * bits in the bit array. Therefore, it's always a number between 8 and 15.
+ * bits in the bit array. Therefore, for a non-empty QBitArray, it's always a
+ * number between 8 and 15. For the empty one, d is the an empty QByteArray and
+ * *d.constData() is the QByteArray's terminating NUL (0) byte.
*
* This allows for fast calculation of the bit array size:
* inline int size() const { return (d.size() << 3) - *d.constData(); }
- *
- * Note: for an array of zero size, *d.constData() is the QByteArray implicit NUL.
*/
/*!
@@ -154,8 +154,8 @@ QBitArray::QBitArray(int size, bool value)
uchar* c = reinterpret_cast<uchar*>(d.data());
memset(c + 1, value ? 0xff : 0, d.size() - 1);
*c = d.size()*8 - size;
- if (value && size && size % 8)
- *(c+1+size/8) &= (1 << (size%8)) - 1;
+ if (value && size && size & 7)
+ *(c+1+size/8) &= (1 << (size & 7)) - 1;
}
/*! \fn int QBitArray::size() const
@@ -227,8 +227,8 @@ void QBitArray::resize(int size)
uchar* c = reinterpret_cast<uchar*>(d.data());
if (size > (s << 3))
memset(c + s, 0, d.size() - s);
- else if ( size % 8)
- *(c+1+size/8) &= (1 << (size%8)) - 1;
+ else if (size & 7)
+ *(c+1+size/8) &= (1 << (size & 7)) - 1;
*c = d.size()*8 - size;
}
}
@@ -326,6 +326,8 @@ void QBitArray::fill(bool value, int begin, int end)
QBitArray QBitArray::fromBits(const char *data, qsizetype size)
{
QBitArray result;
+ if (size == 0)
+ return result;
qsizetype nbytes = (size + 7) / 8;
result.d = QByteArray(nbytes + 1, Qt::Uninitialized);
@@ -334,7 +336,7 @@ QBitArray QBitArray::fromBits(const char *data, qsizetype size)
// clear any unused bits from the last byte
if (size & 7)
- bits[nbytes] &= 0xffU >> (size & 7);
+ bits[nbytes] &= 0xffU >> (8 - (size & 7));
*bits = result.d.size() * 8 - size;
return result;
diff --git a/src/corelib/tools/qcryptographichash.cpp b/src/corelib/tools/qcryptographichash.cpp
index ee7657789c..fa8d21e07a 100644
--- a/src/corelib/tools/qcryptographichash.cpp
+++ b/src/corelib/tools/qcryptographichash.cpp
@@ -391,19 +391,19 @@ void QCryptographicHash::addData(const char *data, int length)
break;
case RealSha3_224:
case Keccak_224:
- sha3Update(&d->sha3Context, reinterpret_cast<const BitSequence *>(data), length*8);
+ sha3Update(&d->sha3Context, reinterpret_cast<const BitSequence *>(data), quint64(length) * 8);
break;
case RealSha3_256:
case Keccak_256:
- sha3Update(&d->sha3Context, reinterpret_cast<const BitSequence *>(data), length*8);
+ sha3Update(&d->sha3Context, reinterpret_cast<const BitSequence *>(data), quint64(length) * 8);
break;
case RealSha3_384:
case Keccak_384:
- sha3Update(&d->sha3Context, reinterpret_cast<const BitSequence *>(data), length*8);
+ sha3Update(&d->sha3Context, reinterpret_cast<const BitSequence *>(data), quint64(length) * 8);
break;
case RealSha3_512:
case Keccak_512:
- sha3Update(&d->sha3Context, reinterpret_cast<const BitSequence *>(data), length*8);
+ sha3Update(&d->sha3Context, reinterpret_cast<const BitSequence *>(data), quint64(length) * 8);
break;
#endif
}
diff --git a/src/corelib/tools/qeasingcurve.h b/src/corelib/tools/qeasingcurve.h
index f7a1d6bdc0..81833a758f 100644
--- a/src/corelib/tools/qeasingcurve.h
+++ b/src/corelib/tools/qeasingcurve.h
@@ -41,6 +41,9 @@
#define QEASINGCURVE_H
#include <QtCore/qglobal.h>
+
+QT_REQUIRE_CONFIG(easingcurve);
+
#include <QtCore/qobjectdefs.h>
#include <QtCore/qvector.h>
diff --git a/src/corelib/tools/qlinkedlist.h b/src/corelib/tools/qlinkedlist.h
index 996a50fd1b..8970d39be0 100644
--- a/src/corelib/tools/qlinkedlist.h
+++ b/src/corelib/tools/qlinkedlist.h
@@ -275,6 +275,13 @@ private:
template <typename T>
Q_DECLARE_TYPEINFO_BODY(QLinkedList<T>, Q_MOVABLE_TYPE|Q_RELOCATABLE_TYPE);
+#if defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201606
+template <typename InputIterator,
+ typename ValueType = typename std::iterator_traits<InputIterator>::value_type,
+ QtPrivate::IfIsInputIterator<InputIterator> = true>
+QLinkedList(InputIterator, InputIterator) -> QLinkedList<ValueType>;
+#endif
+
template <typename T>
inline QLinkedList<T>::~QLinkedList()
{
diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h
index 70bbc11ad2..be987c359b 100644
--- a/src/corelib/tools/qlist.h
+++ b/src/corelib/tools/qlist.h
@@ -112,7 +112,7 @@ struct Q_CORE_EXPORT QListData {
void remove(int i);
void remove(int i, int n);
void move(int from, int to);
- inline int size() const noexcept { return d->end - d->begin; }
+ inline int size() const noexcept { return int(d->end - d->begin); } // q6sizetype
inline bool isEmpty() const noexcept { return d->end == d->begin; }
inline void **at(int i) const noexcept { return d->array + d->begin + i; }
inline void **begin() const noexcept { return d->array + d->begin; }
@@ -446,6 +446,13 @@ private:
inline int count_impl(const T &, QListData::ArrayCompatibleLayout) const;
};
+#if defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201606
+template <typename InputIterator,
+ typename ValueType = typename std::iterator_traits<InputIterator>::value_type,
+ QtPrivate::IfIsInputIterator<InputIterator> = true>
+QList(InputIterator, InputIterator) -> QList<ValueType>;
+#endif
+
#if defined(Q_CC_BOR)
template <typename T>
Q_INLINE_TEMPLATE T &QList<T>::Node::t()
@@ -1044,7 +1051,7 @@ int lastIndexOf(const QList<T> &list, const U &u, int from)
Node *n = reinterpret_cast<Node *>(list.p.at(from + 1));
while (n-- != b) {
if (n->t() == u)
- return n - b;
+ return typename QList<T>::difference_type(n - b);
}
}
return -1;
diff --git a/src/corelib/tools/qpoint.cpp b/src/corelib/tools/qpoint.cpp
index e98eaac4fc..432fb33297 100644
--- a/src/corelib/tools/qpoint.cpp
+++ b/src/corelib/tools/qpoint.cpp
@@ -138,6 +138,17 @@ QT_BEGIN_NAMESPACE
\sa y(), setX()
*/
+/*!
+ \fn QPoint::transposed() const
+ \since 5.14
+
+ Returns a point with x and y coordinates exchanged:
+ \code
+ QPoint{1, 2}.transposed() // {2, 1}
+ \endcode
+
+ \sa x(), y(), setX(), setY()
+*/
/*!
\fn int &QPoint::rx()
@@ -583,6 +594,18 @@ QDebug operator<<(QDebug dbg, const QPointF &p)
*/
/*!
+ \fn QPointF::transposed() const
+ \since 5.14
+
+ Returns a point with x and y coordinates exchanged:
+ \code
+ QPointF{1.0, 2.0}.transposed() // {2.0, 1.0}
+ \endcode
+
+ \sa x(), y(), setX(), setY()
+*/
+
+/*!
\fn qreal& QPointF::rx()
Returns a reference to the x coordinate of this point.
diff --git a/src/corelib/tools/qpoint.h b/src/corelib/tools/qpoint.h
index 34df673b93..fe952f95da 100644
--- a/src/corelib/tools/qpoint.h
+++ b/src/corelib/tools/qpoint.h
@@ -64,6 +64,8 @@ public:
Q_DECL_CONSTEXPR inline int manhattanLength() const;
+ Q_DECL_CONSTEXPR QPoint transposed() const noexcept { return {yp, xp}; }
+
Q_DECL_RELAXED_CONSTEXPR inline int &rx();
Q_DECL_RELAXED_CONSTEXPR inline int &ry();
@@ -232,6 +234,8 @@ public:
Q_DECL_RELAXED_CONSTEXPR inline void setX(qreal x);
Q_DECL_RELAXED_CONSTEXPR inline void setY(qreal y);
+ Q_DECL_CONSTEXPR QPointF transposed() const noexcept { return {yp, xp}; }
+
Q_DECL_RELAXED_CONSTEXPR inline qreal &rx();
Q_DECL_RELAXED_CONSTEXPR inline qreal &ry();
diff --git a/src/corelib/tools/qset.h b/src/corelib/tools/qset.h
index 19d6982133..6683188ad4 100644
--- a/src/corelib/tools/qset.h
+++ b/src/corelib/tools/qset.h
@@ -246,12 +246,6 @@ public:
{ QSet<T> result = *this; result -= other; return result; }
QList<T> values() const;
-#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
- Q_DECL_DEPRECATED_X("Use values() instead.")
- QList<T> toList() const { return values(); }
- Q_DECL_DEPRECATED_X("Use QSet<T>(list.begin(), list.end()) instead.")
- static QSet<T> fromList(const QList<T> &list);
-#endif
private:
Hash q_hash;
@@ -269,6 +263,13 @@ private:
}
};
+#if defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201606
+template <typename InputIterator,
+ typename ValueType = typename std::iterator_traits<InputIterator>::value_type,
+ QtPrivate::IfIsInputIterator<InputIterator> = true>
+QSet(InputIterator, InputIterator) -> QSet<ValueType>;
+#endif
+
template <typename T>
uint qHash(const QSet<T> &key, uint seed = 0)
noexcept(noexcept(qHashRangeCommutative(key.begin(), key.end(), seed)))
@@ -376,30 +377,6 @@ Q_OUTOFLINE_TEMPLATE QList<T> QSet<T>::values() const
return result;
}
-#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
-template <typename T>
-Q_OUTOFLINE_TEMPLATE QSet<T> QList<T>::toSet() const
-{
- QSet<T> result;
- result.reserve(size());
- for (int i = 0; i < size(); ++i)
- result.insert(at(i));
- return result;
-}
-
-template <typename T>
-QSet<T> QSet<T>::fromList(const QList<T> &list)
-{
- return list.toSet();
-}
-
-template <typename T>
-QList<T> QList<T>::fromSet(const QSet<T> &set)
-{
- return set.toList();
-}
-#endif
-
Q_DECLARE_SEQUENTIAL_ITERATOR(Set)
#if !defined(QT_NO_JAVA_STYLE_ITERATORS)
diff --git a/src/corelib/tools/qset.qdoc b/src/corelib/tools/qset.qdoc
index 2e7a5a29ce..084523ed4b 100644
--- a/src/corelib/tools/qset.qdoc
+++ b/src/corelib/tools/qset.qdoc
@@ -108,9 +108,6 @@
Constructs a set with a copy of each of the elements in the
initializer list \a list.
-
- This function is only available if the program is being
- compiled in C++11 mode.
*/
/*! \fn template <class T> template<typename InputIterator> QSet<T>::QSet(InputIterator first, InputIterator last)
diff --git a/src/corelib/tools/qsize.cpp b/src/corelib/tools/qsize.cpp
index fe508ad459..2cbaae117d 100644
--- a/src/corelib/tools/qsize.cpp
+++ b/src/corelib/tools/qsize.cpp
@@ -390,7 +390,25 @@ QSize QSize::scaled(const QSize &s, Qt::AspectRatioMode mode) const noexcept
\sa expandedTo(), scale()
*/
+/*!
+ \fn QSize QSize::grownBy(QMargins margins) const
+ \fn QSizeF QSizeF::grownBy(QMarginsF margins) const
+ \since 5.14
+
+ Returns the size that results from growing this size by \a margins.
+
+ \sa shrunkBy()
+*/
+/*!
+ \fn QSize QSize::shrunkBy(QMargins margins) const
+ \fn QSizeF QSizeF::shrunkBy(QMarginsF margins) const
+ \since 5.14
+
+ Returns the size that results from shrinking this size by \a margins.
+
+ \sa grownBy()
+*/
/*****************************************************************************
QSize stream functions
diff --git a/src/corelib/tools/qsize.h b/src/corelib/tools/qsize.h
index 4114609856..06de1cd63f 100644
--- a/src/corelib/tools/qsize.h
+++ b/src/corelib/tools/qsize.h
@@ -41,6 +41,7 @@
#define QSIZE_H
#include <QtCore/qnamespace.h>
+#include <QtCore/qmargins.h>
#if defined(Q_OS_DARWIN) || defined(Q_QDOC)
struct CGSize;
@@ -74,6 +75,11 @@ public:
Q_REQUIRED_RESULT Q_DECL_CONSTEXPR inline QSize expandedTo(const QSize &) const noexcept;
Q_REQUIRED_RESULT Q_DECL_CONSTEXPR inline QSize boundedTo(const QSize &) const noexcept;
+ Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QSize grownBy(QMargins m) const noexcept
+ { return {width() + m.left() + m.right(), height() + m.top() + m.bottom()}; }
+ Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QSize shrunkBy(QMargins m) const noexcept
+ { return {width() - m.left() - m.right(), height() - m.top() - m.bottom()}; }
+
Q_DECL_RELAXED_CONSTEXPR inline int &rwidth() noexcept;
Q_DECL_RELAXED_CONSTEXPR inline int &rheight() noexcept;
@@ -238,6 +244,11 @@ public:
Q_REQUIRED_RESULT Q_DECL_CONSTEXPR inline QSizeF expandedTo(const QSizeF &) const noexcept;
Q_REQUIRED_RESULT Q_DECL_CONSTEXPR inline QSizeF boundedTo(const QSizeF &) const noexcept;
+ Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QSizeF grownBy(QMarginsF m) const noexcept
+ { return {width() + m.left() + m.right(), height() + m.top() + m.bottom()}; }
+ Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QSizeF shrunkBy(QMarginsF m) const noexcept
+ { return {width() - m.left() - m.right(), height() - m.top() - m.bottom()}; }
+
Q_DECL_RELAXED_CONSTEXPR inline qreal &rwidth() noexcept;
Q_DECL_RELAXED_CONSTEXPR inline qreal &rheight() noexcept;
diff --git a/src/corelib/tools/qtimeline.h b/src/corelib/tools/qtimeline.h
index d9982bdb58..9a60cd679f 100644
--- a/src/corelib/tools/qtimeline.h
+++ b/src/corelib/tools/qtimeline.h
@@ -40,6 +40,10 @@
#ifndef QTIMELINE_H
#define QTIMELINE_H
+#include <QtCore/qglobal.h>
+
+QT_REQUIRE_CONFIG(easingcurve);
+
#include <QtCore/qeasingcurve.h>
#include <QtCore/qobject.h>
diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h
index 2f62526076..253d05ba2b 100644
--- a/src/corelib/tools/qvarlengtharray.h
+++ b/src/corelib/tools/qvarlengtharray.h
@@ -265,6 +265,13 @@ private:
}
};
+#if defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201606
+template <typename InputIterator,
+ typename ValueType = typename std::iterator_traits<InputIterator>::value_type,
+ QtPrivate::IfIsInputIterator<InputIterator> = true>
+QVarLengthArray(InputIterator, InputIterator) -> QVarLengthArray<ValueType>;
+#endif
+
template <class T, int Prealloc>
Q_INLINE_TEMPLATE QVarLengthArray<T, Prealloc>::QVarLengthArray(int asize)
: s(asize) {
diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h
index ebe6527d89..62fbdb4a2a 100644
--- a/src/corelib/tools/qvector.h
+++ b/src/corelib/tools/qvector.h
@@ -326,6 +326,13 @@ private:
class AlignmentDummy { Data header; T array[1]; };
};
+#if defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201606
+template <typename InputIterator,
+ typename ValueType = typename std::iterator_traits<InputIterator>::value_type,
+ QtPrivate::IfIsInputIterator<InputIterator> = true>
+QVector(InputIterator, InputIterator) -> QVector<ValueType>;
+#endif
+
#ifdef Q_CC_MSVC
// behavior change: an object of POD type constructed with an initializer of the form ()
// will be default-initialized
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index a2236f90f2..40c84157cd 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -12,7 +12,6 @@ HEADERS += \
tools/qcontainerfwd.h \
tools/qcontainertools_impl.h \
tools/qcryptographichash.h \
- tools/qeasingcurve.h \
tools/qfreelist_p.h \
tools/qhash.h \
tools/qhashfunctions.h \
@@ -43,7 +42,6 @@ HEADERS += \
tools/qsimd_p.h \
tools/qsize.h \
tools/qstack.h \
- tools/qtimeline.h \
tools/qtools_p.h \
tools/qvarlengtharray.h \
tools/qvector.h \
@@ -54,7 +52,6 @@ SOURCES += \
tools/qarraydata.cpp \
tools/qbitarray.cpp \
tools/qcryptographichash.cpp \
- tools/qeasingcurve.cpp \
tools/qfreelist.cpp \
tools/qhash.cpp \
tools/qline.cpp \
@@ -72,7 +69,6 @@ SOURCES += \
tools/qsharedpointer.cpp \
tools/qsimd.cpp \
tools/qsize.cpp \
- tools/qtimeline.cpp \
tools/qversionnumber.cpp
msvc: NO_PCH_SOURCES += tools/qvector_msvc.cpp
@@ -104,6 +100,16 @@ qtConfig(system-doubleconversion) {
include($$PWD/../../3rdparty/double-conversion/double-conversion.pri)
}
+qtConfig(easingcurve) {
+ HEADERS += \
+ tools/qeasingcurve.h \
+ tools/qtimeline.h
+
+ SOURCES += \
+ tools/qeasingcurve.cpp \
+ tools/qtimeline.cpp
+}
+
# Note: libm should be present by default becaue this is C++
unix:!macx-icc:!vxworks:!haiku:!integrity:!wasm: LIBS_PRIVATE += -lm
diff --git a/src/dbus/qdbus_symbols.cpp b/src/dbus/qdbus_symbols.cpp
index f22696639d..284ba999c2 100644
--- a/src/dbus/qdbus_symbols.cpp
+++ b/src/dbus/qdbus_symbols.cpp
@@ -41,6 +41,7 @@
#include <QtCore/qglobal.h>
#if QT_CONFIG(library)
#include <QtCore/qlibrary.h>
+#include <QtCore/private/qlocking_p.h>
#endif
#include <QtCore/qmutex.h>
@@ -80,7 +81,7 @@ bool qdbus_loadLibDBus()
static bool triedToLoadLibrary = false;
static QBasicMutex mutex;
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
QLibrary *&lib = qdbus_libdbus;
if (triedToLoadLibrary)
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index 2c2dfc1ff6..58b5af3615 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -47,6 +47,7 @@
#include <qvector.h>
#include <qtimer.h>
#include <qthread.h>
+#include <QtCore/private/qlocking_p.h>
#include "qdbusconnectioninterface.h"
#include "qdbuserror.h"
@@ -106,7 +107,7 @@ QDBusConnectionPrivate *QDBusConnectionManager::busConnection(QDBusConnection::B
// (the event loop will resume delivery)
bool suspendedDelivery = qApp && qApp->thread() == QThread::currentThread();
- QMutexLocker lock(&defaultBusMutex);
+ const auto locker = qt_scoped_lock(defaultBusMutex);
if (defaultBuses[type])
return defaultBuses[type];
@@ -178,7 +179,7 @@ void QDBusConnectionManager::run()
exec();
// cleanup:
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
for (QHash<QString, QDBusConnectionPrivate *>::const_iterator it = connectionHash.constBegin();
it != connectionHash.constEnd(); ++it) {
QDBusConnectionPrivate *d = it.value();
@@ -240,7 +241,7 @@ QDBusConnectionPrivate *QDBusConnectionManager::connectToPeer(const QString &add
void QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData *data)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
const QString &name = *data->name;
QDBusConnectionPrivate *&d = data->result;
@@ -428,7 +429,7 @@ QDBusConnection::QDBusConnection(const QString &name)
if (name.isEmpty() || _q_manager.isDestroyed()) {
d = 0;
} else {
- QMutexLocker locker(&_q_manager()->mutex);
+ const auto locker = qt_scoped_lock(_q_manager()->mutex);
d = _q_manager()->connection(name);
if (d)
d->ref.ref();
@@ -537,7 +538,7 @@ QDBusConnection QDBusConnection::connectToPeer(const QString &address,
void QDBusConnection::disconnectFromBus(const QString &name)
{
if (_q_manager()) {
- QMutexLocker locker(&_q_manager()->mutex);
+ const auto locker = qt_scoped_lock(_q_manager()->mutex);
QDBusConnectionPrivate *d = _q_manager()->connection(name);
if (d && d->mode != QDBusConnectionPrivate::ClientMode)
return;
@@ -558,7 +559,7 @@ void QDBusConnection::disconnectFromBus(const QString &name)
void QDBusConnection::disconnectFromPeer(const QString &name)
{
if (_q_manager()) {
- QMutexLocker locker(&_q_manager()->mutex);
+ const auto locker = qt_scoped_lock(_q_manager()->mutex);
QDBusConnectionPrivate *d = _q_manager()->connection(name);
if (d && d->mode != QDBusConnectionPrivate::PeerMode)
return;
diff --git a/src/dbus/qdbusextratypes.cpp b/src/dbus/qdbusextratypes.cpp
index a0b121a1a3..06fbd6062e 100644
--- a/src/dbus/qdbusextratypes.cpp
+++ b/src/dbus/qdbusextratypes.cpp
@@ -167,6 +167,14 @@ void QDBusSignature::doCheck()
*/
/*!
+ \since 5.14
+
+ Implicit cast to QVariant. Equivalent to calling
+ QVariant::fromValue() with this object as argument.
+*/
+QDBusObjectPath::operator QVariant() const { return QVariant::fromValue(*this); }
+
+/*!
\class QDBusSignature
\inmodule QtDBus
\since 4.2
diff --git a/src/dbus/qdbusextratypes.h b/src/dbus/qdbusextratypes.h
index fdac917947..6bb12ffe49 100644
--- a/src/dbus/qdbusextratypes.h
+++ b/src/dbus/qdbusextratypes.h
@@ -54,7 +54,6 @@
QT_BEGIN_NAMESPACE
-
class Q_DBUS_EXPORT QDBusObjectPath
{
QString m_path;
@@ -75,6 +74,8 @@ public:
inline QString path() const
{ return m_path; }
+ operator QVariant() const;
+
private:
void doCheck();
};
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index 9306498f89..4c27a93382 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -49,6 +49,7 @@
#include <qstringlist.h>
#include <qtimer.h>
#include <qthread.h>
+#include <private/qlocking_p.h>
#include "qdbusargument.h"
#include "qdbusconnection_p.h"
@@ -304,7 +305,7 @@ static void qDBusNewConnection(DBusServer *server, DBusConnection *connection, v
q_dbus_connection_set_allow_anonymous(connection, true);
QDBusConnectionPrivate *newConnection = new QDBusConnectionPrivate(serverConnection->parent());
- QMutexLocker locker(&QDBusConnectionManager::instance()->mutex);
+ const auto locker = qt_scoped_lock(QDBusConnectionManager::instance()->mutex);
QDBusConnectionManager::instance()->setConnection(QLatin1String("QDBusServer-") + QString::number(reinterpret_cast<qulonglong>(newConnection), 16), newConnection);
serverConnection->serverConnectionNames << newConnection->name;
@@ -1862,7 +1863,7 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
{
QDBusConnectionPrivate *connection = const_cast<QDBusConnectionPrivate *>(call->connection);
- QMutexLocker locker(&call->mutex);
+ auto locker = qt_unique_lock(call->mutex);
connection->pendingCalls.removeOne(call);
@@ -1979,7 +1980,7 @@ public:
#endif
static bool initializedAmounts = false;
static QBasicMutex initializeMutex;
- QMutexLocker locker(&initializeMutex);
+ auto locker = qt_unique_lock(initializeMutex);
if (!initializedAmounts) {
int tmp = 0;
diff --git a/src/dbus/qdbuspendingcall.cpp b/src/dbus/qdbuspendingcall.cpp
index 7c2238900c..8e604d5a77 100644
--- a/src/dbus/qdbuspendingcall.cpp
+++ b/src/dbus/qdbuspendingcall.cpp
@@ -47,6 +47,7 @@
#include "qcoreapplication.h"
#include "qcoreevent.h"
#include <private/qobject_p.h>
+#include <private/qlocking_p.h>
#ifndef QT_NO_DBUS
@@ -232,7 +233,7 @@ void QDBusPendingCallPrivate::checkReceivedSignature()
void QDBusPendingCallPrivate::waitForFinished()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
if (replyMessage.type() != QDBusMessage::InvalidMessage)
return; // already finished
@@ -330,7 +331,7 @@ bool QDBusPendingCall::isFinished() const
if (!d)
return true; // considered finished
- QMutexLocker locker(&d->mutex);
+ const auto locker = qt_scoped_lock(d->mutex);
return d->replyMessage.type() != QDBusMessage::InvalidMessage;
}
@@ -352,7 +353,7 @@ bool QDBusPendingCall::isValid() const
{
if (!d)
return false;
- QMutexLocker locker(&d->mutex);
+ const auto locker = qt_scoped_lock(d->mutex);
return d->replyMessage.type() == QDBusMessage::ReplyMessage;
}
@@ -369,7 +370,7 @@ bool QDBusPendingCall::isError() const
{
if (!d)
return true; // considered finished and an error
- QMutexLocker locker(&d->mutex);
+ const auto locker = qt_scoped_lock(d->mutex);
return d->replyMessage.type() == QDBusMessage::ErrorMessage;
}
@@ -384,7 +385,7 @@ bool QDBusPendingCall::isError() const
QDBusError QDBusPendingCall::error() const
{
if (d) {
- QMutexLocker locker(&d->mutex);
+ const auto locker = qt_scoped_lock(d->mutex);
return QDBusError(d->replyMessage);
}
@@ -409,7 +410,7 @@ QDBusMessage QDBusPendingCall::reply() const
{
if (!d)
return QDBusMessage::createError(error());
- QMutexLocker locker(&d->mutex);
+ const auto locker = qt_scoped_lock(d->mutex);
return d->replyMessage;
}
@@ -503,7 +504,7 @@ QDBusPendingCallWatcher::QDBusPendingCallWatcher(const QDBusPendingCall &call, Q
: QObject(*new QDBusPendingCallWatcherPrivate, parent), QDBusPendingCall(call)
{
if (d) { // QDBusPendingCall::d
- QMutexLocker locker(&d->mutex);
+ const auto locker = qt_scoped_lock(d->mutex);
if (!d->watcherHelper) {
d->watcherHelper = new QDBusPendingCallWatcherHelper;
if (d->replyMessage.type() != QDBusMessage::InvalidMessage) {
diff --git a/src/dbus/qdbuspendingreply.cpp b/src/dbus/qdbuspendingreply.cpp
index 6aec571563..ec49bafb60 100644
--- a/src/dbus/qdbuspendingreply.cpp
+++ b/src/dbus/qdbuspendingreply.cpp
@@ -42,6 +42,8 @@
#include "qdbuspendingcall_p.h"
#include "qdbusmetatype.h"
+#include <QtCore/private/qlocking_p.h>
+
#ifndef QT_NO_DBUS
/*!
@@ -277,7 +279,7 @@ QVariant QDBusPendingReplyData::argumentAt(int index) const
void QDBusPendingReplyData::setMetaTypes(int count, const int *types)
{
Q_ASSERT(d);
- QMutexLocker locker(&d->mutex);
+ const auto locker = qt_scoped_lock(d->mutex);
d->setMetaTypes(count, types);
d->checkReceivedSignature();
}
diff --git a/src/dbus/qdbusserver.cpp b/src/dbus/qdbusserver.cpp
index 2899fb7bea..f2607e3e8d 100644
--- a/src/dbus/qdbusserver.cpp
+++ b/src/dbus/qdbusserver.cpp
@@ -43,6 +43,8 @@
#include "qdbusconnectionmanager_p.h"
#include "qdbusutil_p.h"
+#include <QtCore/private/qlocking_p.h>
+
#ifndef QT_NO_DBUS
QT_BEGIN_NAMESPACE
@@ -111,7 +113,7 @@ QDBusServer::~QDBusServer()
{
QWriteLocker locker(&d->lock);
if (QDBusConnectionManager::instance()) {
- QMutexLocker locker(&QDBusConnectionManager::instance()->mutex);
+ const auto locker = qt_scoped_lock(QDBusConnectionManager::instance()->mutex);
for (const QString &name : qAsConst(d->serverConnectionNames))
QDBusConnectionManager::instance()->removeConnection(name);
d->serverConnectionNames.clear();
diff --git a/src/gui/configure.json b/src/gui/configure.json
index 9d01f54995..d5cbe6f78a 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
@@ -1,7 +1,7 @@
{
"module": "gui",
"depends": [
- "core",
+ "core-private",
"network"
],
"testDir": "../../config.tests",
@@ -41,11 +41,10 @@
"sm": { "type": "boolean", "name": "sessionmanager" },
"tslib": "boolean",
"vulkan": "boolean",
- "xcb": { "type": "enum", "values": [ "no", "yes", "qt", "system" ] },
+ "xcb": "boolean",
+ "bundled-xcb-xinput": "boolean",
"xcb-native-painting": "boolean",
"xcb-xlib": "boolean",
- "xcb-xinput": "boolean",
- "xkb": "boolean",
"xkbcommon": "boolean"
}
},
@@ -61,6 +60,7 @@
"export": "",
"headers": ["bcm_host.h"],
"sources": [
+ { "type": "pkgConfig", "args": "bcm_host" },
{ "type": "makeSpec", "spec": "BCM_HOST" }
]
},
@@ -572,18 +572,22 @@
]
},
"xcb": {
- "label": "XCB >= 1.9",
+ "label": "XCB >= 1.11",
"test": {
"main": [
"int primaryScreen = 0;",
"(void)xcb_connect(\"\", &primaryScreen);",
- "// This won't compile unless libxcb >= 1.9 which defines XCB_CONN_CLOSED_INVALID_SCREEN.",
- "int xcbScreenError = XCB_CONN_CLOSED_INVALID_SCREEN;"
+ "/* XCB_PACKED define was added in libxcb 1.11 */",
+ "#ifdef XCB_PACKED",
+ " return 0;",
+ "#else",
+ " return -1;",
+ "#endif"
]
},
"headers": "xcb/xcb.h",
"sources": [
- { "type": "pkgConfig", "args": "xcb >= 1.9" },
+ { "type": "pkgConfig", "args": "xcb >= 1.11" },
"-lxcb"
]
},
@@ -690,21 +694,10 @@
"use": "xcb xlib"
},
"xcb_xkb": {
- "label": "XCB XKB >= 1.10",
- "test": {
- "head": [
- "// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++",
- "#define explicit dont_use_cxx_explicit"
- ],
- "tail": "#undef explicit",
- "main": [
- "// This takes more arguments in xcb-xkb < 1.10.",
- "xcb_xkb_get_kbd_by_name_unchecked(NULL, 0, 0, 0, 0);"
- ]
- },
+ "label": "XCB XKB",
"headers": "xcb/xkb.h",
"sources": [
- { "type": "pkgConfig", "args": "xcb-xkb >= 1.10" },
+ { "type": "pkgConfig", "args": "xcb-xkb" },
"-lxcb-xkb"
],
"use": "xcb"
@@ -768,7 +761,7 @@
"xkbcommon_x11": {
"label": "xkbcommon-x11",
"test": {
- "main": "xkb_x11_get_core_keyboard_device_id(nullptr);"
+ "main": "xkb_x11_setup_xkb_extension_flags flag = XKB_X11_SETUP_XKB_EXTENSION_NO_FLAGS;"
},
"headers": [ "xkbcommon/xkbcommon-x11.h" ],
"sources": [
@@ -1055,6 +1048,11 @@
"label": "XCB (extensions)",
"type": "compile",
"test": {
+ "head": [
+ "// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++",
+ "#define explicit dont_use_cxx_explicit"
+ ],
+ "tail": "#undef explicit",
"include": [
"xcb/xcb.h",
"xcb/xcb_image.h",
@@ -1067,7 +1065,8 @@
"xcb/xfixes.h",
"xcb/xinerama.h",
"xcb/xcb_icccm.h",
- "xcb/xcb_renderutil.h"
+ "xcb/xcb_renderutil.h",
+ "xcb/xkb.h"
],
"main": [
"int primaryScreen = 0;",
@@ -1081,10 +1080,13 @@
" xcb_render_query_pict_formats_reply(c, formatsCookie, &error);",
"/* RENDERUTIL: xcb_renderutil.h include won't compile unless version >= 0.3.9 */",
- "xcb_render_util_find_standard_format(nullptr, XCB_PICT_STANDARD_ARGB_32);"
+ "xcb_render_util_find_standard_format(nullptr, XCB_PICT_STANDARD_ARGB_32);",
+
+ "/* XKB: This takes more arguments in xcb-xkb < 1.11 */",
+ "xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof(nullptr, 0, 0, 0, 0, 0, 0, 0, 0);"
]
},
- "use": "xcb_icccm xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xinerama xcb"
+ "use": "xcb_icccm xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xinerama xcb_xkb xcb"
},
"x11prefix": {
"label": "X11 prefix",
@@ -1373,7 +1375,7 @@
},
"egl": {
"label": "EGL",
- "condition": "(features.opengl || features.openvg) && (features.angle || libs.egl)",
+ "condition": "(features.opengl || features.openvg) && (features.angle || libs.egl) && (features.dlopen || !config.unix)",
"output": [ "privateFeature", "feature" ]
},
"egl_x11": {
@@ -1512,16 +1514,7 @@
"label": "XCB",
"section": "Platform plugins",
"autoDetect": "!config.darwin",
- "enable": "input.xcb == 'system' || input.xcb == 'qt' || input.xcb == 'yes'",
- "condition": "features.thread && features.xkbcommon && libs.xcb",
- "output": [ "privateFeature" ]
- },
- "system-xcb": {
- "label": "Using system-provided XCB libraries",
- "enable": "input.xcb == 'system'",
- "disable": "input.xcb == 'qt'",
- "autoDetect": "!config.darwin",
- "condition": "features.xcb && tests.xcb_syslibs",
+ "condition": "features.thread && libs.xcb && tests.xcb_syslibs && features.xkbcommon-x11",
"output": [ "privateFeature" ]
},
"x11-prefix": {
@@ -1560,12 +1553,6 @@
"condition": "features.xcb-native-painting",
"output": [ "privateFeature" ]
},
- "xkb": {
- "label": "XCB XKB",
- "emitIf": "features.xcb",
- "condition": "(!features.system-xcb || libs.xcb_xkb) && libs.xkbcommon_x11",
- "output": [ "privateFeature" ]
- },
"xcb-xlib": {
"label": "XCB Xlib",
"condition": "features.xlib && libs.xcb_xlib",
@@ -1577,10 +1564,12 @@
"condition": "features.sessionmanager && libs.x11sm",
"output": [ "privateFeature" ]
},
- "xcb-xinput": {
- "label": "XCB XInput",
+ "system-xcb-xinput": {
+ "label": "Using system-provided xcb-xinput",
"emitIf": "features.xcb",
- "condition": "!features.system-xcb || libs.xcb_xinput",
+ "disable": "input.bundled-xcb-xinput == 'yes'",
+ "enable": "input.bundled-xcb-xinput == 'no'",
+ "condition": "libs.xcb_xinput",
"output": [ "privateFeature" ]
},
"xkbcommon": {
@@ -1588,6 +1577,11 @@
"condition": "libs.xkbcommon",
"output": [ "privateFeature" ]
},
+ "xkbcommon-x11": {
+ "label": "xkbcommon-x11",
+ "condition": "features.xkbcommon && libs.xkbcommon_x11",
+ "output": [ "privateFeature" ]
+ },
"xlib": {
"label": "XLib",
"autoDetect": "!config.darwin || features.xcb",
@@ -1829,7 +1823,7 @@
{
"type": "error",
"condition": "input.xcb != '' && input.xcb != 'no' && input.xkbcommon == 'no'",
- "message": "XCB plugin requires xkbcommon, but -no-xkbcommon was provided."
+ "message": "XCB plugin requires xkbcommon and xkbcommon-x11, but -no-xkbcommon was provided."
}
],
@@ -1943,7 +1937,8 @@
"entries": [
"xlib",
"xcb-xlib",
- "egl_x11"
+ "egl_x11",
+ "xkbcommon-x11"
]
}
]
@@ -1976,7 +1971,7 @@
"section": "XCB",
"condition": "features.xcb",
"entries": [
- "system-xcb", "xkb", "xcb-xinput", "xcb-native-painting",
+ "system-xcb-xinput", "xcb-native-painting",
{
"section": "GL integrations",
"entries": [
diff --git a/src/gui/doc/qtgui.qdocconf b/src/gui/doc/qtgui.qdocconf
index 049b9ef179..76dd6d7ea1 100644
--- a/src/gui/doc/qtgui.qdocconf
+++ b/src/gui/doc/qtgui.qdocconf
@@ -67,3 +67,6 @@ navigation.cppclassespage = "Qt GUI C++ Classes"
# Ignore warnings about undocumented enum values for the QGradient presets
spurious += "Undocumented enum item '.*' in QGradient::Preset"
+
+# \svgcolor {#ffdead}
+macro.svgcolor.HTML = "<div style=\"padding:10px;color:#fff;background:\1;\"></div>"
diff --git a/src/gui/doc/snippets/picture/picture.cpp b/src/gui/doc/snippets/picture/picture.cpp
index 863476fdbf..807c263b19 100644
--- a/src/gui/doc/snippets/picture/picture.cpp
+++ b/src/gui/doc/snippets/picture/picture.cpp
@@ -80,82 +80,3 @@ int main()
painter.end(); // painting done
//! [1]
}
-
- QPicture myPicture;
- {
- // FORMATS
-//! [2]
- const QStringList list = QPicture::inputFormatList();
- for (const QString &string : list)
- myProcessing(string);
-//! [2]
- }
-
- {
- // OUTPUT
-//! [3]
- const QStringList list = QPicture::outputFormatList();
- for (const QString &string : list)
- myProcessing(string);
-//! [3]
- }
-
- {
- // PIC READ
-//! [4]
- QPictureIO iio;
- QPixmap pixmap;
- iio.setFileName("vegeburger.pic");
- if (iio.read()) { // OK
- QPicture picture = iio.picture();
- QPainter painter(&pixmap);
- painter.drawPicture(0, 0, picture);
- }
-//! [4]
- }
-
- {
- QPixmap pixmap;
- // PIC WRITE
-//! [5]
- QPictureIO iio;
- QPicture picture;
- QPainter painter(&picture);
- painter.drawPixmap(0, 0, pixmap);
- iio.setPicture(picture);
- iio.setFileName("vegeburger.pic");
- iio.setFormat("PIC");
- if (iio.write())
- return true; // returned true if written successfully
-//! [5]
- }
-
-}
-
-// SVG READ
-//! [6]
-void readSVG(QPictureIO *picture)
-{
- // read the picture using the picture->ioDevice()
-}
-//! [6]
-
-// SVG WRITE
-//! [7]
-void writeSVG(QPictureIO *picture)
-{
- // write the picture using the picture->ioDevice()
-}
-//! [7]
-
-// USE SVG
-void foo() {
-
-//! [8]
- // add the SVG picture handler
- // ...
-//! [8]
- QPictureIO::defineIOHandler("SVG", 0, 0, readSVG, writeSVG);
- // ...
-
-}
diff --git a/src/gui/doc/src/includes/qt-colors.qdocinc b/src/gui/doc/src/includes/qt-colors.qdocinc
new file mode 100644
index 0000000000..4c082323b6
--- /dev/null
+++ b/src/gui/doc/src/includes/qt-colors.qdocinc
@@ -0,0 +1,86 @@
+\table
+\header
+ \li Name
+ \li Hex
+ \li Color
+\row
+ \li Color0
+ \li #000000
+ \li \svgcolor {#000000}
+\row
+ \li Color1
+ \li #ffffff
+ \li \svgcolor {#ffffff}
+\row
+ \li Black
+ \li #000000
+ \li \svgcolor {#000000}
+\row
+ \li White
+ \li #ffffff
+ \li \svgcolor {#ffffff}
+\row
+ \li DarkGray
+ \li #808080
+ \li \svgcolor {#808080}
+\row
+ \li Gray
+ \li #a0a0a4
+ \li \svgcolor {#a0a0a4}
+\row
+ \li LightGray
+ \li #c0c0c0
+ \li \svgcolor {#c0c0c0}
+\row
+ \li Red
+ \li #ff0000
+ \li \svgcolor {#ff0000}
+\row
+ \li Green
+ \li #00ff00
+ \li \svgcolor {#00ff00}
+\row
+ \li Blue
+ \li #0000ff
+ \li \svgcolor {#0000ff}
+\row
+ \li Cyan
+ \li #00ffff
+ \li \svgcolor {#00ffff}
+\row
+ \li Magenta
+ \li #ff00ff
+ \li \svgcolor {#ff00ff}
+\row
+ \li Yellow
+ \li #ffff00
+ \li \svgcolor {#ffff00}
+\row
+ \li DarkRed
+ \li #800000
+ \li \svgcolor {#800000}
+\row
+ \li DarkGreen
+ \li #008000
+ \li \svgcolor {#008000}
+\row
+ \li DarkBlue
+ \li #000080
+ \li \svgcolor {#000080}
+\row
+ \li DarkCyan
+ \li #008080
+ \li \svgcolor {#008080}
+\row
+ \li DarkMagenta
+ \li #800080
+ \li \svgcolor {#800080}
+\row
+ \li DarkYellow
+ \li #808000
+ \li \svgcolor {#808000}
+\row
+ \li Transparent
+ \li #00000000
+ \li (transparent)
+\endtable
diff --git a/src/gui/doc/src/includes/svg-colors.qdocinc b/src/gui/doc/src/includes/svg-colors.qdocinc
new file mode 100644
index 0000000000..4e5fb56d5e
--- /dev/null
+++ b/src/gui/doc/src/includes/svg-colors.qdocinc
@@ -0,0 +1,594 @@
+\table
+\header
+ \li Name
+ \li Hex
+ \li Color
+\row
+ \li aliceblue
+ \li #f0f8ff
+ \li \svgcolor {#f0f8ff}
+\row
+ \li antiquewhite
+ \li #faebd7
+ \li \svgcolor {#faebd7}
+\row
+ \li aqua
+ \li #00ffff
+ \li \svgcolor {#00ffff}
+\row
+ \li aquamarine
+ \li #7fffd4
+ \li \svgcolor {#7fffd4}
+\row
+ \li azure
+ \li #f0ffff
+ \li \svgcolor {#f0ffff}
+\row
+ \li beige
+ \li #f5f5dc
+ \li \svgcolor {#f5f5dc}
+\row
+ \li bisque
+ \li #ffe4c4
+ \li \svgcolor {#ffe4c4}
+\row
+ \li black
+ \li #000000
+ \li \svgcolor {#000000}
+\row
+ \li blanchedalmond
+ \li #ffebcd
+ \li \svgcolor {#ffebcd}
+\row
+ \li blue
+ \li #0000ff
+ \li \svgcolor {#0000ff}
+\row
+ \li blueviolet
+ \li #8a2be2
+ \li \svgcolor {#8a2be2}
+\row
+ \li brown
+ \li #a52a2a
+ \li \svgcolor {#a52a2a}
+\row
+ \li burlywood
+ \li #deb887
+ \li \svgcolor {#deb887}
+\row
+ \li cadetblue
+ \li #5f9ea0
+ \li \svgcolor {#5f9ea0}
+\row
+ \li chartreuse
+ \li #7fff00
+ \li \svgcolor {#7fff00}
+\row
+ \li chocolate
+ \li #d2691e
+ \li \svgcolor {#d2691e}
+\row
+ \li coral
+ \li #ff7f50
+ \li \svgcolor {#ff7f50}
+\row
+ \li cornflowerblue
+ \li #6495ed
+ \li \svgcolor {#6495ed}
+\row
+ \li cornsilk
+ \li #fff8dc
+ \li \svgcolor {#fff8dc}
+\row
+ \li crimson
+ \li #dc143c
+ \li \svgcolor {#dc143c}
+\row
+ \li cyan
+ \li #00ffff
+ \li \svgcolor {#00ffff}
+\row
+ \li darkblue
+ \li #00008b
+ \li \svgcolor {#00008b}
+\row
+ \li darkcyan
+ \li #008b8b
+ \li \svgcolor {#008b8b}
+\row
+ \li darkgoldenrod
+ \li #b8860b
+ \li \svgcolor {#b8860b}
+\row
+ \li darkgray
+ \li #a9a9a9
+ \li \svgcolor {#a9a9a9}
+\row
+ \li darkgreen
+ \li #006400
+ \li \svgcolor {#006400}
+\row
+ \li darkgrey
+ \li #a9a9a9
+ \li \svgcolor {#a9a9a9}
+\row
+ \li darkkhaki
+ \li #bdb76b
+ \li \svgcolor {#bdb76b}
+\row
+ \li darkmagenta
+ \li #8b008b
+ \li \svgcolor {#8b008b}
+\row
+ \li darkolivegreen
+ \li #556b2f
+ \li \svgcolor {#556b2f}
+\row
+ \li darkorange
+ \li #ff8c00
+ \li \svgcolor {#ff8c00}
+\row
+ \li darkorchid
+ \li #9932cc
+ \li \svgcolor {#9932cc}
+\row
+ \li darkred
+ \li #8b0000
+ \li \svgcolor {#8b0000}
+\row
+ \li darksalmon
+ \li #e9967a
+ \li \svgcolor {#e9967a}
+\row
+ \li darkseagreen
+ \li #8fbc8f
+ \li \svgcolor {#8fbc8f}
+\row
+ \li darkslateblue
+ \li #483d8b
+ \li \svgcolor {#483d8b}
+\row
+ \li darkslategray
+ \li #2f4f4f
+ \li \svgcolor {#2f4f4f}
+\row
+ \li darkslategrey
+ \li #2f4f4f
+ \li \svgcolor {#2f4f4f}
+\row
+ \li darkturquoise
+ \li #00ced1
+ \li \svgcolor {#00ced1}
+\row
+ \li darkviolet
+ \li #9400d3
+ \li \svgcolor {#9400d3}
+\row
+ \li deeppink
+ \li #ff1493
+ \li \svgcolor {#ff1493}
+\row
+ \li deepskyblue
+ \li #00bfff
+ \li \svgcolor {#00bfff}
+\row
+ \li dimgray
+ \li #696969
+ \li \svgcolor {#696969}
+\row
+ \li dimgrey
+ \li #696969
+ \li \svgcolor {#696969}
+\row
+ \li dodgerblue
+ \li #1e90ff
+ \li \svgcolor {#1e90ff}
+\row
+ \li firebrick
+ \li #b22222
+ \li \svgcolor {#b22222}
+\row
+ \li floralwhite
+ \li #fffaf0
+ \li \svgcolor {#fffaf0}
+\row
+ \li forestgreen
+ \li #228b22
+ \li \svgcolor {#228b22}
+\row
+ \li fuchsia
+ \li #ff00ff
+ \li \svgcolor {#ff00ff}
+\row
+ \li gainsboro
+ \li #dcdcdc
+ \li \svgcolor {#dcdcdc}
+\row
+ \li ghostwhite
+ \li #f8f8ff
+ \li \svgcolor {#f8f8ff}
+\row
+ \li gold
+ \li #ffd700
+ \li \svgcolor {#ffd700}
+\row
+ \li goldenrod
+ \li #daa520
+ \li \svgcolor {#daa520}
+\row
+ \li gray
+ \li #808080
+ \li \svgcolor {#808080}
+\row
+ \li grey
+ \li #808080
+ \li \svgcolor {#808080}
+\row
+ \li green
+ \li #008000
+ \li \svgcolor {#008000}
+\row
+ \li greenyellow
+ \li #adff2f
+ \li \svgcolor {#adff2f}
+\row
+ \li honeydew
+ \li #f0fff0
+ \li \svgcolor {#f0fff0}
+\row
+ \li hotpink
+ \li #ff69b4
+ \li \svgcolor {#ff69b4}
+\row
+ \li indianred
+ \li #cd5c5c
+ \li \svgcolor {#cd5c5c}
+\row
+ \li indigo
+ \li #4b0082
+ \li \svgcolor {#4b0082}
+\row
+ \li ivory
+ \li #fffff0
+ \li \svgcolor {#fffff0}
+\row
+ \li khaki
+ \li #f0e68c
+ \li \svgcolor {#f0e68c}
+\row
+ \li lavender
+ \li #e6e6fa
+ \li \svgcolor {#e6e6fa}
+\row
+ \li lavenderblush
+ \li #fff0f5
+ \li \svgcolor {#fff0f5}
+\row
+ \li lawngreen
+ \li #7cfc00
+ \li \svgcolor {#7cfc00}
+\row
+ \li lemonchiffon
+ \li #fffacd
+ \li \svgcolor {#fffacd}
+\row
+ \li lightblue
+ \li #add8e6
+ \li \svgcolor {#add8e6}
+\row
+ \li lightcoral
+ \li #f08080
+ \li \svgcolor {#f08080}
+\row
+ \li lightcyan
+ \li #e0ffff
+ \li \svgcolor {#e0ffff}
+\row
+ \li lightgoldenrodyellow
+ \li #fafad2
+ \li \svgcolor {#fafad2}
+\row
+ \li lightgray
+ \li #d3d3d3
+ \li \svgcolor {#d3d3d3}
+\row
+ \li lightgreen
+ \li #90ee90
+ \li \svgcolor {#90ee90}
+\row
+ \li lightgrey
+ \li #d3d3d3
+ \li \svgcolor {#d3d3d3}
+\row
+ \li lightpink
+ \li #ffb6c1
+ \li \svgcolor {#ffb6c1}
+\row
+ \li lightsalmon
+ \li #ffa07a
+ \li \svgcolor {#ffa07a}
+\row
+ \li lightseagreen
+ \li #20b2aa
+ \li \svgcolor {#20b2aa}
+\row
+ \li lightskyblue
+ \li #87cefa
+ \li \svgcolor {#87cefa}
+\row
+ \li lightslategray
+ \li #778899
+ \li \svgcolor {#778899}
+\row
+ \li lightslategrey
+ \li #778899
+ \li \svgcolor {#778899}
+\row
+ \li lightsteelblue
+ \li #b0c4de
+ \li \svgcolor {#b0c4de}
+\row
+ \li lightyellow
+ \li #ffffe0
+ \li \svgcolor {#ffffe0}
+\row
+ \li lime
+ \li #00ff00
+ \li \svgcolor {#00ff00}
+\row
+ \li limegreen
+ \li #32cd32
+ \li \svgcolor {#32cd32}
+\row
+ \li linen
+ \li #faf0e6
+ \li \svgcolor {#faf0e6}
+\row
+ \li magenta
+ \li #ff00ff
+ \li \svgcolor {#ff00ff}
+\row
+ \li maroon
+ \li #800000
+ \li \svgcolor {#800000}
+\row
+ \li mediumaquamarine
+ \li #66cdaa
+ \li \svgcolor {#66cdaa}
+\row
+ \li mediumblue
+ \li #0000cd
+ \li \svgcolor {#0000cd}
+\row
+ \li mediumorchid
+ \li #ba55d3
+ \li \svgcolor {#ba55d3}
+\row
+ \li mediumpurple
+ \li #9370db
+ \li \svgcolor {#9370db}
+\row
+ \li mediumseagreen
+ \li #3cb371
+ \li \svgcolor {#3cb371}
+\row
+ \li mediumslateblue
+ \li #7b68ee
+ \li \svgcolor {#7b68ee}
+\row
+ \li mediumspringgreen
+ \li #00fa9a
+ \li \svgcolor {#00fa9a}
+\row
+ \li mediumturquoise
+ \li #48d1cc
+ \li \svgcolor {#48d1cc}
+\row
+ \li mediumvioletred
+ \li #c71585
+ \li \svgcolor {#c71585}
+\row
+ \li midnightblue
+ \li #191970
+ \li \svgcolor {#191970}
+\row
+ \li mintcream
+ \li #f5fffa
+ \li \svgcolor {#f5fffa}
+\row
+ \li mistyrose
+ \li #ffe4e1
+ \li \svgcolor {#ffe4e1}
+\row
+ \li moccasin
+ \li #ffe4b5
+ \li \svgcolor {#ffe4b5}
+\row
+ \li navajowhite
+ \li #ffdead
+ \li \svgcolor {#ffdead}
+\row
+ \li navy
+ \li #000080
+ \li \svgcolor {#000080}
+\row
+ \li oldlace
+ \li #fdf5e6
+ \li \svgcolor {#fdf5e6}
+\row
+ \li olive
+ \li #808000
+ \li \svgcolor {#808000}
+\row
+ \li olivedrab
+ \li #6b8e23
+ \li \svgcolor {#6b8e23}
+\row
+ \li orange
+ \li #ffa500
+ \li \svgcolor {#ffa500}
+\row
+ \li orangered
+ \li #ff4500
+ \li \svgcolor {#ff4500}
+\row
+ \li orchid
+ \li #da70d6
+ \li \svgcolor {#da70d6}
+\row
+ \li palegoldenrod
+ \li #eee8aa
+ \li \svgcolor {#eee8aa}
+\row
+ \li palegreen
+ \li #98fb98
+ \li \svgcolor {#98fb98}
+\row
+ \li paleturquoise
+ \li #afeeee
+ \li \svgcolor {#afeeee}
+\row
+ \li palevioletred
+ \li #db7093
+ \li \svgcolor {#db7093}
+\row
+ \li papayawhip
+ \li #ffefd5
+ \li \svgcolor {#ffefd5}
+\row
+ \li peachpuff
+ \li #ffdab9
+ \li \svgcolor {#ffdab9}
+\row
+ \li peru
+ \li #cd853f
+ \li \svgcolor {#cd853f}
+\row
+ \li pink
+ \li #ffc0cb
+ \li \svgcolor {#ffc0cb}
+\row
+ \li plum
+ \li #dda0dd
+ \li \svgcolor {#dda0dd}
+\row
+ \li powderblue
+ \li #b0e0e6
+ \li \svgcolor {#b0e0e6}
+\row
+ \li purple
+ \li #800080
+ \li \svgcolor {#800080}
+\row
+ \li red
+ \li #ff0000
+ \li \svgcolor {#ff0000}
+\row
+ \li rosybrown
+ \li #bc8f8f
+ \li \svgcolor {#bc8f8f}
+\row
+ \li royalblue
+ \li #4169e1
+ \li \svgcolor {#4169e1}
+\row
+ \li saddlebrown
+ \li #8b4513
+ \li \svgcolor {#8b4513}
+\row
+ \li salmon
+ \li #fa8072
+ \li \svgcolor {#fa8072}
+\row
+ \li sandybrown
+ \li #f4a460
+ \li \svgcolor {#f4a460}
+\row
+ \li seagreen
+ \li #2e8b57
+ \li \svgcolor {#2e8b57}
+\row
+ \li seashell
+ \li #fff5ee
+ \li \svgcolor {#fff5ee}
+\row
+ \li sienna
+ \li #a0522d
+ \li \svgcolor {#a0522d}
+\row
+ \li silver
+ \li #c0c0c0
+ \li \svgcolor {#c0c0c0}
+\row
+ \li skyblue
+ \li #87ceeb
+ \li \svgcolor {#87ceeb}
+\row
+ \li slateblue
+ \li #6a5acd
+ \li \svgcolor {#6a5acd}
+\row
+ \li slategray
+ \li #708090
+ \li \svgcolor {#708090}
+\row
+ \li slategrey
+ \li #708090
+ \li \svgcolor {#708090}
+\row
+ \li snow
+ \li #fffafa
+ \li \svgcolor {#fffafa}
+\row
+ \li springgreen
+ \li #00ff7f
+ \li \svgcolor {#00ff7f}
+\row
+ \li steelblue
+ \li #4682b4
+ \li \svgcolor {#4682b4}
+\row
+ \li tan
+ \li #d2b48c
+ \li \svgcolor {#d2b48c}
+\row
+ \li teal
+ \li #008080
+ \li \svgcolor {#008080}
+\row
+ \li thistle
+ \li #d8bfd8
+ \li \svgcolor {#d8bfd8}
+\row
+ \li tomato
+ \li #ff6347
+ \li \svgcolor {#ff6347}
+\row
+ \li turquoise
+ \li #40e0d0
+ \li \svgcolor {#40e0d0}
+\row
+ \li violet
+ \li #ee82ee
+ \li \svgcolor {#ee82ee}
+\row
+ \li wheat
+ \li #f5deb3
+ \li \svgcolor {#f5deb3}
+\row
+ \li white
+ \li #ffffff
+ \li \svgcolor {#ffffff}
+\row
+ \li whitesmoke
+ \li #f5f5f5
+ \li \svgcolor {#f5f5f5}
+\row
+ \li yellow
+ \li #ffff00
+ \li \svgcolor {#ffff00}
+\row
+ \li yellowgreen
+ \li #9acd32
+ \li \svgcolor {#9acd32}
+\endtable
diff --git a/src/gui/doc/src/richtext.qdoc b/src/gui/doc/src/richtext.qdoc
index a8ba076e3d..24fd4240b3 100644
--- a/src/gui/doc/src/richtext.qdoc
+++ b/src/gui/doc/src/richtext.qdoc
@@ -1175,12 +1175,75 @@
\row \li \c vertical-align
\li baseline | sub | super | middle | top | bottom
\li Vertical text alignment. For vertical alignment in text table cells only middle, top, and bottom apply.
+ \row \li \c border-collapse
+ \li collapse | separate
+ \li Border Collapse mode for text tables. If set to collapse, cell-spacing will not be applied.
\row \li \c border-color
\li <color>
- \li Border color for text tables.
+ \li Border color for text tables and table cells.
+ \row \li \c border-top-color
+ \li <color>
+ \li Top border color for table cells.
+ \row \li \c border-bottom-color
+ \li <color>
+ \li Bottom border color for table cells.
+ \row \li \c border-left-color
+ \li <color>
+ \li Left border color for table cells.
+ \row \li \c border-right-color
+ \li <color>
+ \li Right border color for table cells.
\row \li \c border-style
\li none | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outset
- \li Border style for text tables.
+ \li Border style for text tables and table cells.
+ \row \li \c border-top-style
+ \li <color>
+ \li Top border style for table cells.
+ \row \li \c border-bottom-style
+ \li <color>
+ \li Bottom border style for table cells.
+ \row \li \c border-left-style
+ \li <color>
+ \li Left border style for table cells.
+ \row \li \c border-right-style
+ \li <color>
+ \li Right border style for table cells.
+ \row \li \c border-width
+ \li <width>px
+ \li Width of table or cell border
+ \row \li \c border-top-width
+ \li <length>px
+ \li Top border width for table cells.
+ \row \li \c border-bottom-width
+ \li <length>px
+ \li Bottom border width for table cells.
+ \row \li \c border-left-width
+ \li <length>px
+ \li Left border width for table cells.
+ \row \li \c border-right-width
+ \li <length>px
+ \li Right border width for table cells.
+ \row \li \c border-top
+ \li <width>px <border-style> <border-color>
+ \li Shorthand for setting top border width, style and color
+ \row \li \c border-bottom
+ \li <width>px <border-style> <border-color>
+ \li Shorthand for setting bottom border width, style and color
+ \row \li \c border-left
+ \li <width>px <border-style> <border-color>
+ \li Shorthand for setting left border width, style and color
+ \row \li \c border-right
+ \li <width>px <border-style> <border-color>
+ \li Shorthand for setting right border width, style and color
+ \row \li \c border-top
+ \li <width>px <border-style> <border-color>
+ \li Shorthand for setting top border width, style and color
+ \row \li \c border-bottom
+ \li <width>px <border-style> <border-color>
+ \li Shorthand for setting bottom border width, style and color
+ \row \li \c border
+ \li <width>px <border-style> <border-color>
+ \li Shorthand for setting all four border's width, style and color
\row \li \c background
\li [ <'background-color'> || <'background-image'> ]
\li Background shorthand property
@@ -1190,7 +1253,7 @@
\row \li \c page-break-after
\li [ auto | always ]
\li Make it possible to enforce a page break after the paragraph/table
- \row \li float
+ \row \li \c float
\li [ left | right | none ]
\li Specifies where an image or a text will be placed in another element. Note that the \c float property is
only supported for tables and images.
diff --git a/src/gui/image/image.pri b/src/gui/image/image.pri
index b482a6e142..085ec90c4b 100644
--- a/src/gui/image/image.pri
+++ b/src/gui/image/image.pri
@@ -14,7 +14,6 @@ HEADERS += \
image/qpaintengine_pic_p.h \
image/qpicture.h \
image/qpicture_p.h \
- image/qpictureformatplugin.h \
image/qpixmap.h \
image/qpixmap_raster_p.h \
image/qpixmap_blitter_p.h \
@@ -38,7 +37,6 @@ SOURCES += \
image/qimagewriter.cpp \
image/qpaintengine_pic.cpp \
image/qpicture.cpp \
- image/qpictureformatplugin.cpp \
image/qpixmap.cpp \
image/qpixmapcache.cpp \
image/qplatformpixmap.cpp \
@@ -79,7 +77,18 @@ qtConfig(png) {
}
# SIMD
-SSSE3_SOURCES += image/qimage_ssse3.cpp
-NEON_SOURCES += image/qimage_neon.cpp
-MIPS_DSPR2_SOURCES += image/qimage_mips_dspr2.cpp
-MIPS_DSPR2_ASM += image/qimage_mips_dspr2_asm.S
+!android {
+ SSSE3_SOURCES += image/qimage_ssse3.cpp
+ NEON_SOURCES += image/qimage_neon.cpp
+ MIPS_DSPR2_SOURCES += image/qimage_mips_dspr2.cpp
+ MIPS_DSPR2_ASM += image/qimage_mips_dspr2_asm.S
+} else {
+ # see https://developer.android.com/ndk/guides/abis
+ arm64-v8a {
+ SOURCES += image/qimage_neon.cpp
+ }
+ x86 | x86_64 {
+ DEFINES += QT_COMPILER_SUPPORTS_SSE2 QT_COMPILER_SUPPORTS_SSE3 QT_COMPILER_SUPPORTS_SSSE3
+ SOURCES += image/qimage_ssse3.cpp
+ }
+}
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index cd2fe5bc10..b7f67cd7ef 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -287,6 +287,7 @@ bool QImageData::checkForAlphaPixels() const
case QImage::Format_RGB555:
case QImage::Format_RGB666:
case QImage::Format_RGB888:
+ case QImage::Format_BGR888:
case QImage::Format_RGBX8888:
case QImage::Format_BGR30:
case QImage::Format_RGB30:
@@ -716,10 +717,11 @@ bool QImageData::checkForAlphaPixels() const
\value Format_Grayscale8 The image is stored using an 8-bit grayscale format. (added in Qt 5.5)
\value Format_Grayscale16 The image is stored using an 16-bit grayscale format. (added in Qt 5.13)
\value Format_RGBX64 The image is stored using a 64-bit halfword-ordered RGB(x) format (16-16-16-16).
- This is the same as the Format_RGBX64 except alpha must always be 65535. (added in Qt 5.12)
+ This is the same as the Format_RGBA64 except alpha must always be 65535. (added in Qt 5.12)
\value Format_RGBA64 The image is stored using a 64-bit halfword-ordered RGBA format (16-16-16-16). (added in Qt 5.12)
\value Format_RGBA64_Premultiplied The image is stored using a premultiplied 64-bit halfword-ordered
RGBA format (16-16-16-16). (added in Qt 5.12)
+ \value Format_BGR888 The image is stored using a 24-bit BGR format. (added in Qt 5.14)
\note Drawing into a QImage with QImage::Format_Indexed8 is not
supported.
@@ -5550,6 +5552,19 @@ static Q_CONSTEXPR QPixelFormat pixelformats[] = {
/*PREMULTIPLIED*/ QPixelFormat::NotPremultiplied,
/*INTERPRETATION*/ QPixelFormat::UnsignedShort,
/*BYTE ORDER*/ QPixelFormat::CurrentSystemEndian),
+ //QImage::Format_BGR888:
+ QPixelFormat(QPixelFormat::BGR,
+ /*RED*/ 8,
+ /*GREEN*/ 8,
+ /*BLUE*/ 8,
+ /*FOURTH*/ 0,
+ /*FIFTH*/ 0,
+ /*ALPHA*/ 0,
+ /*ALPHA USAGE*/ QPixelFormat::IgnoresAlpha,
+ /*ALPHA POSITION*/ QPixelFormat::AtBeginning,
+ /*PREMULTIPLIED*/ QPixelFormat::NotPremultiplied,
+ /*INTERPRETATION*/ QPixelFormat::UnsignedByte,
+ /*BYTE ORDER*/ QPixelFormat::CurrentSystemEndian),
};
Q_STATIC_ASSERT(sizeof(pixelformats) / sizeof(*pixelformats) == QImage::NImageFormats);
diff --git a/src/gui/image/qimage.h b/src/gui/image/qimage.h
index 3f0d900a70..c657d6067f 100644
--- a/src/gui/image/qimage.h
+++ b/src/gui/image/qimage.h
@@ -131,6 +131,7 @@ public:
Format_RGBA64,
Format_RGBA64_Premultiplied,
Format_Grayscale16,
+ Format_BGR888,
#ifndef Q_QDOC
NImageFormats
#endif
diff --git a/src/gui/image/qimage_conversions.cpp b/src/gui/image/qimage_conversions.cpp
index 837ac88470..539bac222a 100644
--- a/src/gui/image/qimage_conversions.cpp
+++ b/src/gui/image/qimage_conversions.cpp
@@ -429,8 +429,8 @@ typedef void (QT_FASTCALL *Rgb888ToRgbConverter)(quint32 *dst, const uchar *src,
template <bool rgbx>
static void convert_RGB888_to_RGB(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
{
- Q_ASSERT(src->format == QImage::Format_RGB888);
- if (rgbx)
+ Q_ASSERT(src->format == QImage::Format_RGB888 || src->format == QImage::Format_BGR888);
+ if (rgbx ^ (src->format == QImage::Format_BGR888))
Q_ASSERT(dest->format == QImage::Format_RGBX8888 || dest->format == QImage::Format_RGBA8888 || dest->format == QImage::Format_RGBA8888_Premultiplied);
else
Q_ASSERT(dest->format == QImage::Format_RGB32 || dest->format == QImage::Format_ARGB32 || dest->format == QImage::Format_ARGB32_Premultiplied);
@@ -1421,6 +1421,69 @@ static void convert_RGBA64_to_gray16(QImageData *dest, const QImageData *src, Qt
}
}
+static void convert_RGB888_to_BGR888(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(src->format == QImage::Format_RGB888 || src->format == QImage::Format_BGR888);
+ Q_ASSERT(dest->format == QImage::Format_RGB888 || dest->format == QImage::Format_BGR888);
+ Q_ASSERT(src->width == dest->width);
+ Q_ASSERT(src->height == dest->height);
+
+ const qsizetype sbpl = src->bytes_per_line;
+ const qsizetype dbpl = dest->bytes_per_line;
+ const uchar *src_data = src->data;
+ uchar *dest_data = dest->data;
+
+ for (int i = 0; i < src->height; ++i) {
+ int pixel = 0;
+ // Handle 4 pixels (12 bytes) at a time
+ for (; pixel + 3 < src->width; pixel += 4) {
+ const uchar *src = src_data + pixel * 3;
+ quint32 *dest_packed = (quint32 *) (dest_data + pixel * 3);
+ dest_packed[0] = (src[5] << 24) | (src[0] << 16) | (src[1] << 8) | (src[2] << 0);
+ dest_packed[1] = (src[7] << 24) | (src[8] << 16) | (src[3] << 8) | (src[4] << 0);
+ dest_packed[2] = (src[9] << 24) | (src[10] << 16) | (src[11] << 8) | (src[6] << 0);
+ }
+
+ // epilog: handle left over pixels
+ for (; pixel < src->width; ++pixel) {
+ dest_data[pixel * 3 + 0] = src_data[pixel * 3 + 2];
+ dest_data[pixel * 3 + 1] = src_data[pixel * 3 + 1];
+ dest_data[pixel * 3 + 2] = src_data[pixel * 3 + 0];
+ }
+
+ src_data += sbpl;
+ dest_data += dbpl;
+ }
+}
+
+static bool convert_RGB888_to_BGR888_inplace(QImageData *data, Qt::ImageConversionFlags)
+{
+ Q_ASSERT(data->format == QImage::Format_RGB888 || data->format == QImage::Format_BGR888);
+
+ const qsizetype bpl = data->bytes_per_line;
+ uchar *line_data = data->data;
+
+ for (int i = 0; i < data->height; ++i) {
+ for (int j = 0; j < data->width; ++j)
+ qSwap(line_data[j * 3 + 0], line_data[j * 3 + 2]);
+ line_data += bpl;
+ }
+
+ switch (data->format) {
+ case QImage::Format_RGB888:
+ data->format = QImage::Format_BGR888;
+ break;
+ case QImage::Format_BGR888:
+ data->format = QImage::Format_RGB888;
+ break;
+ default:
+ Q_UNREACHABLE();
+ data->format = QImage::Format_Invalid;
+ return false;
+ }
+ return true;
+}
+
static QVector<QRgb> fix_color_table(const QVector<QRgb> &ctbl, QImage::Format format)
{
QVector<QRgb> colorTable = ctbl;
@@ -2265,7 +2328,7 @@ static bool convert_Grayscale8_to_Indexed8_inplace(QImageData *data, Qt::ImageCo
Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormats] =
{
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
0,
@@ -2286,7 +2349,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_Mono
{
@@ -2308,7 +2371,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_MonoLSB
{
@@ -2333,7 +2396,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0, 0, 0, 0, 0,
convert_Indexed8_to_Alpha8,
convert_Indexed8_to_Grayscale8,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_Indexed8
{
@@ -2361,7 +2424,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_RGB_to_RGB30<PixelOrderRGB, false>,
0,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_RGB32
{
@@ -2391,7 +2454,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0, 0,
0,
convert_ARGB32_to_RGBA64<false>,
- 0, 0
+ 0, 0, 0
}, // Format_ARGB32
{
@@ -2416,7 +2479,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_ARGB_to_RGBA,
0, 0, 0, 0,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_ARGB32_Premultiplied
{
@@ -2438,7 +2501,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB16
{
@@ -2460,7 +2523,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB8565_Premultiplied
{
@@ -2482,7 +2545,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB666
{
@@ -2504,7 +2567,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB6666_Premultiplied
{
@@ -2526,7 +2589,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB555
{
@@ -2548,7 +2611,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB8555_Premultiplied
{
@@ -2565,13 +2628,14 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0,
+ 0, // self
0,
0,
convert_RGB888_to_RGB<true>,
convert_RGB888_to_RGB<true>,
convert_RGB888_to_RGB<true>,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ convert_RGB888_to_BGR888,
}, // Format_RGB888
{
@@ -2593,7 +2657,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB444
{
@@ -2614,7 +2678,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB4444_Premultiplied
{
0,
@@ -2641,7 +2705,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_RGB_to_RGB30<PixelOrderRGB, true>,
0,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_RGBX8888
{
0,
@@ -2670,7 +2734,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0, 0,
0,
convert_ARGB32_to_RGBA64<true>,
- 0, 0
+ 0, 0, 0
}, // Format_RGBA8888
{
@@ -2692,7 +2756,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGBA8888_Premultiplied
{
@@ -2720,7 +2784,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_BGR30_to_RGB30,
convert_BGR30_to_RGB30,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_BGR30
{
0,
@@ -2747,7 +2811,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_A2RGB30_PM_to_RGB30<true>,
convert_BGR30_to_RGB30,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_A2BGR30_Premultiplied
{
0,
@@ -2773,7 +2837,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_BGR30_to_RGB30,
0,
convert_passthrough,
- 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB30
{
0,
@@ -2800,7 +2864,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_A2RGB30_PM_to_RGB30<false>,
0,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_A2RGB30_Premultiplied
{
0,
@@ -2820,7 +2884,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_Alpha8
{
0,
@@ -2840,14 +2904,15 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_Grayscale8
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, // self
convert_passthrough,
convert_passthrough,
- convert_RGBA64_to_gray16
+ convert_RGBA64_to_gray16,
+ 0
}, // Format_RGBX64
{
0,
@@ -2874,6 +2939,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_RGBA64_to_RGBx64,
0, // self
convert_RGBA64_to_RGBA64PM,
+ 0,
0
}, // Format_RGBA64
{
@@ -2901,7 +2967,8 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_RGBA64PM_to_RGBA64<true>,
convert_RGBA64PM_to_RGBA64<false>,
0, // self
- convert_RGBA64_to_gray16
+ convert_RGBA64_to_gray16,
+ 0
}, // Format_RGBA64_Premultiplied
{
0,
@@ -2931,20 +2998,46 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
convert_gray16_to_RGBA64,
convert_gray16_to_RGBA64,
convert_gray16_to_RGBA64,
- 0 // self
+ 0, // self
+ 0
}, // Format_Grayscale16
+ {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0, 0, 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ convert_RGB888_to_BGR888,
+ 0,
+ 0,
+#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
+ convert_RGB888_to_RGB<false>,
+ convert_RGB888_to_RGB<false>,
+ convert_RGB888_to_RGB<false>,
+#else
+ 0, 0, 0,
+#endif
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, // self
+ }, // Format_BGR888
};
InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QImage::NImageFormats] =
{
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_Mono
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_MonoLSB
{
0,
@@ -2968,7 +3061,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0, 0, 0, 0, 0,
convert_Indexed8_to_Alpha8_inplace,
convert_Indexed8_to_Grayscale8_inplace,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_Indexed8
{
0,
@@ -2995,7 +3088,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_RGB_to_RGB30_inplace<PixelOrderRGB, false>,
0,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_RGB32
{
0,
@@ -3022,7 +3115,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_RGB_to_RGB30_inplace<PixelOrderRGB, false>,
0,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_ARGB32
{
0,
@@ -3046,34 +3139,35 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_ARGB_to_RGBA_inplace<QImage::Format_RGBA8888_Premultiplied>,
0, 0, 0, 0,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_ARGB32_Premultiplied
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB16
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB8565_Premultiplied
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB666
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB6666_Premultiplied
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB555
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB8555_Premultiplied
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ convert_RGB888_to_BGR888_inplace
}, // Format_RGB888
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB444
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_ARGB4444_Premultiplied
{
0,
@@ -3100,7 +3194,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_RGB_to_RGB30_inplace<PixelOrderRGB, true>,
0,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_RGBX8888
{
0,
@@ -3127,7 +3221,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_RGB_to_RGB30_inplace<PixelOrderRGB, true>,
0,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_RGBA8888
{
0,
@@ -3149,7 +3243,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0,
0,
0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGBA8888_Premultiplied
{
0,
@@ -3176,7 +3270,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_BGR30_to_RGB30_inplace,
convert_BGR30_to_A2RGB30_inplace,
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_BGR30
{
0,
@@ -3202,7 +3296,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0, // self
convert_A2RGB30_PM_to_RGB30_inplace<true>,
convert_BGR30_to_RGB30_inplace,
- 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_A2BGR30_Premultiplied
{
0,
@@ -3228,7 +3322,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_BGR30_to_A2RGB30_inplace,
0, // self
convert_passthrough_inplace<QImage::Format_A2RGB30_Premultiplied>,
- 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB30
{
0,
@@ -3255,7 +3349,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
convert_A2RGB30_PM_to_RGB30_inplace<false>,
0, // self
0, 0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_A2RGB30_Premultiplied
{
0,
@@ -3280,7 +3374,7 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0, 0, 0, 0,
0, // self
0,
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_Alpha8
{
0,
@@ -3305,32 +3399,37 @@ InPlace_Image_Converter qimage_inplace_converter_map[QImage::NImageFormats][QIma
0, 0, 0, 0,
0,
0, // self
- 0, 0, 0, 0
+ 0, 0, 0, 0, 0
}, // Format_Grayscale8
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, // self
convert_passthrough_inplace<QImage::Format_RGBA64>,
convert_passthrough_inplace<QImage::Format_RGBA64_Premultiplied>,
- 0
+ 0, 0
}, // Format_RGBX64
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
convert_RGBA64_to_RGBx64_inplace,
0, // self
convert_RGBA64_to_RGBA64PM_inplace,
- 0
+ 0, 0
}, // Format_RGBA64
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
convert_RGBA64PM_to_RGBA64_inplace<true>,
convert_RGBA64PM_to_RGBA64_inplace<false>,
0, // self
- 0
+ 0, 0
}, // Format_RGBA64_Premultiplied
{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_Grayscale16
+ {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ convert_RGB888_to_BGR888_inplace,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ }, // Format_BGR888
};
static void qInitImageConversions()
@@ -3341,6 +3440,9 @@ static void qInitImageConversions()
qimage_converter_map[QImage::Format_RGB888][QImage::Format_RGB32] = convert_RGB888_to_RGB32_ssse3;
qimage_converter_map[QImage::Format_RGB888][QImage::Format_ARGB32] = convert_RGB888_to_RGB32_ssse3;
qimage_converter_map[QImage::Format_RGB888][QImage::Format_ARGB32_Premultiplied] = convert_RGB888_to_RGB32_ssse3;
+ qimage_converter_map[QImage::Format_BGR888][QImage::Format_RGBX8888] = convert_RGB888_to_RGB32_ssse3;
+ qimage_converter_map[QImage::Format_BGR888][QImage::Format_RGBA8888] = convert_RGB888_to_RGB32_ssse3;
+ qimage_converter_map[QImage::Format_BGR888][QImage::Format_RGBA8888_Premultiplied] = convert_RGB888_to_RGB32_ssse3;
}
#endif
diff --git a/src/gui/image/qimage_p.h b/src/gui/image/qimage_p.h
index 1cd0e8e0aa..2b1720580a 100644
--- a/src/gui/image/qimage_p.h
+++ b/src/gui/image/qimage_p.h
@@ -207,6 +207,7 @@ inline int qt_depthForFormat(QImage::Format format)
case QImage::Format_ARGB8565_Premultiplied:
case QImage::Format_ARGB8555_Premultiplied:
case QImage::Format_RGB888:
+ case QImage::Format_BGR888:
depth = 24;
break;
case QImage::Format_RGBX64:
diff --git a/src/gui/image/qimage_ssse3.cpp b/src/gui/image/qimage_ssse3.cpp
index 9cdfba20e3..fb81a1a6c3 100644
--- a/src/gui/image/qimage_ssse3.cpp
+++ b/src/gui/image/qimage_ssse3.cpp
@@ -121,8 +121,11 @@ Q_GUI_EXPORT void QT_FASTCALL qt_convert_rgb888_to_rgb32_ssse3(quint32 *dst, con
void convert_RGB888_to_RGB32_ssse3(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
{
- Q_ASSERT(src->format == QImage::Format_RGB888);
- Q_ASSERT(dest->format == QImage::Format_RGB32 || dest->format == QImage::Format_ARGB32 || dest->format == QImage::Format_ARGB32_Premultiplied);
+ Q_ASSERT(src->format == QImage::Format_RGB888 || src->format == QImage::Format_BGR888);
+ if (src->format == QImage::Format_BGR888)
+ Q_ASSERT(dest->format == QImage::Format_RGBX8888 || dest->format == QImage::Format_RGBA8888 || dest->format == QImage::Format_RGBA8888_Premultiplied);
+ else
+ Q_ASSERT(dest->format == QImage::Format_RGB32 || dest->format == QImage::Format_ARGB32 || dest->format == QImage::Format_ARGB32_Premultiplied);
Q_ASSERT(src->width == dest->width);
Q_ASSERT(src->height == dest->height);
diff --git a/src/gui/image/qpicture.cpp b/src/gui/image/qpicture.cpp
index 8548f1857e..84de91353a 100644
--- a/src/gui/image/qpicture.cpp
+++ b/src/gui/image/qpicture.cpp
@@ -263,14 +263,14 @@ void QPicture::setData(const char* data, uint size)
\sa save()
*/
-bool QPicture::load(const QString &fileName, const char *format)
+bool QPicture::load(const QString &fileName)
{
QFile f(fileName);
if (!f.open(QIODevice::ReadOnly)) {
operator=(QPicture());
return false;
}
- return load(&f, format);
+ return load(&f);
}
/*!
@@ -279,21 +279,8 @@ bool QPicture::load(const QString &fileName, const char *format)
\a dev is the device to use for loading.
*/
-bool QPicture::load(QIODevice *dev, const char *format)
+bool QPicture::load(QIODevice *dev)
{
- if(format) {
-#ifndef QT_NO_PICTUREIO
- QPictureIO io(dev, format);
- if (io.read()) {
- operator=(io.picture());
- return true;
- }
-#endif
- qWarning("QPicture::load: No such picture format: %s", format);
- operator=(QPicture());
- return false;
- }
-
detach();
QByteArray a = dev->readAll();
@@ -311,7 +298,7 @@ bool QPicture::load(QIODevice *dev, const char *format)
\sa load()
*/
-bool QPicture::save(const QString &fileName, const char *format)
+bool QPicture::save(const QString &fileName)
{
if (paintingActive()) {
qWarning("QPicture::save: still being painted on. "
@@ -319,27 +306,10 @@ bool QPicture::save(const QString &fileName, const char *format)
return false;
}
-
- if(format) {
-#ifndef QT_NO_PICTUREIO
- QPictureIO io(fileName, format);
- bool result = io.write();
- if (result) {
- operator=(io.picture());
- } else if (format)
-#else
- bool result = false;
-#endif
- {
- qWarning("QPicture::save: No such picture format: %s", format);
- }
- return result;
- }
-
QFile f(fileName);
if (!f.open(QIODevice::WriteOnly))
return false;
- return save(&f, format);
+ return save(&f);
}
/*!
@@ -348,7 +318,7 @@ bool QPicture::save(const QString &fileName, const char *format)
\a dev is the device to use for saving.
*/
-bool QPicture::save(QIODevice *dev, const char *format)
+bool QPicture::save(QIODevice *dev)
{
if (paintingActive()) {
qWarning("QPicture::save: still being painted on. "
@@ -356,22 +326,6 @@ bool QPicture::save(QIODevice *dev, const char *format)
return false;
}
- if(format) {
-#ifndef QT_NO_PICTUREIO
- QPictureIO io(dev, format);
- bool result = io.write();
- if (result) {
- operator=(io.picture());
- } else if (format)
-#else
- bool result = false;
-#endif
- {
- qWarning("QPicture::save: No such picture format: %s", format);
- }
- return result;
- }
-
dev->write(d_func()->pictb.buffer(), d_func()->pictb.buffer().size());
return true;
}
@@ -1188,780 +1142,6 @@ QDataStream &operator>>(QDataStream &s, QPicture &r)
}
#endif // QT_NO_DATASTREAM
-
-#ifndef QT_NO_PICTUREIO
-
-QT_BEGIN_INCLUDE_NAMESPACE
-#include "qregexp.h"
-#include "qpictureformatplugin.h"
-QT_END_INCLUDE_NAMESPACE
-
-#if QT_DEPRECATED_SINCE(5, 10)
-/*!
- \obsolete
-
- Returns a string that specifies the picture format of the file \a
- fileName, or \nullptr if the file cannot be read or if the format
- is not recognized.
-
- \sa load(), save()
-*/
-
-const char* QPicture::pictureFormat(const QString &fileName)
-{
- const QByteArray format = QPictureIO::pictureFormat(fileName);
- // This function returns a const char * from a QByteArray.
- // Double check that the QByteArray is not detached, otherwise
- // we would return a dangling pointer.
- Q_ASSERT(!format.isDetached());
- return format;
-}
-
-/*!
- \obsolete
-
- Returns a list of picture formats that are supported for picture
- input.
-
- \sa outputFormats(), inputFormatList(), QPictureIO
-*/
-QList<QByteArray> QPicture::inputFormats()
-{
- return QPictureIO::inputFormats();
-}
-
-static QStringList qToStringList(const QList<QByteArray> &arr)
-{
- QStringList list;
- const int count = arr.count();
- list.reserve(count);
- for (int i = 0; i < count; ++i)
- list.append(QString::fromLatin1(arr.at(i)));
- return list;
-}
-
-/*!
- \obsolete
-
- Returns a list of picture formats that are supported for picture
- input.
-
- Note that if you want to iterate over the list, you should iterate
- over a copy, e.g.
- \snippet picture/picture.cpp 2
-
- \sa outputFormatList(), inputFormats(), QPictureIO
-*/
-QStringList QPicture::inputFormatList()
-{
- return qToStringList(QPictureIO::inputFormats());
-}
-
-
-/*!
- \obsolete
-
- Returns a list of picture formats that are supported for picture
- output.
-
- Note that if you want to iterate over the list, you should iterate
- over a copy, e.g.
- \snippet picture/picture.cpp 3
-
- \sa inputFormatList(), outputFormats(), QPictureIO
-*/
-QStringList QPicture::outputFormatList()
-{
- return qToStringList(QPictureIO::outputFormats());
-}
-
-/*!
- \obsolete
-
- Returns a list of picture formats that are supported for picture
- output.
-
- \sa inputFormats(), outputFormatList(), QPictureIO
-*/
-QList<QByteArray> QPicture::outputFormats()
-{
- return QPictureIO::outputFormats();
-}
-#endif // QT_DEPRECATED_SINCE(5, 10)
-
-/*****************************************************************************
- QPictureIO member functions
- *****************************************************************************/
-
-/*!
- \obsolete
-
- \class QPictureIO
-
- \brief The QPictureIO class contains parameters for loading and
- saving pictures.
-
- \ingroup painting
- \ingroup io
- \inmodule QtGui
-
- QPictureIO contains a QIODevice object that is used for picture data
- I/O. The programmer can install new picture file formats in addition
- to those that Qt provides.
-
- You don't normally need to use this class; QPicture::load(),
- QPicture::save().
-
- \sa QPicture, QPixmap, QFile
-*/
-
-struct QPictureIOData
-{
- QPicture pi; // picture
- int iostat; // IO status
- QByteArray frmt; // picture format
- QIODevice *iodev; // IO device
- QString fname; // file name
- QString descr; // picture description
- const char *parameters;
- int quality;
- float gamma;
-};
-
-/*!
- Constructs a QPictureIO object with all parameters set to zero.
-*/
-
-QPictureIO::QPictureIO()
-{
- init();
-}
-
-/*!
- Constructs a QPictureIO object with the I/O device \a ioDevice and a
- \a format tag.
-*/
-
-QPictureIO::QPictureIO(QIODevice *ioDevice, const char *format)
-{
- init();
- d->iodev = ioDevice;
- d->frmt = format;
-}
-
-/*!
- Constructs a QPictureIO object with the file name \a fileName and a
- \a format tag.
-*/
-
-QPictureIO::QPictureIO(const QString &fileName, const char* format)
-{
- init();
- d->frmt = format;
- d->fname = fileName;
-}
-
-/*!
- Contains initialization common to all QPictureIO constructors.
-*/
-
-void QPictureIO::init()
-{
- d = new QPictureIOData();
- d->parameters = 0;
- d->quality = -1; // default quality of the current format
- d->gamma=0.0f;
- d->iostat = 0;
- d->iodev = 0;
-}
-
-/*!
- Destroys the object and all related data.
-*/
-
-QPictureIO::~QPictureIO()
-{
- if (d->parameters)
- delete [] d->parameters;
- delete d;
-}
-
-
-/*****************************************************************************
- QPictureIO picture handler functions
- *****************************************************************************/
-
-class QPictureHandler
-{
-public:
- QPictureHandler(const char *f, const char *h, const QByteArray& fl,
- picture_io_handler r, picture_io_handler w);
- QByteArray format; // picture format
- QRegExp header; // picture header pattern
- enum TMode { Untranslated=0, TranslateIn, TranslateInOut } text_mode;
- picture_io_handler read_picture; // picture read function
- picture_io_handler write_picture; // picture write function
- bool obsolete; // support not "published"
-};
-
-QPictureHandler::QPictureHandler(const char *f, const char *h, const QByteArray& fl,
- picture_io_handler r, picture_io_handler w)
- : format(f), header(QString::fromLatin1(h))
-{
- text_mode = Untranslated;
- if (fl.contains('t'))
- text_mode = TranslateIn;
- else if (fl.contains('T'))
- text_mode = TranslateInOut;
- obsolete = fl.contains('O');
- read_picture = r;
- write_picture = w;
-}
-
-typedef QList<QPictureHandler *> QPHList;
-Q_GLOBAL_STATIC(QPHList, pictureHandlers)
-
-void qt_init_picture_plugins()
-{
- typedef QMultiMap<int, QString> PluginKeyMap;
- typedef PluginKeyMap::const_iterator PluginKeyMapConstIterator;
-
- static QBasicMutex mutex;
- QMutexLocker locker(&mutex);
- static QFactoryLoader loader(QPictureFormatInterface_iid,
- QStringLiteral("/pictureformats"));
-
- const PluginKeyMap keyMap = loader.keyMap();
- const PluginKeyMapConstIterator cend = keyMap.constEnd();
- for (PluginKeyMapConstIterator it = keyMap.constBegin(); it != cend; ++it) {
- if (QPictureFormatPlugin *format = qobject_cast<QPictureFormatPlugin*>(loader.instance(it.key())))
- format->installIOHandler(it.value());
- }
-}
-
-static void cleanup()
-{
- // make sure that picture handlers are delete before plugin manager
- if (QPHList *list = pictureHandlers()) {
- qDeleteAll(*list);
- list->clear();
- }
-}
-
-void qt_init_picture_handlers() // initialize picture handlers
-{
- static QBasicAtomicInt done = Q_BASIC_ATOMIC_INITIALIZER(0);
- if (done.testAndSetRelaxed(0, 1)) {
- qAddPostRoutine(cleanup);
- }
-}
-
-static QPictureHandler *get_picture_handler(const char *format)
-{ // get pointer to handler
- qt_init_picture_handlers();
- qt_init_picture_plugins();
- if (QPHList *list = pictureHandlers()) {
- for (int i = 0; i < list->size(); ++i) {
- if (list->at(i)->format == format)
- return list->at(i);
- }
- }
- return 0; // no such handler
-}
-
-
-/*!
- Defines a picture I/O handler for the picture format called \a
- format, which is recognized using the regular
- expression defined in \a header, read using \a readPicture and
- written using \a writePicture.
-
- \a flags is a string of single-character flags for this format.
- The only flag defined currently is T (upper case), so the only
- legal value for \a flags are "T" and the empty string. The "T"
- flag means that the picture file is a text file, and Qt should treat
- all newline conventions as equivalent. (XPM files and some PPM
- files are text files for example.)
-
- \a format is used to select a handler to write a QPicture; \a header
- is used to select a handler to read an picture file.
-
- If \a readPicture is \nullptr, the QPictureIO will not be able
- to read pictures in \a format. If \a writePicture is \nullptr,
- the QPictureIO will not be able to write pictures in \a format. If
- both are null, the QPictureIO object is valid but useless.
-
- Example:
- \snippet picture/picture.cpp 6
- \codeline
- \snippet picture/picture.cpp 7
- \codeline
- \snippet picture/picture.cpp 8
-
- Before the regular expression test, all the 0 bytes in the file header are
- converted to 1 bytes. This is done because when Qt was ASCII-based, QRegExp
- could not handle 0 bytes in strings.
-
- The regexp is only applied on the first 14 bytes of the file.
-
- (Note that if one handlerIO supports writing a format and another
- supports reading it, Qt supports both reading and writing. If two
- handlers support the same operation, Qt chooses one arbitrarily.)
-*/
-
-void QPictureIO::defineIOHandler(const char *format,
- const char *header,
- const char *flags,
- picture_io_handler readPicture,
- picture_io_handler writePicture)
-{
- qt_init_picture_handlers();
- if (QPHList *list = pictureHandlers()) {
- QPictureHandler *p;
- p = new QPictureHandler(format, header, QByteArray(flags), readPicture, writePicture);
- list->prepend(p);
- }
-}
-
-
-/*****************************************************************************
- QPictureIO normal member functions
- *****************************************************************************/
-
-/*!
- Returns the picture currently set.
-
- \sa setPicture()
-*/
-const QPicture &QPictureIO::picture() const { return d->pi; }
-
-/*!
- Returns the picture's IO status. A non-zero value indicates an
- error, whereas 0 means that the IO operation was successful.
-
- \sa setStatus()
-*/
-int QPictureIO::status() const { return d->iostat; }
-
-/*!
- Returns the picture format string or \nullptr if no format has been
- explicitly set.
-*/
-const char *QPictureIO::format() const { return d->frmt; }
-
-/*!
- Returns the IO device currently set.
-
- \sa setIODevice()
-*/
-QIODevice *QPictureIO::ioDevice() const { return d->iodev; }
-
-/*!
- Returns the file name currently set.
-
- \sa setFileName()
-*/
-QString QPictureIO::fileName() const { return d->fname; }
-
-
-/*!
- Returns the picture description string.
-
- \sa setDescription()
-*/
-QString QPictureIO::description() const { return d->descr; }
-
-/*!
- Sets the picture to \a picture.
-
- \sa picture()
-*/
-void QPictureIO::setPicture(const QPicture &picture)
-{
- d->pi = picture;
-}
-
-/*!
- Sets the picture IO status to \a status. A non-zero value indicates
- an error, whereas 0 means that the IO operation was successful.
-
- \sa status()
-*/
-void QPictureIO::setStatus(int status)
-{
- d->iostat = status;
-}
-
-/*!
- Sets the picture format to \a format for the picture to be read or
- written.
-
- It is necessary to specify a format before writing an picture, but
- it is not necessary to specify a format before reading an picture.
-
- If no format has been set, Qt guesses the picture format before
- reading it. If a format is set the picture will only be read if it
- has that format.
-
- \sa read(), write(), format()
-*/
-void QPictureIO::setFormat(const char *format)
-{
- d->frmt = format;
-}
-
-/*!
- Sets the IO device to be used for reading or writing an picture.
-
- Setting the IO device allows pictures to be read/written to any
- block-oriented QIODevice.
-
- If \a ioDevice is not null, this IO device will override file name
- settings.
-
- \sa setFileName()
-*/
-void QPictureIO::setIODevice(QIODevice *ioDevice)
-{
- d->iodev = ioDevice;
-}
-
-/*!
- Sets the name of the file to read or write an picture from to \a
- fileName.
-
- \sa setIODevice()
-*/
-void QPictureIO::setFileName(const QString &fileName)
-{
- d->fname = fileName;
-}
-
-/*!
- Returns the quality of the written picture, related to the
- compression ratio.
-
- \sa setQuality(), QPicture::save()
-*/
-int QPictureIO::quality() const
-{
- return d->quality;
-}
-
-/*!
- Sets the quality of the written picture to \a q, related to the
- compression ratio.
-
- \a q must be in the range -1..100. Specify 0 to obtain small
- compressed files, 100 for large uncompressed files. (-1 signifies
- the default compression.)
-
- \sa quality(), QPicture::save()
-*/
-
-void QPictureIO::setQuality(int q)
-{
- d->quality = q;
-}
-
-/*!
- Returns the picture's parameters string.
-
- \sa setParameters()
-*/
-
-const char *QPictureIO::parameters() const
-{
- return d->parameters;
-}
-
-/*!
- Sets the picture's parameter string to \a parameters. This is for
- picture handlers that require special parameters.
-
- Although the current picture formats supported by Qt ignore the
- parameters string, it may be used in future extensions or by
- contributions (for example, JPEG).
-
- \sa parameters()
-*/
-
-void QPictureIO::setParameters(const char *parameters)
-{
- if (d->parameters)
- delete [] d->parameters;
- d->parameters = qstrdup(parameters);
-}
-
-/*!
- Sets the gamma value at which the picture will be viewed to \a
- gamma. If the picture format stores a gamma value for which the
- picture is intended to be used, then this setting will be used to
- modify the picture. Setting to 0.0 will disable gamma correction
- (i.e. any specification in the file will be ignored).
-
- The default value is 0.0.
-
- \sa gamma()
-*/
-void QPictureIO::setGamma(float gamma)
-{
- d->gamma=gamma;
-}
-
-/*!
- Returns the gamma value at which the picture will be viewed.
-
- \sa setGamma()
-*/
-float QPictureIO::gamma() const
-{
- return d->gamma;
-}
-
-/*!
- Sets the picture description string for picture handlers that support
- picture descriptions to \a description.
-
- Currently, no picture format supported by Qt uses the description
- string.
-*/
-
-void QPictureIO::setDescription(const QString &description)
-{
- d->descr = description;
-}
-
-
-/*!
- Returns a string that specifies the picture format of the file \a
- fileName, or null if the file cannot be read or if the format is
- not recognized.
-*/
-
-QByteArray QPictureIO::pictureFormat(const QString &fileName)
-{
- QFile file(fileName);
- QByteArray format;
- if (!file.open(QIODevice::ReadOnly))
- return format;
- format = pictureFormat(&file);
- file.close();
- return format;
-}
-
-/*!
- \overload
-
- Returns a string that specifies the picture format of the picture read
- from IO device \a d, or 0 if the device cannot be read or if the
- format is not recognized.
-
- Make sure that \a d is at the right position in the device (for
- example, at the beginning of the file).
-
- \sa QIODevice::pos()
-*/
-
-QByteArray QPictureIO::pictureFormat(QIODevice *d)
-{
- // if you change this change the documentation for defineIOHandler()
- const int buflen = 14;
-
- char buf[buflen];
- char buf2[buflen];
- qt_init_picture_handlers();
- qt_init_picture_plugins();
- int pos = d->pos(); // save position
- int rdlen = d->read(buf, buflen); // read a few bytes
-
- QByteArray format;
- if (rdlen != buflen)
- return format;
-
- memcpy(buf2, buf, buflen);
-
- for (int n = 0; n < rdlen; n++)
- if (buf[n] == '\0')
- buf[n] = '\001';
- if (rdlen > 0) {
- buf[rdlen - 1] = '\0';
- QString bufStr = QString::fromLatin1(buf);
- if (QPHList *list = pictureHandlers()) {
- for (int i = 0; i < list->size(); ++i) {
- if (list->at(i)->header.indexIn(bufStr) != -1) { // try match with headers
- format = list->at(i)->format;
- break;
- }
- }
- }
- }
- d->seek(pos); // restore position
- return format;
-}
-
-/*!
- Returns a sorted list of picture formats that are supported for
- picture input.
-*/
-QList<QByteArray> QPictureIO::inputFormats()
-{
- QList<QByteArray> result;
-
- qt_init_picture_handlers();
- qt_init_picture_plugins();
-
- if (QPHList *list = pictureHandlers()) {
- for (int i = 0; i < list->size(); ++i) {
- QPictureHandler *p = list->at(i);
- if (p->read_picture && !p->obsolete && !result.contains(p->format))
- result.append(p->format);
- }
- }
- std::sort(result.begin(), result.end());
-
- return result;
-}
-
-/*!
- Returns a sorted list of picture formats that are supported for
- picture output.
-*/
-QList<QByteArray> QPictureIO::outputFormats()
-{
- qt_init_picture_handlers();
- qt_init_picture_plugins();
-
- QList<QByteArray> result;
- if (QPHList *list = pictureHandlers()) {
- for (int i = 0; i < list->size(); ++i) {
- QPictureHandler *p = list->at(i);
- if (p->write_picture && !p->obsolete && !result.contains(p->format))
- result.append(p->format);
- }
- }
- return result;
-}
-
-
-
-/*!
- Reads an picture into memory and returns \c true if the picture was
- successfully read; otherwise returns \c false.
-
- Before reading an picture you must set an IO device or a file name.
- If both an IO device and a file name have been set, the IO device
- will be used.
-
- Setting the picture file format string is optional.
-
- Note that this function does \e not set the \l{format()}{format} used to read the picture. If you need that
- information, use the pictureFormat() static functions.
-
- Example:
-
- \snippet picture/picture.cpp 4
-
- \sa setIODevice(), setFileName(), setFormat(), write(), QPixmap::load()
-*/
-bool QPictureIO::read()
-{
- QFile file;
- QByteArray picture_format;
- QPictureHandler *h;
-
- if (d->iodev) { // read from io device
- // ok, already open
- } else if (!d->fname.isEmpty()) { // read from file
- file.setFileName(d->fname);
- if (!file.open(QIODevice::ReadOnly))
- return false; // cannot open file
- d->iodev = &file;
- } else { // no file name or io device
- return false;
- }
- if (d->frmt.isEmpty()) {
- // Try to guess format
- picture_format = pictureFormat(d->iodev); // get picture format
- if (picture_format.isEmpty()) {
- if (file.isOpen()) { // unknown format
- file.close();
- d->iodev = 0;
- }
- return false;
- }
- } else {
- picture_format = d->frmt;
- }
-
- h = get_picture_handler(picture_format);
- if (file.isOpen()) {
-#if !defined(Q_OS_UNIX)
- if (h && h->text_mode) { // reopen in translated mode
- file.close();
- file.open(QIODevice::ReadOnly | QIODevice::Text);
- }
- else
-#endif
- file.seek(0); // position to start
- }
- d->iostat = 1; // assume error
-
- if (h && h->read_picture)
- (*h->read_picture)(this);
-
- if (file.isOpen()) { // picture was read using file
- file.close();
- d->iodev = 0;
- }
- return d->iostat == 0; // picture successfully read?
-}
-
-
-/*!
- Writes an picture to an IO device and returns \c true if the picture was
- successfully written; otherwise returns \c false.
-
- Before writing an picture you must set an IO device or a file name.
- If both an IO device and a file name have been set, the IO device
- will be used.
-
- The picture will be written using the specified picture format.
-
- Example:
- \snippet picture/picture.cpp 5
-
- \sa setIODevice(), setFileName(), setFormat(), read(), QPixmap::save()
-*/
-bool QPictureIO::write()
-{
- if (d->frmt.isEmpty())
- return false;
- QPictureHandler *h = get_picture_handler(d->frmt);
- if (!h || !h->write_picture) {
- qWarning("QPictureIO::write: No such picture format handler: %s",
- format());
- return false;
- }
- QFile file;
- if (!d->iodev && !d->fname.isEmpty()) {
- file.setFileName(d->fname);
- bool translate = h->text_mode==QPictureHandler::TranslateInOut;
- QIODevice::OpenMode fmode = translate ? QIODevice::WriteOnly | QIODevice::Text : QIODevice::OpenMode(QIODevice::WriteOnly);
- if (!file.open(fmode)) // couldn't create file
- return false;
- d->iodev = &file;
- }
- d->iostat = 1;
- (*h->write_picture)(this);
- if (file.isOpen()) { // picture was written using file
- file.close();
- d->iodev = 0;
- }
- return d->iostat == 0; // picture successfully written?
-}
-#endif //QT_NO_PICTUREIO
-
QT_END_NAMESPACE
#endif // QT_NO_PICTURE
diff --git a/src/gui/image/qpicture.h b/src/gui/image/qpicture.h
index 189e57b9a3..34860985ed 100644
--- a/src/gui/image/qpicture.h
+++ b/src/gui/image/qpicture.h
@@ -48,7 +48,6 @@
QT_BEGIN_NAMESPACE
-
#ifndef QT_NO_PICTURE
class QPicturePrivate;
@@ -69,10 +68,10 @@ public:
bool play(QPainter *p);
- bool load(QIODevice *dev, const char *format = nullptr);
- bool load(const QString &fileName, const char *format = nullptr);
- bool save(QIODevice *dev, const char *format = nullptr);
- bool save(const QString &fileName, const char *format = nullptr);
+ bool load(QIODevice *dev);
+ bool load(const QString &fileName);
+ bool save(QIODevice *dev);
+ bool save(const QString &fileName);
QRect boundingRect() const;
void setBoundingRect(const QRect &r);
@@ -88,14 +87,6 @@ public:
friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &in, const QPicture &p);
friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &in, QPicture &p);
-#if QT_DEPRECATED_SINCE(5, 10)
- static QT_DEPRECATED const char* pictureFormat(const QString &fileName);
- static QT_DEPRECATED QList<QByteArray> inputFormats();
- static QT_DEPRECATED QList<QByteArray> outputFormats();
- static QT_DEPRECATED QStringList inputFormatList();
- static QT_DEPRECATED QStringList outputFormatList();
-#endif // QT_DEPRECATED_SINCE(5, 10)
-
QPaintEngine *paintEngine() const override;
protected:
@@ -118,67 +109,6 @@ public:
Q_DECLARE_SHARED(QPicture)
-
-#ifndef QT_NO_PICTUREIO
-class QIODevice;
-class QPictureIO;
-typedef void (*picture_io_handler)(QPictureIO *); // picture IO handler
-
-struct QPictureIOData;
-
-class Q_GUI_EXPORT QPictureIO
-{
-public:
- QPictureIO();
- QPictureIO(QIODevice *ioDevice, const char *format);
- QPictureIO(const QString &fileName, const char *format);
- ~QPictureIO();
-
- const QPicture &picture() const;
- int status() const;
- const char *format() const;
- QIODevice *ioDevice() const;
- QString fileName() const;
- int quality() const;
- QString description() const;
- const char *parameters() const;
- float gamma() const;
-
- void setPicture(const QPicture &);
- void setStatus(int);
- void setFormat(const char *);
- void setIODevice(QIODevice *);
- void setFileName(const QString &);
- void setQuality(int);
- void setDescription(const QString &);
- void setParameters(const char *);
- void setGamma(float);
-
- bool read();
- bool write();
-
- static QByteArray pictureFormat(const QString &fileName);
- static QByteArray pictureFormat(QIODevice *);
- static QList<QByteArray> inputFormats();
- static QList<QByteArray> outputFormats();
-
- static void defineIOHandler(const char *format,
- const char *header,
- const char *flags,
- picture_io_handler read_picture,
- picture_io_handler write_picture);
-
-private:
- Q_DISABLE_COPY(QPictureIO)
-
- void init();
-
- QPictureIOData *d;
-};
-
-#endif //QT_NO_PICTUREIO
-
-
/*****************************************************************************
QPicture stream functions
*****************************************************************************/
diff --git a/src/gui/image/qpictureformatplugin.cpp b/src/gui/image/qpictureformatplugin.cpp
deleted file mode 100644
index ef57ad720f..0000000000
--- a/src/gui/image/qpictureformatplugin.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qpictureformatplugin.h"
-#if !defined(QT_NO_PICTURE)
-#include "qpicture.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \obsolete
-
- \class QPictureFormatPlugin
- \brief The QPictureFormatPlugin class provides an abstract base
- for custom picture format plugins.
-
- \ingroup plugins
- \inmodule QtGui
-
- The picture format plugin is a simple plugin interface that makes
- it easy to create custom picture formats that can be used
- transparently by applications.
-
- Writing an picture format plugin is achieved by subclassing this
- base class, reimplementing the pure virtual functions
- loadPicture(), savePicture(), and installIOHandler(), and
- exporting the class with the Q_PLUGIN_METADATA() macro.
-
- The json file containing the metadata should contain one entry
- with the list of picture formats supported by the plugin:
-
- \code
- { "Keys": [ "mypictureformat" ] }
- \endcode
-
- \sa {How to Create Qt Plugins}
-*/
-
-/*!
- \fn bool QPictureFormatPlugin::installIOHandler(const QString &format)
-
- Installs a QPictureIO picture I/O handler for the picture format \a
- format. Returns \c true on success.
-*/
-
-
-/*!
- Constructs an picture format plugin with the given \a parent.
- This is invoked automatically by the moc generated code that exports the plugin.
-*/
-QPictureFormatPlugin::QPictureFormatPlugin(QObject *parent)
- : QObject(parent)
-{
-}
-
-/*!
- Destroys the picture format plugin.
-
- You never have to call this explicitly. Qt destroys a plugin
- automatically when it is no longer used.
-*/
-QPictureFormatPlugin::~QPictureFormatPlugin()
-{
-}
-
-
-/*!
- Loads the picture stored in the file called \a fileName, with the
- given \a format, into *\a picture. Returns \c true on success;
- otherwise returns \c false.
-
- \sa savePicture()
-*/
-bool QPictureFormatPlugin::loadPicture(const QString &format, const QString &fileName, QPicture *picture)
-{
- Q_UNUSED(format)
- Q_UNUSED(fileName)
- Q_UNUSED(picture)
- return false;
-}
-
-/*!
- Saves the given \a picture into the file called \a fileName,
- using the specified \a format. Returns \c true on success; otherwise
- returns \c false.
-
- \sa loadPicture()
-*/
-bool QPictureFormatPlugin::savePicture(const QString &format, const QString &fileName, const QPicture &picture)
-{
- Q_UNUSED(format)
- Q_UNUSED(fileName)
- Q_UNUSED(picture)
- return false;
-}
-
-#endif // QT_NO_PICTURE
-
-QT_END_NAMESPACE
diff --git a/src/gui/image/qpixmap_win.cpp b/src/gui/image/qpixmap_win.cpp
index 3a2db74098..8aad77b991 100644
--- a/src/gui/image/qpixmap_win.cpp
+++ b/src/gui/image/qpixmap_win.cpp
@@ -281,6 +281,7 @@ Q_GUI_EXPORT HBITMAP qt_imageToWinHBITMAP(const QImage &imageIn, int hbitmapForm
}
break;
case QImage::Format_RGB888:
+ case QImage::Format_BGR888:
compression = BI_RGB;
bitCount = 24u;
break;
@@ -368,7 +369,7 @@ static QImage::Format imageFromWinHBITMAP_Format(const BITMAPINFOHEADER &header,
? QImage::Format_RGB32 : QImage::Format_ARGB32_Premultiplied;
break;
case 24:
- result = QImage::Format_RGB888;
+ result = QImage::Format_BGR888;
break;
case 16:
result = QImage::Format_RGB555;
diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp
index 16d6c25b8b..4ab45337b0 100644
--- a/src/gui/image/qpnghandler.cpp
+++ b/src/gui/image/qpnghandler.cpp
@@ -1079,6 +1079,7 @@ bool QPNGImageWriter::writeImage(const QImage& image, volatile int compression_i
if (color_type == PNG_COLOR_TYPE_RGB) {
switch (image.format()) {
case QImage::Format_RGB888:
+ case QImage::Format_BGR888:
break;
case QImage::Format_RGBX8888:
case QImage::Format_RGBX64:
@@ -1131,6 +1132,7 @@ bool QPNGImageWriter::writeImage(const QImage& image, volatile int compression_i
case QImage::Format_RGB32:
case QImage::Format_ARGB32:
case QImage::Format_RGB888:
+ case QImage::Format_BGR888:
case QImage::Format_RGBX8888:
case QImage::Format_RGBA8888:
case QImage::Format_RGBX64:
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index ec52791010..8e5945be41 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -535,13 +535,6 @@ Qt::MouseEventFlags QMouseEvent::flags() const
*/
/*!
- \fn QPointF QMouseEvent::posF() const
- \obsolete
-
- Use localPos() instead.
-*/
-
-/*!
\class QHoverEvent
\ingroup events
\inmodule QtGui
@@ -750,12 +743,14 @@ QHoverEvent::~QHoverEvent()
\l inverted always returns false.
*/
+#if QT_DEPRECATED_SINCE(5, 15)
/*!
\fn Qt::Orientation QWheelEvent::orientation() const
\obsolete
Use angleDelta() instead.
*/
+#endif
#if QT_CONFIG(wheelevent)
#if QT_DEPRECATED_SINCE(5, 15)
@@ -936,6 +931,7 @@ QWheelEvent::~QWheelEvent()
\endlist
*/
+#if QT_DEPRECATED_SINCE(5, 15)
/*!
\fn int QWheelEvent::delta() const
\obsolete
@@ -999,6 +995,7 @@ QWheelEvent::~QWheelEvent()
This function has been deprecated, use globalPosition() instead.
*/
+#endif
/*!
\fn Qt::ScrollPhase QWheelEvent::phase() const
@@ -1102,16 +1099,6 @@ QKeyEvent::~QKeyEvent()
}
/*!
- \fn QKeyEvent *QKeyEvent::createExtendedKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString& text, bool autorep, ushort count)
- \internal
-*/
-
-/*!
- \fn bool QKeyEvent::hasExtendedInfo() const
- \internal
-*/
-
-/*!
\fn quint32 QKeyEvent::nativeScanCode() const
\since 4.2
@@ -2539,7 +2526,7 @@ Qt::MouseButtons QTabletEvent::buttons() const
globalPos() can differ significantly from the current position
QCursor::pos().
- \sa globalX(), globalY(), hiResGlobalPos()
+ \sa globalX(), globalY()
*/
/*!
@@ -2584,15 +2571,6 @@ Qt::MouseButtons QTabletEvent::buttons() const
*/
/*!
- \fn const QPointF &QTabletEvent::hiResGlobalPos() const
-
- The high precision coordinates delivered from the tablet expressed.
- Sub pixeling information is in the fractional part of the QPointF.
-
- \sa globalPos(), hiResGlobalX(), hiResGlobalY()
-*/
-
-/*!
\fn qreal &QTabletEvent::hiResGlobalX() const
The high precision x position of the tablet device.
@@ -2674,10 +2652,10 @@ Qt::MouseButtons QTabletEvent::buttons() const
\sa Qt::NativeGestureType, QGestureEvent
*/
+#if QT_DEPRECATED_SINCE(5, 10)
/*!
\deprecated The QTouchDevice parameter is now required
*/
-#if QT_DEPRECATED_SINCE(5, 10)
QNativeGestureEvent::QNativeGestureEvent(Qt::NativeGestureType type, const QPointF &localPos, const QPointF &windowPos,
const QPointF &screenPos, qreal realValue, ulong sequenceId, quint64 intValue)
: QInputEvent(QEvent::NativeGesture), mGestureType(type),
@@ -2686,10 +2664,6 @@ QNativeGestureEvent::QNativeGestureEvent(Qt::NativeGestureType type, const QPoin
{ }
#endif
-typedef QHash<const QNativeGestureEvent*, const QTouchDevice*> NativeGestureEventDataHash;
-// ### Qt6: move this to a member in QNativeGestureEvent
-Q_GLOBAL_STATIC(NativeGestureEventDataHash, g_nativeGestureEventDataHash)
-
/*!
Constructs a native gesture event of type \a type originating from \a device.
@@ -2704,27 +2678,20 @@ QNativeGestureEvent::QNativeGestureEvent(Qt::NativeGestureType type, const QTouc
const QPointF &screenPos, qreal realValue, ulong sequenceId, quint64 intValue)
: QInputEvent(QEvent::NativeGesture), mGestureType(type),
mLocalPos(localPos), mWindowPos(windowPos), mScreenPos(screenPos), mRealValue(realValue),
- mSequenceId(sequenceId), mIntValue(intValue)
+ mSequenceId(sequenceId), mIntValue(intValue), mDevice(device)
{
- g_nativeGestureEventDataHash->insert(this, device);
}
QNativeGestureEvent::~QNativeGestureEvent()
-{
- g_nativeGestureEventDataHash->remove(this);
-}
+ = default;
/*!
+ \fn const QTouchDevice *QNativeGestureEvent::device() const
\since 5.10
Returns the device.
*/
-const QTouchDevice *QNativeGestureEvent::device() const
-{
- return g_nativeGestureEventDataHash->value(this);
-}
-
/*!
\fn QNativeGestureEvent::gestureType() const
\since 5.2
@@ -4290,18 +4257,6 @@ QWindowStateChangeEvent::~QWindowStateChangeEvent()
QGraphicsItem::acceptTouchEvents()
*/
-/*! \enum QTouchEvent::DeviceType
- \obsolete
-
- This enum represents the type of device that generated a QTouchEvent.
-
- This enum has been deprecated. Use QTouchDevice::DeviceType instead.
- \omitvalue TouchPad
- \omitvalue TouchScreen
-
- \sa QTouchDevice::DeviceType, QTouchDevice::type(), QTouchEvent::device()
-*/
-
/*!
Constructs a QTouchEvent with the given \a eventType, \a device, and
\a touchPoints. The \a touchPointStates and \a modifiers
@@ -4341,16 +4296,6 @@ QTouchEvent::~QTouchEvent()
This is typically a QWidget or a QQuickItem. May be 0 when no specific target is available.
*/
-/*! \fn QTouchEvent::DeviceType QTouchEvent::deviceType() const
- \obsolete
-
- Returns the touch device Type, which is of type \l {QTouchEvent::DeviceType} {DeviceType}.
-
- This function has been deprecated. Use QTouchDevice::type() instead.
-
- \sa QTouchDevice::type(), QTouchEvent::device()
-*/
-
/*! \fn QTouchEvent::TouchPoint::TouchPoint(TouchPoint &&other)
Move-constructs a TouchPoint instance, making it point to the same
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index b73d90529a..10ef01fa1d 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -350,7 +350,7 @@ public:
const QPointF &windowPos() const { return mWindowPos; }
const QPointF &screenPos() const { return mScreenPos; }
- const QTouchDevice *device() const;
+ const QTouchDevice *device() const { return mDevice; }
protected:
Qt::NativeGestureType mGestureType;
@@ -360,6 +360,7 @@ protected:
qreal mRealValue;
ulong mSequenceId;
quint64 mIntValue;
+ const QTouchDevice *mDevice;
};
#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 426f2aeece..432618968f 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -146,6 +146,8 @@ QString QGuiApplicationPrivate::styleOverride;
Qt::ApplicationState QGuiApplicationPrivate::applicationState = Qt::ApplicationInactive;
+Qt::HighDpiScaleFactorRoundingPolicy QGuiApplicationPrivate::highDpiScaleFactorRoundingPolicy =
+ Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor;
bool QGuiApplicationPrivate::highDpiScalingUpdated = false;
QPointer<QWindow> QGuiApplicationPrivate::currentDragWindow;
@@ -687,6 +689,8 @@ QGuiApplication::~QGuiApplication()
QGuiApplicationPrivate::lastCursorPosition = {qInf(), qInf()};
QGuiApplicationPrivate::currentMousePressWindow = QGuiApplicationPrivate::currentMouseWindow = nullptr;
QGuiApplicationPrivate::applicationState = Qt::ApplicationInactive;
+ QGuiApplicationPrivate::highDpiScaleFactorRoundingPolicy =
+ Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor;
QGuiApplicationPrivate::highDpiScalingUpdated = false;
QGuiApplicationPrivate::currentDragWindow = nullptr;
QGuiApplicationPrivate::tabletDevicePoints.clear();
@@ -1177,14 +1181,18 @@ Q_LOGGING_CATEGORY(lcQpaPluginLoading, "qt.qpa.plugin");
static void init_platform(const QString &pluginNamesWithArguments, const QString &platformPluginPath, const QString &platformThemeName, int &argc, char **argv)
{
- QStringList plugins = pluginNamesWithArguments.split(QLatin1Char(';'));
+ QStringList plugins = pluginNamesWithArguments.split(QLatin1Char(';'), QString::SkipEmptyParts);
QStringList platformArguments;
QStringList availablePlugins = QPlatformIntegrationFactory::keys(platformPluginPath);
for (const auto &pluginArgument : plugins) {
// Split into platform name and arguments
- QStringList arguments = pluginArgument.split(QLatin1Char(':'));
+ QStringList arguments = pluginArgument.split(QLatin1Char(':'), QString::SkipEmptyParts);
+ if (arguments.isEmpty())
+ continue;
const QString name = arguments.takeFirst().toLower();
QString argumentsKey = name;
+ if (name.isEmpty())
+ continue;
argumentsKey[0] = argumentsKey.at(0).toUpper();
arguments.append(QLibraryInfo::platformPluginArguments(argumentsKey));
@@ -3491,6 +3499,46 @@ Qt::ApplicationState QGuiApplication::applicationState()
}
/*!
+ \since 5.14
+
+ Sets the high-DPI scale factor rounding policy for the application. The
+ policy decides how non-integer scale factors (such as Windows 150%) are
+ handled, for applications that have AA_EnableHighDpiScaling enabled.
+
+ The two principal options are whether fractional scale factors should
+ be rounded to an integer or not. Keeping the scale factor as-is will
+ make the user interface size match the OS setting exactly, but may cause
+ painting errors, for example with the Windows style.
+
+ If rounding is wanted, then which type of rounding should be decided
+ next. Mathematically correct rounding is supported but may not give
+ the best visual results: Consider if you want to render 1.5x as 1x
+ ("small UI") or as 2x ("large UI"). See the Qt::HighDpiScaleFactorRoundingPolicy
+ enum for a complete list of all options.
+
+ This function must be called before creating the application object,
+ and can be overridden by setting the QT_SCALE_FACTOR_ROUNDING_POLICY
+ environment variable. The QGuiApplication::highDpiScaleFactorRoundingPolicy()
+ accessor will reflect the environment, if set.
+
+ The default value is Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor.
+*/
+void QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy policy)
+{
+ QGuiApplicationPrivate::highDpiScaleFactorRoundingPolicy = policy;
+}
+
+/*!
+ \since 5.14
+
+ Returns the high-DPI scale factor rounding policy.
+*/
+Qt::HighDpiScaleFactorRoundingPolicy QGuiApplication::highDpiScaleFactorRoundingPolicy()
+{
+ return QGuiApplicationPrivate::highDpiScaleFactorRoundingPolicy;
+}
+
+/*!
\since 5.2
\fn void QGuiApplication::applicationStateChanged(Qt::ApplicationState state)
diff --git a/src/gui/kernel/qguiapplication.h b/src/gui/kernel/qguiapplication.h
index 5ea72fa0f6..fc74c5299a 100644
--- a/src/gui/kernel/qguiapplication.h
+++ b/src/gui/kernel/qguiapplication.h
@@ -156,6 +156,9 @@ public:
static Qt::ApplicationState applicationState();
+ static void setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy policy);
+ static Qt::HighDpiScaleFactorRoundingPolicy highDpiScaleFactorRoundingPolicy();
+
static int exec();
bool notify(QObject *, QEvent *) override;
diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h
index afca7579ea..e28607bad6 100644
--- a/src/gui/kernel/qguiapplication_p.h
+++ b/src/gui/kernel/qguiapplication_p.h
@@ -223,6 +223,7 @@ public:
static QWindow *currentMouseWindow;
static QWindow *currentMousePressWindow;
static Qt::ApplicationState applicationState;
+ static Qt::HighDpiScaleFactorRoundingPolicy highDpiScaleFactorRoundingPolicy;
static bool highDpiScalingUpdated;
static QPointer<QWindow> currentDragWindow;
diff --git a/src/gui/kernel/qguivariant.cpp b/src/gui/kernel/qguivariant.cpp
index 090217187e..edca8d9423 100644
--- a/src/gui/kernel/qguivariant.cpp
+++ b/src/gui/kernel/qguivariant.cpp
@@ -68,7 +68,6 @@
#include "qdebug.h"
#include "qmap.h"
#include "qdatetime.h"
-#include "qeasingcurve.h"
#include "qlist.h"
#include "qstring.h"
#include "qstringlist.h"
diff --git a/src/gui/kernel/qhighdpiscaling.cpp b/src/gui/kernel/qhighdpiscaling.cpp
index 0fea416404..c031885d5d 100644
--- a/src/gui/kernel/qhighdpiscaling.cpp
+++ b/src/gui/kernel/qhighdpiscaling.cpp
@@ -46,6 +46,9 @@
#include <private/qguiapplication_p.h>
#include <QtCore/qdebug.h>
+#include <QtCore/qmetaobject.h>
+
+#include <algorithm>
QT_BEGIN_NAMESPACE
@@ -53,9 +56,29 @@ Q_LOGGING_CATEGORY(lcScaling, "qt.scaling");
#ifndef QT_NO_HIGHDPISCALING
static const char legacyDevicePixelEnvVar[] = "QT_DEVICE_PIXEL_RATIO";
+static const char legacyAutoScreenEnvVar[] = "QT_AUTO_SCREEN_SCALE_FACTOR";
+
+static const char enableHighDpiScalingEnvVar[] = "QT_ENABLE_HIGHDPI_SCALING";
static const char scaleFactorEnvVar[] = "QT_SCALE_FACTOR";
-static const char autoScreenEnvVar[] = "QT_AUTO_SCREEN_SCALE_FACTOR";
static const char screenFactorsEnvVar[] = "QT_SCREEN_SCALE_FACTORS";
+static const char scaleFactorRoundingPolicyEnvVar[] = "QT_SCALE_FACTOR_ROUNDING_POLICY";
+static const char dpiAdjustmentPolicyEnvVar[] = "QT_DPI_ADJUSTMENT_POLICY";
+static const char usePhysicalDpiEnvVar[] = "QT_USE_PHYSICAL_DPI";
+
+// Per-screen scale factors for named screens set with QT_SCREEN_SCALE_FACTORS
+// are stored here. Use a global hash to keep the factor across screen
+// disconnect/connect cycles where the screen object may be deleted.
+typedef QHash<QString, qreal> QScreenScaleFactorHash;
+Q_GLOBAL_STATIC(QScreenScaleFactorHash, qNamedScreenScaleFactors);
+
+// Reads and interprets the given environment variable as a bool,
+// returns the default value if not set.
+static bool qEnvironmentVariableAsBool(const char *name, bool defaultValue)
+{
+ bool ok = false;
+ int value = qEnvironmentVariableIntValue(name, &ok);
+ return ok ? value > 0 : defaultValue;
+}
static inline qreal initialGlobalScaleFactor()
{
@@ -69,17 +92,24 @@ static inline qreal initialGlobalScaleFactor()
result = f;
}
} else {
+ // Check for deprecated environment variables.
if (qEnvironmentVariableIsSet(legacyDevicePixelEnvVar)) {
qWarning("Warning: %s is deprecated. Instead use:\n"
" %s to enable platform plugin controlled per-screen factors.\n"
- " %s to set per-screen factors.\n"
+ " %s to set per-screen DPI.\n"
" %s to set the application global scale factor.",
- legacyDevicePixelEnvVar, autoScreenEnvVar, screenFactorsEnvVar, scaleFactorEnvVar);
+ legacyDevicePixelEnvVar, legacyAutoScreenEnvVar, screenFactorsEnvVar, scaleFactorEnvVar);
int dpr = qEnvironmentVariableIntValue(legacyDevicePixelEnvVar);
if (dpr > 0)
result = dpr;
}
+
+ if (qEnvironmentVariableIsSet(legacyAutoScreenEnvVar)) {
+ qWarning("Warning: %s is deprecated. Instead use:\n"
+ " %s to enable platform plugin controlled per-screen factors.",
+ legacyAutoScreenEnvVar, enableHighDpiScalingEnvVar);
+ }
}
return result;
}
@@ -226,7 +256,6 @@ bool QHighDpiScaling::m_usePixelDensity = false; // use scale factor from platfo
bool QHighDpiScaling::m_pixelDensityScalingActive = false; // pixel density scale factor > 1
bool QHighDpiScaling::m_globalScalingActive = false; // global scale factor is active
bool QHighDpiScaling::m_screenFactorSet = false; // QHighDpiScaling::setScreenFactor has been used
-QDpi QHighDpiScaling::m_logicalDpi = QDpi(-1,-1); // The scaled logical DPI of the primary screen
/*
Initializes the QHighDpiScaling global variables. Called before the
@@ -238,16 +267,214 @@ static inline bool usePixelDensity()
// Determine if we should set a scale factor based on the pixel density
// reported by the platform plugin. There are several enablers and several
// disablers. A single disable may veto all other enablers.
+
+ // First, check of there is an explicit disable.
if (QCoreApplication::testAttribute(Qt::AA_DisableHighDpiScaling))
return false;
bool screenEnvValueOk;
- const int screenEnvValue = qEnvironmentVariableIntValue(autoScreenEnvVar, &screenEnvValueOk);
+ const int screenEnvValue = qEnvironmentVariableIntValue(legacyAutoScreenEnvVar, &screenEnvValueOk);
if (screenEnvValueOk && screenEnvValue < 1)
return false;
+ bool enableEnvValueOk;
+ const int enableEnvValue = qEnvironmentVariableIntValue(enableHighDpiScalingEnvVar, &enableEnvValueOk);
+ if (enableEnvValueOk && enableEnvValue < 1)
+ return false;
+
+ // Then return if there was an enable.
return QCoreApplication::testAttribute(Qt::AA_EnableHighDpiScaling)
|| (screenEnvValueOk && screenEnvValue > 0)
- || (qEnvironmentVariableIsSet(legacyDevicePixelEnvVar) &&
- qgetenv(legacyDevicePixelEnvVar).compare("auto", Qt::CaseInsensitive) == 0);
+ || (enableEnvValueOk && enableEnvValue > 0)
+ || (qEnvironmentVariableIsSet(legacyDevicePixelEnvVar) && qgetenv(legacyDevicePixelEnvVar).toLower() == "auto");
+}
+
+qreal QHighDpiScaling::rawScaleFactor(const QPlatformScreen *screen)
+{
+ // Determine if physical DPI should be used
+ static const bool usePhysicalDpi = qEnvironmentVariableAsBool(usePhysicalDpiEnvVar, false);
+
+ // Calculate scale factor beased on platform screen DPI values
+ qreal factor;
+ QDpi platformBaseDpi = screen->logicalBaseDpi();
+ if (usePhysicalDpi) {
+ qreal platformPhysicalDpi = screen->screen()->physicalDotsPerInch();
+ factor = qreal(platformPhysicalDpi) / qreal(platformBaseDpi.first);
+ } else {
+ const QDpi platformLogicalDpi = QPlatformScreen::overrideDpi(screen->logicalDpi());
+ factor = qreal(platformLogicalDpi.first) / qreal(platformBaseDpi.first);
+ }
+
+ return factor;
+}
+
+template <class EnumType>
+struct EnumLookup
+{
+ const char *name;
+ EnumType value;
+};
+
+template <class EnumType>
+static bool operator==(const EnumLookup<EnumType> &e1, const EnumLookup<EnumType> &e2)
+{
+ return qstricmp(e1.name, e2.name) == 0;
+}
+
+template <class EnumType>
+static QByteArray joinEnumValues(const EnumLookup<EnumType> *i1, const EnumLookup<EnumType> *i2)
+{
+ QByteArray result;
+ for (; i1 < i2; ++i1) {
+ if (!result.isEmpty())
+ result += QByteArrayLiteral(", ");
+ result += i1->name;
+ }
+ return result;
+}
+
+using ScaleFactorRoundingPolicyLookup = EnumLookup<Qt::HighDpiScaleFactorRoundingPolicy>;
+
+static const ScaleFactorRoundingPolicyLookup scaleFactorRoundingPolicyLookup[] =
+{
+ {"Round", Qt::HighDpiScaleFactorRoundingPolicy::Round},
+ {"Ceil", Qt::HighDpiScaleFactorRoundingPolicy::Ceil},
+ {"Floor", Qt::HighDpiScaleFactorRoundingPolicy::Floor},
+ {"RoundPreferFloor", Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor},
+ {"PassThrough", Qt::HighDpiScaleFactorRoundingPolicy::PassThrough}
+};
+
+static Qt::HighDpiScaleFactorRoundingPolicy
+ lookupScaleFactorRoundingPolicy(const QByteArray &v)
+{
+ auto end = std::end(scaleFactorRoundingPolicyLookup);
+ auto it = std::find(std::begin(scaleFactorRoundingPolicyLookup), end,
+ ScaleFactorRoundingPolicyLookup{v.constData(), Qt::HighDpiScaleFactorRoundingPolicy::Unset});
+ return it != end ? it->value : Qt::HighDpiScaleFactorRoundingPolicy::Unset;
+}
+
+using DpiAdjustmentPolicyLookup = EnumLookup<QHighDpiScaling::DpiAdjustmentPolicy>;
+
+static const DpiAdjustmentPolicyLookup dpiAdjustmentPolicyLookup[] =
+{
+ {"AdjustDpi", QHighDpiScaling::DpiAdjustmentPolicy::Enabled},
+ {"DontAdjustDpi", QHighDpiScaling::DpiAdjustmentPolicy::Disabled},
+ {"AdjustUpOnly", QHighDpiScaling::DpiAdjustmentPolicy::UpOnly}
+};
+
+static QHighDpiScaling::DpiAdjustmentPolicy
+ lookupDpiAdjustmentPolicy(const QByteArray &v)
+{
+ auto end = std::end(dpiAdjustmentPolicyLookup);
+ auto it = std::find(std::begin(dpiAdjustmentPolicyLookup), end,
+ DpiAdjustmentPolicyLookup{v.constData(), QHighDpiScaling::DpiAdjustmentPolicy::Unset});
+ return it != end ? it->value : QHighDpiScaling::DpiAdjustmentPolicy::Unset;
+}
+
+qreal QHighDpiScaling::roundScaleFactor(qreal rawFactor)
+{
+ // Apply scale factor rounding policy. Using mathematically correct rounding
+ // may not give the most desirable visual results, especially for
+ // critical fractions like .5. In general, rounding down results in visual
+ // sizes that are smaller than the ideal size, and opposite for rounding up.
+ // Rounding down is then preferable since "small UI" is a more acceptable
+ // high-DPI experience than "large UI".
+ static auto scaleFactorRoundingPolicy = Qt::HighDpiScaleFactorRoundingPolicy::Unset;
+
+ // Determine rounding policy
+ if (scaleFactorRoundingPolicy == Qt::HighDpiScaleFactorRoundingPolicy::Unset) {
+ // Check environment
+ if (qEnvironmentVariableIsSet(scaleFactorRoundingPolicyEnvVar)) {
+ QByteArray policyText = qgetenv(scaleFactorRoundingPolicyEnvVar);
+ auto policyEnumValue = lookupScaleFactorRoundingPolicy(policyText);
+ if (policyEnumValue != Qt::HighDpiScaleFactorRoundingPolicy::Unset) {
+ scaleFactorRoundingPolicy = policyEnumValue;
+ } else {
+ auto values = joinEnumValues(std::begin(scaleFactorRoundingPolicyLookup),
+ std::end(scaleFactorRoundingPolicyLookup));
+ qWarning("Unknown scale factor rounding policy: %s. Supported values are: %s.",
+ policyText.constData(), values.constData());
+ }
+ }
+
+ // Check application object if no environment value was set.
+ if (scaleFactorRoundingPolicy == Qt::HighDpiScaleFactorRoundingPolicy::Unset) {
+ scaleFactorRoundingPolicy = QGuiApplication::highDpiScaleFactorRoundingPolicy();
+ } else {
+ // Make application setting reflect environment
+ QGuiApplication::setHighDpiScaleFactorRoundingPolicy(scaleFactorRoundingPolicy);
+ }
+ }
+
+ // Apply rounding policy.
+ qreal roundedFactor = rawFactor;
+ switch (scaleFactorRoundingPolicy) {
+ case Qt::HighDpiScaleFactorRoundingPolicy::Round:
+ roundedFactor = qRound(rawFactor);
+ break;
+ case Qt::HighDpiScaleFactorRoundingPolicy::Ceil:
+ roundedFactor = qCeil(rawFactor);
+ break;
+ case Qt::HighDpiScaleFactorRoundingPolicy::Floor:
+ roundedFactor = qFloor(rawFactor);
+ break;
+ case Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor:
+ // Round up for .75 and higher. This favors "small UI" over "large UI".
+ roundedFactor = rawFactor - qFloor(rawFactor) < 0.75
+ ? qFloor(rawFactor) : qCeil(rawFactor);
+ break;
+ case Qt::HighDpiScaleFactorRoundingPolicy::PassThrough:
+ case Qt::HighDpiScaleFactorRoundingPolicy::Unset:
+ break;
+ }
+
+ // Don't round down to to zero; clamp the minimum (rounded) factor to 1.
+ // This is not a common case but can happen if a display reports a very
+ // low DPI.
+ if (scaleFactorRoundingPolicy != Qt::HighDpiScaleFactorRoundingPolicy::PassThrough)
+ roundedFactor = qMax(roundedFactor, qreal(1));
+
+ return roundedFactor;
+}
+
+QDpi QHighDpiScaling::effectiveLogicalDpi(const QPlatformScreen *screen, qreal rawFactor, qreal roundedFactor)
+{
+ // Apply DPI adjustment policy, if needed. If enabled this will change the
+ // reported logical DPI to account for the difference between the rounded
+ // scale factor and the actual scale factor. The effect is that text size
+ // will be correct for the screen dpi, but may be (slightly) out of sync
+ // with the rest of the UI. The amount of out-of-synch-ness depends on how
+ // well user code handles a non-standard DPI values, but since the
+ // adjustment is small (typically +/- 48 max) this might be OK.
+ static auto dpiAdjustmentPolicy = DpiAdjustmentPolicy::Unset;
+
+ // Determine adjustment policy.
+ if (dpiAdjustmentPolicy == DpiAdjustmentPolicy::Unset) {
+ if (qEnvironmentVariableIsSet(dpiAdjustmentPolicyEnvVar)) {
+ QByteArray policyText = qgetenv(dpiAdjustmentPolicyEnvVar);
+ auto policyEnumValue = lookupDpiAdjustmentPolicy(policyText);
+ if (policyEnumValue != DpiAdjustmentPolicy::Unset) {
+ dpiAdjustmentPolicy = policyEnumValue;
+ } else {
+ auto values = joinEnumValues(std::begin(dpiAdjustmentPolicyLookup),
+ std::end(dpiAdjustmentPolicyLookup));
+ qWarning("Unknown DPI adjustment policy: %s. Supported values are: %s.",
+ policyText.constData(), values.constData());
+ }
+ }
+ if (dpiAdjustmentPolicy == DpiAdjustmentPolicy::Unset)
+ dpiAdjustmentPolicy = DpiAdjustmentPolicy::UpOnly;
+ }
+
+ // Apply adjustment policy.
+ const QDpi baseDpi = screen->logicalBaseDpi();
+ const qreal dpiAdjustmentFactor = rawFactor / roundedFactor;
+
+ // Return the base DPI for cases where there is no adjustment
+ if (dpiAdjustmentPolicy == DpiAdjustmentPolicy::Disabled)
+ return baseDpi;
+ if (dpiAdjustmentPolicy == DpiAdjustmentPolicy::UpOnly && dpiAdjustmentFactor < 1)
+ return baseDpi;
+
+ return QDpi(baseDpi.first * dpiAdjustmentFactor, baseDpi.second * dpiAdjustmentFactor);
}
void QHighDpiScaling::initHighDpiScaling()
@@ -260,8 +487,6 @@ void QHighDpiScaling::initHighDpiScaling()
m_pixelDensityScalingActive = false; //set in updateHighDpiScaling below
- // we update m_active in updateHighDpiScaling, but while we create the
- // screens, we have to assume that m_usePixelDensity implies scaling
m_active = m_globalScalingActive || m_usePixelDensity;
}
@@ -283,20 +508,19 @@ void QHighDpiScaling::updateHighDpiScaling()
int i = 0;
const auto specs = qgetenv(screenFactorsEnvVar).split(';');
for (const QByteArray &spec : specs) {
- QScreen *screen = 0;
int equalsPos = spec.lastIndexOf('=');
- double factor = 0;
+ qreal factor = 0;
if (equalsPos > 0) {
// support "name=factor"
QByteArray name = spec.mid(0, equalsPos);
QByteArray f = spec.mid(equalsPos + 1);
bool ok;
factor = f.toDouble(&ok);
- if (ok) {
+ if (ok && factor > 0 ) {
const auto screens = QGuiApplication::screens();
for (QScreen *s : screens) {
if (s->name() == QString::fromLocal8Bit(name)) {
- screen = s;
+ setScreenFactor(s, factor);
break;
}
}
@@ -305,23 +529,15 @@ void QHighDpiScaling::updateHighDpiScaling()
// listing screens in order
bool ok;
factor = spec.toDouble(&ok);
- if (ok && i < QGuiApplication::screens().count())
- screen = QGuiApplication::screens().at(i);
+ if (ok && factor > 0 && i < QGuiApplication::screens().count()) {
+ QScreen *screen = QGuiApplication::screens().at(i);
+ setScreenFactor(screen, factor);
+ }
}
- if (screen)
- setScreenFactor(screen, factor);
++i;
}
}
- m_active = m_globalScalingActive || m_screenFactorSet || m_pixelDensityScalingActive;
-
- QScreen *primaryScreen = QGuiApplication::primaryScreen();
- if (!primaryScreen)
- return;
- QPlatformScreen *platformScreen = primaryScreen->handle();
- qreal sf = screenSubfactor(platformScreen);
- QDpi primaryDpi = platformScreen->logicalDpi();
- m_logicalDpi = QDpi(primaryDpi.first / sf, primaryDpi.second / sf);
+ m_active = m_globalScalingActive || m_usePixelDensity;
}
/*
@@ -353,7 +569,14 @@ void QHighDpiScaling::setScreenFactor(QScreen *screen, qreal factor)
m_screenFactorSet = true;
m_active = true;
}
- screen->setProperty(scaleFactorProperty, QVariant(factor));
+
+ // Prefer associating the factor with screen name over the object
+ // since the screen object may be deleted on screen disconnects.
+ const QString name = screen->name();
+ if (name.isEmpty())
+ screen->setProperty(scaleFactorProperty, QVariant(factor));
+ else
+ qNamedScreenScaleFactors()->insert(name, factor);
// hack to force re-evaluation of screen geometry
if (screen->handle())
@@ -421,41 +644,55 @@ QPoint QHighDpiScaling::mapPositionFromGlobal(const QPoint &pos, const QPoint &w
qreal QHighDpiScaling::screenSubfactor(const QPlatformScreen *screen)
{
qreal factor = qreal(1.0);
- if (screen) {
- if (m_usePixelDensity) {
- qreal pixelDensity = screen->pixelDensity();
-
- // Pixel density reported by the screen is sometimes not precise enough,
- // so recalculate it: divide px (physical pixels) by dp (device-independent pixels)
- // for both width and height, and then use the average if it is different from
- // the one initially reported by the screen
- QRect screenGeometry = screen->geometry();
- qreal wFactor = qreal(screenGeometry.width()) / qRound(screenGeometry.width() / pixelDensity);
- qreal hFactor = qreal(screenGeometry.height()) / qRound(screenGeometry.height() / pixelDensity);
- qreal averageDensity = (wFactor + hFactor) / 2;
- if (!qFuzzyCompare(pixelDensity, averageDensity))
- pixelDensity = averageDensity;
-
- factor *= pixelDensity;
- }
- if (m_screenFactorSet) {
- QVariant screenFactor = screen->screen()->property(scaleFactorProperty);
- if (screenFactor.isValid())
- factor *= screenFactor.toReal();
+ if (!screen)
+ return factor;
+
+ // Unlike the other code where factors are combined by multiplication,
+ // factors from QT_SCREEN_SCALE_FACTORS takes precedence over the factor
+ // computed from platform plugin DPI. The rationale is that the user is
+ // setting the factor to override erroneous DPI values.
+ bool screenPropertyUsed = false;
+ if (m_screenFactorSet) {
+ // Check if there is a factor set on the screen object or associated
+ // with the screen name. These are mutually exclusive, so checking
+ // order is not significant.
+ QVariant byIndex = screen->screen()->property(scaleFactorProperty);
+ auto byNameIt = qNamedScreenScaleFactors()->constFind(screen->name());
+ if (byIndex.isValid()) {
+ screenPropertyUsed = true;
+ factor = byIndex.toReal();
+ } else if (byNameIt != qNamedScreenScaleFactors()->cend()) {
+ screenPropertyUsed = true;
+ factor = *byNameIt;
}
}
+
+ if (!screenPropertyUsed && m_usePixelDensity)
+ factor = roundScaleFactor(rawScaleFactor(screen));
+
return factor;
}
-QDpi QHighDpiScaling::logicalDpi()
+QDpi QHighDpiScaling::logicalDpi(const QScreen *screen)
{
- return m_logicalDpi;
+ // (Note: m_active test is performed at call site.)
+ if (!screen || !screen->handle())
+ return QDpi(96, 96);
+
+ if (!m_usePixelDensity)
+ return QPlatformScreen::overrideDpi(screen->handle()->logicalDpi());
+
+ const qreal scaleFactor = rawScaleFactor(screen->handle());
+ const qreal roundedScaleFactor = roundScaleFactor(scaleFactor);
+ return effectiveLogicalDpi(screen->handle(), scaleFactor, roundedScaleFactor);
}
QHighDpiScaling::ScaleAndOrigin QHighDpiScaling::scaleAndOrigin(const QPlatformScreen *platformScreen, QPoint *nativePosition)
{
if (!m_active)
return { qreal(1), QPoint() };
+ if (!platformScreen)
+ return { m_factor, QPoint() }; // the global factor
const QPlatformScreen *actualScreen = nativePosition ?
platformScreen->screenForPosition(*nativePosition) : platformScreen;
return { m_factor * screenSubfactor(actualScreen), actualScreen->geometry().topLeft() };
diff --git a/src/gui/kernel/qhighdpiscaling_p.h b/src/gui/kernel/qhighdpiscaling_p.h
index 50221926c6..f58944a7d2 100644
--- a/src/gui/kernel/qhighdpiscaling_p.h
+++ b/src/gui/kernel/qhighdpiscaling_p.h
@@ -59,6 +59,7 @@
#include <QtCore/qloggingcategory.h>
#include <QtGui/qregion.h>
#include <QtGui/qscreen.h>
+#include <QtGui/qvector2d.h>
#include <QtGui/qwindow.h>
QT_BEGIN_NAMESPACE
@@ -71,11 +72,27 @@ typedef QPair<qreal, qreal> QDpi;
#ifndef QT_NO_HIGHDPISCALING
class Q_GUI_EXPORT QHighDpiScaling {
+ Q_GADGET
public:
+ enum class DpiAdjustmentPolicy {
+ Unset,
+ Enabled,
+ Disabled,
+ UpOnly
+ };
+ Q_ENUM(DpiAdjustmentPolicy)
+
+ QHighDpiScaling() = delete;
+ ~QHighDpiScaling() = delete;
+ QHighDpiScaling(const QHighDpiScaling &) = delete;
+ QHighDpiScaling &operator=(const QHighDpiScaling &) = delete;
+ QHighDpiScaling(QHighDpiScaling &&) = delete;
+ QHighDpiScaling &operator=(QHighDpiScaling &&) = delete;
+
static void initHighDpiScaling();
static void updateHighDpiScaling();
static void setGlobalFactor(qreal factor);
- static void setScreenFactor(QScreen *window, qreal factor);
+ static void setScreenFactor(QScreen *screen, qreal factor);
static bool isActive() { return m_active; }
@@ -97,9 +114,12 @@ public:
static QPoint mapPositionToNative(const QPoint &pos, const QPlatformScreen *platformScreen);
static QPoint mapPositionToGlobal(const QPoint &pos, const QPoint &windowGlobalPosition, const QWindow *window);
static QPoint mapPositionFromGlobal(const QPoint &pos, const QPoint &windowGlobalPosition, const QWindow *window);
- static QDpi logicalDpi();
+ static QDpi logicalDpi(const QScreen *screen);
private:
+ static qreal rawScaleFactor(const QPlatformScreen *screen);
+ static qreal roundScaleFactor(qreal rawFactor);
+ static QDpi effectiveLogicalDpi(const QPlatformScreen *screen, qreal rawFactor, qreal roundedFactor);
static qreal screenSubfactor(const QPlatformScreen *screen);
static qreal m_factor;
@@ -117,13 +137,26 @@ private:
namespace QHighDpi {
-template <typename T>
-inline T scale(const T &value, qreal scaleFactor, QPoint origin = QPoint(0, 0))
+inline qreal scale(qreal value, qreal scaleFactor, QPointF /* origin */ = QPointF(0, 0))
+{
+ return value * scaleFactor;
+}
+
+inline QSize scale(const QSize &value, qreal scaleFactor, QPointF /* origin */ = QPointF(0, 0))
+{
+ return value * scaleFactor;
+}
+
+inline QSizeF scale(const QSizeF &value, qreal scaleFactor, QPointF /* origin */ = QPointF(0, 0))
{
- Q_UNUSED(origin)
return value * scaleFactor;
}
+inline QVector2D scale(const QVector2D &value, qreal scaleFactor, QPointF /* origin */ = QPointF(0, 0))
+{
+ return value * float(scaleFactor);
+}
+
inline QPointF scale(const QPointF &pos, qreal scaleFactor, QPointF origin = QPointF(0, 0))
{
return (pos - origin) * scaleFactor + origin;
diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp
index 10adee438b..6f51fe3095 100644
--- a/src/gui/kernel/qopenglcontext.cpp
+++ b/src/gui/kernel/qopenglcontext.cpp
@@ -976,11 +976,8 @@ bool QOpenGLContext::makeCurrent(QSurface *surface)
if (!surface->surfaceHandle())
return false;
if (!surface->supportsOpenGL()) {
-#ifndef Q_OS_WASM // ### work around the WASM platform plugin using QOpenGLContext with raster surfaces.
- // see QTBUG-70076
qWarning() << "QOpenGLContext::makeCurrent() called with non-opengl surface" << surface;
return false;
-#endif
}
if (!d->platformGLContext->makeCurrent(surface->surfaceHandle()))
diff --git a/src/gui/kernel/qplatformintegration.cpp b/src/gui/kernel/qplatformintegration.cpp
index 490cfc6178..b3d3db0751 100644
--- a/src/gui/kernel/qplatformintegration.cpp
+++ b/src/gui/kernel/qplatformintegration.cpp
@@ -244,6 +244,9 @@ QPlatformServices *QPlatformIntegration::services() const
\value TopStackedNativeChildWindows The platform supports native child windows via
QWindowContainer without having to punch a transparent hole in the
backingstore. (since 5.10)
+
+ \value OpenGLOnRasterSurface The platform supports making a QOpenGLContext current
+ in combination with a QWindow of type RasterSurface.
*/
/*!
diff --git a/src/gui/kernel/qplatformintegration.h b/src/gui/kernel/qplatformintegration.h
index b764bd2617..d9f349555a 100644
--- a/src/gui/kernel/qplatformintegration.h
+++ b/src/gui/kernel/qplatformintegration.h
@@ -105,7 +105,8 @@ public:
AllGLFunctionsQueryable,
ApplicationIcon,
SwitchableWidgetComposition,
- TopStackedNativeChildWindows
+ TopStackedNativeChildWindows,
+ OpenGLOnRasterSurface
};
virtual ~QPlatformIntegration() { }
diff --git a/src/gui/kernel/qplatformscreen.cpp b/src/gui/kernel/qplatformscreen.cpp
index 9c5876550a..f3213bf5ea 100644
--- a/src/gui/kernel/qplatformscreen.cpp
+++ b/src/gui/kernel/qplatformscreen.cpp
@@ -193,6 +193,28 @@ QDpi QPlatformScreen::logicalDpi() const
25.4 * s.height() / ps.height());
}
+// Helper function for accessing the platform screen logical dpi
+// which accounts for QT_FONT_DPI.
+QPair<qreal, qreal> QPlatformScreen::overrideDpi(const QPair<qreal, qreal> &in)
+{
+ static const int overrideDpi = qEnvironmentVariableIntValue("QT_FONT_DPI");
+ return overrideDpi > 0 ? QDpi(overrideDpi, overrideDpi) : in;
+}
+
+/*!
+ Reimplement to return the base logical DPI for the platform. This
+ DPI value should correspond to a standard-DPI (1x) display. The
+ default implementation returns 96.
+
+ QtGui will use this value (together with logicalDpi) to compute
+ the scale factor when high-DPI scaling is enabled:
+ factor = logicalDPI / baseDPI
+*/
+QDpi QPlatformScreen::logicalBaseDpi() const
+{
+ return QDpi(96, 96);
+}
+
/*!
Reimplement this function in subclass to return the device pixel ratio
for the screen. This is the ratio between physical pixels and the
diff --git a/src/gui/kernel/qplatformscreen.h b/src/gui/kernel/qplatformscreen.h
index b9ecc80320..d7378aed51 100644
--- a/src/gui/kernel/qplatformscreen.h
+++ b/src/gui/kernel/qplatformscreen.h
@@ -115,6 +115,7 @@ public:
virtual QSizeF physicalSize() const;
virtual QDpi logicalDpi() const;
+ virtual QDpi logicalBaseDpi() const;
virtual qreal devicePixelRatio() const;
virtual qreal pixelDensity() const;
@@ -160,6 +161,8 @@ public:
// The platform screen's geometry in device independent coordinates
QRect deviceIndependentGeometry() const;
+ static QDpi overrideDpi(const QDpi &in);
+
protected:
void resizeMaximizedWindows();
diff --git a/src/gui/kernel/qscreen.cpp b/src/gui/kernel/qscreen.cpp
index c79f597414..7adf3db1b8 100644
--- a/src/gui/kernel/qscreen.cpp
+++ b/src/gui/kernel/qscreen.cpp
@@ -84,8 +84,11 @@ void QScreenPrivate::setPlatformScreen(QPlatformScreen *screen)
platformScreen->d_func()->screen = q;
orientation = platformScreen->orientation();
geometry = platformScreen->deviceIndependentGeometry();
- availableGeometry = QHighDpi::fromNative(platformScreen->availableGeometry(), QHighDpiScaling::factor(platformScreen), geometry.topLeft());
- logicalDpi = platformScreen->logicalDpi();
+ availableGeometry = QHighDpi::fromNative(platformScreen->availableGeometry(),
+ QHighDpiScaling::factor(platformScreen), geometry.topLeft());
+
+ logicalDpi = QPlatformScreen::overrideDpi(platformScreen->logicalDpi());
+
refreshRate = platformScreen->refreshRate();
// safeguard ourselves against buggy platform behavior...
if (refreshRate < 1.0)
@@ -285,7 +288,7 @@ qreal QScreen::logicalDotsPerInchX() const
{
Q_D(const QScreen);
if (QHighDpiScaling::isActive())
- return QHighDpiScaling::logicalDpi().first;
+ return QHighDpiScaling::logicalDpi(this).first;
return d->logicalDpi.first;
}
@@ -301,7 +304,7 @@ qreal QScreen::logicalDotsPerInchY() const
{
Q_D(const QScreen);
if (QHighDpiScaling::isActive())
- return QHighDpiScaling::logicalDpi().second;
+ return QHighDpiScaling::logicalDpi(this).second;
return d->logicalDpi.second;
}
@@ -320,7 +323,7 @@ qreal QScreen::logicalDotsPerInchY() const
qreal QScreen::logicalDotsPerInch() const
{
Q_D(const QScreen);
- QDpi dpi = QHighDpiScaling::isActive() ? QHighDpiScaling::logicalDpi() : d->logicalDpi;
+ QDpi dpi = QHighDpiScaling::isActive() ? QHighDpiScaling::logicalDpi(this) : d->logicalDpi;
return (dpi.first + dpi.second) * qreal(0.5);
}
diff --git a/src/gui/kernel/qsurface.cpp b/src/gui/kernel/qsurface.cpp
index 415e64b39c..709f28d431 100644
--- a/src/gui/kernel/qsurface.cpp
+++ b/src/gui/kernel/qsurface.cpp
@@ -39,6 +39,8 @@
#include "qsurface.h"
#include "qopenglcontext.h"
+#include <qpa/qplatformintegration.h>
+#include <QtGui/private/qguiapplication_p.h>
QT_BEGIN_NAMESPACE
@@ -103,6 +105,10 @@ QT_BEGIN_NAMESPACE
bool QSurface::supportsOpenGL() const
{
SurfaceType type = surfaceType();
+ if (type == RasterSurface) {
+ QPlatformIntegration *integ = QGuiApplicationPrivate::instance()->platformIntegration();
+ return integ->hasCapability(QPlatformIntegration::OpenGLOnRasterSurface);
+ }
return type == OpenGLSurface || type == RasterGLSurface;
}
diff --git a/src/gui/kernel/qsurfaceformat.cpp b/src/gui/kernel/qsurfaceformat.cpp
index 2e2738ec81..238886220b 100644
--- a/src/gui/kernel/qsurfaceformat.cpp
+++ b/src/gui/kernel/qsurfaceformat.cpp
@@ -554,10 +554,6 @@ int QSurfaceFormat::alphaBufferSize() const
/*!
Set the desired \a size in bits of the red channel of the color buffer.
-
- \note On Mac OSX, be sure to set the buffer size of all color channels,
- otherwise this setting will have no effect. If one of the buffer sizes is not set,
- the current bit-depth of the screen is used.
*/
void QSurfaceFormat::setRedBufferSize(int size)
{
@@ -569,10 +565,6 @@ void QSurfaceFormat::setRedBufferSize(int size)
/*!
Set the desired \a size in bits of the green channel of the color buffer.
-
- \note On Mac OSX, be sure to set the buffer size of all color channels,
- otherwise this setting will have no effect. If one of the buffer sizes is not set,
- the current bit-depth of the screen is used.
*/
void QSurfaceFormat::setGreenBufferSize(int size)
{
@@ -584,10 +576,6 @@ void QSurfaceFormat::setGreenBufferSize(int size)
/*!
Set the desired \a size in bits of the blue channel of the color buffer.
-
- \note On Mac OSX, be sure to set the buffer size of all color channels,
- otherwise this setting will have no effect. If one of the buffer sizes is not set,
- the current bit-depth of the screen is used.
*/
void QSurfaceFormat::setBlueBufferSize(int size)
{
diff --git a/src/gui/kernel/qtouchdevice.cpp b/src/gui/kernel/qtouchdevice.cpp
index 511e92566e..ea187f54aa 100644
--- a/src/gui/kernel/qtouchdevice.cpp
+++ b/src/gui/kernel/qtouchdevice.cpp
@@ -44,6 +44,7 @@
#include <QCoreApplication>
#include <private/qdebug_p.h>
+#include <private/qlocking_p.h>
QT_BEGIN_NAMESPACE
@@ -201,15 +202,20 @@ void QTouchDevice::setName(const QString &name)
d->name = name;
}
-typedef QList<const QTouchDevice *> TouchDevices;
-Q_GLOBAL_STATIC(TouchDevices, deviceList)
static QBasicMutex devicesMutex;
-static void cleanupDevicesList()
+struct TouchDevices {
+ TouchDevices();
+ QList<const QTouchDevice *> list;
+};
+Q_GLOBAL_STATIC(TouchDevices, deviceList)
+
+TouchDevices::TouchDevices()
{
- QMutexLocker lock(&devicesMutex);
- qDeleteAll(*deviceList());
- deviceList()->clear();
+ qAddPostRoutine([]{
+ const auto locker = qt_scoped_lock(devicesMutex);
+ qDeleteAll(qExchange(deviceList->list, {}));
+ });
}
/*!
@@ -223,7 +229,7 @@ static void cleanupDevicesList()
QList<const QTouchDevice *> QTouchDevice::devices()
{
QMutexLocker lock(&devicesMutex);
- return *deviceList();
+ return deviceList->list;
}
/*!
@@ -232,13 +238,13 @@ QList<const QTouchDevice *> QTouchDevice::devices()
bool QTouchDevicePrivate::isRegistered(const QTouchDevice *dev)
{
QMutexLocker locker(&devicesMutex);
- return deviceList()->contains(dev);
+ return deviceList->list.contains(dev);
}
const QTouchDevice *QTouchDevicePrivate::deviceById(quint8 id)
{
QMutexLocker locker(&devicesMutex);
- for (const QTouchDevice *dev : *deviceList())
+ for (const QTouchDevice *dev : qAsConst(deviceList->list))
if (QTouchDevicePrivate::get(const_cast<QTouchDevice *>(dev))->id == id)
return dev;
return nullptr;
@@ -250,9 +256,7 @@ const QTouchDevice *QTouchDevicePrivate::deviceById(quint8 id)
void QTouchDevicePrivate::registerDevice(const QTouchDevice *dev)
{
QMutexLocker lock(&devicesMutex);
- if (deviceList()->isEmpty())
- qAddPostRoutine(cleanupDevicesList);
- deviceList()->append(dev);
+ deviceList->list.append(dev);
}
/*!
@@ -261,9 +265,7 @@ void QTouchDevicePrivate::registerDevice(const QTouchDevice *dev)
void QTouchDevicePrivate::unregisterDevice(const QTouchDevice *dev)
{
QMutexLocker lock(&devicesMutex);
- bool wasRemoved = deviceList()->removeOne(dev);
- if (wasRemoved && deviceList()->isEmpty())
- qRemovePostRoutine(cleanupDevicesList);
+ deviceList->list.removeOne(dev);
}
#ifndef QT_NO_DEBUG_STREAM
diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp
index 4b8cb3646a..40a298226a 100644
--- a/src/gui/kernel/qwindowsysteminterface.cpp
+++ b/src/gui/kernel/qwindowsysteminterface.cpp
@@ -857,8 +857,8 @@ void QWindowSystemInterface::handleScreenGeometryChange(QScreen *screen, const Q
void QWindowSystemInterface::handleScreenLogicalDotsPerInchChange(QScreen *screen, qreal dpiX, qreal dpiY)
{
- QWindowSystemInterfacePrivate::ScreenLogicalDotsPerInchEvent *e =
- new QWindowSystemInterfacePrivate::ScreenLogicalDotsPerInchEvent(screen, dpiX, dpiY); // ### tja
+ const QDpi effectiveDpi = QPlatformScreen::overrideDpi(QDpi{dpiX, dpiY});
+ auto e = new QWindowSystemInterfacePrivate::ScreenLogicalDotsPerInchEvent(screen, effectiveDpi.first, effectiveDpi.second);
QWindowSystemInterfacePrivate::handleWindowSystemEvent(e);
}
diff --git a/src/gui/opengl/qopenglprogrambinarycache.cpp b/src/gui/opengl/qopenglprogrambinarycache.cpp
index 1f1ac1fd80..8d4d8ed183 100644
--- a/src/gui/opengl/qopenglprogrambinarycache.cpp
+++ b/src/gui/opengl/qopenglprogrambinarycache.cpp
@@ -40,6 +40,7 @@
#include "qopenglprogrambinarycache_p.h"
#include <QOpenGLContext>
#include <QOpenGLExtraFunctions>
+#include <QSysInfo>
#include <QStandardPaths>
#include <QDir>
#include <QSaveFile>
@@ -102,7 +103,7 @@ static inline bool qt_ensureWritableDir(const QString &name)
QOpenGLProgramBinaryCache::QOpenGLProgramBinaryCache()
: m_cacheWritable(false)
{
- const QString subPath = QLatin1String("/qtshadercache/");
+ const QString subPath = QLatin1String("/qtshadercache-") + QSysInfo::buildAbi() + QLatin1Char('/');
const QString sharedCachePath = QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation);
if (!sharedCachePath.isEmpty()) {
m_cacheDir = sharedCachePath + subPath;
diff --git a/src/gui/opengl/qopengltextureuploader.cpp b/src/gui/opengl/qopengltextureuploader.cpp
index d9d5403cf3..9e393bc47a 100644
--- a/src/gui/opengl/qopengltextureuploader.cpp
+++ b/src/gui/opengl/qopengltextureuploader.cpp
@@ -65,6 +65,10 @@
#define GL_RGBA16 0x805B
#endif
+#ifndef GL_BGR
+#define GL_BGR 0x80E0
+#endif
+
#ifndef GL_BGRA
#define GL_BGRA 0x80E1
#endif
@@ -202,6 +206,20 @@ qsizetype QOpenGLTextureUploader::textureImage(GLenum target, const QImage &imag
pixelType = GL_UNSIGNED_BYTE;
targetFormat = QImage::Format_RGB888;
break;
+ case QImage::Format_BGR888:
+ if (isOpenGL12orBetter) {
+ externalFormat = GL_BGR;
+ internalFormat = GL_RGB;
+ pixelType = GL_UNSIGNED_BYTE;
+ targetFormat = QImage::Format_BGR888;
+ } else if (funcs->hasOpenGLExtension(QOpenGLExtensions::TextureSwizzle)) {
+ funcs->glTexParameteri(target, GL_TEXTURE_SWIZZLE_B, GL_RED);
+ funcs->glTexParameteri(target, GL_TEXTURE_SWIZZLE_R, GL_BLUE);
+ externalFormat = internalFormat = GL_RGB;
+ pixelType = GL_UNSIGNED_BYTE;
+ targetFormat = QImage::Format_BGR888;
+ }
+ break;
case QImage::Format_RGBX8888:
case QImage::Format_RGBA8888:
case QImage::Format_RGBA8888_Premultiplied:
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index 972cf387ff..fcf6488edd 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -135,23 +135,41 @@ gcc:equals(QT_GCC_MAJOR_VERSION, 5) {
NO_PCH_SOURCES += painting/qdrawhelper.cpp
}
-SSE2_SOURCES += painting/qdrawhelper_sse2.cpp
-SSSE3_SOURCES += painting/qdrawhelper_ssse3.cpp
-SSE4_1_SOURCES += painting/qdrawhelper_sse4.cpp \
- painting/qimagescale_sse4.cpp
-ARCH_HASWELL_SOURCES += painting/qdrawhelper_avx2.cpp
+!android {
+ SSE2_SOURCES += painting/qdrawhelper_sse2.cpp
+ SSSE3_SOURCES += painting/qdrawhelper_ssse3.cpp
+ SSE4_1_SOURCES += painting/qdrawhelper_sse4.cpp \
+ painting/qimagescale_sse4.cpp
+ ARCH_HASWELL_SOURCES += painting/qdrawhelper_avx2.cpp
-NEON_SOURCES += painting/qdrawhelper_neon.cpp painting/qimagescale_neon.cpp
-NEON_HEADERS += painting/qdrawhelper_neon_p.h
+ NEON_SOURCES += painting/qdrawhelper_neon.cpp painting/qimagescale_neon.cpp
+ NEON_HEADERS += painting/qdrawhelper_neon_p.h
+}
!uikit:!win32:contains(QT_ARCH, "arm"): CONFIG += no_clang_integrated_as
-!uikit:!win32:!integrity:!contains(QT_ARCH, "arm64") {
+!android:!uikit:!win32:!integrity:!contains(QT_ARCH, "arm64") {
NEON_ASM += ../3rdparty/pixman/pixman-arm-neon-asm.S painting/qdrawhelper_neon_asm.S
DEFINES += ENABLE_PIXMAN_DRAWHELPERS
}
-MIPS_DSP_SOURCES += painting/qdrawhelper_mips_dsp.cpp
-MIPS_DSP_HEADERS += painting/qdrawhelper_mips_dsp_p.h painting/qt_mips_asm_dsp_p.h
-MIPS_DSP_ASM += painting/qdrawhelper_mips_dsp_asm.S
-MIPS_DSPR2_ASM += painting/qdrawhelper_mips_dspr2_asm.S
+!android {
+ MIPS_DSP_SOURCES += painting/qdrawhelper_mips_dsp.cpp
+ MIPS_DSP_HEADERS += painting/qdrawhelper_mips_dsp_p.h painting/qt_mips_asm_dsp_p.h
+ MIPS_DSP_ASM += painting/qdrawhelper_mips_dsp_asm.S
+ MIPS_DSPR2_ASM += painting/qdrawhelper_mips_dspr2_asm.S
+} else {
+ # see https://developer.android.com/ndk/guides/abis
+ x86 | x86_64 {
+ DEFINES += QT_COMPILER_SUPPORTS_SSE2 QT_COMPILER_SUPPORTS_SSE3 QT_COMPILER_SUPPORTS_SSSE3
+ SOURCES += painting/qdrawhelper_sse2.cpp painting/qdrawhelper_ssse3.cpp
+ }
+ x86_64 {
+ DEFINES += QT_COMPILER_SUPPORTS_SSE4_1 QT_COMPILER_SUPPORTS_SSE4_2
+ SOURCES += painting/qdrawhelper_sse4.cpp painting/qimagescale_sse4.cpp
+ }
+ arm64-v8a {
+ SOURCES += painting/qdrawhelper_neon.cpp painting/qimagescale_neon.cpp
+ HEADERS += painting/qdrawhelper_neon_p.h
+ }
+}
include($$PWD/../../3rdparty/zlib_dependency.pri)
diff --git a/src/gui/painting/qbezier.cpp b/src/gui/painting/qbezier.cpp
index 8cda4b4072..9861fffff3 100644
--- a/src/gui/painting/qbezier.cpp
+++ b/src/gui/painting/qbezier.cpp
@@ -47,6 +47,8 @@
#include <private/qnumeric_p.h>
+#include <tuple> // for std::tie()
+
QT_BEGIN_NAMESPACE
//#define QDEBUG_BEZIER
@@ -54,24 +56,6 @@ QT_BEGIN_NAMESPACE
/*!
\internal
*/
-QBezier QBezier::fromPoints(const QPointF &p1, const QPointF &p2,
- const QPointF &p3, const QPointF &p4)
-{
- QBezier b;
- b.x1 = p1.x();
- b.y1 = p1.y();
- b.x2 = p2.x();
- b.y2 = p2.y();
- b.x3 = p3.x();
- b.y3 = p3.y();
- b.x4 = p4.x();
- b.y4 = p4.y();
- return b;
-}
-
-/*!
- \internal
-*/
QPolygonF QBezier::toPolygon(qreal bezier_flattening_threshold) const
{
// flattening is done by splitting the bezier until we can replace the segment by a straight
@@ -146,7 +130,7 @@ void QBezier::addToPolygon(QPolygonF *polygon, qreal bezier_flattening_threshold
--lvl;
} else {
// split, second half of the polygon goes lower into the stack
- b->split(b+1, b);
+ std::tie(b[1], b[0]) = b->split();
lvl[1] = --lvl[0];
++b;
++lvl;
@@ -184,7 +168,7 @@ void QBezier::addToPolygon(QDataBuffer<QPointF> &polygon, qreal bezier_flattenin
--lvl;
} else {
// split, second half of the polygon goes lower into the stack
- b->split(b+1, b);
+ std::tie(b[1], b[0]) = b->split();
lvl[1] = --lvl[0];
++b;
++lvl;
@@ -440,7 +424,7 @@ redo:
o += 2;
--b;
} else {
- b->split(b+1, b);
+ std::tie(b[1], b[0]) = b->split();
++b;
}
}
@@ -482,8 +466,6 @@ qreal QBezier::length(qreal error) const
void QBezier::addIfClose(qreal *length, qreal error) const
{
- QBezier left, right; /* bez poly splits */
-
qreal len = qreal(0.0); /* arc length */
qreal chord; /* chord length */
@@ -494,9 +476,9 @@ void QBezier::addIfClose(qreal *length, qreal error) const
chord = QLineF(QPointF(x1, y1),QPointF(x4, y4)).length();
if((len-chord) > error) {
- split(&left, &right); /* split in two */
- left.addIfClose(length, error); /* try left side */
- right.addIfClose(length, error); /* try right side */
+ const auto halves = split(); /* split in two */
+ halves.first.addIfClose(length, error); /* try left side */
+ halves.second.addIfClose(length, error); /* try right side */
return;
}
diff --git a/src/gui/painting/qbezier_p.h b/src/gui/painting/qbezier_p.h
index f8a91e9ef3..1c49f82416 100644
--- a/src/gui/painting/qbezier_p.h
+++ b/src/gui/painting/qbezier_p.h
@@ -69,7 +69,8 @@ class Q_GUI_EXPORT QBezier
{
public:
static QBezier fromPoints(const QPointF &p1, const QPointF &p2,
- const QPointF &p3, const QPointF &p4);
+ const QPointF &p3, const QPointF &p4)
+ { return {p1.x(), p1.y(), p2.x(), p2.y(), p3.x(), p3.y(), p4.x(), p4.y()}; }
static void coefficients(qreal t, qreal &a, qreal &b, qreal &c, qreal &d);
@@ -106,7 +107,7 @@ public:
inline QLineF endTangent() const;
inline void parameterSplitLeft(qreal t, QBezier *left);
- inline void split(QBezier *firstHalf, QBezier *secondHalf) const;
+ inline std::pair<QBezier, QBezier> split() const;
int shifted(QBezier *curveSegments, int maxSegmets,
qreal offset, float threshold) const;
@@ -222,28 +223,21 @@ inline QPointF QBezier::secondDerivedAt(qreal t) const
a * y1 + b * y2 + c * y3 + d * y4);
}
-inline void QBezier::split(QBezier *firstHalf, QBezier *secondHalf) const
+std::pair<QBezier, QBezier> QBezier::split() const
{
- Q_ASSERT(firstHalf);
- Q_ASSERT(secondHalf);
-
- qreal c = (x2 + x3)*.5;
- firstHalf->x2 = (x1 + x2)*.5;
- secondHalf->x3 = (x3 + x4)*.5;
- firstHalf->x1 = x1;
- secondHalf->x4 = x4;
- firstHalf->x3 = (firstHalf->x2 + c)*.5;
- secondHalf->x2 = (secondHalf->x3 + c)*.5;
- firstHalf->x4 = secondHalf->x1 = (firstHalf->x3 + secondHalf->x2)*.5;
-
- c = (y2 + y3)/2;
- firstHalf->y2 = (y1 + y2)*.5;
- secondHalf->y3 = (y3 + y4)*.5;
- firstHalf->y1 = y1;
- secondHalf->y4 = y4;
- firstHalf->y3 = (firstHalf->y2 + c)*.5;
- secondHalf->y2 = (secondHalf->y3 + c)*.5;
- firstHalf->y4 = secondHalf->y1 = (firstHalf->y3 + secondHalf->y2)*.5;
+ const auto mid = [](QPointF lhs, QPointF rhs) { return (lhs + rhs) * .5; };
+
+ const QPointF mid_12 = mid(pt1(), pt2());
+ const QPointF mid_23 = mid(pt2(), pt3());
+ const QPointF mid_34 = mid(pt3(), pt4());
+ const QPointF mid_12_23 = mid(mid_12, mid_23);
+ const QPointF mid_23_34 = mid(mid_23, mid_34);
+ const QPointF mid_12_23__23_34 = mid(mid_12_23, mid_23_34);
+
+ return {
+ fromPoints(pt1(), mid_12, mid_12_23, mid_12_23__23_34),
+ fromPoints(mid_12_23__23_34, mid_23_34, mid_34, pt4()),
+ };
}
inline void QBezier::parameterSplitLeft(qreal t, QBezier *left)
diff --git a/src/gui/painting/qcolor.cpp b/src/gui/painting/qcolor.cpp
index 6cbc30e79a..8780cce223 100644
--- a/src/gui/painting/qcolor.cpp
+++ b/src/gui/painting/qcolor.cpp
@@ -147,6 +147,7 @@ static bool get_hex_rgb(const QChar *str, size_t len, QRgba64 *rgb)
#endif
#define rgb(r,g,b) (0xff000000 | (r << 16) | (g << 8) | b)
+// keep this is in sync with QColorConstants
static const struct RGBData {
const char name[21];
uint value;
@@ -475,25 +476,35 @@ static QStringList get_colornames()
\section1 Predefined Colors
- There are 20 predefined QColors described by the Qt::GlobalColor enum,
- including black, white, primary and secondary colors, darker versions
- of these colors and three shades of gray. QColor also recognizes a
- variety of color names; the static colorNames() function returns a
- QStringList color names that QColor knows about.
+ There are 20 predefined QColor objects in the \c{QColorConstants}
+ namespace, including black, white, primary and secondary colors,
+ darker versions of these colors, and three shades of gray.
+ Furthermore, the \c{QColorConstants::Svg} namespace defines QColor
+ objects for the standard \l{https://www.w3.org/TR/SVG11/types.html#ColorKeywords}{SVG color keyword names}.
\image qt-colors.png Qt Colors
- Additionally, the Qt::color0, Qt::color1 and Qt::transparent colors
- are used for special purposes.
+ The \c{QColorConstants::Color0}, \c{QColorConstants::Color1} and
+ \c{QColorConstants::Transparent} colors are used for special
+ purposes.
- Qt::color0 (zero pixel value) and Qt::color1 (non-zero pixel value)
- are special colors for drawing in QBitmaps. Painting with Qt::color0
- sets the bitmap bits to 0 (transparent; i.e., background), and painting
- with Qt::color1 sets the bits to 1 (opaque; i.e., foreground).
+ \c{QColorConstants::Color0} (zero pixel value) and
+ \c{QColorConstants::Color1} (non-zero pixel value) are special
+ colors for drawing in QBitmaps. Painting with
+ \c{QColorConstants::Color0} sets the bitmap bits to 0 (transparent;
+ i.e., background), and painting with c{QColorConstants::Color1}
+ sets the bits to 1 (opaque; i.e., foreground).
- Qt::transparent is used to indicate a transparent pixel. When painting
- with this value, a pixel value will be used that is appropriate for the
- underlying pixel format in use.
+ \c{QColorConstants::Transparent} is used to indicate a transparent
+ pixel. When painting with this value, a pixel value will be used
+ that is appropriate for the underlying pixel format in use.
+
+ For historical reasons, the 20 predefined colors are also available
+ in the Qt::GlobalColor enumeration.
+
+ Finally, QColor recognizes a variety of color names (as strings);
+ the static colorNames() function returns a QStringList color names
+ that QColor knows about.
\section1 The Extended RGB Color Model
@@ -586,7 +597,7 @@ static QStringList get_colornames()
alpha-channel to feature \l {QColor#Alpha-Blended
Drawing}{alpha-blended drawing}.
- \sa QPalette, QBrush
+ \sa QPalette, QBrush, QColorConstants
*/
#define QCOLOR_INT_RANGE_CHECK(fn, var) \
@@ -886,7 +897,8 @@ QString QColor::name(NameFormat format) const
\li #AARRGGBB (Since 5.2)
\li #RRRGGGBBB
\li #RRRRGGGGBBBB
- \li A name from the list of colors defined in the list of \l{http://www.w3.org/TR/SVG/types.html#ColorKeywords}{SVG color keyword names}
+ \li A name from the list of colors defined in the list of
+ \l{https://www.w3.org/TR/SVG11/types.html#ColorKeywords}{SVG color keyword names}
provided by the World Wide Web Consortium; for example, "steelblue" or "gainsboro".
These color names work on all platforms. Note that these color names are \e not the
same as defined by the Qt::GlobalColor enums, e.g. "green" and Qt::green does not
@@ -3249,4 +3261,41 @@ const uint qt_inv_premul_factor[256] = {
\sa QColor::rgb(), QColor::rgba()
*/
+/*!
+ \namespace QColorConstants
+ \inmodule QtGui
+
+ \brief The QColorConstants namespace contains QColor predefined constants.
+
+ These constants are usable everywhere a QColor object is expected:
+
+ \code
+ painter.setBrush(QColorConstants::Svg::lightblue);
+ \endcode
+
+ Their usage is much cheaper than e.g. passing a string to QColor's constructor,
+ as they don't require any parsing of the string, and always result in a valid
+ QColor object:
+
+ \badcode
+ object.setColor(QColor("lightblue")); // expensive
+ \endcode
+
+ \section1 Qt Colors
+
+ The following colors are defined in the \c{QColorConstants} namespace:
+
+ \include qt-colors.qdocinc
+
+ \section1 SVG Colors
+
+ The following table lists the available
+ \l {http://www.w3.org/TR/SVG/types.html#ColorKeywords}{SVG colors}.
+ They are available in the \c{QColorConstants::Svg} inner namespace.
+
+ \include svg-colors.qdocinc
+
+ \sa QColor, Qt::GlobalColor
+*/
+
QT_END_NAMESPACE
diff --git a/src/gui/painting/qcolor.h b/src/gui/painting/qcolor.h
index 723b9fce73..f0d7dd23ad 100644
--- a/src/gui/painting/qcolor.h
+++ b/src/gui/painting/qcolor.h
@@ -309,6 +309,12 @@ private:
friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QColor &);
friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QColor &);
#endif
+
+#ifdef Q_COMPILER_UNIFORM_INIT
+public: // can't give friendship to a namespace, so it needs to be public
+ Q_DECL_CONSTEXPR explicit QColor(Spec spec, ushort a1, ushort a2, ushort a3, ushort a4, ushort a5=0) noexcept
+ : cspec(spec), ct(a1, a2, a3, a4, a5) {}
+#endif // Q_COMPILER_UNIFORM_INIT
};
Q_DECLARE_TYPEINFO(QColor, QT_VERSION >= QT_VERSION_CHECK(6,0,0) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE);
@@ -326,6 +332,187 @@ inline QColor::QColor(const QString& aname)
inline bool QColor::isValid() const noexcept
{ return cspec != Invalid; }
+// define these namespaces even if the contents are ifdef'd out
+namespace QColorConstants
+{
+namespace Svg {}
+
+#if defined(Q_COMPILER_CONSTEXPR) & defined(Q_COMPILER_UNIFORM_INIT)
+ // Qt::GlobalColor names
+ constexpr Q_DECL_UNUSED QColor Color0 {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor Color1 {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor Black {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor White {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor DarkGray {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor Gray {QColor::Rgb, 0xff * 0x101, 0xa0 * 0x101, 0xa0 * 0x101, 0xa4 * 0x101};
+ constexpr Q_DECL_UNUSED QColor LightGray {QColor::Rgb, 0xff * 0x101, 0xc0 * 0x101, 0xc0 * 0x101, 0xc0 * 0x101};
+ constexpr Q_DECL_UNUSED QColor Red {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor Green {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor Blue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor Cyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor Magenta {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor Yellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor DarkRed {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor DarkGreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor DarkBlue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor DarkCyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor DarkMagenta {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor DarkYellow {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor Transparent {QColor::Rgb, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
+
+ // SVG names supported by QColor (see qcolor.cpp).
+namespace Svg {
+ constexpr Q_DECL_UNUSED QColor aliceblue {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xf8 * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor antiquewhite {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xeb * 0x101, 0xd7 * 0x101};
+ constexpr Q_DECL_UNUSED QColor aqua {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor aquamarine {QColor::Rgb, 0xff * 0x101, 0x7f * 0x101, 0xff * 0x101, 0xd4 * 0x101};
+ constexpr Q_DECL_UNUSED QColor azure {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xff * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor beige {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xf5 * 0x101, 0xdc * 0x101};
+ constexpr Q_DECL_UNUSED QColor bisque {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xc4 * 0x101};
+ constexpr Q_DECL_UNUSED QColor black {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor blanchedalmond {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xeb * 0x101, 0xcd * 0x101};
+ constexpr Q_DECL_UNUSED QColor blue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor blueviolet {QColor::Rgb, 0xff * 0x101, 0x8a * 0x101, 0x2b * 0x101, 0xe2 * 0x101};
+ constexpr Q_DECL_UNUSED QColor brown {QColor::Rgb, 0xff * 0x101, 0xa5 * 0x101, 0x2a * 0x101, 0x2a * 0x101};
+ constexpr Q_DECL_UNUSED QColor burlywood {QColor::Rgb, 0xff * 0x101, 0xde * 0x101, 0xb8 * 0x101, 0x87 * 0x101};
+ constexpr Q_DECL_UNUSED QColor cadetblue {QColor::Rgb, 0xff * 0x101, 0x5f * 0x101, 0x9e * 0x101, 0xa0 * 0x101};
+ constexpr Q_DECL_UNUSED QColor chartreuse {QColor::Rgb, 0xff * 0x101, 0x7f * 0x101, 0xff * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor chocolate {QColor::Rgb, 0xff * 0x101, 0xd2 * 0x101, 0x69 * 0x101, 0x1e * 0x101};
+ constexpr Q_DECL_UNUSED QColor coral {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x7f * 0x101, 0x50 * 0x101};
+ constexpr Q_DECL_UNUSED QColor cornflowerblue {QColor::Rgb, 0xff * 0x101, 0x64 * 0x101, 0x95 * 0x101, 0xed * 0x101};
+ constexpr Q_DECL_UNUSED QColor cornsilk {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf8 * 0x101, 0xdc * 0x101};
+ constexpr Q_DECL_UNUSED QColor crimson {QColor::Rgb, 0xff * 0x101, 0xdc * 0x101, 0x14 * 0x101, 0x3c * 0x101};
+ constexpr Q_DECL_UNUSED QColor cyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x8b * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkcyan {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x8b * 0x101, 0x8b * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkgoldenrod {QColor::Rgb, 0xff * 0x101, 0xb8 * 0x101, 0x86 * 0x101, 0x0b * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkgray {QColor::Rgb, 0xff * 0x101, 0xa9 * 0x101, 0xa9 * 0x101, 0xa9 * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x64 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkgrey {QColor::Rgb, 0xff * 0x101, 0xa9 * 0x101, 0xa9 * 0x101, 0xa9 * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkkhaki {QColor::Rgb, 0xff * 0x101, 0xbd * 0x101, 0xb7 * 0x101, 0x6b * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkmagenta {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x00 * 0x101, 0x8b * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkolivegreen {QColor::Rgb, 0xff * 0x101, 0x55 * 0x101, 0x6b * 0x101, 0x2f * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkorange {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x8c * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkorchid {QColor::Rgb, 0xff * 0x101, 0x99 * 0x101, 0x32 * 0x101, 0xcc * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkred {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x00 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor darksalmon {QColor::Rgb, 0xff * 0x101, 0xe9 * 0x101, 0x96 * 0x101, 0x7a * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkseagreen {QColor::Rgb, 0xff * 0x101, 0x8f * 0x101, 0xbc * 0x101, 0x8f * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkslateblue {QColor::Rgb, 0xff * 0x101, 0x48 * 0x101, 0x3d * 0x101, 0x8b * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkslategray {QColor::Rgb, 0xff * 0x101, 0x2f * 0x101, 0x4f * 0x101, 0x4f * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkslategrey {QColor::Rgb, 0xff * 0x101, 0x2f * 0x101, 0x4f * 0x101, 0x4f * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkturquoise {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xce * 0x101, 0xd1 * 0x101};
+ constexpr Q_DECL_UNUSED QColor darkviolet {QColor::Rgb, 0xff * 0x101, 0x94 * 0x101, 0x00 * 0x101, 0xd3 * 0x101};
+ constexpr Q_DECL_UNUSED QColor deeppink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x14 * 0x101, 0x93 * 0x101};
+ constexpr Q_DECL_UNUSED QColor deepskyblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xbf * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor dimgray {QColor::Rgb, 0xff * 0x101, 0x69 * 0x101, 0x69 * 0x101, 0x69 * 0x101};
+ constexpr Q_DECL_UNUSED QColor dimgrey {QColor::Rgb, 0xff * 0x101, 0x69 * 0x101, 0x69 * 0x101, 0x69 * 0x101};
+ constexpr Q_DECL_UNUSED QColor dodgerblue {QColor::Rgb, 0xff * 0x101, 0x1e * 0x101, 0x90 * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor firebrick {QColor::Rgb, 0xff * 0x101, 0xb2 * 0x101, 0x22 * 0x101, 0x22 * 0x101};
+ constexpr Q_DECL_UNUSED QColor floralwhite {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xf0 * 0x101};
+ constexpr Q_DECL_UNUSED QColor forestgreen {QColor::Rgb, 0xff * 0x101, 0x22 * 0x101, 0x8b * 0x101, 0x22 * 0x101};
+ constexpr Q_DECL_UNUSED QColor fuchsia {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor gainsboro {QColor::Rgb, 0xff * 0x101, 0xdc * 0x101, 0xdc * 0x101, 0xdc * 0x101};
+ constexpr Q_DECL_UNUSED QColor ghostwhite {QColor::Rgb, 0xff * 0x101, 0xf8 * 0x101, 0xf8 * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor gold {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xd7 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor goldenrod {QColor::Rgb, 0xff * 0x101, 0xda * 0x101, 0xa5 * 0x101, 0x20 * 0x101};
+ constexpr Q_DECL_UNUSED QColor gray {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor green {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor greenyellow {QColor::Rgb, 0xff * 0x101, 0xad * 0x101, 0xff * 0x101, 0x2f * 0x101};
+ constexpr Q_DECL_UNUSED QColor grey {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor honeydew {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xff * 0x101, 0xf0 * 0x101};
+ constexpr Q_DECL_UNUSED QColor hotpink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x69 * 0x101, 0xb4 * 0x101};
+ constexpr Q_DECL_UNUSED QColor indianred {QColor::Rgb, 0xff * 0x101, 0xcd * 0x101, 0x5c * 0x101, 0x5c * 0x101};
+ constexpr Q_DECL_UNUSED QColor indigo {QColor::Rgb, 0xff * 0x101, 0x4b * 0x101, 0x00 * 0x101, 0x82 * 0x101};
+ constexpr Q_DECL_UNUSED QColor ivory {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xf0 * 0x101};
+ constexpr Q_DECL_UNUSED QColor khaki {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0xe6 * 0x101, 0x8c * 0x101};
+ constexpr Q_DECL_UNUSED QColor lavender {QColor::Rgb, 0xff * 0x101, 0xe6 * 0x101, 0xe6 * 0x101, 0xfa * 0x101};
+ constexpr Q_DECL_UNUSED QColor lavenderblush {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf0 * 0x101, 0xf5 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lawngreen {QColor::Rgb, 0xff * 0x101, 0x7c * 0x101, 0xfc * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lemonchiffon {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xcd * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightblue {QColor::Rgb, 0xff * 0x101, 0xad * 0x101, 0xd8 * 0x101, 0xe6 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightcoral {QColor::Rgb, 0xff * 0x101, 0xf0 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightcyan {QColor::Rgb, 0xff * 0x101, 0xe0 * 0x101, 0xff * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightgoldenrodyellow {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xfa * 0x101, 0xd2 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightgray {QColor::Rgb, 0xff * 0x101, 0xd3 * 0x101, 0xd3 * 0x101, 0xd3 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightgreen {QColor::Rgb, 0xff * 0x101, 0x90 * 0x101, 0xee * 0x101, 0x90 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightgrey {QColor::Rgb, 0xff * 0x101, 0xd3 * 0x101, 0xd3 * 0x101, 0xd3 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightpink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xb6 * 0x101, 0xc1 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightsalmon {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xa0 * 0x101, 0x7a * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightseagreen {QColor::Rgb, 0xff * 0x101, 0x20 * 0x101, 0xb2 * 0x101, 0xaa * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightskyblue {QColor::Rgb, 0xff * 0x101, 0x87 * 0x101, 0xce * 0x101, 0xfa * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightslategray {QColor::Rgb, 0xff * 0x101, 0x77 * 0x101, 0x88 * 0x101, 0x99 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightslategrey {QColor::Rgb, 0xff * 0x101, 0x77 * 0x101, 0x88 * 0x101, 0x99 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightsteelblue {QColor::Rgb, 0xff * 0x101, 0xb0 * 0x101, 0xc4 * 0x101, 0xde * 0x101};
+ constexpr Q_DECL_UNUSED QColor lightyellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xe0 * 0x101};
+ constexpr Q_DECL_UNUSED QColor lime {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor limegreen {QColor::Rgb, 0xff * 0x101, 0x32 * 0x101, 0xcd * 0x101, 0x32 * 0x101};
+ constexpr Q_DECL_UNUSED QColor linen {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0xf0 * 0x101, 0xe6 * 0x101};
+ constexpr Q_DECL_UNUSED QColor magenta {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor maroon {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor mediumaquamarine {QColor::Rgb, 0xff * 0x101, 0x66 * 0x101, 0xcd * 0x101, 0xaa * 0x101};
+ constexpr Q_DECL_UNUSED QColor mediumblue {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0xcd * 0x101};
+ constexpr Q_DECL_UNUSED QColor mediumorchid {QColor::Rgb, 0xff * 0x101, 0xba * 0x101, 0x55 * 0x101, 0xd3 * 0x101};
+ constexpr Q_DECL_UNUSED QColor mediumpurple {QColor::Rgb, 0xff * 0x101, 0x93 * 0x101, 0x70 * 0x101, 0xdb * 0x101};
+ constexpr Q_DECL_UNUSED QColor mediumseagreen {QColor::Rgb, 0xff * 0x101, 0x3c * 0x101, 0xb3 * 0x101, 0x71 * 0x101};
+ constexpr Q_DECL_UNUSED QColor mediumslateblue {QColor::Rgb, 0xff * 0x101, 0x7b * 0x101, 0x68 * 0x101, 0xee * 0x101};
+ constexpr Q_DECL_UNUSED QColor mediumspringgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xfa * 0x101, 0x9a * 0x101};
+ constexpr Q_DECL_UNUSED QColor mediumturquoise {QColor::Rgb, 0xff * 0x101, 0x48 * 0x101, 0xd1 * 0x101, 0xcc * 0x101};
+ constexpr Q_DECL_UNUSED QColor mediumvioletred {QColor::Rgb, 0xff * 0x101, 0xc7 * 0x101, 0x15 * 0x101, 0x85 * 0x101};
+ constexpr Q_DECL_UNUSED QColor midnightblue {QColor::Rgb, 0xff * 0x101, 0x19 * 0x101, 0x19 * 0x101, 0x70 * 0x101};
+ constexpr Q_DECL_UNUSED QColor mintcream {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xff * 0x101, 0xfa * 0x101};
+ constexpr Q_DECL_UNUSED QColor mistyrose {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xe1 * 0x101};
+ constexpr Q_DECL_UNUSED QColor moccasin {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xe4 * 0x101, 0xb5 * 0x101};
+ constexpr Q_DECL_UNUSED QColor navajowhite {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xde * 0x101, 0xad * 0x101};
+ constexpr Q_DECL_UNUSED QColor navy {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor oldlace {QColor::Rgb, 0xff * 0x101, 0xfd * 0x101, 0xf5 * 0x101, 0xe6 * 0x101};
+ constexpr Q_DECL_UNUSED QColor olive {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x80 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor olivedrab {QColor::Rgb, 0xff * 0x101, 0x6b * 0x101, 0x8e * 0x101, 0x23 * 0x101};
+ constexpr Q_DECL_UNUSED QColor orange {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xa5 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor orangered {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x45 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor orchid {QColor::Rgb, 0xff * 0x101, 0xda * 0x101, 0x70 * 0x101, 0xd6 * 0x101};
+ constexpr Q_DECL_UNUSED QColor palegoldenrod {QColor::Rgb, 0xff * 0x101, 0xee * 0x101, 0xe8 * 0x101, 0xaa * 0x101};
+ constexpr Q_DECL_UNUSED QColor palegreen {QColor::Rgb, 0xff * 0x101, 0x98 * 0x101, 0xfb * 0x101, 0x98 * 0x101};
+ constexpr Q_DECL_UNUSED QColor paleturquoise {QColor::Rgb, 0xff * 0x101, 0xaf * 0x101, 0xee * 0x101, 0xee * 0x101};
+ constexpr Q_DECL_UNUSED QColor palevioletred {QColor::Rgb, 0xff * 0x101, 0xdb * 0x101, 0x70 * 0x101, 0x93 * 0x101};
+ constexpr Q_DECL_UNUSED QColor papayawhip {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xef * 0x101, 0xd5 * 0x101};
+ constexpr Q_DECL_UNUSED QColor peachpuff {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xda * 0x101, 0xb9 * 0x101};
+ constexpr Q_DECL_UNUSED QColor peru {QColor::Rgb, 0xff * 0x101, 0xcd * 0x101, 0x85 * 0x101, 0x3f * 0x101};
+ constexpr Q_DECL_UNUSED QColor pink {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xc0 * 0x101, 0xcb * 0x101};
+ constexpr Q_DECL_UNUSED QColor plum {QColor::Rgb, 0xff * 0x101, 0xdd * 0x101, 0xa0 * 0x101, 0xdd * 0x101};
+ constexpr Q_DECL_UNUSED QColor powderblue {QColor::Rgb, 0xff * 0x101, 0xb0 * 0x101, 0xe0 * 0x101, 0xe6 * 0x101};
+ constexpr Q_DECL_UNUSED QColor purple {QColor::Rgb, 0xff * 0x101, 0x80 * 0x101, 0x00 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor red {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor rosybrown {QColor::Rgb, 0xff * 0x101, 0xbc * 0x101, 0x8f * 0x101, 0x8f * 0x101};
+ constexpr Q_DECL_UNUSED QColor royalblue {QColor::Rgb, 0xff * 0x101, 0x41 * 0x101, 0x69 * 0x101, 0xe1 * 0x101};
+ constexpr Q_DECL_UNUSED QColor saddlebrown {QColor::Rgb, 0xff * 0x101, 0x8b * 0x101, 0x45 * 0x101, 0x13 * 0x101};
+ constexpr Q_DECL_UNUSED QColor salmon {QColor::Rgb, 0xff * 0x101, 0xfa * 0x101, 0x80 * 0x101, 0x72 * 0x101};
+ constexpr Q_DECL_UNUSED QColor sandybrown {QColor::Rgb, 0xff * 0x101, 0xf4 * 0x101, 0xa4 * 0x101, 0x60 * 0x101};
+ constexpr Q_DECL_UNUSED QColor seagreen {QColor::Rgb, 0xff * 0x101, 0x2e * 0x101, 0x8b * 0x101, 0x57 * 0x101};
+ constexpr Q_DECL_UNUSED QColor seashell {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xf5 * 0x101, 0xee * 0x101};
+ constexpr Q_DECL_UNUSED QColor sienna {QColor::Rgb, 0xff * 0x101, 0xa0 * 0x101, 0x52 * 0x101, 0x2d * 0x101};
+ constexpr Q_DECL_UNUSED QColor silver {QColor::Rgb, 0xff * 0x101, 0xc0 * 0x101, 0xc0 * 0x101, 0xc0 * 0x101};
+ constexpr Q_DECL_UNUSED QColor skyblue {QColor::Rgb, 0xff * 0x101, 0x87 * 0x101, 0xce * 0x101, 0xeb * 0x101};
+ constexpr Q_DECL_UNUSED QColor slateblue {QColor::Rgb, 0xff * 0x101, 0x6a * 0x101, 0x5a * 0x101, 0xcd * 0x101};
+ constexpr Q_DECL_UNUSED QColor slategray {QColor::Rgb, 0xff * 0x101, 0x70 * 0x101, 0x80 * 0x101, 0x90 * 0x101};
+ constexpr Q_DECL_UNUSED QColor slategrey {QColor::Rgb, 0xff * 0x101, 0x70 * 0x101, 0x80 * 0x101, 0x90 * 0x101};
+ constexpr Q_DECL_UNUSED QColor snow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xfa * 0x101, 0xfa * 0x101};
+ constexpr Q_DECL_UNUSED QColor springgreen {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0xff * 0x101, 0x7f * 0x101};
+ constexpr Q_DECL_UNUSED QColor steelblue {QColor::Rgb, 0xff * 0x101, 0x46 * 0x101, 0x82 * 0x101, 0xb4 * 0x101};
+ constexpr Q_DECL_UNUSED QColor tan {QColor::Rgb, 0xff * 0x101, 0xd2 * 0x101, 0xb4 * 0x101, 0x8c * 0x101};
+ constexpr Q_DECL_UNUSED QColor teal {QColor::Rgb, 0xff * 0x101, 0x00 * 0x101, 0x80 * 0x101, 0x80 * 0x101};
+ constexpr Q_DECL_UNUSED QColor thistle {QColor::Rgb, 0xff * 0x101, 0xd8 * 0x101, 0xbf * 0x101, 0xd8 * 0x101};
+ constexpr Q_DECL_UNUSED QColor tomato {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0x63 * 0x101, 0x47 * 0x101};
+ constexpr Q_DECL_UNUSED QColor turquoise {QColor::Rgb, 0xff * 0x101, 0x40 * 0x101, 0xe0 * 0x101, 0xd0 * 0x101};
+ constexpr Q_DECL_UNUSED QColor violet {QColor::Rgb, 0xff * 0x101, 0xee * 0x101, 0x82 * 0x101, 0xee * 0x101};
+ constexpr Q_DECL_UNUSED QColor wheat {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xde * 0x101, 0xb3 * 0x101};
+ constexpr Q_DECL_UNUSED QColor white {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101};
+ constexpr Q_DECL_UNUSED QColor whitesmoke {QColor::Rgb, 0xff * 0x101, 0xf5 * 0x101, 0xf5 * 0x101, 0xf5 * 0x101};
+ constexpr Q_DECL_UNUSED QColor yellow {QColor::Rgb, 0xff * 0x101, 0xff * 0x101, 0xff * 0x101, 0x00 * 0x101};
+ constexpr Q_DECL_UNUSED QColor yellowgreen {QColor::Rgb, 0xff * 0x101, 0x9a * 0x101, 0xcd * 0x101, 0x32 * 0x101};
+} // namespace Svg
+#endif // Q_COMPILER_CONSTEXPR && Q_COMPILER_UNIFORM_INIT
+} // namespace QColorLiterals
+
QT_END_NAMESPACE
#endif // QCOLOR_H
diff --git a/src/gui/painting/qcolorspace.cpp b/src/gui/painting/qcolorspace.cpp
index 043a951521..86d0c57cfe 100644
--- a/src/gui/painting/qcolorspace.cpp
+++ b/src/gui/painting/qcolorspace.cpp
@@ -461,19 +461,19 @@ QColorTransform QColorSpacePrivate::transformationToColorSpace(const QColorSpace
Creates a new colorspace object that represents \a colorSpaceId.
*/
QColorSpace::QColorSpace(QColorSpace::ColorSpaceId colorSpaceId)
-{
- static QExplicitlySharedDataPointer<QColorSpacePrivate> predefinedColorspacePrivates[QColorSpace::Bt2020];
- if (colorSpaceId <= QColorSpace::Unknown) {
- if (!predefinedColorspacePrivates[0])
- predefinedColorspacePrivates[0] = new QColorSpacePrivate(QColorSpace::Undefined);
- d_ptr = predefinedColorspacePrivates[0]; // unknown and undefined both returns the static undefined colorspace.
- } else {
- if (!predefinedColorspacePrivates[colorSpaceId - 1])
- predefinedColorspacePrivates[colorSpaceId - 1] = new QColorSpacePrivate(colorSpaceId);
- d_ptr = predefinedColorspacePrivates[colorSpaceId - 1];
+ : d_ptr(nullptr)
+{
+ static QColorSpacePrivate *predefinedColorspacePrivates[QColorSpace::Bt2020];
+ // Unknown and undefined both returns the static undefined colorspace
+ if (colorSpaceId > QColorSpace::Unknown) {
+ if (!predefinedColorspacePrivates[colorSpaceId - 2]) {
+ predefinedColorspacePrivates[colorSpaceId - 2] = new QColorSpacePrivate(colorSpaceId);
+ predefinedColorspacePrivates[colorSpaceId - 2]->ref.ref();
+ }
+ d_ptr = predefinedColorspacePrivates[colorSpaceId - 2];
+ d_ptr->ref.ref();
+ Q_ASSERT(isValid());
}
-
- Q_ASSERT(colorSpaceId == QColorSpace::Undefined || isValid());
}
/*!
@@ -483,6 +483,7 @@ QColorSpace::QColorSpace(QColorSpace::ColorSpaceId colorSpaceId)
QColorSpace::QColorSpace(QColorSpace::Primaries primaries, QColorSpace::TransferFunction fun, float gamma)
: d_ptr(new QColorSpacePrivate(primaries, fun, gamma))
{
+ d_ptr->ref.ref();
}
/*!
@@ -492,6 +493,7 @@ QColorSpace::QColorSpace(QColorSpace::Primaries primaries, QColorSpace::Transfer
QColorSpace::QColorSpace(QColorSpace::Primaries primaries, float gamma)
: d_ptr(new QColorSpacePrivate(primaries, TransferFunction::Gamma, gamma))
{
+ d_ptr->ref.ref();
}
/*!
@@ -505,35 +507,34 @@ QColorSpace::QColorSpace(const QPointF &whitePoint, const QPointF &redPoint,
QColorSpacePrimaries primaries(whitePoint, redPoint, greenPoint, bluePoint);
if (!primaries.areValid()) {
qWarning() << "QColorSpace attempted constructed from invalid primaries:" << whitePoint << redPoint << greenPoint << bluePoint;
- d_ptr = QColorSpace(QColorSpace::Undefined).d_ptr;
+ d_ptr = nullptr;
return;
}
d_ptr = new QColorSpacePrivate(primaries, fun, gamma);
+ d_ptr->ref.ref();
}
QColorSpace::~QColorSpace()
{
-}
-
-QColorSpace::QColorSpace(QColorSpace &&colorSpace) noexcept
- : d_ptr(std::move(colorSpace.d_ptr))
-{
+ if (d_ptr && !d_ptr->ref.deref())
+ delete d_ptr;
}
QColorSpace::QColorSpace(const QColorSpace &colorSpace)
: d_ptr(colorSpace.d_ptr)
{
-}
-
-QColorSpace &QColorSpace::operator=(QColorSpace &&colorSpace) noexcept
-{
- d_ptr = std::move(colorSpace.d_ptr);
- return *this;
+ if (d_ptr)
+ d_ptr->ref.ref();
}
QColorSpace &QColorSpace::operator=(const QColorSpace &colorSpace)
{
+ QColorSpacePrivate *oldD = d_ptr;
d_ptr = colorSpace.d_ptr;
+ if (d_ptr)
+ d_ptr->ref.ref();
+ if (oldD && !oldD->ref.deref())
+ delete oldD;
return *this;
}
@@ -549,6 +550,8 @@ QColorSpace &QColorSpace::operator=(const QColorSpace &colorSpace)
*/
QColorSpace::ColorSpaceId QColorSpace::colorSpaceId() const noexcept
{
+ if (Q_UNLIKELY(!d_ptr))
+ return QColorSpace::Undefined;
return d_ptr->id;
}
@@ -571,6 +574,8 @@ QColorSpace::Primaries QColorSpace::primaries() const noexcept
*/
QColorSpace::TransferFunction QColorSpace::transferFunction() const noexcept
{
+ if (Q_UNLIKELY(!d_ptr))
+ return QColorSpace::TransferFunction::Custom;
return d_ptr->transferFunction;
}
@@ -583,6 +588,8 @@ QColorSpace::TransferFunction QColorSpace::transferFunction() const noexcept
*/
float QColorSpace::gamma() const noexcept
{
+ if (Q_UNLIKELY(!d_ptr))
+ return 0.0f;
return d_ptr->gamma;
}
@@ -599,7 +606,7 @@ void QColorSpace::setTransferFunction(QColorSpace::TransferFunction transferFunc
return;
if (d_ptr->transferFunction == transferFunction && d_ptr->gamma == gamma)
return;
- d_ptr.detach();
+ QColorSpacePrivate::getWritable(*this); // detach
d_ptr->description.clear();
d_ptr->transferFunction = transferFunction;
d_ptr->gamma = gamma;
@@ -637,7 +644,7 @@ void QColorSpace::setPrimaries(QColorSpace::Primaries primariesId)
return;
if (d_ptr->primaries == primariesId)
return;
- d_ptr.detach();
+ QColorSpacePrivate::getWritable(*this); // detach
d_ptr->description.clear();
d_ptr->primaries = primariesId;
d_ptr->identifyColorSpace();
@@ -663,7 +670,7 @@ void QColorSpace::setPrimaries(const QPointF &whitePoint, const QPointF &redPoin
QColorMatrix toXyz = primaries.toXyzMatrix();
if (QColorVector(primaries.whitePoint) == d_ptr->whitePoint && toXyz == d_ptr->toXyz)
return;
- d_ptr.detach();
+ QColorSpacePrivate::getWritable(*this); // detach
d_ptr->description.clear();
d_ptr->primaries = QColorSpace::Primaries::Custom;
d_ptr->toXyz = toXyz;
@@ -685,6 +692,8 @@ void QColorSpace::setPrimaries(const QPointF &whitePoint, const QPointF &redPoin
*/
QByteArray QColorSpace::iccProfile() const
{
+ if (Q_UNLIKELY(!d_ptr))
+ return QByteArray();
if (!d_ptr->iccProfile.isEmpty())
return d_ptr->iccProfile;
if (!isValid())
@@ -708,8 +717,9 @@ QColorSpace QColorSpace::fromIccProfile(const QByteArray &iccProfile)
QColorSpace colorSpace;
if (QIcc::fromIccProfile(iccProfile, &colorSpace))
return colorSpace;
- colorSpace.d_ptr->id = QColorSpace::Undefined;
- colorSpace.d_ptr->iccProfile = iccProfile;
+ QColorSpacePrivate *d = QColorSpacePrivate::getWritable(colorSpace);
+ d->id = QColorSpace::Undefined;
+ d->iccProfile = iccProfile;
return colorSpace;
}
@@ -718,7 +728,7 @@ QColorSpace QColorSpace::fromIccProfile(const QByteArray &iccProfile)
*/
bool QColorSpace::isValid() const noexcept
{
- return d_ptr->id != QColorSpace::Undefined && d_ptr->toXyz.isValid()
+ return d_ptr && d_ptr->id != QColorSpace::Undefined && d_ptr->toXyz.isValid()
&& d_ptr->trc[0].isValid() && d_ptr->trc[1].isValid() && d_ptr->trc[2].isValid();
}
@@ -731,6 +741,8 @@ bool operator==(const QColorSpace &colorSpace1, const QColorSpace &colorSpace2)
{
if (colorSpace1.d_ptr == colorSpace2.d_ptr)
return true;
+ if (!colorSpace1.d_ptr || !colorSpace2.d_ptr)
+ return false;
if (colorSpace1.colorSpaceId() == QColorSpace::Undefined && colorSpace2.colorSpaceId() == QColorSpace::Undefined)
return colorSpace1.d_ptr->iccProfile == colorSpace2.d_ptr->iccProfile;
@@ -780,7 +792,7 @@ QColorTransform QColorSpace::transformationToColorSpace(const QColorSpace &color
if (!isValid() || !colorspace.isValid())
return QColorTransform();
- return d_ptr->transformationToColorSpace(colorspace.d_ptr.constData());
+ return d_ptr->transformationToColorSpace(colorspace.d_ptr);
}
/*****************************************************************************
diff --git a/src/gui/painting/qcolorspace.h b/src/gui/painting/qcolorspace.h
index a7c1091911..880f0ad4cf 100644
--- a/src/gui/painting/qcolorspace.h
+++ b/src/gui/painting/qcolorspace.h
@@ -42,11 +42,13 @@
#include <QtGui/qtguiglobal.h>
#include <QtGui/qcolortransform.h>
+#include <QtCore/qobjectdefs.h>
#include <QtCore/qshareddata.h>
QT_BEGIN_NAMESPACE
class QColorSpacePrivate;
+class QPointF;
class Q_GUI_EXPORT QColorSpace
{
@@ -90,11 +92,19 @@ public:
TransferFunction fun, float gamma = 0.0f);
~QColorSpace();
- QColorSpace(QColorSpace &&colorSpace) noexcept;
QColorSpace(const QColorSpace &colorSpace);
- QColorSpace &operator=(QColorSpace &&colorSpace) noexcept;
QColorSpace &operator=(const QColorSpace &colorSpace);
+ QColorSpace(QColorSpace &&colorSpace) noexcept
+ : d_ptr(qExchange(colorSpace.d_ptr, nullptr))
+ { }
+ QColorSpace &operator=(QColorSpace &&colorSpace) noexcept
+ {
+ // Make the deallocation of this->d_ptr happen in ~QColorSpace()
+ QColorSpace(std::move(colorSpace)).swap(*this);
+ return *this;
+ }
+
void swap(QColorSpace &colorSpace) noexcept
{ qSwap(d_ptr, colorSpace.d_ptr); }
@@ -123,7 +133,7 @@ public:
private:
Q_DECLARE_PRIVATE(QColorSpace)
- QExplicitlySharedDataPointer<QColorSpacePrivate> d_ptr;
+ QColorSpacePrivate *d_ptr;
};
bool Q_GUI_EXPORT operator==(const QColorSpace &colorSpace1, const QColorSpace &colorSpace2);
diff --git a/src/gui/painting/qcolorspace_p.h b/src/gui/painting/qcolorspace_p.h
index 2a40a0cfd8..037111a0ae 100644
--- a/src/gui/painting/qcolorspace_p.h
+++ b/src/gui/painting/qcolorspace_p.h
@@ -95,15 +95,24 @@ public:
QColorSpacePrivate(const QColorSpacePrimaries &primaries, QColorSpace::TransferFunction fun, float gamma);
QColorSpacePrivate(const QColorSpacePrivate &other) = default;
+ // named different from get to avoid accidental detachs
static QColorSpacePrivate *getWritable(QColorSpace &colorSpace)
{
- colorSpace.d_ptr.detach();
- return colorSpace.d_ptr.data();
+ if (!colorSpace.d_ptr) {
+ colorSpace.d_ptr = new QColorSpacePrivate;
+ colorSpace.d_ptr->ref.ref();
+ } else if (colorSpace.d_ptr->ref.loadRelaxed() != 1) {
+ colorSpace.d_ptr->ref.deref();
+ colorSpace.d_ptr = new QColorSpacePrivate(*colorSpace.d_ptr);
+ colorSpace.d_ptr->ref.ref();
+ }
+ Q_ASSERT(colorSpace.d_ptr->ref.loadRelaxed() == 1);
+ return colorSpace.d_ptr;
}
static const QColorSpacePrivate *get(const QColorSpace &colorSpace)
{
- return colorSpace.d_ptr.data();
+ return colorSpace.d_ptr;
}
void initialize();
diff --git a/src/gui/painting/qcolortransform.h b/src/gui/painting/qcolortransform.h
index 5fb51739a7..94b6b3a385 100644
--- a/src/gui/painting/qcolortransform.h
+++ b/src/gui/painting/qcolortransform.h
@@ -41,7 +41,6 @@
#define QCOLORTRANSFORM_H
#include <QtGui/qtguiglobal.h>
-#include <QtCore/qsharedpointer.h>
#include <QtGui/qrgb.h>
QT_BEGIN_NAMESPACE
diff --git a/src/gui/painting/qcompositionfunctions.cpp b/src/gui/painting/qcompositionfunctions.cpp
index 06a849e790..ced213e36d 100644
--- a/src/gui/painting/qcompositionfunctions.cpp
+++ b/src/gui/painting/qcompositionfunctions.cpp
@@ -1813,8 +1813,10 @@ void QT_FASTCALL comp_func_Lighten_rgb64(QRgba64 *Q_DECL_RESTRICT dest, const QR
#endif
/*
- if Sca.Da + Dca.Sa >= Sa.Da
+ if Sca.Da + Dca.Sa > Sa.Da
Dca' = Sa.Da + Sca.(1 - Da) + Dca.(1 - Sa)
+ else if Sca == Sa
+ Dca' = Dca.Sa + Sca.(1 - Da) + Dca.(1 - Sa)
otherwise
Dca' = Dca.Sa/(1-Sca/Sa) + Sca.(1 - Da) + Dca.(1 - Sa)
*/
@@ -1825,8 +1827,10 @@ static inline int color_dodge_op(int dst, int src, int da, int sa)
const int src_da = src * da;
const int temp = src * (255 - da) + dst * (255 - sa);
- if (src_da + dst_sa >= sa_da)
+ if (src_da + dst_sa > sa_da)
return qt_div_255(sa_da + temp);
+ else if (src == sa || sa == 0)
+ return qt_div_255(temp);
else
return qt_div_255(255 * dst_sa / (255 - 255 * src / sa) + temp);
}
@@ -1870,8 +1874,10 @@ static inline uint color_dodge_op_rgb64(qint64 dst, qint64 src, qint64 da, qint6
const qint64 src_da = src * da;
const qint64 temp = src * (65535 - da) + dst * (65535 - sa);
- if (src_da + dst_sa >= sa_da)
+ if (src_da + dst_sa > sa_da)
return qt_div_65535(sa_da + temp);
+ else if (src == sa || sa == 0)
+ return qt_div_65535(temp);
else
return qt_div_65535(65535 * dst_sa / (65535 - 65535 * src / sa) + temp);
}
@@ -1969,8 +1975,10 @@ void QT_FASTCALL comp_func_ColorDodge_rgb64(QRgba64 *Q_DECL_RESTRICT dest, const
#endif
/*
- if Sca.Da + Dca.Sa <= Sa.Da
+ if Sca.Da + Dca.Sa < Sa.Da
Dca' = Sca.(1 - Da) + Dca.(1 - Sa)
+ else if Sca == 0
+ Dca' = Dca.Sa + Sca.(1 - Da) + Dca.(1 - Sa)
otherwise
Dca' = Sa.(Sca.Da + Dca.Sa - Sa.Da)/Sca + Sca.(1 - Da) + Dca.(1 - Sa)
*/
@@ -1982,8 +1990,10 @@ static inline int color_burn_op(int dst, int src, int da, int sa)
const int temp = src * (255 - da) + dst * (255 - sa);
- if (src == 0 || src_da + dst_sa <= sa_da)
+ if (src_da + dst_sa < sa_da)
return qt_div_255(temp);
+ else if (src == 0)
+ return qt_div_255(dst_sa + temp);
return qt_div_255(sa * (src_da + dst_sa - sa_da) / src + temp);
}
@@ -2027,8 +2037,10 @@ static inline uint color_burn_op_rgb64(qint64 dst, qint64 src, qint64 da, qint64
const qint64 temp = src * (65535 - da) + dst * (65535 - sa);
- if (src == 0 || src_da + dst_sa <= sa_da)
+ if (src_da + dst_sa < sa_da)
return qt_div_65535(temp);
+ else if (src == 0)
+ return qt_div_65535(dst_sa + temp);
return qt_div_65535(sa * (src_da + dst_sa - sa_da) / src + temp);
}
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 674f52678d..c17bf2ddfd 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -88,6 +88,7 @@ template<> Q_DECL_CONSTEXPR uint redWidth<QImage::Format_RGB444>() { return 4; }
template<> Q_DECL_CONSTEXPR uint redWidth<QImage::Format_RGB555>() { return 5; }
template<> Q_DECL_CONSTEXPR uint redWidth<QImage::Format_RGB666>() { return 6; }
template<> Q_DECL_CONSTEXPR uint redWidth<QImage::Format_RGB888>() { return 8; }
+template<> Q_DECL_CONSTEXPR uint redWidth<QImage::Format_BGR888>() { return 8; }
template<> Q_DECL_CONSTEXPR uint redWidth<QImage::Format_ARGB4444_Premultiplied>() { return 4; }
template<> Q_DECL_CONSTEXPR uint redWidth<QImage::Format_ARGB8555_Premultiplied>() { return 5; }
template<> Q_DECL_CONSTEXPR uint redWidth<QImage::Format_ARGB8565_Premultiplied>() { return 5; }
@@ -101,6 +102,7 @@ template<> Q_DECL_CONSTEXPR uint redShift<QImage::Format_RGB444>() { return 8;
template<> Q_DECL_CONSTEXPR uint redShift<QImage::Format_RGB555>() { return 10; }
template<> Q_DECL_CONSTEXPR uint redShift<QImage::Format_RGB666>() { return 12; }
template<> Q_DECL_CONSTEXPR uint redShift<QImage::Format_RGB888>() { return 16; }
+template<> Q_DECL_CONSTEXPR uint redShift<QImage::Format_BGR888>() { return 0; }
template<> Q_DECL_CONSTEXPR uint redShift<QImage::Format_ARGB4444_Premultiplied>() { return 8; }
template<> Q_DECL_CONSTEXPR uint redShift<QImage::Format_ARGB8555_Premultiplied>() { return 18; }
template<> Q_DECL_CONSTEXPR uint redShift<QImage::Format_ARGB8565_Premultiplied>() { return 19; }
@@ -119,6 +121,7 @@ template<> Q_DECL_CONSTEXPR uint greenWidth<QImage::Format_RGB444>() { return 4;
template<> Q_DECL_CONSTEXPR uint greenWidth<QImage::Format_RGB555>() { return 5; }
template<> Q_DECL_CONSTEXPR uint greenWidth<QImage::Format_RGB666>() { return 6; }
template<> Q_DECL_CONSTEXPR uint greenWidth<QImage::Format_RGB888>() { return 8; }
+template<> Q_DECL_CONSTEXPR uint greenWidth<QImage::Format_BGR888>() { return 8; }
template<> Q_DECL_CONSTEXPR uint greenWidth<QImage::Format_ARGB4444_Premultiplied>() { return 4; }
template<> Q_DECL_CONSTEXPR uint greenWidth<QImage::Format_ARGB8555_Premultiplied>() { return 5; }
template<> Q_DECL_CONSTEXPR uint greenWidth<QImage::Format_ARGB8565_Premultiplied>() { return 6; }
@@ -132,6 +135,7 @@ template<> Q_DECL_CONSTEXPR uint greenShift<QImage::Format_RGB444>() { return 4;
template<> Q_DECL_CONSTEXPR uint greenShift<QImage::Format_RGB555>() { return 5; }
template<> Q_DECL_CONSTEXPR uint greenShift<QImage::Format_RGB666>() { return 6; }
template<> Q_DECL_CONSTEXPR uint greenShift<QImage::Format_RGB888>() { return 8; }
+template<> Q_DECL_CONSTEXPR uint greenShift<QImage::Format_BGR888>() { return 8; }
template<> Q_DECL_CONSTEXPR uint greenShift<QImage::Format_ARGB4444_Premultiplied>() { return 4; }
template<> Q_DECL_CONSTEXPR uint greenShift<QImage::Format_ARGB8555_Premultiplied>() { return 13; }
template<> Q_DECL_CONSTEXPR uint greenShift<QImage::Format_ARGB8565_Premultiplied>() { return 13; }
@@ -150,6 +154,7 @@ template<> Q_DECL_CONSTEXPR uint blueWidth<QImage::Format_RGB444>() { return 4;
template<> Q_DECL_CONSTEXPR uint blueWidth<QImage::Format_RGB555>() { return 5; }
template<> Q_DECL_CONSTEXPR uint blueWidth<QImage::Format_RGB666>() { return 6; }
template<> Q_DECL_CONSTEXPR uint blueWidth<QImage::Format_RGB888>() { return 8; }
+template<> Q_DECL_CONSTEXPR uint blueWidth<QImage::Format_BGR888>() { return 8; }
template<> Q_DECL_CONSTEXPR uint blueWidth<QImage::Format_ARGB4444_Premultiplied>() { return 4; }
template<> Q_DECL_CONSTEXPR uint blueWidth<QImage::Format_ARGB8555_Premultiplied>() { return 5; }
template<> Q_DECL_CONSTEXPR uint blueWidth<QImage::Format_ARGB8565_Premultiplied>() { return 5; }
@@ -163,6 +168,7 @@ template<> Q_DECL_CONSTEXPR uint blueShift<QImage::Format_RGB444>() { return 0;
template<> Q_DECL_CONSTEXPR uint blueShift<QImage::Format_RGB555>() { return 0; }
template<> Q_DECL_CONSTEXPR uint blueShift<QImage::Format_RGB666>() { return 0; }
template<> Q_DECL_CONSTEXPR uint blueShift<QImage::Format_RGB888>() { return 0; }
+template<> Q_DECL_CONSTEXPR uint blueShift<QImage::Format_BGR888>() { return 16; }
template<> Q_DECL_CONSTEXPR uint blueShift<QImage::Format_ARGB4444_Premultiplied>() { return 0; }
template<> Q_DECL_CONSTEXPR uint blueShift<QImage::Format_ARGB8555_Premultiplied>() { return 8; }
template<> Q_DECL_CONSTEXPR uint blueShift<QImage::Format_ARGB8565_Premultiplied>() { return 8; }
@@ -181,6 +187,7 @@ template<> Q_DECL_CONSTEXPR uint alphaWidth<QImage::Format_RGB444>() { return 0;
template<> Q_DECL_CONSTEXPR uint alphaWidth<QImage::Format_RGB555>() { return 0; }
template<> Q_DECL_CONSTEXPR uint alphaWidth<QImage::Format_RGB666>() { return 0; }
template<> Q_DECL_CONSTEXPR uint alphaWidth<QImage::Format_RGB888>() { return 0; }
+template<> Q_DECL_CONSTEXPR uint alphaWidth<QImage::Format_BGR888>() { return 0; }
template<> Q_DECL_CONSTEXPR uint alphaWidth<QImage::Format_ARGB4444_Premultiplied>() { return 4; }
template<> Q_DECL_CONSTEXPR uint alphaWidth<QImage::Format_ARGB8555_Premultiplied>() { return 8; }
template<> Q_DECL_CONSTEXPR uint alphaWidth<QImage::Format_ARGB8565_Premultiplied>() { return 8; }
@@ -194,6 +201,7 @@ template<> Q_DECL_CONSTEXPR uint alphaShift<QImage::Format_RGB444>() { return 0;
template<> Q_DECL_CONSTEXPR uint alphaShift<QImage::Format_RGB555>() { return 0; }
template<> Q_DECL_CONSTEXPR uint alphaShift<QImage::Format_RGB666>() { return 0; }
template<> Q_DECL_CONSTEXPR uint alphaShift<QImage::Format_RGB888>() { return 0; }
+template<> Q_DECL_CONSTEXPR uint alphaShift<QImage::Format_BGR888>() { return 0; }
template<> Q_DECL_CONSTEXPR uint alphaShift<QImage::Format_ARGB4444_Premultiplied>() { return 12; }
template<> Q_DECL_CONSTEXPR uint alphaShift<QImage::Format_ARGB8555_Premultiplied>() { return 0; }
template<> Q_DECL_CONSTEXPR uint alphaShift<QImage::Format_ARGB8565_Premultiplied>() { return 0; }
@@ -214,6 +222,7 @@ template<> constexpr QPixelLayout::BPP bitsPerPixel<QImage::Format_RGB444>() { r
template<> constexpr QPixelLayout::BPP bitsPerPixel<QImage::Format_RGB555>() { return QPixelLayout::BPP16; }
template<> constexpr QPixelLayout::BPP bitsPerPixel<QImage::Format_RGB666>() { return QPixelLayout::BPP24; }
template<> constexpr QPixelLayout::BPP bitsPerPixel<QImage::Format_RGB888>() { return QPixelLayout::BPP24; }
+template<> constexpr QPixelLayout::BPP bitsPerPixel<QImage::Format_BGR888>() { return QPixelLayout::BPP24; }
template<> constexpr QPixelLayout::BPP bitsPerPixel<QImage::Format_ARGB4444_Premultiplied>() { return QPixelLayout::BPP16; }
template<> constexpr QPixelLayout::BPP bitsPerPixel<QImage::Format_ARGB8555_Premultiplied>() { return QPixelLayout::BPP24; }
template<> constexpr QPixelLayout::BPP bitsPerPixel<QImage::Format_ARGB8565_Premultiplied>() { return QPixelLayout::BPP24; }
@@ -1528,7 +1537,8 @@ QPixelLayout qPixelLayouts[QImage::NImageFormats] = {
{ false, false, QPixelLayout::BPP16, nullptr,
convertGrayscale16ToRGB32, convertGrayscale16ToRGBA64,
fetchGrayscale16ToRGB32, fetchGrayscale16ToRGBA64,
- storeGrayscale16FromARGB32PM, storeGrayscale16FromRGB32 } // Format_Grayscale16
+ storeGrayscale16FromARGB32PM, storeGrayscale16FromRGB32 }, // Format_Grayscale16
+ pixelLayoutRGB<QImage::Format_BGR888>(),
};
Q_STATIC_ASSERT(sizeof(qPixelLayouts) / sizeof(*qPixelLayouts) == QImage::NImageFormats);
@@ -1643,7 +1653,8 @@ ConvertAndStorePixelsFunc64 qStoreFromRGBA64PM[QImage::NImageFormats] = {
storeRGBX64FromRGBA64PM,
storeRGBA64FromRGBA64PM,
storeRGBA64PMFromRGBA64PM,
- storeGray16FromRGBA64PM
+ storeGray16FromRGBA64PM,
+ storeGenericFromRGBA64PM<QImage::Format_BGR888>,
};
/*
@@ -1732,6 +1743,7 @@ static DestFetchProc destFetchProc[QImage::NImageFormats] =
destFetch, // Format_RGBA64
destFetch, // Format_RGBA64_Premultiplied
destFetch, // Format_Grayscale16
+ destFetch, // Format_BGR888
};
#if QT_CONFIG(raster_64bit)
@@ -1782,6 +1794,7 @@ static DestFetchProc64 destFetchProc64[QImage::NImageFormats] =
destFetch64, // Format_RGBA64
destFetchRGB64, // Format_RGBA64_Premultiplied
destFetch64, // Format_Grayscale16
+ destFetch64, // Format_BGR888
};
#endif
@@ -1922,6 +1935,7 @@ static DestStoreProc destStoreProc[QImage::NImageFormats] =
destStore, // Format_RGBA64
destStore, // Format_RGBA64_Premultiplied
destStore, // Format_Grayscale16
+ destStore, // Format_BGR888
};
#if QT_CONFIG(raster_64bit)
@@ -1971,6 +1985,7 @@ static DestStoreProc64 destStoreProc64[QImage::NImageFormats] =
destStore64RGBA64, // Format_RGBA64
0, // Format_RGBA64_Premultiplied
destStore64, // Format_Grayscale16
+ destStore64, // Format_BGR888
};
#endif
@@ -3922,6 +3937,7 @@ static SourceFetchProc sourceFetchUntransformed[QImage::NImageFormats] = {
fetchUntransformed, // RGBA64
fetchUntransformed, // RGBA64_Premultiplied
fetchUntransformed, // Grayscale16
+ fetchUntransformed, // BGR888
};
static const SourceFetchProc sourceFetchGeneric[NBlendTypes] = {
@@ -4544,7 +4560,7 @@ void blend_color_generic_rgb64(int count, const QSpan *spans, void *userData)
while (count--) {
int x = spans->x;
int length = spans->len;
- if (solidFill && bpp >= QPixelLayout::BPP8 && spans->coverage == 255 && length) {
+ if (solidFill && bpp >= QPixelLayout::BPP8 && spans->coverage == 255 && length && op.destStore64) {
// If dest doesn't matter we don't need to bother with blending or converting all the identical pixels
op.destStore64(data->rasterBuffer, x, spans->y, &color, 1);
spanfill_from_first(data->rasterBuffer, bpp, x, spans->y, length);
@@ -6589,6 +6605,14 @@ DrawHelper qDrawHelper[QImage::NImageFormats] =
qt_alphargbblit_generic,
qt_rectfill_quint16
},
+ // Format_BGR888
+ {
+ blend_color_generic,
+ 0,
+ qt_alphamapblit_generic,
+ qt_alphargbblit_generic,
+ qt_rectfill_quint24
+ },
};
#if !defined(__SSE2__)
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index 0a440e5b75..5ab5514dd4 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -2883,19 +2883,34 @@ bool QRasterPaintEngine::drawCachedGlyphs(int numGlyphs, const glyph_t *glyphs,
for (int i = 0; i < numGlyphs; i++) {
QFixed spp = fontEngine->subPixelPositionForX(positions[i].x);
- QPoint offset;
- const QImage *alphaMap = fontEngine->lockedAlphaMapForGlyph(glyphs[i], spp, neededFormat, s->matrix,
- &offset);
- if (alphaMap == 0 || alphaMap->isNull())
+ const QFontEngine::Glyph *alphaMap = fontEngine->glyphData(glyphs[i], spp, neededFormat, s->matrix);
+ if (!alphaMap)
continue;
- alphaPenBlt(alphaMap->constBits(), alphaMap->bytesPerLine(), alphaMap->depth(),
- qFloor(positions[i].x) + offset.x(),
- qRound(positions[i].y) + offset.y(),
- alphaMap->width(), alphaMap->height(),
+ int depth;
+ int bytesPerLine;
+ switch (alphaMap->format) {
+ case QFontEngine::Format_Mono:
+ depth = 1;
+ bytesPerLine = ((alphaMap->width + 31) & ~31) >> 3;
+ break;
+ case QFontEngine::Format_A8:
+ depth = 8;
+ bytesPerLine = (alphaMap->width + 3) & ~3;
+ break;
+ case QFontEngine::Format_A32:
+ depth = 32;
+ bytesPerLine = alphaMap->width * 4;
+ break;
+ default:
+ Q_UNREACHABLE();
+ };
+
+ alphaPenBlt(alphaMap->data, bytesPerLine, depth,
+ qFloor(positions[i].x) + alphaMap->x,
+ qRound(positions[i].y) - alphaMap->y,
+ alphaMap->width, alphaMap->height,
fontEngine->expectsGammaCorrectedBlending());
-
- fontEngine->unlockAlphaMapForGlyph();
}
} else {
diff --git a/src/gui/painting/qpainterpath.cpp b/src/gui/painting/qpainterpath.cpp
index b1d1f30800..1fb37ece56 100644
--- a/src/gui/painting/qpainterpath.cpp
+++ b/src/gui/painting/qpainterpath.cpp
@@ -1855,10 +1855,9 @@ static void qt_painterpath_isect_curve(const QBezier &bezier, const QPointF &pt,
}
// split curve and try again...
- QBezier first_half, second_half;
- bezier.split(&first_half, &second_half);
- qt_painterpath_isect_curve(first_half, pt, winding, depth + 1);
- qt_painterpath_isect_curve(second_half, pt, winding, depth + 1);
+ const auto halves = bezier.split();
+ qt_painterpath_isect_curve(halves.first, pt, winding, depth + 1);
+ qt_painterpath_isect_curve(halves.second, pt, winding, depth + 1);
}
}
@@ -2013,10 +2012,9 @@ static bool qt_isect_curve_horizontal(const QBezier &bezier, qreal y, qreal x1,
if (depth == 32 || (bounds.width() < lower_bound && bounds.height() < lower_bound))
return true;
- QBezier first_half, second_half;
- bezier.split(&first_half, &second_half);
- if (qt_isect_curve_horizontal(first_half, y, x1, x2, depth + 1)
- || qt_isect_curve_horizontal(second_half, y, x1, x2, depth + 1))
+ const auto halves = bezier.split();
+ if (qt_isect_curve_horizontal(halves.first, y, x1, x2, depth + 1)
+ || qt_isect_curve_horizontal(halves.second, y, x1, x2, depth + 1))
return true;
}
return false;
@@ -2032,10 +2030,9 @@ static bool qt_isect_curve_vertical(const QBezier &bezier, qreal x, qreal y1, qr
if (depth == 32 || (bounds.width() < lower_bound && bounds.height() < lower_bound))
return true;
- QBezier first_half, second_half;
- bezier.split(&first_half, &second_half);
- if (qt_isect_curve_vertical(first_half, x, y1, y2, depth + 1)
- || qt_isect_curve_vertical(second_half, x, y1, y2, depth + 1))
+ const auto halves = bezier.split();
+ if (qt_isect_curve_vertical(halves.first, x, y1, y2, depth + 1)
+ || qt_isect_curve_vertical(halves.second, x, y1, y2, depth + 1))
return true;
}
return false;
diff --git a/src/gui/painting/qstroker_p.h b/src/gui/painting/qstroker_p.h
index f107b6eb20..3207f1944b 100644
--- a/src/gui/painting/qstroker_p.h
+++ b/src/gui/painting/qstroker_p.h
@@ -209,7 +209,7 @@ public:
QStroker();
~QStroker();
- void setStrokeWidth(qfixed width) { m_strokeWidth = width; m_curveThreshold = qt_real_to_fixed(width > 4 ? 1.0/width : 0.25); }
+ void setStrokeWidth(qfixed width) { m_strokeWidth = width; m_curveThreshold = qt_real_to_fixed(qBound(0.025, 1.0/width, 0.25)); }
qfixed strokeWidth() const { return m_strokeWidth; }
void setCapStyle(Qt::PenCapStyle capStyle) { m_capStyle = joinModeForCap(capStyle); }
diff --git a/src/gui/platform/wasm/qwasmlocalfileaccess.cpp b/src/gui/platform/wasm/qwasmlocalfileaccess.cpp
index 83f9415c69..85c894a74a 100644
--- a/src/gui/platform/wasm/qwasmlocalfileaccess.cpp
+++ b/src/gui/platform/wasm/qwasmlocalfileaccess.cpp
@@ -164,6 +164,43 @@ void openFile(const std::string &accept,
openFiles(accept, FileSelectMode::SingleFile, fileDialogClosedWithInt, acceptFile, fileDataReady);
}
+void saveFile(const char *content, size_t size, const std::string &fileNameHint)
+{
+ // Save a file by creating programatically clicking a download
+ // link to an object url to a Blob containing the file content.
+ // File content is copied once, so that the passed in content
+ // buffer can be released as soon as this function returns - we
+ // don't know for how long the browser will retain the TypedArray
+ // view used to create the Blob.
+
+ emscripten::val document = emscripten::val::global("document");
+ emscripten::val window = emscripten::val::global("window");
+
+ emscripten::val fileContentView = emscripten::val(emscripten::typed_memory_view(size, content));
+ emscripten::val fileContentCopy = emscripten::val::global("ArrayBuffer").new_(size);
+ emscripten::val fileContentCopyView = emscripten::val::global("Uint8Array").new_(fileContentCopy);
+ fileContentCopyView.call<void>("set", fileContentView);
+
+ emscripten::val contentArray = emscripten::val::array();
+ contentArray.call<void>("push", fileContentCopyView);
+ emscripten::val type = emscripten::val::object();
+ type.set("type","application/octet-stream");
+ emscripten::val contentBlob = emscripten::val::global("Blob").new_(contentArray, type);
+
+ emscripten::val contentUrl = window["URL"].call<emscripten::val>("createObjectURL", contentBlob);
+ emscripten::val contentLink = document.call<emscripten::val>("createElement", std::string("a"));
+ contentLink.set("href", contentUrl);
+ contentLink.set("download", fileNameHint);
+ contentLink.set("style", "display:none");
+
+ emscripten::val body = document["body"];
+ body.call<void>("appendChild", contentLink);
+ contentLink.call<void>("click");
+ body.call<void>("removeChild", contentLink);
+
+ window["URL"].call<emscripten::val>("revokeObjectURL", contentUrl);
+}
+
} // namespace QWasmLocalFileAccess
QT_END_NAMESPACE
diff --git a/src/gui/platform/wasm/qwasmlocalfileaccess_p.h b/src/gui/platform/wasm/qwasmlocalfileaccess_p.h
index 794db8d9b2..ccd88570c8 100644
--- a/src/gui/platform/wasm/qwasmlocalfileaccess_p.h
+++ b/src/gui/platform/wasm/qwasmlocalfileaccess_p.h
@@ -71,6 +71,8 @@ void openFile(const std::string &accept,
const std::function<char *(uint64_t size, const std::string name)> &acceptFile,
const std::function<void()> &fileDataReady);
+void saveFile(const char *content, size_t size, const std::string &fileNameHint);
+
} // namespace QWasmLocalFileAccess
QT_END_NAMESPACE
diff --git a/src/gui/rhi/qrhi.cpp b/src/gui/rhi/qrhi.cpp
index 7443c0a04f..4414b61d55 100644
--- a/src/gui/rhi/qrhi.cpp
+++ b/src/gui/rhi/qrhi.cpp
@@ -59,7 +59,8 @@ Q_LOGGING_CATEGORY(QRHI_LOG_INFO, "qt.rhi.general")
/*!
\class QRhi
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Accelerated 2D/3D graphics API abstraction.
@@ -274,6 +275,8 @@ Q_LOGGING_CATEGORY(QRHI_LOG_INFO, "qt.rhi.general")
QRhi does not expose APIs for resource barriers or image layout
transitions. Such synchronization is done implicitly by the backends, where
applicable (for example, Vulkan), by tracking resource usage as necessary.
+ Buffer and image barriers are inserted before render or compute passes
+ transparently to the application.
\note Resources within a render or compute pass are expected to be bound to
a single usage during that pass. For example, a buffer can be used as
@@ -505,8 +508,11 @@ Q_LOGGING_CATEGORY(QRHI_LOG_INFO, "qt.rhi.general")
to issue a \l{QRhiCommandBuffer::drawIndexed()}{drawIndexed()} with a
non-aligned effective offset may lead to unspecified behavior.
- \value NPOTTextureRepeat Indicates that the \l{QRhiSampler::Repeat}{Repeat}
- mode is supported for textures with a non-power-of-two size.
+ \value NPOTTextureRepeat Indicates that the
+ \l{QRhiSampler::Repeat}{Repeat} wrap mode and mipmap filtering modes are
+ supported for textures with a non-power-of-two size. In practice this can
+ only be false with OpenGL ES 2.0 implementations without
+ \c{GL_OES_texture_npot}.
\value RedOrAlpha8IsRed Indicates that the
\l{QRhiTexture::RED_OR_ALPHA8}{RED_OR_ALPHA8} format maps to a one
@@ -550,6 +556,11 @@ Q_LOGGING_CATEGORY(QRHI_LOG_INFO, "qt.rhi.general")
/*!
\enum QRhi::BeginFrameFlag
Flag values for QRhi::beginFrame()
+
+ \value ExternalContentsInPass Specifies that one or more render or compute
+ passes in this frame will call QRhiCommandBuffer::beginExternal(). Some
+ backends, Vulkan in particular, will fail if this flag is not set and
+ beginExternal() is still called.
*/
/*!
@@ -601,7 +612,8 @@ Q_LOGGING_CATEGORY(QRHI_LOG_INFO, "qt.rhi.general")
/*!
\class QRhiInitParams
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Base class for backend-specific initialization parameters.
Contains fields that are relevant to all backends.
@@ -609,7 +621,8 @@ Q_LOGGING_CATEGORY(QRHI_LOG_INFO, "qt.rhi.general")
/*!
\class QRhiDepthStencilClearValue
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Specifies clear values for a depth or stencil buffer.
*/
@@ -676,7 +689,8 @@ QDebug operator<<(QDebug dbg, const QRhiDepthStencilClearValue &v)
/*!
\class QRhiViewport
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Specifies a viewport rectangle.
Used with QRhiCommandBuffer::setViewport().
@@ -775,7 +789,8 @@ QDebug operator<<(QDebug dbg, const QRhiViewport &v)
/*!
\class QRhiScissor
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Specifies a scissor rectangle.
Used with QRhiCommandBuffer::setScissor(). Setting a scissor rectangle is
@@ -854,7 +869,8 @@ QDebug operator<<(QDebug dbg, const QRhiScissor &s)
/*!
\class QRhiVertexInputBinding
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes a vertex input binding.
Specifies the stride (in bytes, must be a multiple of 4), the
@@ -984,7 +1000,8 @@ QDebug operator<<(QDebug dbg, const QRhiVertexInputBinding &b)
/*!
\class QRhiVertexInputAttribute
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes a single vertex input element.
The members specify the binding number, location, format, and offset for a
@@ -1137,7 +1154,8 @@ QDebug operator<<(QDebug dbg, const QRhiVertexInputAttribute &a)
/*!
\class QRhiVertexInputLayout
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes the layout of vertex inputs consumed by a vertex shader.
The vertex input layout is defined by the collections of
@@ -1196,7 +1214,8 @@ QDebug operator<<(QDebug dbg, const QRhiVertexInputLayout &v)
/*!
\class QRhiShaderStage
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Specifies the type and the shader code for a shader stage in the pipeline.
*/
@@ -1280,7 +1299,8 @@ QDebug operator<<(QDebug dbg, const QRhiShaderStage &s)
/*!
\class QRhiColorAttachment
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes the a single color attachment of a render target.
A color attachment is either a QRhiTexture or a QRhiRenderBuffer. The
@@ -1338,7 +1358,8 @@ QRhiColorAttachment::QRhiColorAttachment(QRhiRenderBuffer *renderBuffer)
/*!
\class QRhiTextureRenderTargetDescription
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes the color and depth or depth/stencil attachments of a render target.
A texture render target has zero or more textures as color attachments,
@@ -1393,7 +1414,8 @@ QRhiTextureRenderTargetDescription::QRhiTextureRenderTargetDescription(const QRh
/*!
\class QRhiTextureSubresourceUploadDescription
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes the source for one mip level in a layer in a texture upload operation.
The source content is specified either as a QImage or as a raw blob. The
@@ -1473,7 +1495,8 @@ QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription
/*!
\class QRhiTextureUploadEntry
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes one layer (face for cubemaps) in a texture upload operation.
*/
@@ -1501,7 +1524,8 @@ QRhiTextureUploadEntry::QRhiTextureUploadEntry(int layer, int level,
/*!
\class QRhiTextureUploadDescription
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes a texture upload operation.
Used with QRhiResourceUpdateBatch::uploadTexture(). That function has two
@@ -1606,7 +1630,8 @@ void QRhiTextureUploadDescription::append(const QRhiTextureUploadEntry &entry)
/*!
\class QRhiTextureCopyDescription
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes a texture-to-texture copy operation.
An empty pixelSize() indicates that the entire subresource is to be copied.
@@ -1629,7 +1654,8 @@ void QRhiTextureUploadDescription::append(const QRhiTextureUploadEntry &entry)
/*!
\class QRhiReadbackDescription
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes a readback (reading back texture contents from possibly GPU-only memory) operation.
The source of the readback operation is either a QRhiTexture or the
@@ -1675,7 +1701,8 @@ QRhiReadbackDescription::QRhiReadbackDescription(QRhiTexture *texture)
/*!
\class QRhiReadbackResult
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes the results of a potentially asynchronous readback operation.
When \l completed is set, the function is invoked when the \l data is
@@ -1685,13 +1712,15 @@ QRhiReadbackDescription::QRhiReadbackDescription(QRhiTexture *texture)
/*!
\class QRhiNativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Base class for classes exposing backend-specific collections of native resource objects.
*/
/*!
\class QRhiResource
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Base class for classes encapsulating native resource objects.
*/
@@ -1810,7 +1839,8 @@ quint64 QRhiResource::globalResourceId() const
/*!
\class QRhiBuffer
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Vertex, index, or uniform (constant) buffer resource.
*/
@@ -1911,7 +1941,8 @@ QRhiResource::Type QRhiBuffer::resourceType() const
/*!
\class QRhiRenderBuffer
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Renderbuffer resource.
Renderbuffers cannot be sampled or read but have some benefits over
@@ -1987,7 +2018,8 @@ QRhiResource::Type QRhiRenderBuffer::resourceType() const
/*!
\class QRhiTexture
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Texture resource.
*/
@@ -2155,7 +2187,8 @@ bool QRhiTexture::buildFrom(const QRhiNativeHandles *src)
/*!
\class QRhiSampler
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Sampler resource.
*/
@@ -2217,8 +2250,13 @@ QRhiResource::Type QRhiSampler::resourceType() const
/*!
\class QRhiRenderPassDescriptor
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Render pass resource.
+
+ A render pass, if such a concept exists in the underlying graphics API, is
+ a collection of attachments (color, depth, stencil) and describes how those
+ attachments are used.
*/
/*!
@@ -2238,8 +2276,21 @@ QRhiResource::Type QRhiRenderPassDescriptor::resourceType() const
}
/*!
+ \return a pointer to a backend-specific QRhiNativeHandles subclass, such as
+ QRhiVulkanRenderPassNativeHandles. The returned value is null when exposing
+ the underlying native resources is not supported by the backend.
+
+ \sa QRhiVulkanRenderPassNativeHandles
+ */
+const QRhiNativeHandles *QRhiRenderPassDescriptor::nativeHandles()
+{
+ return nullptr;
+}
+
+/*!
\class QRhiRenderTarget
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Represents an onscreen (swapchain) or offscreen (texture) render target.
*/
@@ -2276,7 +2327,8 @@ QRhiResource::Type QRhiRenderTarget::resourceType() const
/*!
\class QRhiTextureRenderTarget
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Texture render target resource.
A texture render target allows rendering into one or more textures,
@@ -2393,7 +2445,8 @@ QRhiResource::Type QRhiTextureRenderTarget::resourceType() const
/*!
\class QRhiShaderResourceBindings
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Encapsulates resources for making buffer, texture, sampler resources visible to shaders.
A QRhiShaderResourceBindings is a collection of QRhiShaderResourceBinding
@@ -2510,7 +2563,8 @@ bool QRhiShaderResourceBindings::isLayoutCompatible(const QRhiShaderResourceBind
/*!
\class QRhiShaderResourceBinding
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes the shader resource for a single binding point.
A QRhiShaderResourceBinding cannot be constructed directly. Instead, use
@@ -3035,7 +3089,8 @@ QDebug operator<<(QDebug dbg, const QRhiShaderResourceBindings &srb)
/*!
\class QRhiGraphicsPipeline
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Graphics pipeline state resource.
\note Setting the shader resource bindings is mandatory. The referenced
@@ -3190,7 +3245,8 @@ QDebug operator<<(QDebug dbg, const QRhiShaderResourceBindings &srb)
/*!
\class QRhiGraphicsPipeline::TargetBlend
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes the blend state for one color attachment.
Defaults to color write enabled, blending disabled. The blend values are
@@ -3200,7 +3256,8 @@ QDebug operator<<(QDebug dbg, const QRhiShaderResourceBindings &srb)
/*!
\class QRhiGraphicsPipeline::StencilOpState
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes the stencil operation state.
*/
@@ -3255,7 +3312,8 @@ QRhiResource::Type QRhiGraphicsPipeline::resourceType() const
/*!
\class QRhiSwapChain
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Swapchain resource.
A swapchain enables presenting rendering results to a surface. A swapchain
@@ -3517,7 +3575,8 @@ QRhiResource::Type QRhiSwapChain::resourceType() const
/*!
\class QRhiComputePipeline
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Compute pipeline state resource.
\note Setting the shader resource bindings is mandatory. The referenced
@@ -3545,7 +3604,8 @@ QRhiComputePipeline::QRhiComputePipeline(QRhiImplementation *rhi)
/*!
\class QRhiCommandBuffer
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Command buffer resource.
Not creatable by applications at the moment. The only ways to obtain a
@@ -3592,6 +3652,42 @@ QRhiResource::Type QRhiCommandBuffer::resourceType() const
return CommandBuffer;
}
+#ifndef QT_NO_DEBUG
+static const char *resourceTypeStr(QRhiResource *res)
+{
+ switch (res->resourceType()) {
+ case QRhiResource::Buffer:
+ return "Buffer";
+ case QRhiResource::Texture:
+ return "Texture";
+ case QRhiResource::Sampler:
+ return "Sampler";
+ case QRhiResource::RenderBuffer:
+ return "RenderBuffer";
+ case QRhiResource::RenderPassDescriptor:
+ return "RenderPassDescriptor";
+ case QRhiResource::RenderTarget:
+ return "RenderTarget";
+ case QRhiResource::TextureRenderTarget:
+ return "TextureRenderTarget";
+ case QRhiResource::ShaderResourceBindings:
+ return "ShaderResourceBindings";
+ case QRhiResource::GraphicsPipeline:
+ return "GraphicsPipeline";
+ case QRhiResource::SwapChain:
+ return "SwapChain";
+ case QRhiResource::ComputePipeline:
+ return "ComputePipeline";
+ case QRhiResource::CommandBuffer:
+ return "CommandBuffer";
+ default:
+ Q_UNREACHABLE();
+ break;
+ }
+ return "";
+}
+#endif
+
QRhiImplementation::~QRhiImplementation()
{
qDeleteAll(resUpdPool);
@@ -3601,10 +3697,10 @@ QRhiImplementation::~QRhiImplementation()
// and freak out for unfreed graphics objects in the derived dtor already.
#ifndef QT_NO_DEBUG
if (!resources.isEmpty()) {
- qWarning("QRhi %p going down with %d unreleased resources. This is not nice.",
+ qWarning("QRhi %p going down with %d unreleased resources that own native graphics objects. This is not nice.",
q, resources.count());
for (QRhiResource *res : qAsConst(resources)) {
- qWarning(" Resource %p (%s)", res, res->m_objectName.constData());
+ qWarning(" %s resource %p (%s)", resourceTypeStr(res), res, res->m_objectName.constData());
res->m_rhi = nullptr;
}
}
@@ -3969,7 +4065,8 @@ void QRhi::runCleanup()
/*!
\class QRhiResourceUpdateBatch
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Records upload and copy type of operations.
With QRhi it is no longer possible to perform copy type of operations at
@@ -4711,6 +4808,11 @@ const QRhiNativeHandles *QRhiCommandBuffer::nativeHandles()
enqueue commands to the current pass' command buffer by calling graphics
API functions directly.
+ \note This is only available when the intent was declared up front in
+ beginFrame(). Therefore this function must only be called when the frame
+ was started with specifying QRhi::ExternalContentsInPass in the flags
+ passed to QRhi::beginFrame().
+
With Vulkan or Metal one can query the native command buffer or encoder
objects via nativeHandles() and enqueue commands to them. With OpenGL or
Direct3D 11 the (device) context can be retrieved from
@@ -4728,6 +4830,16 @@ const QRhiNativeHandles *QRhiCommandBuffer::nativeHandles()
functions (\c set* or \c draw*) must be called on the
QRhiCommandBuffer until endExternal().
+ \warning Some backends may return a native command buffer object from
+ QRhiCommandBuffer::nativeHandles() that is different from the primary one
+ when inside a beginExternal() - endExternal() block. Therefore it is
+ important to (re)query the native command buffer object after calling
+ beginExternal(). In practical terms this means that with Vulkan for example
+ the externally recorded Vulkan commands are placed onto a secondary command
+ buffer (with VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT).
+ nativeHandles() returns this secondary command buffer when called between
+ begin/endExternal.
+
\sa endExternal(), nativeHandles()
*/
void QRhiCommandBuffer::beginExternal()
@@ -5034,6 +5146,13 @@ QRhiSwapChain *QRhi::newSwapChain()
/*!
Starts a new frame targeting the next available buffer of \a swapChain.
+ A frame consists of resource updates and one or more render and compute
+ passes.
+
+ \a flags can indicate certain special cases. For example, the fact that
+ QRhiCommandBuffer::beginExternal() will be called within this new frame
+ must be declared up front by setting the ExternalContentsInPass flag.
+
The high level pattern of rendering into a QWindow using a swapchain:
\list
@@ -5061,9 +5180,7 @@ QRhiSwapChain *QRhi::newSwapChain()
\endlist
- \a flags is currently unused.
-
- \sa endFrame()
+ \sa endFrame(), beginOffscreenFrame()
*/
QRhi::FrameOpResult QRhi::beginFrame(QRhiSwapChain *swapChain, BeginFrameFlags flags)
{
@@ -5163,7 +5280,8 @@ int QRhi::currentFrameSlot() const
/*!
Starts a new offscreen frame. Provides a command buffer suitable for
- recording rendering commands in \a cb.
+ recording rendering commands in \a cb. \a flags is used to indicate
+ certain special cases, just like with beginFrame().
\note The QRhiCommandBuffer stored to *cb is not owned by the caller.
@@ -5197,14 +5315,14 @@ int QRhi::currentFrameSlot() const
// image data available in rbResult
\endcode
- \sa endOffscreenFrame()
+ \sa endOffscreenFrame(), beginFrame()
*/
-QRhi::FrameOpResult QRhi::beginOffscreenFrame(QRhiCommandBuffer **cb)
+QRhi::FrameOpResult QRhi::beginOffscreenFrame(QRhiCommandBuffer **cb, BeginFrameFlags flags)
{
if (d->inFrame)
qWarning("Attempted to call beginOffscreenFrame() within a still active frame; ignored");
- QRhi::FrameOpResult r = !d->inFrame ? d->beginOffscreenFrame(cb) : FrameOpSuccess;
+ QRhi::FrameOpResult r = !d->inFrame ? d->beginOffscreenFrame(cb, flags) : FrameOpSuccess;
if (r == FrameOpSuccess)
d->inFrame = true;
@@ -5216,12 +5334,12 @@ QRhi::FrameOpResult QRhi::beginOffscreenFrame(QRhiCommandBuffer **cb)
\sa beginOffscreenFrame()
*/
-QRhi::FrameOpResult QRhi::endOffscreenFrame()
+QRhi::FrameOpResult QRhi::endOffscreenFrame(EndFrameFlags flags)
{
if (!d->inFrame)
qWarning("Attempted to call endOffscreenFrame() without an active frame; ignored");
- QRhi::FrameOpResult r = d->inFrame ? d->endOffscreenFrame() : FrameOpSuccess;
+ QRhi::FrameOpResult r = d->inFrame ? d->endOffscreenFrame(flags) : FrameOpSuccess;
d->inFrame = false;
qDeleteAll(d->pendingReleaseAndDestroyResources);
d->pendingReleaseAndDestroyResources.clear();
diff --git a/src/gui/rhi/qrhi_p.h b/src/gui/rhi/qrhi_p.h
index df30817ef4..2d36c19e99 100644
--- a/src/gui/rhi/qrhi_p.h
+++ b/src/gui/rhi/qrhi_p.h
@@ -843,6 +843,8 @@ class Q_GUI_EXPORT QRhiRenderPassDescriptor : public QRhiResource
public:
QRhiResource::Type resourceType() const override;
+ virtual const QRhiNativeHandles *nativeHandles();
+
protected:
QRhiRenderPassDescriptor(QRhiImplementation *rhi);
};
@@ -1324,6 +1326,7 @@ public:
};
enum BeginFrameFlag {
+ ExternalContentsInPass = 0x01
};
Q_DECLARE_FLAGS(BeginFrameFlags, BeginFrameFlag)
@@ -1384,8 +1387,8 @@ public:
bool isRecordingFrame() const;
int currentFrameSlot() const;
- FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb);
- FrameOpResult endOffscreenFrame();
+ FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, BeginFrameFlags flags = BeginFrameFlags());
+ FrameOpResult endOffscreenFrame(EndFrameFlags flags = EndFrameFlags());
QRhi::FrameOpResult finish();
diff --git a/src/gui/rhi/qrhi_p_p.h b/src/gui/rhi/qrhi_p_p.h
index b592fe82f2..0914cf268b 100644
--- a/src/gui/rhi/qrhi_p_p.h
+++ b/src/gui/rhi/qrhi_p_p.h
@@ -95,8 +95,8 @@ public:
virtual QRhiSwapChain *createSwapChain() = 0;
virtual QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) = 0;
virtual QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) = 0;
- virtual QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb) = 0;
- virtual QRhi::FrameOpResult endOffscreenFrame() = 0;
+ virtual QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) = 0;
+ virtual QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) = 0;
virtual QRhi::FrameOpResult finish() = 0;
virtual void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) = 0;
diff --git a/src/gui/rhi/qrhid3d11.cpp b/src/gui/rhi/qrhid3d11.cpp
index 0c5df600a0..3e136cdb80 100644
--- a/src/gui/rhi/qrhid3d11.cpp
+++ b/src/gui/rhi/qrhid3d11.cpp
@@ -58,7 +58,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiD3D11InitParams
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Direct3D 11 specific initialization parameters.
A D3D11-based QRhi needs no special parameters for initialization. If
@@ -97,7 +98,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiD3D11NativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Holds the D3D device and device context used by the QRhi.
\note The class uses \c{void *} as the type since including the COM-based
@@ -107,7 +109,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiD3D11TextureNativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Holds the D3D texture object that is backing a QRhiTexture instance.
\note The class uses \c{void *} as the type since including the COM-based
@@ -157,6 +160,36 @@ static inline Int aligned(Int v, Int byteAlign)
return (v + byteAlign - 1) & ~(byteAlign - 1);
}
+static IDXGIFactory1 *createDXGIFactory2()
+{
+ IDXGIFactory1 *result = nullptr;
+ if (QOperatingSystemVersion::current() > QOperatingSystemVersion::Windows7) {
+ using PtrCreateDXGIFactory2 = HRESULT (WINAPI *)(UINT, REFIID, void **);
+ QSystemLibrary dxgilib(QStringLiteral("dxgi"));
+ if (auto createDXGIFactory2 = (PtrCreateDXGIFactory2)dxgilib.resolve("CreateDXGIFactory2")) {
+ const HRESULT hr = createDXGIFactory2(0, IID_IDXGIFactory2, reinterpret_cast<void **>(&result));
+ if (FAILED(hr)) {
+ qWarning("CreateDXGIFactory2() failed to create DXGI factory: %s", qPrintable(comErrorMessage(hr)));
+ result = nullptr;
+ }
+ } else {
+ qWarning("Unable to resolve CreateDXGIFactory2()");
+ }
+ }
+ return result;
+}
+
+static IDXGIFactory1 *createDXGIFactory1()
+{
+ IDXGIFactory1 *result = nullptr;
+ const HRESULT hr = CreateDXGIFactory1(IID_IDXGIFactory1, reinterpret_cast<void **>(&result));
+ if (FAILED(hr)) {
+ qWarning("CreateDXGIFactory1() failed to create DXGI factory: %s", qPrintable(comErrorMessage(hr)));
+ result = nullptr;
+ }
+ return result;
+}
+
bool QRhiD3D11::create(QRhi::Flags flags)
{
Q_UNUSED(flags);
@@ -165,19 +198,22 @@ bool QRhiD3D11::create(QRhi::Flags flags)
if (debugLayer)
devFlags |= D3D11_CREATE_DEVICE_DEBUG;
- HRESULT hr;
-#if !defined(Q_CC_MINGW)
- hasDxgi2 = QOperatingSystemVersion::current() > QOperatingSystemVersion::Windows7;
- if (hasDxgi2)
- hr = CreateDXGIFactory2(0, IID_IDXGIFactory2, reinterpret_cast<void **>(&dxgiFactory));
- else
-#endif
- hr = CreateDXGIFactory1(IID_IDXGIFactory1, reinterpret_cast<void **>(&dxgiFactory));
+ dxgiFactory = createDXGIFactory2();
+ if (dxgiFactory != nullptr) {
+ hasDxgi2 = true;
+ supportsFlipDiscardSwapchain = QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows10
+ && !qEnvironmentVariableIntValue("QT_D3D_NO_FLIP");
+ } else {
+ dxgiFactory = createDXGIFactory1();
+ hasDxgi2 = false;
+ supportsFlipDiscardSwapchain = false;
+ }
- if (FAILED(hr)) {
- qWarning("Failed to create DXGI factory: %s", qPrintable(comErrorMessage(hr)));
+ if (dxgiFactory == nullptr)
return false;
- }
+
+ qCDebug(QRHI_LOG_INFO, "DXGI 1.2 = %s, FLIP_DISCARD swapchain supported = %s",
+ hasDxgi2 ? "true" : "false", supportsFlipDiscardSwapchain ? "true" : "false");
if (!importedDevice) {
IDXGIAdapter1 *adapterToUse = nullptr;
@@ -837,8 +873,10 @@ const QRhiNativeHandles *QRhiD3D11::nativeHandles(QRhiCommandBuffer *cb)
void QRhiD3D11::beginExternal(QRhiCommandBuffer *cb)
{
- Q_UNUSED(cb);
- flushCommandBuffer();
+ QD3D11CommandBuffer *cbD = QRHI_RES(QD3D11CommandBuffer, cb);
+ // no timestampSwapChain, in order to avoid timestamp mess
+ executeCommandBuffer(cbD);
+ cbD->resetCommands();
}
void QRhiD3D11::endExternal(QRhiCommandBuffer *cb)
@@ -891,7 +929,7 @@ QRhi::FrameOpResult QRhiD3D11::beginFrame(QRhiSwapChain *swapChain, QRhi::BeginF
swapChainD->cb.resetState();
swapChainD->rt.d.rtv[0] = swapChainD->sampleDesc.Count > 1 ?
- swapChainD->msaaRtv[currentFrameSlot] : swapChainD->rtv[currentFrameSlot];
+ swapChainD->msaaRtv[currentFrameSlot] : swapChainD->backBufferRtv;
swapChainD->rt.d.dsv = swapChainD->ds ? swapChainD->ds->dsv : nullptr;
QRHI_PROF_F(beginSwapChainFrame(swapChain));
@@ -920,7 +958,7 @@ QRhi::FrameOpResult QRhiD3D11::endFrame(QRhiSwapChain *swapChain, QRhi::EndFrame
executeCommandBuffer(&swapChainD->cb);
if (swapChainD->sampleDesc.Count > 1) {
- context->ResolveSubresource(swapChainD->tex[currentFrameSlot], 0,
+ context->ResolveSubresource(swapChainD->backBufferTex, 0,
swapChainD->msaaTex[currentFrameSlot], 0,
swapChainD->colorFormat);
}
@@ -953,8 +991,9 @@ QRhi::FrameOpResult QRhiD3D11::endFrame(QRhiSwapChain *swapChain, QRhi::EndFrame
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiD3D11::beginOffscreenFrame(QRhiCommandBuffer **cb)
+QRhi::FrameOpResult QRhiD3D11::beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags)
{
+ Q_UNUSED(flags);
ofr.active = true;
ofr.cbWrapper.resetState();
@@ -963,8 +1002,9 @@ QRhi::FrameOpResult QRhiD3D11::beginOffscreenFrame(QRhiCommandBuffer **cb)
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiD3D11::endOffscreenFrame()
+QRhi::FrameOpResult QRhiD3D11::endOffscreenFrame(QRhi::EndFrameFlags flags)
{
+ Q_UNUSED(flags);
ofr.active = false;
executeCommandBuffer(&ofr.cbWrapper);
@@ -1099,27 +1139,25 @@ static inline bool isDepthTextureFormat(QRhiTexture::Format format)
QRhi::FrameOpResult QRhiD3D11::finish()
{
- if (inFrame)
- flushCommandBuffer();
+ if (inFrame) {
+ if (ofr.active) {
+ Q_ASSERT(!contextState.currentSwapChain);
+ Q_ASSERT(ofr.cbWrapper.recordingPass == QD3D11CommandBuffer::NoPass);
+ executeCommandBuffer(&ofr.cbWrapper);
+ ofr.cbWrapper.resetCommands();
+ } else {
+ Q_ASSERT(contextState.currentSwapChain);
+ Q_ASSERT(contextState.currentSwapChain->cb.recordingPass == QD3D11CommandBuffer::NoPass);
+ executeCommandBuffer(&contextState.currentSwapChain->cb); // no timestampSwapChain, in order to avoid timestamp mess
+ contextState.currentSwapChain->cb.resetCommands();
+ }
+ }
finishActiveReadbacks();
return QRhi::FrameOpSuccess;
}
-void QRhiD3D11::flushCommandBuffer()
-{
- if (ofr.active) {
- Q_ASSERT(!contextState.currentSwapChain);
- executeCommandBuffer(&ofr.cbWrapper);
- ofr.cbWrapper.resetCommands();
- } else {
- Q_ASSERT(contextState.currentSwapChain);
- executeCommandBuffer(&contextState.currentSwapChain->cb); // no timestampSwapChain, in order to avoid timestamp mess
- contextState.currentSwapChain->cb.resetCommands();
- }
-}
-
void QRhiD3D11::enqueueSubresUpload(QD3D11Texture *texD, QD3D11CommandBuffer *cbD,
int layer, int level, const QRhiTextureSubresourceUploadDescription &subresDesc)
{
@@ -1304,14 +1342,14 @@ void QRhiD3D11::enqueueResourceUpdates(QRhiCommandBuffer *cb, QRhiResourceUpdate
// has to be supported. Insert a resolve.
QD3D11CommandBuffer::Command rcmd;
rcmd.cmd = QD3D11CommandBuffer::Command::ResolveSubRes;
- rcmd.args.resolveSubRes.dst = swapChainD->tex[swapChainD->currentFrameSlot];
+ rcmd.args.resolveSubRes.dst = swapChainD->backBufferTex;
rcmd.args.resolveSubRes.dstSubRes = 0;
rcmd.args.resolveSubRes.src = swapChainD->msaaTex[swapChainD->currentFrameSlot];
rcmd.args.resolveSubRes.srcSubRes = 0;
rcmd.args.resolveSubRes.format = swapChainD->colorFormat;
cbD->commands.append(rcmd);
}
- src = swapChainD->tex[swapChainD->currentFrameSlot];
+ src = swapChainD->backBufferTex;
dxgiFormat = swapChainD->colorFormat;
pixelSize = swapChainD->pixelSize;
format = colorTextureFormatFromDxgiFormat(dxgiFormat, nullptr);
@@ -3503,9 +3541,9 @@ QD3D11SwapChain::QD3D11SwapChain(QRhiImplementation *rhi)
rt(rhi),
cb(rhi)
{
+ backBufferTex = nullptr;
+ backBufferRtv = nullptr;
for (int i = 0; i < BUFFER_COUNT; ++i) {
- tex[i] = nullptr;
- rtv[i] = nullptr;
msaaTex[i] = nullptr;
msaaRtv[i] = nullptr;
timestampActive[i] = false;
@@ -3522,15 +3560,15 @@ QD3D11SwapChain::~QD3D11SwapChain()
void QD3D11SwapChain::releaseBuffers()
{
+ if (backBufferRtv) {
+ backBufferRtv->Release();
+ backBufferRtv = nullptr;
+ }
+ if (backBufferTex) {
+ backBufferTex->Release();
+ backBufferTex = nullptr;
+ }
for (int i = 0; i < BUFFER_COUNT; ++i) {
- if (rtv[i]) {
- rtv[i]->Release();
- rtv[i] = nullptr;
- }
- if (tex[i]) {
- tex[i]->Release();
- tex[i] = nullptr;
- }
if (msaaRtv[i]) {
msaaRtv[i]->Release();
msaaRtv[i] = nullptr;
@@ -3656,18 +3694,19 @@ bool QD3D11SwapChain::buildOrResize()
const UINT swapChainFlags = 0;
QRHI_RES_RHI(QRhiD3D11);
+ const bool useFlipDiscard = rhiD->hasDxgi2 && rhiD->supportsFlipDiscardSwapchain;
if (!swapChain) {
HWND hwnd = reinterpret_cast<HWND>(window->winId());
sampleDesc = rhiD->effectiveSampleCount(m_sampleCount);
- // We use FLIP_DISCARD which implies a buffer count of 2 (as opposed to the
- // old DISCARD with back buffer count == 1). This makes no difference for
- // the rest of the stuff except that automatic MSAA is unsupported and
- // needs to be implemented via a custom multisample render target and an
- // explicit resolve.
-
HRESULT hr;
- if (rhiD->hasDxgi2) {
+ if (useFlipDiscard) {
+ // We use FLIP_DISCARD which implies a buffer count of 2 (as opposed to the
+ // old DISCARD with back buffer count == 1). This makes no difference for
+ // the rest of the stuff except that automatic MSAA is unsupported and
+ // needs to be implemented via a custom multisample render target and an
+ // explicit resolve.
+
DXGI_SWAP_CHAIN_DESC1 desc;
memset(&desc, 0, sizeof(desc));
desc.Width = pixelSize.width();
@@ -3690,7 +3729,10 @@ bool QD3D11SwapChain::buildOrResize()
if (SUCCEEDED(hr))
swapChain = sc1;
} else {
- // Windows 7
+ // Windows 7 for instance. Use DISCARD mode. Regardless, keep on
+ // using our manual resolve for symmetry with the FLIP_DISCARD code
+ // path when MSAA is requested.
+
DXGI_SWAP_CHAIN_DESC desc;
memset(&desc, 0, sizeof(desc));
desc.BufferDesc.Width = pixelSize.width();
@@ -3700,10 +3742,10 @@ bool QD3D11SwapChain::buildOrResize()
desc.BufferDesc.Format = colorFormat;
desc.SampleDesc.Count = 1;
desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
- desc.BufferCount = BUFFER_COUNT;
+ desc.BufferCount = 1;
desc.OutputWindow = hwnd;
desc.Windowed = true;
- desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;
+ desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
desc.Flags = swapChainFlags;
hr = rhiD->dxgiFactory->CreateSwapChain(rhiD->dev, &desc, &swapChain);
@@ -3712,30 +3754,49 @@ bool QD3D11SwapChain::buildOrResize()
qWarning("Failed to create D3D11 swapchain: %s", qPrintable(comErrorMessage(hr)));
return false;
}
+ rhiD->dxgiFactory->MakeWindowAssociation(hwnd, DXGI_MWA_NO_ALT_ENTER);
} else {
releaseBuffers();
- HRESULT hr = swapChain->ResizeBuffers(2, pixelSize.width(), pixelSize.height(), colorFormat, swapChainFlags);
+ const UINT count = useFlipDiscard ? BUFFER_COUNT : 1;
+ HRESULT hr = swapChain->ResizeBuffers(count, pixelSize.width(), pixelSize.height(),
+ colorFormat, swapChainFlags);
if (FAILED(hr)) {
qWarning("Failed to resize D3D11 swapchain: %s", qPrintable(comErrorMessage(hr)));
return false;
}
}
+ // This looks odd (for FLIP_DISCARD, esp. compared with backends for Vulkan
+ // & co.) but the backbuffer is always at index 0, with magic underneath.
+ // Some explanation from
+ // https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/dxgi-1-4-improvements
+ //
+ // "In Direct3D 11, applications could call GetBuffer( 0, … ) only once.
+ // Every call to Present implicitly changed the resource identity of the
+ // returned interface. Direct3D 12 no longer supports that implicit
+ // resource identity change, due to the CPU overhead required and the
+ // flexible resource descriptor design. As a result, the application must
+ // manually call GetBuffer for every each buffer created with the
+ // swapchain."
+
+ // So just query index 0 once (per resize) and be done with it.
+ HRESULT hr = swapChain->GetBuffer(0, IID_ID3D11Texture2D, reinterpret_cast<void **>(&backBufferTex));
+ if (FAILED(hr)) {
+ qWarning("Failed to query swapchain backbuffer: %s", qPrintable(comErrorMessage(hr)));
+ return false;
+ }
+ D3D11_RENDER_TARGET_VIEW_DESC rtvDesc;
+ memset(&rtvDesc, 0, sizeof(rtvDesc));
+ rtvDesc.Format = srgbAdjustedFormat;
+ rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;
+ hr = rhiD->dev->CreateRenderTargetView(backBufferTex, &rtvDesc, &backBufferRtv);
+ if (FAILED(hr)) {
+ qWarning("Failed to create rtv for swapchain backbuffer: %s", qPrintable(comErrorMessage(hr)));
+ return false;
+ }
+
+ // Try to reduce stalls by having a dedicated MSAA texture per swapchain buffer.
for (int i = 0; i < BUFFER_COUNT; ++i) {
- HRESULT hr = swapChain->GetBuffer(0, IID_ID3D11Texture2D, reinterpret_cast<void **>(&tex[i]));
- if (FAILED(hr)) {
- qWarning("Failed to query swapchain buffer %d: %s", i, qPrintable(comErrorMessage(hr)));
- return false;
- }
- D3D11_RENDER_TARGET_VIEW_DESC rtvDesc;
- memset(&rtvDesc, 0, sizeof(rtvDesc));
- rtvDesc.Format = srgbAdjustedFormat;
- rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;
- hr = rhiD->dev->CreateRenderTargetView(tex[i], &rtvDesc, &rtv[i]);
- if (FAILED(hr)) {
- qWarning("Failed to create rtv for swapchain buffer %d: %s", i, qPrintable(comErrorMessage(hr)));
- return false;
- }
if (sampleDesc.Count > 1) {
if (!newColorBuffer(pixelSize, srgbAdjustedFormat, sampleDesc, &msaaTex[i], &msaaRtv[i]))
return false;
diff --git a/src/gui/rhi/qrhid3d11_p_p.h b/src/gui/rhi/qrhid3d11_p_p.h
index 34c9ff70f8..582146315d 100644
--- a/src/gui/rhi/qrhid3d11_p_p.h
+++ b/src/gui/rhi/qrhid3d11_p_p.h
@@ -473,9 +473,9 @@ struct QD3D11CommandBuffer : public QRhiCommandBuffer
imageRetainPool.clear();
}
void resetState() {
- resetCommands();
recordingPass = NoPass;
currentTarget = nullptr;
+ resetCommands();
resetCachedState();
}
void resetCachedState() {
@@ -523,8 +523,8 @@ struct QD3D11SwapChain : public QRhiSwapChain
DXGI_FORMAT colorFormat;
IDXGISwapChain *swapChain = nullptr;
static const int BUFFER_COUNT = 2;
- ID3D11Texture2D *tex[BUFFER_COUNT];
- ID3D11RenderTargetView *rtv[BUFFER_COUNT];
+ ID3D11Texture2D *backBufferTex;
+ ID3D11RenderTargetView *backBufferRtv;
ID3D11Texture2D *msaaTex[BUFFER_COUNT];
ID3D11RenderTargetView *msaaRtv[BUFFER_COUNT];
DXGI_SAMPLE_DESC sampleDesc;
@@ -569,8 +569,8 @@ public:
QRhiSwapChain *createSwapChain() override;
QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override;
QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override;
- QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb) override;
- QRhi::FrameOpResult endOffscreenFrame() override;
+ QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override;
+ QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override;
QRhi::FrameOpResult finish() override;
void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
@@ -633,7 +633,6 @@ public:
void sendVMemStatsToProfiler() override;
void makeThreadLocalNativeContextCurrent() override;
- void flushCommandBuffer();
void enqueueSubresUpload(QD3D11Texture *texD, QD3D11CommandBuffer *cbD,
int layer, int level, const QRhiTextureSubresourceUploadDescription &subresDesc);
void enqueueResourceUpdates(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates);
@@ -656,6 +655,7 @@ public:
ID3DUserDefinedAnnotation *annotations = nullptr;
IDXGIFactory1 *dxgiFactory = nullptr;
bool hasDxgi2 = false;
+ bool supportsFlipDiscardSwapchain = false;
QRhiD3D11NativeHandles nativeHandlesStruct;
struct {
diff --git a/src/gui/rhi/qrhigles2.cpp b/src/gui/rhi/qrhigles2.cpp
index 379801efbd..f4e711e33e 100644
--- a/src/gui/rhi/qrhigles2.cpp
+++ b/src/gui/rhi/qrhigles2.cpp
@@ -58,7 +58,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiGles2InitParams
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief OpenGL specific initialization parameters.
An OpenGL-based QRhi needs an already created QOffscreenSurface at minimum.
@@ -130,13 +131,15 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiGles2NativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Holds the OpenGL context used by the QRhi.
*/
/*!
\class QRhiGles2TextureNativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Holds the OpenGL texture object that is backing a QRhiTexture instance.
*/
@@ -268,6 +271,10 @@ QT_BEGIN_NAMESPACE
#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
#endif
+#ifndef GL_POINT_SPRITE
+#define GL_POINT_SPRITE 0x8861
+#endif
+
/*!
Constructs a new QRhiGles2InitParams.
@@ -424,8 +431,8 @@ bool QRhiGles2::create(QRhi::Flags flags)
caps.msaaRenderBuffer = f->hasOpenGLExtension(QOpenGLExtensions::FramebufferMultisample)
&& f->hasOpenGLExtension(QOpenGLExtensions::FramebufferBlit);
- caps.npotTexture = f->hasOpenGLFeature(QOpenGLFunctions::NPOTTextures);
- caps.npotTextureRepeat = f->hasOpenGLFeature(QOpenGLFunctions::NPOTTextureRepeat);
+ caps.npotTextureFull = f->hasOpenGLFeature(QOpenGLFunctions::NPOTTextures)
+ && f->hasOpenGLFeature(QOpenGLFunctions::NPOTTextureRepeat);
caps.gles = actualFormat.renderableType() == QSurfaceFormat::OpenGLES;
if (caps.gles)
@@ -472,9 +479,15 @@ bool QRhiGles2::create(QRhi::Flags flags)
else
caps.compute = caps.ctxMajor > 4 || (caps.ctxMajor == 4 && caps.ctxMinor >= 3); // 4.3
- if (!caps.gles)
+ if (caps.gles)
+ caps.textureCompareMode = caps.ctxMajor >= 3; // ES 3.0
+ else
+ caps.textureCompareMode = true;
+
+ if (!caps.gles) {
f->glEnable(GL_VERTEX_PROGRAM_POINT_SIZE);
- // else (with gles) this is always on
+ f->glEnable(GL_POINT_SPRITE);
+ } // else (with gles) these are always on
nativeHandlesStruct.context = ctx;
@@ -547,43 +560,6 @@ int QRhiGles2::effectiveSampleCount(int sampleCount) const
return s;
}
-static inline bool isPowerOfTwo(int x)
-{
- // Assumption: x >= 1
- return x == (x & -x);
-}
-
-QSize QRhiGles2::safeTextureSize(const QSize &pixelSize) const
-{
- QSize size = pixelSize.isEmpty() ? QSize(1, 1) : pixelSize;
-
- if (!caps.npotTexture) {
- if (!isPowerOfTwo(size.width())) {
- qWarning("Texture width %d is not a power of two, adjusting",
- size.width());
- size.setWidth(qNextPowerOfTwo(size.width()));
- }
- if (!isPowerOfTwo(size.height())) {
- qWarning("Texture height %d is not a power of two, adjusting",
- size.height());
- size.setHeight(qNextPowerOfTwo(size.height()));
- }
- }
-
- if (size.width() > caps.maxTextureSize) {
- qWarning("Texture width %d exceeds maximum width %d, adjusting",
- size.width(), caps.maxTextureSize);
- size.setWidth(caps.maxTextureSize);
- }
- if (size.height() > caps.maxTextureSize) {
- qWarning("Texture height %d exceeds maximum height %d, adjusting",
- size.height(), caps.maxTextureSize);
- size.setHeight(caps.maxTextureSize);
- }
-
- return size;
-}
-
QRhiSwapChain *QRhiGles2::createSwapChain()
{
return new QGles2SwapChain(this);
@@ -725,7 +701,7 @@ bool QRhiGles2::isFeatureSupported(QRhi::Feature feature) const
case QRhi::NonFourAlignedEffectiveIndexBufferOffset:
return true;
case QRhi::NPOTTextureRepeat:
- return caps.npotTextureRepeat;
+ return caps.npotTextureFull;
case QRhi::RedOrAlpha8IsRed:
return caps.coreProfile;
case QRhi::ElementIndexUint:
@@ -1118,15 +1094,36 @@ const QRhiNativeHandles *QRhiGles2::nativeHandles(QRhiCommandBuffer *cb)
void QRhiGles2::beginExternal(QRhiCommandBuffer *cb)
{
- Q_UNUSED(cb);
- flushCommandBuffer(); // also ensures the context is current
+ if (ofr.active) {
+ Q_ASSERT(!currentSwapChain);
+ if (!ensureContext())
+ return;
+ } else {
+ Q_ASSERT(currentSwapChain);
+ if (!ensureContext(currentSwapChain->surface))
+ return;
+ }
+
+ QGles2CommandBuffer *cbD = QRHI_RES(QGles2CommandBuffer, cb);
+ executeCommandBuffer(cbD);
+ cbD->resetCommands();
}
void QRhiGles2::endExternal(QRhiCommandBuffer *cb)
{
QGles2CommandBuffer *cbD = QRHI_RES(QGles2CommandBuffer, cb);
- Q_ASSERT(cbD->commands.isEmpty());
+ Q_ASSERT(cbD->commands.isEmpty() && cbD->currentPassResTrackerIndex == -1);
+
cbD->resetCachedState();
+
+ if (cbD->recordingPass != QGles2CommandBuffer::NoPass) {
+ // Commands that come after this point need a resource tracker and also
+ // a BarriersForPass command enqueued. (the ones we had from
+ // beginPass() are now gone since beginExternal() processed all that
+ // due to calling executeCommandBuffer()).
+ enqueueBarriersForPass(cbD);
+ }
+
if (cbD->currentTarget)
enqueueBindFramebuffer(cbD->currentTarget, cbD);
}
@@ -1187,8 +1184,9 @@ QRhi::FrameOpResult QRhiGles2::endFrame(QRhiSwapChain *swapChain, QRhi::EndFrame
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiGles2::beginOffscreenFrame(QRhiCommandBuffer **cb)
+QRhi::FrameOpResult QRhiGles2::beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags)
{
+ Q_UNUSED(flags);
if (!ensureContext())
return QRhi::FrameOpError;
@@ -1203,8 +1201,9 @@ QRhi::FrameOpResult QRhiGles2::beginOffscreenFrame(QRhiCommandBuffer **cb)
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiGles2::endOffscreenFrame()
+QRhi::FrameOpResult QRhiGles2::endOffscreenFrame(QRhi::EndFrameFlags flags)
{
+ Q_UNUSED(flags);
Q_ASSERT(ofr.active);
ofr.active = false;
@@ -1220,23 +1219,22 @@ QRhi::FrameOpResult QRhiGles2::endOffscreenFrame()
QRhi::FrameOpResult QRhiGles2::finish()
{
- return inFrame ? flushCommandBuffer() : QRhi::FrameOpSuccess;
-}
-
-QRhi::FrameOpResult QRhiGles2::flushCommandBuffer()
-{
- if (ofr.active) {
- Q_ASSERT(!currentSwapChain);
- if (!ensureContext())
- return QRhi::FrameOpError;
- executeCommandBuffer(&ofr.cbWrapper);
- ofr.cbWrapper.resetCommands();
- } else {
- Q_ASSERT(currentSwapChain);
- if (!ensureContext(currentSwapChain->surface))
- return QRhi::FrameOpError;
- executeCommandBuffer(&currentSwapChain->cb);
- currentSwapChain->cb.resetCommands();
+ if (inFrame) {
+ if (ofr.active) {
+ Q_ASSERT(!currentSwapChain);
+ Q_ASSERT(ofr.cbWrapper.recordingPass == QGles2CommandBuffer::NoPass);
+ if (!ensureContext())
+ return QRhi::FrameOpError;
+ executeCommandBuffer(&ofr.cbWrapper);
+ ofr.cbWrapper.resetCommands();
+ } else {
+ Q_ASSERT(currentSwapChain);
+ Q_ASSERT(currentSwapChain->cb.recordingPass == QGles2CommandBuffer::NoPass);
+ if (!ensureContext(currentSwapChain->surface))
+ return QRhi::FrameOpError;
+ executeCommandBuffer(&currentSwapChain->cb);
+ currentSwapChain->cb.resetCommands();
+ }
}
return QRhi::FrameOpSuccess;
}
@@ -2376,11 +2374,13 @@ void QRhiGles2::bindShaderResources(QRhiGraphicsPipeline *maybeGraphicsPs, QRhiC
f->glTexParameteri(texD->target, GL_TEXTURE_WRAP_T, samplerD->d.glwrapt);
// 3D textures not supported by GLES 2.0 or by us atm...
//f->glTexParameteri(texD->target, GL_TEXTURE_WRAP_R, samplerD->d.glwrapr);
- if (samplerD->d.gltexcomparefunc != GL_NEVER) {
- f->glTexParameteri(texD->target, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_REF_TO_TEXTURE);
- f->glTexParameteri(texD->target, GL_TEXTURE_COMPARE_FUNC, samplerD->d.gltexcomparefunc);
- } else {
- f->glTexParameteri(texD->target, GL_TEXTURE_COMPARE_MODE, GL_NONE);
+ if (caps.textureCompareMode) {
+ if (samplerD->d.gltexcomparefunc != GL_NEVER) {
+ f->glTexParameteri(texD->target, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_REF_TO_TEXTURE);
+ f->glTexParameteri(texD->target, GL_TEXTURE_COMPARE_FUNC, samplerD->d.gltexcomparefunc);
+ } else {
+ f->glTexParameteri(texD->target, GL_TEXTURE_COMPARE_MODE, GL_NONE);
+ }
}
texD->samplerState = samplerD->d;
}
@@ -2505,6 +2505,16 @@ QGles2RenderTargetData *QRhiGles2::enqueueBindFramebuffer(QRhiRenderTarget *rt,
return rtD;
}
+void QRhiGles2::enqueueBarriersForPass(QGles2CommandBuffer *cbD)
+{
+ cbD->passResTrackers.append(QRhiPassResourceTracker());
+ cbD->currentPassResTrackerIndex = cbD->passResTrackers.count() - 1;
+ QGles2CommandBuffer::Command cmd;
+ cmd.cmd = QGles2CommandBuffer::Command::BarriersForPass;
+ cmd.args.barriersForPass.trackerIndex = cbD->currentPassResTrackerIndex;
+ cbD->commands.append(cmd);
+}
+
void QRhiGles2::beginPass(QRhiCommandBuffer *cb,
QRhiRenderTarget *rt,
const QColor &colorClearValue,
@@ -2519,12 +2529,7 @@ void QRhiGles2::beginPass(QRhiCommandBuffer *cb,
// Get a new resource tracker. Then add a command that will generate
// glMemoryBarrier() calls based on that tracker when submitted.
- cbD->passResTrackers.append(QRhiPassResourceTracker());
- cbD->currentPassResTrackerIndex = cbD->passResTrackers.count() - 1;
- QGles2CommandBuffer::Command cmd;
- cmd.cmd = QGles2CommandBuffer::Command::BarriersForPass;
- cmd.args.barriersForPass.trackerIndex = cbD->currentPassResTrackerIndex;
- cbD->commands.append(cmd);
+ enqueueBarriersForPass(cbD);
bool wantsColorClear, wantsDsClear;
QGles2RenderTargetData *rtD = enqueueBindFramebuffer(rt, cbD, &wantsColorClear, &wantsDsClear);
@@ -2600,12 +2605,7 @@ void QRhiGles2::beginComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch
if (resourceUpdates)
enqueueResourceUpdates(cb, resourceUpdates);
- cbD->passResTrackers.append(QRhiPassResourceTracker());
- cbD->currentPassResTrackerIndex = cbD->passResTrackers.count() - 1;
- QGles2CommandBuffer::Command cmd;
- cmd.cmd = QGles2CommandBuffer::Command::BarriersForPass;
- cmd.args.barriersForPass.trackerIndex = cbD->currentPassResTrackerIndex;
- cbD->commands.append(cmd);
+ enqueueBarriersForPass(cbD);
cbD->recordingPass = QGles2CommandBuffer::ComputePass;
@@ -2935,7 +2935,7 @@ bool QGles2RenderBuffer::build()
rhiD->f->glGenRenderbuffers(1, &renderbuffer);
rhiD->f->glBindRenderbuffer(GL_RENDERBUFFER, renderbuffer);
- const QSize size = rhiD->safeTextureSize(m_pixelSize);
+ const QSize size = m_pixelSize.isEmpty() ? QSize(1, 1) : m_pixelSize;
switch (m_type) {
case QRhiRenderBuffer::DepthStencil:
@@ -3032,7 +3032,7 @@ bool QGles2Texture::prepareBuild(QSize *adjustedSize)
if (!rhiD->ensureContext())
return false;
- const QSize size = rhiD->safeTextureSize(m_pixelSize);
+ const QSize size = m_pixelSize.isEmpty() ? QSize(1, 1) : m_pixelSize;
const bool isCube = m_flags.testFlag(CubeMap);
const bool hasMipMaps = m_flags.testFlag(MipMapped);
@@ -3145,18 +3145,19 @@ bool QGles2Texture::build()
for (int layer = 0, layerCount = isCube ? 6 : 1; layer != layerCount; ++layer) {
for (int level = 0; level != mipLevelCount; ++level) {
const QSize mipSize = rhiD->q->sizeForMipLevel(level, size);
- rhiD->f->glTexImage2D(faceTargetBase + layer, level, glsizedintformat,
+ rhiD->f->glTexImage2D(faceTargetBase + layer, level, glintformat,
mipSize.width(), mipSize.height(), 0,
glformat, gltype, nullptr);
}
}
} else {
- rhiD->f->glTexImage2D(target, 0, glsizedintformat, size.width(), size.height(),
+ rhiD->f->glTexImage2D(target, 0, glintformat, size.width(), size.height(),
0, glformat, gltype, nullptr);
}
} else {
// Must be specified with immutable storage functions otherwise
- // bindImageTexture may fail.
+ // bindImageTexture may fail. Also, the internal format must be a
+ // sized format here.
rhiD->f->glTexStorage2D(target, mipLevelCount, glsizedintformat, size.width(), size.height());
}
specified = true;
diff --git a/src/gui/rhi/qrhigles2_p_p.h b/src/gui/rhi/qrhigles2_p_p.h
index 88a6144b42..6da529be92 100644
--- a/src/gui/rhi/qrhigles2_p_p.h
+++ b/src/gui/rhi/qrhigles2_p_p.h
@@ -525,19 +525,16 @@ struct QGles2CommandBuffer : public QRhiCommandBuffer
}
void resetCommands() {
commands.clear();
- // beginExternal() can lead to calling resetCommands() inside a pass,
- // hence the condition
- if (recordingPass == NoPass) {
- passResTrackers.clear();
- currentPassResTrackerIndex = -1;
- }
dataRetainPool.clear();
imageRetainPool.clear();
+
+ passResTrackers.clear();
+ currentPassResTrackerIndex = -1;
}
void resetState() {
- resetCommands();
recordingPass = NoPass;
currentTarget = nullptr;
+ resetCommands();
resetCachedState();
}
void resetCachedState() {
@@ -605,8 +602,8 @@ public:
QRhiSwapChain *createSwapChain() override;
QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override;
QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override;
- QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb) override;
- QRhi::FrameOpResult endOffscreenFrame() override;
+ QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override;
+ QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override;
QRhi::FrameOpResult finish() override;
void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
@@ -671,7 +668,6 @@ public:
bool ensureContext(QSurface *surface = nullptr) const;
void executeDeferredReleases();
- QRhi::FrameOpResult flushCommandBuffer();
void trackedBufferBarrier(QGles2CommandBuffer *cbD, QGles2Buffer *bufD, QGles2Buffer::Access access);
void trackedImageBarrier(QGles2CommandBuffer *cbD, QGles2Texture *texD, QGles2Texture::Access access);
void enqueueSubresUpload(QGles2Texture *texD, QGles2CommandBuffer *cbD,
@@ -692,8 +688,8 @@ public:
const uint *dynOfsPairs, int dynOfsCount);
QGles2RenderTargetData *enqueueBindFramebuffer(QRhiRenderTarget *rt, QGles2CommandBuffer *cbD,
bool *wantsColorClear = nullptr, bool *wantsDsClear = nullptr);
+ void enqueueBarriersForPass(QGles2CommandBuffer *cbD);
int effectiveSampleCount(int sampleCount) const;
- QSize safeTextureSize(const QSize &size) const;
bool compileShader(GLuint program, const QRhiShaderStage &shaderStage,
QShaderDescription *desc, int *glslVersionUsed);
bool linkProgram(GLuint program);
@@ -717,8 +713,7 @@ public:
maxTextureSize(2048),
maxDrawBuffers(4),
msaaRenderBuffer(false),
- npotTexture(true),
- npotTextureRepeat(true),
+ npotTextureFull(true),
gles(false),
fixedIndexPrimitiveRestart(false),
bgraExternalFormat(false),
@@ -747,8 +742,7 @@ public:
// Multisample fb and blit are supported (GLES 3.0 or OpenGL 3.x). Not
// the same as multisample textures!
uint msaaRenderBuffer : 1;
- uint npotTexture : 1;
- uint npotTextureRepeat : 1;
+ uint npotTextureFull : 1;
uint gles : 1;
uint fixedIndexPrimitiveRestart : 1;
uint bgraExternalFormat : 1;
@@ -768,6 +762,7 @@ public:
uint instancing : 1;
uint baseVertex : 1;
uint compute : 1;
+ uint textureCompareMode : 1;
} caps;
QGles2SwapChain *currentSwapChain = nullptr;
QVector<GLint> supportedCompressedFormats;
diff --git a/src/gui/rhi/qrhimetal.mm b/src/gui/rhi/qrhimetal.mm
index ffb2283ae7..07753c985c 100644
--- a/src/gui/rhi/qrhimetal.mm
+++ b/src/gui/rhi/qrhimetal.mm
@@ -1243,8 +1243,10 @@ QRhi::FrameOpResult QRhiMetal::endFrame(QRhiSwapChain *swapChain, QRhi::EndFrame
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiMetal::beginOffscreenFrame(QRhiCommandBuffer **cb)
+QRhi::FrameOpResult QRhiMetal::beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags)
{
+ Q_UNUSED(flags);
+
currentFrameSlot = (currentFrameSlot + 1) % QMTL_FRAMES_IN_FLIGHT;
if (swapchains.count() > 1) {
for (QMetalSwapChain *sc : qAsConst(swapchains)) {
@@ -1268,8 +1270,9 @@ QRhi::FrameOpResult QRhiMetal::beginOffscreenFrame(QRhiCommandBuffer **cb)
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiMetal::endOffscreenFrame()
+QRhi::FrameOpResult QRhiMetal::endOffscreenFrame(QRhi::EndFrameFlags flags)
{
+ Q_UNUSED(flags);
Q_ASSERT(d->ofr.active);
d->ofr.active = false;
@@ -1986,9 +1989,11 @@ bool QMetalBuffer::build()
}
#endif
- // Immutable and Static only has buf[0] and pendingUpdates[0] in use.
- // Dynamic uses all.
- d->slotted = m_type == Dynamic;
+ // Have QMTL_FRAMES_IN_FLIGHT versions regardless of the type, for now.
+ // This is because writing to a Managed buffer (which is what Immutable and
+ // Static maps to on macOS) is not safe when another frame reading from the
+ // same buffer is still in flight.
+ d->slotted = !m_usage.testFlag(QRhiBuffer::StorageBuffer); // except for SSBOs written in the shader
QRHI_RES_RHI(QRhiMetal);
for (int i = 0; i < QMTL_FRAMES_IN_FLIGHT; ++i) {
diff --git a/src/gui/rhi/qrhimetal_p_p.h b/src/gui/rhi/qrhimetal_p_p.h
index 8b0256991d..c448865f4d 100644
--- a/src/gui/rhi/qrhimetal_p_p.h
+++ b/src/gui/rhi/qrhimetal_p_p.h
@@ -354,8 +354,8 @@ public:
QRhiSwapChain *createSwapChain() override;
QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override;
QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override;
- QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb) override;
- QRhi::FrameOpResult endOffscreenFrame() override;
+ QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override;
+ QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override;
QRhi::FrameOpResult finish() override;
void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
diff --git a/src/gui/rhi/qrhinull.cpp b/src/gui/rhi/qrhinull.cpp
index 1314e53893..dff6e05268 100644
--- a/src/gui/rhi/qrhinull.cpp
+++ b/src/gui/rhi/qrhinull.cpp
@@ -41,7 +41,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiNullInitParams
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Null backend specific initialization parameters.
A Null QRhi needs no special parameters for initialization.
@@ -60,13 +61,15 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiNullNativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Empty.
*/
/*!
\class QRhiNullTextureNativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Empty.
*/
@@ -353,14 +356,16 @@ QRhi::FrameOpResult QRhiNull::endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameF
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiNull::beginOffscreenFrame(QRhiCommandBuffer **cb)
+QRhi::FrameOpResult QRhiNull::beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags)
{
+ Q_UNUSED(flags);
*cb = &offscreenCommandBuffer;
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiNull::endOffscreenFrame()
+QRhi::FrameOpResult QRhiNull::endOffscreenFrame(QRhi::EndFrameFlags flags)
{
+ Q_UNUSED(flags);
return QRhi::FrameOpSuccess;
}
diff --git a/src/gui/rhi/qrhinull_p_p.h b/src/gui/rhi/qrhinull_p_p.h
index b0227bc110..bdf0d59724 100644
--- a/src/gui/rhi/qrhinull_p_p.h
+++ b/src/gui/rhi/qrhinull_p_p.h
@@ -220,8 +220,8 @@ public:
QRhiSwapChain *createSwapChain() override;
QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override;
QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override;
- QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb) override;
- QRhi::FrameOpResult endOffscreenFrame() override;
+ QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override;
+ QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override;
QRhi::FrameOpResult finish() override;
void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
diff --git a/src/gui/rhi/qrhiprofiler.cpp b/src/gui/rhi/qrhiprofiler.cpp
index 15e3007d49..e74e446a1c 100644
--- a/src/gui/rhi/qrhiprofiler.cpp
+++ b/src/gui/rhi/qrhiprofiler.cpp
@@ -41,7 +41,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiProfiler
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Collects resource and timing information from an active QRhi.
@@ -142,7 +143,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiProfiler::CpuTime
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Contains CPU-side frame timings.
Once sufficient number of frames have been rendered, the minimum, maximum,
@@ -155,7 +157,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiProfiler::GpuTime
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Contains GPU-side frame timings.
Once sufficient number of frames have been rendered, the minimum, maximum,
diff --git a/src/gui/rhi/qrhivulkan.cpp b/src/gui/rhi/qrhivulkan.cpp
index 61a1595a50..dfc85fb853 100644
--- a/src/gui/rhi/qrhivulkan.cpp
+++ b/src/gui/rhi/qrhivulkan.cpp
@@ -58,11 +58,34 @@ QT_BEGIN_NAMESPACE
and a separate, host visible staging buffer is used to upload data to them.
"Dynamic" buffers are in host visible memory and are duplicated (since there
can be 2 frames in flight). This is handled transparently to the application.
+
+ Barriers are generated automatically for each render or compute pass, based
+ on the resources that are used in that pass (in QRhiShaderResourceBindings,
+ vertex inputs, etc.). This implies deferring the recording of the command
+ buffer since the barriers have to be placed at the right place (before the
+ pass), and that can only be done once we know all the things the pass does.
+
+ This in turn has implications for integrating external commands
+ (beginExternal() - direct Vulkan calls - endExternal()) because that is
+ incompatible with this approach by nature. Therefore we support another mode
+ of operation, where each render or compute pass uses one or more secondary
+ command buffers (recorded right away), with each beginExternal() leading to
+ closing the current secondary cb, creating a new secondary cb for the
+ external content, and then starting yet another one in endExternal() for
+ whatever comes afterwards in the pass. This way the primary command buffer
+ only has vkCmdExecuteCommand(s) within a renderpass instance
+ (Begin-EndRenderPass). (i.e. our only subpass is then
+ VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS instead of
+ VK_SUBPASS_CONTENTS_INLINE)
+
+ The command buffer management mode is decided on a per frame basis,
+ controlled by the ExternalContentsInPass flag of beginFrame().
*/
/*!
\class QRhiVulkanInitParams
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Vulkan specific initialization parameters.
A Vulkan-based QRhi needs at minimum a valid QVulkanInstance. It is up to
@@ -146,7 +169,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiVulkanNativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Collects device, queue, and other Vulkan objects that are used by the QRhi.
\note Ownership of the Vulkan objects is never transferred.
@@ -154,7 +178,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiVulkanTextureNativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Holds the Vulkan image object that is backing a QRhiTexture.
Importing and exporting Vulkan image objects that back a QRhiTexture when
@@ -168,7 +193,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QRhiVulkanCommandBufferNativeHandles
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Holds the Vulkan command buffer object that is backing a QRhiCommandBuffer.
\note The Vulkan command buffer object is only guaranteed to be valid, and
@@ -178,6 +204,13 @@ QT_BEGIN_NAMESPACE
\l{QRhi::endOffsrceenFrame()}{endOffscreenFrame()} pair.
*/
+/*!
+ \class QRhiVulkanRenderPassNativeHandles
+ \internal
+ \inmodule QtGui
+ \brief Holds the Vulkan render pass object backing a QRhiRenderPassDescriptor.
+ */
+
static inline VkDeviceSize aligned(VkDeviceSize v, VkDeviceSize byteAlign)
{
return (v + byteAlign - 1) & ~(byteAlign - 1);
@@ -1465,7 +1498,6 @@ static inline bool checkDeviceLost(VkResult err)
QRhi::FrameOpResult QRhiVulkan::beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags)
{
- Q_UNUSED(flags);
QVkSwapChain *swapChainD = QRHI_RES(QVkSwapChain, swapChain);
QVkSwapChain::FrameResources &frame(swapChainD->frameRes[swapChainD->currentFrameSlot]);
QRhiProfilerPrivate *rhiP = profilerPrivateOrNull();
@@ -1514,7 +1546,8 @@ QRhi::FrameOpResult QRhiVulkan::beginFrame(QRhiSwapChain *swapChain, QRhi::Begin
if (frame.timestampQueryIndex >= 0) {
quint64 timestamp[2] = { 0, 0 };
VkResult err = df->vkGetQueryPoolResults(dev, timestampQueryPool, frame.timestampQueryIndex, 2,
- 2 * sizeof(quint64), timestamp, sizeof(quint64), VK_QUERY_RESULT_64_BIT);
+ 2 * sizeof(quint64), timestamp, sizeof(quint64),
+ VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WAIT_BIT);
timestampQueryPoolMap.clearBit(frame.timestampQueryIndex / 2);
frame.timestampQueryIndex = -1;
if (err == VK_SUCCESS) {
@@ -1536,7 +1569,7 @@ QRhi::FrameOpResult QRhiVulkan::beginFrame(QRhiSwapChain *swapChain, QRhi::Begin
}
// build new draw command buffer
- QRhi::FrameOpResult cbres = startCommandBuffer(&frame.cmdBuf);
+ QRhi::FrameOpResult cbres = startPrimaryCommandBuffer(&frame.cmdBuf);
if (cbres != QRhi::FrameOpSuccess)
return cbres;
@@ -1560,6 +1593,8 @@ QRhi::FrameOpResult QRhiVulkan::beginFrame(QRhiSwapChain *swapChain, QRhi::Begin
}
swapChainD->cbWrapper.cb = frame.cmdBuf;
+ swapChainD->cbWrapper.useSecondaryCb = flags.testFlag(QRhi::ExternalContentsInPass);
+
QVkSwapChain::ImageResources &image(swapChainD->imageRes[swapChainD->currentImageIndex]);
swapChainD->rtWrapper.d.fb = image.fb;
@@ -1580,7 +1615,7 @@ QRhi::FrameOpResult QRhiVulkan::endFrame(QRhiSwapChain *swapChain, QRhi::EndFram
QVkSwapChain *swapChainD = QRHI_RES(QVkSwapChain, swapChain);
Q_ASSERT(currentSwapChain == swapChainD);
- recordCommandBuffer(&swapChainD->cbWrapper);
+ recordPrimaryCommandBuffer(&swapChainD->cbWrapper);
QVkSwapChain::FrameResources &frame(swapChainD->frameRes[swapChainD->currentFrameSlot]);
QVkSwapChain::ImageResources &image(swapChainD->imageRes[swapChainD->currentImageIndex]);
@@ -1624,10 +1659,10 @@ QRhi::FrameOpResult QRhiVulkan::endFrame(QRhiSwapChain *swapChain, QRhi::EndFram
// stop recording and submit to the queue
Q_ASSERT(!frame.cmdFenceWaitable);
const bool needsPresent = !flags.testFlag(QRhi::SkipPresent);
- QRhi::FrameOpResult submitres = endAndSubmitCommandBuffer(frame.cmdBuf,
- frame.cmdFence,
- frame.imageSemWaitable ? &frame.imageSem : nullptr,
- needsPresent ? &frame.drawSem : nullptr);
+ QRhi::FrameOpResult submitres = endAndSubmitPrimaryCommandBuffer(frame.cmdBuf,
+ frame.cmdFence,
+ frame.imageSemWaitable ? &frame.imageSem : nullptr,
+ needsPresent ? &frame.drawSem : nullptr);
if (submitres != QRhi::FrameOpSuccess)
return submitres;
@@ -1698,7 +1733,7 @@ void QRhiVulkan::prepareNewFrame(QRhiCommandBuffer *cb)
finishActiveReadbacks(); // last, in case the readback-completed callback issues rhi calls
}
-QRhi::FrameOpResult QRhiVulkan::startCommandBuffer(VkCommandBuffer *cb)
+QRhi::FrameOpResult QRhiVulkan::startPrimaryCommandBuffer(VkCommandBuffer *cb)
{
if (*cb) {
df->vkFreeCommandBuffers(dev, cmdPool, 1, cb);
@@ -1737,8 +1772,8 @@ QRhi::FrameOpResult QRhiVulkan::startCommandBuffer(VkCommandBuffer *cb)
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiVulkan::endAndSubmitCommandBuffer(VkCommandBuffer cb, VkFence cmdFence,
- VkSemaphore *waitSem, VkSemaphore *signalSem)
+QRhi::FrameOpResult QRhiVulkan::endAndSubmitPrimaryCommandBuffer(VkCommandBuffer cb, VkFence cmdFence,
+ VkSemaphore *waitSem, VkSemaphore *signalSem)
{
VkResult err = df->vkEndCommandBuffer(cb);
if (err != VK_SUCCESS) {
@@ -1789,9 +1824,9 @@ void QRhiVulkan::waitCommandCompletion(int frameSlot)
}
}
-QRhi::FrameOpResult QRhiVulkan::beginOffscreenFrame(QRhiCommandBuffer **cb)
+QRhi::FrameOpResult QRhiVulkan::beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags)
{
- QRhi::FrameOpResult cbres = startCommandBuffer(&ofr.cbWrapper.cb);
+ QRhi::FrameOpResult cbres = startPrimaryCommandBuffer(&ofr.cbWrapper.cb);
if (cbres != QRhi::FrameOpSuccess)
return cbres;
@@ -1808,6 +1843,8 @@ QRhi::FrameOpResult QRhiVulkan::beginOffscreenFrame(QRhiCommandBuffer **cb)
if (swapchains.count() > 1)
waitCommandCompletion(currentFrameSlot);
+ ofr.cbWrapper.useSecondaryCb = flags.testFlag(QRhi::ExternalContentsInPass);
+
prepareNewFrame(&ofr.cbWrapper);
ofr.active = true;
@@ -1815,12 +1852,13 @@ QRhi::FrameOpResult QRhiVulkan::beginOffscreenFrame(QRhiCommandBuffer **cb)
return QRhi::FrameOpSuccess;
}
-QRhi::FrameOpResult QRhiVulkan::endOffscreenFrame()
+QRhi::FrameOpResult QRhiVulkan::endOffscreenFrame(QRhi::EndFrameFlags flags)
{
+ Q_UNUSED(flags);
Q_ASSERT(ofr.active);
ofr.active = false;
- recordCommandBuffer(&ofr.cbWrapper);
+ recordPrimaryCommandBuffer(&ofr.cbWrapper);
if (!ofr.cmdFence) {
VkFenceCreateInfo fenceInfo;
@@ -1833,7 +1871,7 @@ QRhi::FrameOpResult QRhiVulkan::endOffscreenFrame()
}
}
- QRhi::FrameOpResult submitres = endAndSubmitCommandBuffer(ofr.cbWrapper.cb, ofr.cmdFence, nullptr, nullptr);
+ QRhi::FrameOpResult submitres = endAndSubmitPrimaryCommandBuffer(ofr.cbWrapper.cb, ofr.cmdFence, nullptr, nullptr);
if (submitres != QRhi::FrameOpSuccess)
return submitres;
@@ -1857,15 +1895,19 @@ QRhi::FrameOpResult QRhiVulkan::finish()
VkCommandBuffer cb;
if (ofr.active) {
Q_ASSERT(!currentSwapChain);
- recordCommandBuffer(&ofr.cbWrapper);
+ Q_ASSERT(ofr.cbWrapper.recordingPass == QVkCommandBuffer::NoPass);
+ recordPrimaryCommandBuffer(&ofr.cbWrapper);
+ ofr.cbWrapper.resetCommands();
cb = ofr.cbWrapper.cb;
} else {
Q_ASSERT(currentSwapChain);
+ Q_ASSERT(currentSwapChain->cbWrapper.recordingPass == QVkCommandBuffer::NoPass);
swapChainD = currentSwapChain;
- recordCommandBuffer(&swapChainD->cbWrapper);
+ recordPrimaryCommandBuffer(&swapChainD->cbWrapper);
+ swapChainD->cbWrapper.resetCommands();
cb = swapChainD->cbWrapper.cb;
}
- QRhi::FrameOpResult submitres = endAndSubmitCommandBuffer(cb, VK_NULL_HANDLE, nullptr, nullptr);
+ QRhi::FrameOpResult submitres = endAndSubmitPrimaryCommandBuffer(cb, VK_NULL_HANDLE, nullptr, nullptr);
if (submitres != QRhi::FrameOpSuccess)
return submitres;
}
@@ -1875,9 +1917,9 @@ QRhi::FrameOpResult QRhiVulkan::finish()
if (inFrame) {
// Allocate and begin recording on a new command buffer.
if (ofr.active)
- startCommandBuffer(&ofr.cbWrapper.cb);
+ startPrimaryCommandBuffer(&ofr.cbWrapper.cb);
else
- startCommandBuffer(&swapChainD->frameRes[swapChainD->currentFrameSlot].cmdBuf);
+ startPrimaryCommandBuffer(&swapChainD->frameRes[swapChainD->currentFrameSlot].cmdBuf);
}
executeDeferredReleases(true);
@@ -1951,6 +1993,69 @@ void QRhiVulkan::resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *
enqueueResourceUpdates(cbD, resourceUpdates);
}
+VkCommandBuffer QRhiVulkan::startSecondaryCommandBuffer(QVkRenderTargetData *rtD)
+{
+ VkCommandBuffer secondaryCb;
+
+ VkCommandBufferAllocateInfo cmdBufInfo;
+ memset(&cmdBufInfo, 0, sizeof(cmdBufInfo));
+ cmdBufInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
+ cmdBufInfo.commandPool = cmdPool;
+ cmdBufInfo.level = VK_COMMAND_BUFFER_LEVEL_SECONDARY;
+ cmdBufInfo.commandBufferCount = 1;
+ VkResult err = df->vkAllocateCommandBuffers(dev, &cmdBufInfo, &secondaryCb);
+ if (err != VK_SUCCESS) {
+ qWarning("Failed to create secondary command buffer: %d", err);
+ return VK_NULL_HANDLE;
+ }
+
+ VkCommandBufferBeginInfo cmdBufBeginInfo;
+ memset(&cmdBufBeginInfo, 0, sizeof(cmdBufBeginInfo));
+ cmdBufBeginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
+ cmdBufBeginInfo.flags = rtD ? VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT : 0;
+ VkCommandBufferInheritanceInfo cmdBufInheritInfo;
+ memset(&cmdBufInheritInfo, 0, sizeof(cmdBufInheritInfo));
+ cmdBufInheritInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
+ cmdBufInheritInfo.subpass = 0;
+ if (rtD) {
+ cmdBufInheritInfo.renderPass = rtD->rp->rp;
+ cmdBufInheritInfo.framebuffer = rtD->fb;
+ }
+ cmdBufBeginInfo.pInheritanceInfo = &cmdBufInheritInfo;
+
+ err = df->vkBeginCommandBuffer(secondaryCb, &cmdBufBeginInfo);
+ if (err != VK_SUCCESS) {
+ qWarning("Failed to begin secondary command buffer: %d", err);
+ df->vkFreeCommandBuffers(dev, cmdPool, 1, &secondaryCb);
+ return VK_NULL_HANDLE;
+ }
+
+ return secondaryCb;
+}
+
+void QRhiVulkan::endAndEnqueueSecondaryCommandBuffer(VkCommandBuffer cb, QVkCommandBuffer *cbD)
+{
+ VkResult err = df->vkEndCommandBuffer(cb);
+ if (err != VK_SUCCESS)
+ qWarning("Failed to end secondary command buffer: %d", err);
+
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::ExecuteSecondary;
+ cmd.args.executeSecondary.cb = cb;
+ cbD->commands.append(cmd);
+
+ deferredReleaseSecondaryCommandBuffer(cb);
+}
+
+void QRhiVulkan::deferredReleaseSecondaryCommandBuffer(VkCommandBuffer cb)
+{
+ QRhiVulkan::DeferredReleaseEntry e;
+ e.type = QRhiVulkan::DeferredReleaseEntry::CommandBuffer;
+ e.lastActiveFrameSlot = currentFrameSlot;
+ e.commandBuffer.cb = cb;
+ releaseQueue.append(e);
+}
+
void QRhiVulkan::beginPass(QRhiCommandBuffer *cb,
QRhiRenderTarget *rt,
const QColor &colorClearValue,
@@ -2030,6 +2135,9 @@ void QRhiVulkan::beginPass(QRhiCommandBuffer *cb,
cmd.args.beginRenderPass.clearValueIndex = cbD->pools.clearValue.count();
cbD->pools.clearValue.append(cvs.constData(), cvs.count());
cbD->commands.append(cmd);
+
+ if (cbD->useSecondaryCb)
+ cbD->secondaryCbs.append(startSecondaryCommandBuffer(rtD));
}
void QRhiVulkan::endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates)
@@ -2037,6 +2145,13 @@ void QRhiVulkan::endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourc
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::RenderPass);
+ if (cbD->useSecondaryCb) {
+ VkCommandBuffer secondaryCb = cbD->secondaryCbs.last();
+ cbD->secondaryCbs.removeLast();
+ endAndEnqueueSecondaryCommandBuffer(secondaryCb, cbD);
+ cbD->resetCachedState();
+ }
+
QVkCommandBuffer::Command cmd;
cmd.cmd = QVkCommandBuffer::Command::EndRenderPass;
cbD->commands.append(cmd);
@@ -2059,6 +2174,9 @@ void QRhiVulkan::beginComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch
enqueueTransitionPassResources(cbD);
cbD->recordingPass = QVkCommandBuffer::ComputePass;
+
+ if (cbD->useSecondaryCb)
+ cbD->secondaryCbs.append(startSecondaryCommandBuffer());
}
void QRhiVulkan::endComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates)
@@ -2066,6 +2184,13 @@ void QRhiVulkan::endComputePass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::ComputePass);
+ if (cbD->useSecondaryCb) {
+ VkCommandBuffer secondaryCb = cbD->secondaryCbs.last();
+ cbD->secondaryCbs.removeLast();
+ endAndEnqueueSecondaryCommandBuffer(secondaryCb, cbD);
+ cbD->resetCachedState();
+ }
+
cbD->recordingPass = QVkCommandBuffer::NoPass;
if (resourceUpdates)
@@ -2080,11 +2205,15 @@ void QRhiVulkan::setComputePipeline(QRhiCommandBuffer *cb, QRhiComputePipeline *
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::ComputePass);
if (cbD->currentComputePipeline != ps || cbD->currentPipelineGeneration != psD->generation) {
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::BindPipeline;
- cmd.args.bindPipeline.bindPoint = VK_PIPELINE_BIND_POINT_COMPUTE;
- cmd.args.bindPipeline.pipeline = psD->pipeline;
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdBindPipeline(cbD->secondaryCbs.last(), VK_PIPELINE_BIND_POINT_COMPUTE, psD->pipeline);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::BindPipeline;
+ cmd.args.bindPipeline.bindPoint = VK_PIPELINE_BIND_POINT_COMPUTE;
+ cmd.args.bindPipeline.pipeline = psD->pipeline;
+ cbD->commands.append(cmd);
+ }
cbD->currentGraphicsPipeline = nullptr;
cbD->currentComputePipeline = ps;
@@ -2099,12 +2228,16 @@ void QRhiVulkan::dispatch(QRhiCommandBuffer *cb, int x, int y, int z)
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::ComputePass);
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::Dispatch;
- cmd.args.dispatch.x = x;
- cmd.args.dispatch.y = y;
- cmd.args.dispatch.z = z;
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdDispatch(cbD->secondaryCbs.last(), x, y, z);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::Dispatch;
+ cmd.args.dispatch.x = x;
+ cmd.args.dispatch.y = y;
+ cmd.args.dispatch.z = z;
+ cbD->commands.append(cmd);
+ }
}
VkShaderModule QRhiVulkan::createShader(const QByteArray &spirv)
@@ -3009,6 +3142,9 @@ void QRhiVulkan::executeDeferredReleases(bool forced)
case QRhiVulkan::DeferredReleaseEntry::StagingBuffer:
vmaDestroyBuffer(toVmaAllocator(allocator), e.stagingBuffer.stagingBuffer, toVmaAllocation(e.stagingBuffer.stagingAllocation));
break;
+ case QRhiVulkan::DeferredReleaseEntry::CommandBuffer:
+ df->vkFreeCommandBuffers(dev, cmdPool, 1, &e.commandBuffer.cb);
+ break;
default:
Q_UNREACHABLE();
break;
@@ -3109,14 +3245,15 @@ VkSampleCountFlagBits QRhiVulkan::effectiveSampleCount(int sampleCount)
void QRhiVulkan::enqueueTransitionPassResources(QVkCommandBuffer *cbD)
{
cbD->passResTrackers.append(QRhiPassResourceTracker());
+ cbD->currentPassResTrackerIndex = cbD->passResTrackers.count() - 1;
+
QVkCommandBuffer::Command cmd;
cmd.cmd = QVkCommandBuffer::Command::TransitionPassResources;
cmd.args.transitionResources.trackerIndex = cbD->passResTrackers.count() - 1;
cbD->commands.append(cmd);
- cbD->currentPassResTrackerIndex = cbD->passResTrackers.count() - 1;
}
-void QRhiVulkan::recordCommandBuffer(QVkCommandBuffer *cbD)
+void QRhiVulkan::recordPrimaryCommandBuffer(QVkCommandBuffer *cbD)
{
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::NoPass);
@@ -3161,7 +3298,8 @@ void QRhiVulkan::recordCommandBuffer(QVkCommandBuffer *cbD)
break;
case QVkCommandBuffer::Command::BeginRenderPass:
cmd.args.beginRenderPass.desc.pClearValues = cbD->pools.clearValue.constData() + cmd.args.beginRenderPass.clearValueIndex;
- df->vkCmdBeginRenderPass(cbD->cb, &cmd.args.beginRenderPass.desc, VK_SUBPASS_CONTENTS_INLINE);
+ df->vkCmdBeginRenderPass(cbD->cb, &cmd.args.beginRenderPass.desc,
+ cbD->useSecondaryCb ? VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS : VK_SUBPASS_CONTENTS_INLINE);
break;
case QVkCommandBuffer::Command::EndRenderPass:
df->vkCmdEndRenderPass(cbD->cb);
@@ -3214,13 +3352,15 @@ void QRhiVulkan::recordCommandBuffer(QVkCommandBuffer *cbD)
break;
case QVkCommandBuffer::Command::DebugMarkerBegin:
cmd.args.debugMarkerBegin.marker.pMarkerName =
- cbD->pools.debugMarkerName[cmd.args.debugMarkerBegin.markerNameIndex].constData();
+ cbD->pools.debugMarkerData[cmd.args.debugMarkerBegin.markerNameIndex].constData();
vkCmdDebugMarkerBegin(cbD->cb, &cmd.args.debugMarkerBegin.marker);
break;
case QVkCommandBuffer::Command::DebugMarkerEnd:
vkCmdDebugMarkerEnd(cbD->cb);
break;
case QVkCommandBuffer::Command::DebugMarkerInsert:
+ cmd.args.debugMarkerInsert.marker.pMarkerName =
+ cbD->pools.debugMarkerData[cmd.args.debugMarkerInsert.markerNameIndex].constData();
vkCmdDebugMarkerInsert(cbD->cb, &cmd.args.debugMarkerInsert.marker);
break;
case QVkCommandBuffer::Command::TransitionPassResources:
@@ -3229,12 +3369,13 @@ void QRhiVulkan::recordCommandBuffer(QVkCommandBuffer *cbD)
case QVkCommandBuffer::Command::Dispatch:
df->vkCmdDispatch(cbD->cb, cmd.args.dispatch.x, cmd.args.dispatch.y, cmd.args.dispatch.z);
break;
+ case QVkCommandBuffer::Command::ExecuteSecondary:
+ df->vkCmdExecuteCommands(cbD->cb, 1, &cmd.args.executeSecondary.cb);
+ break;
default:
break;
}
}
-
- cbD->resetCommands();
}
static inline VkAccessFlags toVkAccess(QRhiPassResourceTracker::BufferAccess access)
@@ -3651,11 +3792,15 @@ void QRhiVulkan::setGraphicsPipeline(QRhiCommandBuffer *cb, QRhiGraphicsPipeline
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::RenderPass);
if (cbD->currentGraphicsPipeline != ps || cbD->currentPipelineGeneration != psD->generation) {
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::BindPipeline;
- cmd.args.bindPipeline.bindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS;
- cmd.args.bindPipeline.pipeline = psD->pipeline;
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdBindPipeline(cbD->secondaryCbs.last(), VK_PIPELINE_BIND_POINT_GRAPHICS, psD->pipeline);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::BindPipeline;
+ cmd.args.bindPipeline.bindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS;
+ cmd.args.bindPipeline.pipeline = psD->pipeline;
+ cbD->commands.append(cmd);
+ }
cbD->currentGraphicsPipeline = ps;
cbD->currentComputePipeline = nullptr;
@@ -3853,16 +3998,25 @@ void QRhiVulkan::setShaderResources(QRhiCommandBuffer *cb, QRhiShaderResourceBin
}
}
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::BindDescriptorSet;
- cmd.args.bindDescriptorSet.bindPoint = gfxPsD ? VK_PIPELINE_BIND_POINT_GRAPHICS
- : VK_PIPELINE_BIND_POINT_COMPUTE;
- cmd.args.bindDescriptorSet.pipelineLayout = gfxPsD ? gfxPsD->layout : compPsD->layout;
- cmd.args.bindDescriptorSet.descSet = srbD->descSets[descSetIdx];
- cmd.args.bindDescriptorSet.dynamicOffsetCount = dynOfs.count();
- cmd.args.bindDescriptorSet.dynamicOffsetIndex = cbD->pools.dynamicOffset.count();
- cbD->pools.dynamicOffset.append(dynOfs.constData(), dynOfs.count());
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdBindDescriptorSets(cbD->secondaryCbs.last(),
+ gfxPsD ? VK_PIPELINE_BIND_POINT_GRAPHICS : VK_PIPELINE_BIND_POINT_COMPUTE,
+ gfxPsD ? gfxPsD->layout : compPsD->layout,
+ 0, 1, &srbD->descSets[descSetIdx],
+ dynOfs.count(),
+ dynOfs.count() ? dynOfs.constData() : nullptr);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::BindDescriptorSet;
+ cmd.args.bindDescriptorSet.bindPoint = gfxPsD ? VK_PIPELINE_BIND_POINT_GRAPHICS
+ : VK_PIPELINE_BIND_POINT_COMPUTE;
+ cmd.args.bindDescriptorSet.pipelineLayout = gfxPsD ? gfxPsD->layout : compPsD->layout;
+ cmd.args.bindDescriptorSet.descSet = srbD->descSets[descSetIdx];
+ cmd.args.bindDescriptorSet.dynamicOffsetCount = dynOfs.count();
+ cmd.args.bindDescriptorSet.dynamicOffsetIndex = cbD->pools.dynamicOffset.count();
+ cbD->pools.dynamicOffset.append(dynOfs.constData(), dynOfs.count());
+ cbD->commands.append(cmd);
+ }
if (gfxPsD) {
cbD->currentGraphicsSrb = srb;
@@ -3918,15 +4072,20 @@ void QRhiVulkan::setVertexInput(QRhiCommandBuffer *cb,
QRhiPassResourceTracker::BufVertexInputStage);
}
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::BindVertexBuffer;
- cmd.args.bindVertexBuffer.startBinding = startBinding;
- cmd.args.bindVertexBuffer.count = bufs.count();
- cmd.args.bindVertexBuffer.vertexBufferIndex = cbD->pools.vertexBuffer.count();
- cbD->pools.vertexBuffer.append(bufs.constData(), bufs.count());
- cmd.args.bindVertexBuffer.vertexBufferOffsetIndex = cbD->pools.vertexBufferOffset.count();
- cbD->pools.vertexBufferOffset.append(ofs.constData(), ofs.count());
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdBindVertexBuffers(cbD->secondaryCbs.last(), startBinding,
+ bufs.count(), bufs.constData(), ofs.constData());
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::BindVertexBuffer;
+ cmd.args.bindVertexBuffer.startBinding = startBinding;
+ cmd.args.bindVertexBuffer.count = bufs.count();
+ cmd.args.bindVertexBuffer.vertexBufferIndex = cbD->pools.vertexBuffer.count();
+ cbD->pools.vertexBuffer.append(bufs.constData(), bufs.count());
+ cmd.args.bindVertexBuffer.vertexBufferOffsetIndex = cbD->pools.vertexBufferOffset.count();
+ cbD->pools.vertexBufferOffset.append(ofs.constData(), ofs.count());
+ cbD->commands.append(cmd);
+ }
}
if (indexBuf) {
@@ -3949,12 +4108,16 @@ void QRhiVulkan::setVertexInput(QRhiCommandBuffer *cb,
cbD->currentIndexOffset = indexOffset;
cbD->currentIndexFormat = type;
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::BindIndexBuffer;
- cmd.args.bindIndexBuffer.buf = vkindexbuf;
- cmd.args.bindIndexBuffer.ofs = indexOffset;
- cmd.args.bindIndexBuffer.type = type;
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdBindIndexBuffer(cbD->secondaryCbs.last(), vkindexbuf, indexOffset, type);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::BindIndexBuffer;
+ cmd.args.bindIndexBuffer.buf = vkindexbuf;
+ cmd.args.bindIndexBuffer.ofs = indexOffset;
+ cmd.args.bindIndexBuffer.type = type;
+ cbD->commands.append(cmd);
+ }
trackedRegisterBuffer(&passResTracker, ibufD, slot,
QRhiPassResourceTracker::BufIndexRead,
@@ -3975,7 +4138,6 @@ void QRhiVulkan::setViewport(QRhiCommandBuffer *cb, const QRhiViewport &viewport
return;
QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::SetViewport;
VkViewport *vp = &cmd.args.setViewport.viewport;
vp->x = x;
vp->y = y;
@@ -3983,16 +4145,26 @@ void QRhiVulkan::setViewport(QRhiCommandBuffer *cb, const QRhiViewport &viewport
vp->height = h;
vp->minDepth = viewport.minDepth();
vp->maxDepth = viewport.maxDepth();
- cbD->commands.append(cmd);
+
+ if (cbD->useSecondaryCb) {
+ df->vkCmdSetViewport(cbD->secondaryCbs.last(), 0, 1, vp);
+ } else {
+ cmd.cmd = QVkCommandBuffer::Command::SetViewport;
+ cbD->commands.append(cmd);
+ }
if (!QRHI_RES(QVkGraphicsPipeline, cbD->currentGraphicsPipeline)->m_flags.testFlag(QRhiGraphicsPipeline::UsesScissor)) {
- cmd.cmd = QVkCommandBuffer::Command::SetScissor;
VkRect2D *s = &cmd.args.setScissor.scissor;
s->offset.x = x;
s->offset.y = y;
s->extent.width = w;
s->extent.height = h;
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdSetScissor(cbD->secondaryCbs.last(), 0, 1, s);
+ } else {
+ cmd.cmd = QVkCommandBuffer::Command::SetScissor;
+ cbD->commands.append(cmd);
+ }
}
}
@@ -4009,13 +4181,18 @@ void QRhiVulkan::setScissor(QRhiCommandBuffer *cb, const QRhiScissor &scissor)
return;
QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::SetScissor;
VkRect2D *s = &cmd.args.setScissor.scissor;
s->offset.x = x;
s->offset.y = y;
s->extent.width = w;
s->extent.height = h;
- cbD->commands.append(cmd);
+
+ if (cbD->useSecondaryCb) {
+ df->vkCmdSetScissor(cbD->secondaryCbs.last(), 0, 1, s);
+ } else {
+ cmd.cmd = QVkCommandBuffer::Command::SetScissor;
+ cbD->commands.append(cmd);
+ }
}
void QRhiVulkan::setBlendConstants(QRhiCommandBuffer *cb, const QColor &c)
@@ -4023,13 +4200,18 @@ void QRhiVulkan::setBlendConstants(QRhiCommandBuffer *cb, const QColor &c)
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::RenderPass);
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::SetBlendConstants;
- cmd.args.setBlendConstants.c[0] = c.redF();
- cmd.args.setBlendConstants.c[1] = c.greenF();
- cmd.args.setBlendConstants.c[2] = c.blueF();
- cmd.args.setBlendConstants.c[3] = c.alphaF();
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ float constants[] = { float(c.redF()), float(c.greenF()), float(c.blueF()), float(c.alphaF()) };
+ df->vkCmdSetBlendConstants(cbD->secondaryCbs.last(), constants);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::SetBlendConstants;
+ cmd.args.setBlendConstants.c[0] = c.redF();
+ cmd.args.setBlendConstants.c[1] = c.greenF();
+ cmd.args.setBlendConstants.c[2] = c.blueF();
+ cmd.args.setBlendConstants.c[3] = c.alphaF();
+ cbD->commands.append(cmd);
+ }
}
void QRhiVulkan::setStencilRef(QRhiCommandBuffer *cb, quint32 refValue)
@@ -4037,10 +4219,14 @@ void QRhiVulkan::setStencilRef(QRhiCommandBuffer *cb, quint32 refValue)
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::RenderPass);
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::SetStencilRef;
- cmd.args.setStencilRef.ref = refValue;
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdSetStencilReference(cbD->secondaryCbs.last(), VK_STENCIL_FRONT_AND_BACK, refValue);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::SetStencilRef;
+ cmd.args.setStencilRef.ref = refValue;
+ cbD->commands.append(cmd);
+ }
}
void QRhiVulkan::draw(QRhiCommandBuffer *cb, quint32 vertexCount,
@@ -4049,13 +4235,17 @@ void QRhiVulkan::draw(QRhiCommandBuffer *cb, quint32 vertexCount,
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::RenderPass);
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::Draw;
- cmd.args.draw.vertexCount = vertexCount;
- cmd.args.draw.instanceCount = instanceCount;
- cmd.args.draw.firstVertex = firstVertex;
- cmd.args.draw.firstInstance = firstInstance;
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdDraw(cbD->secondaryCbs.last(), vertexCount, instanceCount, firstVertex, firstInstance);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::Draw;
+ cmd.args.draw.vertexCount = vertexCount;
+ cmd.args.draw.instanceCount = instanceCount;
+ cmd.args.draw.firstVertex = firstVertex;
+ cmd.args.draw.firstInstance = firstInstance;
+ cbD->commands.append(cmd);
+ }
}
void QRhiVulkan::drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount,
@@ -4064,14 +4254,19 @@ void QRhiVulkan::drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount,
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
Q_ASSERT(cbD->recordingPass == QVkCommandBuffer::RenderPass);
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::DrawIndexed;
- cmd.args.drawIndexed.indexCount = indexCount;
- cmd.args.drawIndexed.instanceCount = instanceCount;
- cmd.args.drawIndexed.firstIndex = firstIndex;
- cmd.args.drawIndexed.vertexOffset = vertexOffset;
- cmd.args.drawIndexed.firstInstance = firstInstance;
- cbD->commands.append(cmd);
+ if (cbD->useSecondaryCb) {
+ df->vkCmdDrawIndexed(cbD->secondaryCbs.last(), indexCount, instanceCount,
+ firstIndex, vertexOffset, firstInstance);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::DrawIndexed;
+ cmd.args.drawIndexed.indexCount = indexCount;
+ cmd.args.drawIndexed.instanceCount = instanceCount;
+ cmd.args.drawIndexed.firstIndex = firstIndex;
+ cmd.args.drawIndexed.vertexOffset = vertexOffset;
+ cmd.args.drawIndexed.firstInstance = firstInstance;
+ cbD->commands.append(cmd);
+ }
}
void QRhiVulkan::debugMarkBegin(QRhiCommandBuffer *cb, const QByteArray &name)
@@ -4084,12 +4279,17 @@ void QRhiVulkan::debugMarkBegin(QRhiCommandBuffer *cb, const QByteArray &name)
marker.sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::DebugMarkerBegin;
- cmd.args.debugMarkerBegin.marker = marker;
- cmd.args.debugMarkerBegin.markerNameIndex = cbD->pools.debugMarkerName.count();
- cbD->pools.debugMarkerName.append(name);
- cbD->commands.append(cmd);
+ if (cbD->recordingPass != QVkCommandBuffer::NoPass && cbD->useSecondaryCb) {
+ marker.pMarkerName = name.constData();
+ vkCmdDebugMarkerBegin(cbD->secondaryCbs.last(), &marker);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::DebugMarkerBegin;
+ cmd.args.debugMarkerBegin.marker = marker;
+ cmd.args.debugMarkerBegin.markerNameIndex = cbD->pools.debugMarkerData.count();
+ cbD->pools.debugMarkerData.append(name);
+ cbD->commands.append(cmd);
+ }
}
void QRhiVulkan::debugMarkEnd(QRhiCommandBuffer *cb)
@@ -4098,9 +4298,13 @@ void QRhiVulkan::debugMarkEnd(QRhiCommandBuffer *cb)
return;
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::DebugMarkerEnd;
- cbD->commands.append(cmd);
+ if (cbD->recordingPass != QVkCommandBuffer::NoPass && cbD->useSecondaryCb) {
+ vkCmdDebugMarkerEnd(cbD->secondaryCbs.last());
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::DebugMarkerEnd;
+ cbD->commands.append(cmd);
+ }
}
void QRhiVulkan::debugMarkMsg(QRhiCommandBuffer *cb, const QByteArray &msg)
@@ -4111,13 +4315,19 @@ void QRhiVulkan::debugMarkMsg(QRhiCommandBuffer *cb, const QByteArray &msg)
VkDebugMarkerMarkerInfoEXT marker;
memset(&marker, 0, sizeof(marker));
marker.sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
- marker.pMarkerName = msg.constData();
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
- QVkCommandBuffer::Command cmd;
- cmd.cmd = QVkCommandBuffer::Command::DebugMarkerInsert;
- cmd.args.debugMarkerInsert.marker = marker;
- cbD->commands.append(cmd);
+ if (cbD->recordingPass != QVkCommandBuffer::NoPass && cbD->useSecondaryCb) {
+ marker.pMarkerName = msg.constData();
+ vkCmdDebugMarkerInsert(cbD->secondaryCbs.last(), &marker);
+ } else {
+ QVkCommandBuffer::Command cmd;
+ cmd.cmd = QVkCommandBuffer::Command::DebugMarkerInsert;
+ cmd.args.debugMarkerInsert.marker = marker;
+ cmd.args.debugMarkerInsert.markerNameIndex = cbD->pools.debugMarkerData.count();
+ cbD->pools.debugMarkerData.append(msg);
+ cbD->commands.append(cmd);
+ }
}
const QRhiNativeHandles *QRhiVulkan::nativeHandles(QRhiCommandBuffer *cb)
@@ -4125,14 +4335,76 @@ const QRhiNativeHandles *QRhiVulkan::nativeHandles(QRhiCommandBuffer *cb)
return QRHI_RES(QVkCommandBuffer, cb)->nativeHandles();
}
+static inline QVkRenderTargetData *maybeRenderTargetData(QVkCommandBuffer *cbD)
+{
+ Q_ASSERT(cbD->currentTarget);
+ QVkRenderTargetData *rtD = nullptr;
+ if (cbD->recordingPass == QVkCommandBuffer::RenderPass) {
+ switch (cbD->currentTarget->resourceType()) {
+ case QRhiResource::RenderTarget:
+ rtD = &QRHI_RES(QVkReferenceRenderTarget, cbD->currentTarget)->d;
+ break;
+ case QRhiResource::TextureRenderTarget:
+ rtD = &QRHI_RES(QVkTextureRenderTarget, cbD->currentTarget)->d;
+ break;
+ default:
+ Q_UNREACHABLE();
+ break;
+ }
+ }
+ return rtD;
+}
+
void QRhiVulkan::beginExternal(QRhiCommandBuffer *cb)
{
- Q_UNUSED(cb);
+ QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
+
+ // When not in a pass, it is simple: record what we have (but do not
+ // submit), the cb can then be used to record more external commands.
+ if (cbD->recordingPass == QVkCommandBuffer::NoPass) {
+ recordPrimaryCommandBuffer(cbD);
+ cbD->resetCommands();
+ return;
+ }
+
+ // Otherwise, inside a pass, have a secondary command buffer (with
+ // RENDER_PASS_CONTINUE). Using the main one is not acceptable since we
+ // cannot just record at this stage, that would mess up the resource
+ // tracking and commands like TransitionPassResources.
+
+ if (cbD->inExternal)
+ return;
+
+ if (!cbD->useSecondaryCb) {
+ qWarning("beginExternal() within a pass is only supported with secondary command buffers. "
+ "This can be enabled by passing QRhi::ExternalContentsInPass to beginFrame().");
+ return;
+ }
+
+ VkCommandBuffer secondaryCb = cbD->secondaryCbs.last();
+ cbD->secondaryCbs.removeLast();
+ endAndEnqueueSecondaryCommandBuffer(secondaryCb, cbD);
+
+ VkCommandBuffer extCb = startSecondaryCommandBuffer(maybeRenderTargetData(cbD));
+ if (extCb) {
+ cbD->secondaryCbs.append(extCb);
+ cbD->inExternal = true;
+ }
}
void QRhiVulkan::endExternal(QRhiCommandBuffer *cb)
{
QVkCommandBuffer *cbD = QRHI_RES(QVkCommandBuffer, cb);
+
+ if (cbD->recordingPass == QVkCommandBuffer::NoPass) {
+ Q_ASSERT(cbD->commands.isEmpty() && cbD->currentPassResTrackerIndex == -1);
+ } else if (cbD->inExternal) {
+ VkCommandBuffer extCb = cbD->secondaryCbs.last();
+ cbD->secondaryCbs.removeLast();
+ endAndEnqueueSecondaryCommandBuffer(extCb, cbD);
+ cbD->secondaryCbs.append(startSecondaryCommandBuffer(maybeRenderTargetData(cbD)));
+ }
+
cbD->resetCachedState();
}
@@ -5094,6 +5366,12 @@ void QVkRenderPassDescriptor::release()
rhiD->unregisterResource(this);
}
+const QRhiNativeHandles *QVkRenderPassDescriptor::nativeHandles()
+{
+ nativeHandlesStruct.renderPass = rp;
+ return &nativeHandlesStruct;
+}
+
QVkReferenceRenderTarget::QVkReferenceRenderTarget(QRhiImplementation *rhi)
: QRhiRenderTarget(rhi)
{
@@ -5782,6 +6060,22 @@ void QVkCommandBuffer::release()
// nothing to do here, cb is not owned by us
}
+const QRhiNativeHandles *QVkCommandBuffer::nativeHandles()
+{
+ // Ok this is messy but no other way has been devised yet. Outside
+ // begin(Compute)Pass - end(Compute)Pass it is simple - just return the
+ // primary VkCommandBuffer. Inside, however, we need to provide the current
+ // secondary command buffer (typically the one started by beginExternal(),
+ // in case we are between beginExternal - endExternal inside a pass).
+
+ if (useSecondaryCb && !secondaryCbs.isEmpty())
+ nativeHandlesStruct.commandBuffer = secondaryCbs.last();
+ else
+ nativeHandlesStruct.commandBuffer = cb;
+
+ return &nativeHandlesStruct;
+}
+
QVkSwapChain::QVkSwapChain(QRhiImplementation *rhi)
: QRhiSwapChain(rhi),
rtWrapper(rhi),
diff --git a/src/gui/rhi/qrhivulkan_p.h b/src/gui/rhi/qrhivulkan_p.h
index 545ef5ad72..ff19c7a54e 100644
--- a/src/gui/rhi/qrhivulkan_p.h
+++ b/src/gui/rhi/qrhivulkan_p.h
@@ -80,6 +80,11 @@ struct Q_GUI_EXPORT QRhiVulkanCommandBufferNativeHandles : public QRhiNativeHand
VkCommandBuffer commandBuffer = VK_NULL_HANDLE;
};
+struct Q_GUI_EXPORT QRhiVulkanRenderPassNativeHandles : public QRhiNativeHandles
+{
+ VkRenderPass renderPass = VK_NULL_HANDLE;
+};
+
QT_END_NAMESPACE
#endif
diff --git a/src/gui/rhi/qrhivulkan_p_p.h b/src/gui/rhi/qrhivulkan_p_p.h
index 31e0eaa585..962a1b8eb7 100644
--- a/src/gui/rhi/qrhivulkan_p_p.h
+++ b/src/gui/rhi/qrhivulkan_p_p.h
@@ -171,9 +171,11 @@ struct QVkRenderPassDescriptor : public QRhiRenderPassDescriptor
QVkRenderPassDescriptor(QRhiImplementation *rhi);
~QVkRenderPassDescriptor();
void release() override;
+ const QRhiNativeHandles *nativeHandles() override;
VkRenderPass rp = VK_NULL_HANDLE;
bool ownsRp = false;
+ QRhiVulkanRenderPassNativeHandles nativeHandlesStruct;
int lastActiveFrameSlot = -1;
};
@@ -307,13 +309,11 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
~QVkCommandBuffer();
void release() override;
- VkCommandBuffer cb = VK_NULL_HANDLE;
- QRhiVulkanCommandBufferNativeHandles nativeHandlesStruct;
+ const QRhiNativeHandles *nativeHandles();
- const QRhiNativeHandles *nativeHandles() {
- nativeHandlesStruct.commandBuffer = cb;
- return &nativeHandlesStruct;
- }
+ VkCommandBuffer cb = VK_NULL_HANDLE; // primary
+ bool useSecondaryCb = false;
+ QRhiVulkanCommandBufferNativeHandles nativeHandlesStruct;
enum PassType {
NoPass,
@@ -322,9 +322,12 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
};
void resetState() {
- resetCommands();
recordingPass = NoPass;
currentTarget = nullptr;
+
+ secondaryCbs.clear();
+
+ resetCommands();
resetCachedState();
}
@@ -341,6 +344,7 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
currentIndexFormat = VK_INDEX_TYPE_UINT16;
memset(currentVertexBuffers, 0, sizeof(currentVertexBuffers));
memset(currentVertexOffsets, 0, sizeof(currentVertexOffsets));
+ inExternal = false;
}
PassType recordingPass;
@@ -358,6 +362,8 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
static const int VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32;
VkBuffer currentVertexBuffers[VERTEX_INPUT_RESOURCE_SLOT_COUNT];
quint32 currentVertexOffsets[VERTEX_INPUT_RESOURCE_SLOT_COUNT];
+ QVarLengthArray<VkCommandBuffer, 4> secondaryCbs;
+ bool inExternal;
struct Command {
enum Cmd {
@@ -384,7 +390,8 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
DebugMarkerEnd,
DebugMarkerInsert,
TransitionPassResources,
- Dispatch
+ Dispatch,
+ ExecuteSecondary
};
Cmd cmd;
@@ -493,6 +500,7 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
} debugMarkerEnd;
struct {
VkDebugMarkerMarkerInfoEXT marker;
+ int markerNameIndex;
} debugMarkerInsert;
struct {
int trackerIndex;
@@ -500,6 +508,9 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
struct {
int x, y, z;
} dispatch;
+ struct {
+ VkCommandBuffer cb;
+ } executeSecondary;
} args;
};
QVector<Command> commands;
@@ -508,9 +519,10 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
void resetCommands() {
commands.clear();
+ resetPools();
+
passResTrackers.clear();
currentPassResTrackerIndex = -1;
- resetPools();
}
void resetPools() {
@@ -519,7 +531,7 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
pools.dynamicOffset.clear();
pools.vertexBuffer.clear();
pools.vertexBufferOffset.clear();
- pools.debugMarkerName.clear();
+ pools.debugMarkerData.clear();
}
struct {
@@ -528,7 +540,7 @@ struct QVkCommandBuffer : public QRhiCommandBuffer
QVarLengthArray<uint32_t, 4> dynamicOffset;
QVarLengthArray<VkBuffer, 4> vertexBuffer;
QVarLengthArray<VkDeviceSize, 4> vertexBufferOffset;
- QVarLengthArray<QByteArray, 4> debugMarkerName;
+ QVarLengthArray<QByteArray, 4> debugMarkerData;
} pools;
friend class QRhiVulkan;
@@ -592,7 +604,7 @@ struct QVkSwapChain : public QRhiSwapChain
bool imageAcquired = false;
bool imageSemWaitable = false;
quint32 imageIndex = 0;
- VkCommandBuffer cmdBuf = VK_NULL_HANDLE;
+ VkCommandBuffer cmdBuf = VK_NULL_HANDLE; // primary
VkFence cmdFence = VK_NULL_HANDLE;
bool cmdFenceWaitable = false;
int timestampQueryIndex = -1;
@@ -637,8 +649,8 @@ public:
QRhiSwapChain *createSwapChain() override;
QRhi::FrameOpResult beginFrame(QRhiSwapChain *swapChain, QRhi::BeginFrameFlags flags) override;
QRhi::FrameOpResult endFrame(QRhiSwapChain *swapChain, QRhi::EndFrameFlags flags) override;
- QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb) override;
- QRhi::FrameOpResult endOffscreenFrame() override;
+ QRhi::FrameOpResult beginOffscreenFrame(QRhiCommandBuffer **cb, QRhi::BeginFrameFlags flags) override;
+ QRhi::FrameOpResult endOffscreenFrame(QRhi::EndFrameFlags flags) override;
QRhi::FrameOpResult finish() override;
void resourceUpdate(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates) override;
@@ -727,9 +739,12 @@ public:
VkShaderModule createShader(const QByteArray &spirv);
void prepareNewFrame(QRhiCommandBuffer *cb);
- QRhi::FrameOpResult startCommandBuffer(VkCommandBuffer *cb);
- QRhi::FrameOpResult endAndSubmitCommandBuffer(VkCommandBuffer cb, VkFence cmdFence,
- VkSemaphore *waitSem, VkSemaphore *signalSem);
+ VkCommandBuffer startSecondaryCommandBuffer(QVkRenderTargetData *rtD = nullptr);
+ void endAndEnqueueSecondaryCommandBuffer(VkCommandBuffer cb, QVkCommandBuffer *cbD);
+ void deferredReleaseSecondaryCommandBuffer(VkCommandBuffer cb);
+ QRhi::FrameOpResult startPrimaryCommandBuffer(VkCommandBuffer *cb);
+ QRhi::FrameOpResult endAndSubmitPrimaryCommandBuffer(VkCommandBuffer cb, VkFence cmdFence,
+ VkSemaphore *waitSem, VkSemaphore *signalSem);
void waitCommandCompletion(int frameSlot);
VkDeviceSize subresUploadByteSize(const QRhiTextureSubresourceUploadDescription &subresDesc) const;
using BufferImageCopyList = QVarLengthArray<VkBufferImageCopy, 16>;
@@ -740,7 +755,7 @@ public:
void enqueueResourceUpdates(QVkCommandBuffer *cbD, QRhiResourceUpdateBatch *resourceUpdates);
void executeBufferHostWritesForCurrentFrame(QVkBuffer *bufD);
void enqueueTransitionPassResources(QVkCommandBuffer *cbD);
- void recordCommandBuffer(QVkCommandBuffer *cbD);
+ void recordPrimaryCommandBuffer(QVkCommandBuffer *cbD);
void trackedRegisterBuffer(QRhiPassResourceTracker *passResTracker,
QVkBuffer *bufD,
int slot,
@@ -856,7 +871,8 @@ public:
Sampler,
TextureRenderTarget,
RenderPass,
- StagingBuffer
+ StagingBuffer,
+ CommandBuffer
};
Type type;
int lastActiveFrameSlot; // -1 if not used otherwise 0..FRAMES_IN_FLIGHT-1
@@ -903,6 +919,9 @@ public:
VkBuffer stagingBuffer;
QVkAlloc stagingAllocation;
} stagingBuffer;
+ struct {
+ VkCommandBuffer cb;
+ } commandBuffer;
};
};
QVector<DeferredReleaseEntry> releaseQueue;
diff --git a/src/gui/rhi/qshader.cpp b/src/gui/rhi/qshader.cpp
index 9098180f69..72ce53c87a 100644
--- a/src/gui/rhi/qshader.cpp
+++ b/src/gui/rhi/qshader.cpp
@@ -42,7 +42,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QShader
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Contains multiple versions of a shader translated to multiple shading languages,
together with reflection metadata.
@@ -134,7 +135,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QShaderVersion
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Specifies the shading language version.
@@ -171,7 +173,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QShaderKey
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Specifies the shading language, the version with flags, and the variant.
@@ -202,7 +205,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QShaderCode
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Contains source or binary code for a shader and additional metadata.
diff --git a/src/gui/rhi/qshaderdescription.cpp b/src/gui/rhi/qshaderdescription.cpp
index 77aceaddba..c38a83c497 100644
--- a/src/gui/rhi/qshaderdescription.cpp
+++ b/src/gui/rhi/qshaderdescription.cpp
@@ -43,7 +43,8 @@ QT_BEGIN_NAMESPACE
/*!
\class QShaderDescription
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes the interface of a shader.
@@ -231,21 +232,24 @@ QT_BEGIN_NAMESPACE
/*!
\class QShaderDescription::InOutVariable
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes an input or output variable in the shader.
*/
/*!
\class QShaderDescription::BlockVariable
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes a member of a uniform or push constant block.
*/
/*!
\class QShaderDescription::UniformBlock
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes a uniform block.
@@ -257,14 +261,16 @@ QT_BEGIN_NAMESPACE
/*!
\class QShaderDescription::PushConstantBlock
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes a push constant block.
*/
/*!
\class QShaderDescription::StorageBlock
- \inmodule QtRhi
+ \internal
+ \inmodule QtGui
\brief Describes a shader storage block.
*/
diff --git a/src/gui/text/AGLFN_LICENSE.txt b/src/gui/text/AGLFN_LICENSE.txt
new file mode 100644
index 0000000000..50abffca15
--- /dev/null
+++ b/src/gui/text/AGLFN_LICENSE.txt
@@ -0,0 +1,26 @@
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+Neither the name of Adobe Systems Incorporated nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/src/gui/text/qcssparser.cpp b/src/gui/text/qcssparser.cpp
index b5489c7ed9..ce7c7610c1 100644
--- a/src/gui/text/qcssparser.cpp
+++ b/src/gui/text/qcssparser.cpp
@@ -92,6 +92,7 @@ static const QCssKnownValue properties[NumProperties - 1] = {
{ "border-bottom-right-radius", BorderBottomRightRadius },
{ "border-bottom-style", BorderBottomStyle },
{ "border-bottom-width", BorderBottomWidth },
+ { "border-collapse", BorderCollapse },
{ "border-color", BorderColor },
{ "border-image", BorderImage },
{ "border-left", BorderLeft },
@@ -222,6 +223,7 @@ static const QCssKnownValue values[NumKnownValues - 1] = {
{ "outset", Value_Outset },
{ "overline", Value_Overline },
{ "pre", Value_Pre },
+ { "pre-line", Value_PreLine },
{ "pre-wrap", Value_PreWrap },
{ "ridge", Value_Ridge },
{ "right", Value_Right },
@@ -248,10 +250,10 @@ static const QCssKnownValue values[NumKnownValues - 1] = {
};
//Map id to strings as they appears in the 'values' array above
-static const short indexOfId[NumKnownValues] = { 0, 41, 48, 42, 49, 54, 35, 26, 70, 71, 25, 43, 5, 63, 47,
- 29, 58, 59, 27, 51, 61, 6, 10, 39, 56, 19, 13, 17, 18, 20, 21, 50, 24, 46, 67, 37, 3, 2, 40, 62, 16,
- 11, 57, 14, 32, 64, 33, 65, 55, 66, 34, 69, 8, 28, 38, 12, 36, 60, 7, 9, 4, 68, 53, 22, 23, 30, 31,
- 1, 15, 0, 52, 45, 44 };
+static const short indexOfId[NumKnownValues] = { 0, 41, 48, 42, 49, 50, 55, 35, 26, 71, 72, 25, 43, 5, 64, 48,
+ 29, 59, 60, 27, 52, 62, 6, 10, 39, 56, 19, 13, 17, 18, 20, 21, 51, 24, 46, 68, 37, 3, 2, 40, 63, 16,
+ 11, 58, 14, 32, 65, 33, 66, 56, 67, 34, 70, 8, 28, 38, 12, 36, 61, 7, 9, 4, 69, 54, 22, 23, 30, 31,
+ 1, 15, 0, 53, 45, 44 };
QString Value::toString() const
{
@@ -610,11 +612,7 @@ bool ValueExtractor::extractBorder(int *borders, QBrush *colors, BorderStyle *st
case BorderRightStyle: styles[RightEdge] = decl.styleValue(); break;
case BorderStyles: decl.styleValues(styles); break;
-#ifndef QT_OS_ANDROID_GCC_48_WORKAROUND
case BorderTopLeftRadius: radii[0] = sizeValue(decl); break;
-#else
- case BorderTopLeftRadius: new(radii)QSize(sizeValue(decl)); break;
-#endif
case BorderTopRightRadius: radii[1] = sizeValue(decl); break;
case BorderBottomLeftRadius: radii[2] = sizeValue(decl); break;
case BorderBottomRightRadius: radii[3] = sizeValue(decl); break;
@@ -1731,6 +1729,14 @@ void Declaration::borderImageValue(QString *image, int *cuts,
*h = *v;
}
+bool Declaration::borderCollapseValue() const
+{
+ if (d->values.count() != 1)
+ return false;
+ else
+ return d->values.at(0).toString() == QLatin1String("collapse");
+}
+
QIcon Declaration::iconValue() const
{
if (d->parsed.isValid())
diff --git a/src/gui/text/qcssparser_p.h b/src/gui/text/qcssparser_p.h
index b0fa4be682..ab85e76cf3 100644
--- a/src/gui/text/qcssparser_p.h
+++ b/src/gui/text/qcssparser_p.h
@@ -122,6 +122,7 @@ enum Property {
BorderRight,
BorderTop,
BorderBottom,
+ BorderCollapse,
Padding,
PaddingLeft,
PaddingRight,
@@ -205,6 +206,7 @@ enum KnownValue {
Value_Normal,
Value_Pre,
Value_NoWrap,
+ Value_PreLine,
Value_PreWrap,
Value_Small,
Value_Medium,
@@ -477,6 +479,7 @@ struct Q_GUI_EXPORT Declaration
QIcon iconValue() const;
void borderImageValue(QString *image, int *cuts, TileMode *h, TileMode *v) const;
+ bool borderCollapseValue() const;
};
QT_CSS_DECLARE_TYPEINFO(Declaration, Q_MOVABLE_TYPE)
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index 97e73f0723..3c1a052f37 100644
--- a/src/gui/text/qfont.cpp
+++ b/src/gui/text/qfont.cpp
@@ -180,14 +180,14 @@ Q_GUI_EXPORT int qt_defaultDpi()
}
QFontPrivate::QFontPrivate()
- : engineData(0), dpi(qt_defaultDpi()), screen(0),
+ : engineData(0), dpi(qt_defaultDpi()),
underline(false), overline(false), strikeOut(false), kerning(true),
capital(0), letterSpacingIsAbsolute(false), scFont(0)
{
}
QFontPrivate::QFontPrivate(const QFontPrivate &other)
- : request(other.request), engineData(0), dpi(other.dpi), screen(other.screen),
+ : request(other.request), engineData(0), dpi(other.dpi),
underline(other.underline), overline(other.overline),
strikeOut(other.strikeOut), kerning(other.kerning),
capital(other.capital), letterSpacingIsAbsolute(other.letterSpacingIsAbsolute),
@@ -581,11 +581,9 @@ QFont::QFont(const QFont &font, const QPaintDevice *pd)
{
Q_ASSERT(pd);
const int dpi = pd->logicalDpiY();
- const int screen = 0;
- if (font.d->dpi != dpi || font.d->screen != screen ) {
+ if (font.d->dpi != dpi) {
d = new QFontPrivate(*font.d);
d->dpi = dpi;
- d->screen = screen;
} else {
d = font.d;
}
diff --git a/src/gui/text/qfont_p.h b/src/gui/text/qfont_p.h
index 466e19e9cc..adbb7a0121 100644
--- a/src/gui/text/qfont_p.h
+++ b/src/gui/text/qfont_p.h
@@ -185,7 +185,6 @@ public:
QFontDef request;
mutable QFontEngineData *engineData;
int dpi;
- int screen;
uint underline : 1;
uint overline : 1;
@@ -230,19 +229,17 @@ public:
void clear();
struct Key {
- Key() : script(0), multi(0), screen(0) { }
- Key(const QFontDef &d, uchar c, bool m = 0, uchar s = 0)
- : def(d), script(c), multi(m), screen(s) { }
+ Key() : script(0), multi(0) { }
+ Key(const QFontDef &d, uchar c, bool m = 0)
+ : def(d), script(c), multi(m) { }
QFontDef def;
uchar script;
uchar multi: 1;
- uchar screen: 7;
inline bool operator<(const Key &other) const
{
if (script != other.script) return script < other.script;
- if (screen != other.screen) return screen < other.screen;
if (multi != other.multi) return multi < other.multi;
if (multi && def.fallBackFamilies.size() != other.def.fallBackFamilies.size())
return def.fallBackFamilies.size() < other.def.fallBackFamilies.size();
@@ -251,7 +248,6 @@ public:
inline bool operator==(const Key &other) const
{
return script == other.script
- && screen == other.screen
&& multi == other.multi
&& (!multi || def.fallBackFamilies == other.def.fallBackFamilies)
&& def == other.def;
diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp
index 4198df6e43..403a0510fa 100644
--- a/src/gui/text/qfontengine.cpp
+++ b/src/gui/text/qfontengine.cpp
@@ -923,29 +923,10 @@ QFixed QFontEngine::subPixelPositionForX(QFixed x) const
return subPixelPosition;
}
-QImage *QFontEngine::lockedAlphaMapForGlyph(glyph_t glyph, QFixed subPixelPosition,
- QFontEngine::GlyphFormat neededFormat,
- const QTransform &t, QPoint *offset)
+QFontEngine::Glyph *QFontEngine::glyphData(glyph_t, QFixed,
+ QFontEngine::GlyphFormat, const QTransform &)
{
- Q_ASSERT(currentlyLockedAlphaMap.isNull());
- if (neededFormat == Format_None)
- neededFormat = Format_A32;
-
- if (neededFormat != Format_A32)
- currentlyLockedAlphaMap = alphaMapForGlyph(glyph, subPixelPosition, t);
- else
- currentlyLockedAlphaMap = alphaRGBMapForGlyph(glyph, subPixelPosition, t);
-
- if (offset != 0)
- *offset = QPoint(0, 0);
-
- return &currentlyLockedAlphaMap;
-}
-
-void QFontEngine::unlockAlphaMapForGlyph()
-{
- Q_ASSERT(!currentlyLockedAlphaMap.isNull());
- currentlyLockedAlphaMap = QImage();
+ return nullptr;
}
QImage QFontEngine::alphaMapForGlyph(glyph_t glyph)
diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h
index e20b52cb65..a5c78d5372 100644
--- a/src/gui/text/qfontengine_p.h
+++ b/src/gui/text/qfontengine_p.h
@@ -123,6 +123,22 @@ public:
};
Q_DECLARE_FLAGS(ShaperFlags, ShaperFlag)
+ /* Used with the Freetype font engine. We don't cache glyphs that are too large anyway, so we can make this struct rather small */
+ struct Glyph {
+ Glyph() = default;
+ ~Glyph() { delete [] data; }
+ short linearAdvance = 0;
+ unsigned char width = 0;
+ unsigned char height = 0;
+ short x = 0;
+ short y = 0;
+ short advance = 0;
+ signed char format = 0;
+ uchar *data = nullptr;
+ private:
+ Q_DISABLE_COPY(Glyph);
+ };
+
virtual ~QFontEngine();
inline Type type() const { return m_type; }
@@ -190,11 +206,7 @@ public:
virtual QImage alphaMapForGlyph(glyph_t, QFixed subPixelPosition, const QTransform &t);
virtual QImage alphaRGBMapForGlyph(glyph_t, QFixed subPixelPosition, const QTransform &t);
virtual QImage bitmapForGlyph(glyph_t, QFixed subPixelPosition, const QTransform &t, const QColor &color = QColor());
- virtual QImage *lockedAlphaMapForGlyph(glyph_t glyph, QFixed subPixelPosition,
- GlyphFormat neededFormat,
- const QTransform &t = QTransform(),
- QPoint *offset = nullptr);
- virtual void unlockAlphaMapForGlyph();
+ virtual Glyph *glyphData(glyph_t glyph, QFixed subPixelPosition, GlyphFormat neededFormat, const QTransform &t);
virtual bool hasInternalCaching() const { return false; }
virtual glyph_metrics_t alphaMapBoundingBox(glyph_t glyph, QFixed /*subPixelPosition*/, const QTransform &matrix, GlyphFormat /*format*/)
@@ -345,7 +357,6 @@ public:
void loadKerningPairs(QFixed scalingFactor);
GlyphFormat glyphFormat;
- QImage currentlyLockedAlphaMap;
int m_subPixelPositionCount; // Number of positions within a single pixel for this cache
inline QVariant userData() const { return m_userData; }
diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp
index c8dc8d676e..d3e4f11e8c 100644
--- a/src/gui/text/qfontmetrics.cpp
+++ b/src/gui/text/qfontmetrics.cpp
@@ -185,11 +185,9 @@ QFontMetrics::QFontMetrics(const QFont &font, const QPaintDevice *paintdevice)
#endif
{
const int dpi = paintdevice ? paintdevice->logicalDpiY() : qt_defaultDpi();
- const int screen = 0;
- if (font.d->dpi != dpi || font.d->screen != screen ) {
+ if (font.d->dpi != dpi) {
d = new QFontPrivate(*font.d);
d->dpi = dpi;
- d->screen = screen;
} else {
d = font.d;
}
@@ -1036,8 +1034,15 @@ int QFontMetrics::lineWidth() const
return qRound(engine->lineThickness());
}
+/*!
+ \since 5.14
-
+ Returns the font DPI.
+*/
+qreal QFontMetrics::fontDpi() const
+{
+ return d->dpi;
+}
/*****************************************************************************
QFontMetricsF member functions
@@ -1171,11 +1176,9 @@ QFontMetricsF::QFontMetricsF(const QFont &font, const QPaintDevice *paintdevice)
#endif
{
int dpi = paintdevice ? paintdevice->logicalDpiY() : qt_defaultDpi();
- const int screen = 0;
- if (font.d->dpi != dpi || font.d->screen != screen ) {
+ if (font.d->dpi != dpi) {
d = new QFontPrivate(*font.d);
d->dpi = dpi;
- d->screen = screen;
} else {
d = font.d;
}
@@ -1913,4 +1916,14 @@ qreal QFontMetricsF::lineWidth() const
return engine->lineThickness().toReal();
}
+/*!
+ \since 5.14
+
+ Returns the font DPI.
+*/
+qreal QFontMetricsF::fontDpi() const
+{
+ return d->dpi;
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/text/qfontmetrics.h b/src/gui/text/qfontmetrics.h
index 02ff335e68..e92a1514a1 100644
--- a/src/gui/text/qfontmetrics.h
+++ b/src/gui/text/qfontmetrics.h
@@ -135,6 +135,8 @@ public:
int strikeOutPos() const;
int lineWidth() const;
+ qreal fontDpi() const;
+
bool operator==(const QFontMetrics &other) const;
inline bool operator !=(const QFontMetrics &other) const { return !operator==(other); }
@@ -216,6 +218,8 @@ public:
qreal strikeOutPos() const;
qreal lineWidth() const;
+ qreal fontDpi() const;
+
bool operator==(const QFontMetricsF &other) const;
inline bool operator !=(const QFontMetricsF &other) const { return !operator==(other); }
diff --git a/src/gui/text/qt_attribution.json b/src/gui/text/qt_attribution.json
new file mode 100644
index 0000000000..c3a57267e2
--- /dev/null
+++ b/src/gui/text/qt_attribution.json
@@ -0,0 +1,17 @@
+[
+ {
+ "Id": "aglfn",
+ "Name": "Adobe Glyph List For New Fonts",
+ "QDocModule": "qtgui",
+ "Description": "Provides standardized names for glyphs.",
+ "QtUsage": "Used by PDF generator to make it easier for reader applications to resolve the original contents of rendered text.",
+ "Path": "qfontsubset_agl.cpp",
+
+ "Homepage": "https://github.com/adobe-type-tools/agl-aglfn",
+ "Version": "1.7",
+ "License": "BSD 3-Clause \"New\" or \"Revised\" License",
+ "LicenseId": "BSD-3-Clause",
+ "LicenseFile": "AGLFN_LICENSE.txt",
+ "Copyright": "Copyright 2002, 2003, 2005, 2006, 2008, 2010, 2015 Adobe Systems"
+ }
+]
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index dc34a96918..c80617f929 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -2593,51 +2593,43 @@ void QTextHtmlExporter::emitFloatStyle(QTextFrameFormat::Position pos, StyleMode
html += QLatin1Char('\"');
}
-void QTextHtmlExporter::emitBorderStyle(QTextFrameFormat::BorderStyle style)
+static QLatin1String richtextBorderStyleToHtmlBorderStyle(QTextFrameFormat::BorderStyle style)
{
- Q_ASSERT(style <= QTextFrameFormat::BorderStyle_Outset);
-
- html += QLatin1String(" border-style:");
-
switch (style) {
case QTextFrameFormat::BorderStyle_None:
- html += QLatin1String("none");
- break;
+ return QLatin1String("none");
case QTextFrameFormat::BorderStyle_Dotted:
- html += QLatin1String("dotted");
- break;
+ return QLatin1String("dotted");
case QTextFrameFormat::BorderStyle_Dashed:
- html += QLatin1String("dashed");
- break;
+ return QLatin1String("dashed");
case QTextFrameFormat::BorderStyle_Solid:
- html += QLatin1String("solid");
- break;
+ return QLatin1String("solid");
case QTextFrameFormat::BorderStyle_Double:
- html += QLatin1String("double");
- break;
+ return QLatin1String("double");
case QTextFrameFormat::BorderStyle_DotDash:
- html += QLatin1String("dot-dash");
- break;
+ return QLatin1String("dot-dash");
case QTextFrameFormat::BorderStyle_DotDotDash:
- html += QLatin1String("dot-dot-dash");
- break;
+ return QLatin1String("dot-dot-dash");
case QTextFrameFormat::BorderStyle_Groove:
- html += QLatin1String("groove");
- break;
+ return QLatin1String("groove");
case QTextFrameFormat::BorderStyle_Ridge:
- html += QLatin1String("ridge");
- break;
+ return QLatin1String("ridge");
case QTextFrameFormat::BorderStyle_Inset:
- html += QLatin1String("inset");
- break;
+ return QLatin1String("inset");
case QTextFrameFormat::BorderStyle_Outset:
- html += QLatin1String("outset");
- break;
+ return QLatin1String("outset");
default:
- Q_ASSERT(false);
- break;
+ Q_UNREACHABLE();
};
+ return QLatin1String("");
+}
+
+void QTextHtmlExporter::emitBorderStyle(QTextFrameFormat::BorderStyle style)
+{
+ Q_ASSERT(style <= QTextFrameFormat::BorderStyle_Outset);
+ html += QLatin1String(" border-style:");
+ html += richtextBorderStyleToHtmlBorderStyle(style);
html += QLatin1Char(';');
}
@@ -3204,6 +3196,33 @@ void QTextHtmlExporter::emitTable(const QTextTable *table)
if (cellFormat.hasProperty(QTextFormat::TableCellBottomPadding))
styleString += QLatin1String(" padding-bottom:") + QString::number(cellFormat.bottomPadding()) + QLatin1Char(';');
+ if (cellFormat.hasProperty(QTextFormat::TableCellTopBorder))
+ styleString += QLatin1String(" border-top:") + QString::number(cellFormat.topBorder()) + QLatin1String("px;");
+ if (cellFormat.hasProperty(QTextFormat::TableCellRightBorder))
+ styleString += QLatin1String(" border-right:") + QString::number(cellFormat.rightBorder()) + QLatin1String("px;");
+ if (cellFormat.hasProperty(QTextFormat::TableCellBottomBorder))
+ styleString += QLatin1String(" border-bottom:") + QString::number(cellFormat.bottomBorder()) + QLatin1String("px;");
+ if (cellFormat.hasProperty(QTextFormat::TableCellLeftBorder))
+ styleString += QLatin1String(" border-left:") + QString::number(cellFormat.leftBorder()) + QLatin1String("px;");
+
+ if (cellFormat.hasProperty(QTextFormat::TableCellTopBorderBrush))
+ styleString += QLatin1String(" border-top-color:") + cellFormat.topBorderBrush().color().name() + QLatin1Char(';');
+ if (cellFormat.hasProperty(QTextFormat::TableCellRightBorderBrush))
+ styleString += QLatin1String(" border-right-color:") + cellFormat.rightBorderBrush().color().name() + QLatin1Char(';');
+ if (cellFormat.hasProperty(QTextFormat::TableCellBottomBorderBrush))
+ styleString += QLatin1String(" border-bottom-color:") + cellFormat.bottomBorderBrush().color().name() + QLatin1Char(';');
+ if (cellFormat.hasProperty(QTextFormat::TableCellLeftBorderBrush))
+ styleString += QLatin1String(" border-left-color:") + cellFormat.leftBorderBrush().color().name() + QLatin1Char(';');
+
+ if (cellFormat.hasProperty(QTextFormat::TableCellTopBorderStyle))
+ styleString += QLatin1String(" border-top-style:") + richtextBorderStyleToHtmlBorderStyle(cellFormat.topBorderStyle()) + QLatin1Char(';');
+ if (cellFormat.hasProperty(QTextFormat::TableCellRightBorderStyle))
+ styleString += QLatin1String(" border-right-style:") + richtextBorderStyleToHtmlBorderStyle(cellFormat.rightBorderStyle()) + QLatin1Char(';');
+ if (cellFormat.hasProperty(QTextFormat::TableCellBottomBorderStyle))
+ styleString += QLatin1String(" border-bottom-style:") + richtextBorderStyleToHtmlBorderStyle(cellFormat.bottomBorderStyle()) + QLatin1Char(';');
+ if (cellFormat.hasProperty(QTextFormat::TableCellLeftBorderStyle))
+ styleString += QLatin1String(" border-left-style:") + richtextBorderStyleToHtmlBorderStyle(cellFormat.leftBorderStyle()) + QLatin1Char(';');
+
if (!styleString.isEmpty())
html += QLatin1String(" style=\"") + styleString + QLatin1Char('\"');
@@ -3310,6 +3329,9 @@ void QTextHtmlExporter::emitFrameStyle(const QTextFrameFormat &format, FrameType
QString::number(format.leftMargin()),
QString::number(format.rightMargin()));
+ if (format.property(QTextFormat::TableBorderCollapse).toBool())
+ html += QLatin1String(" border-collapse:collapse;");
+
if (html.length() == originalHtmlLength) // nothing emitted?
html.chop(styleAttribute.size());
else
diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp
index 0e3c8d0e83..a1b1c2e92b 100644
--- a/src/gui/text/qtextdocument_p.cpp
+++ b/src/gui/text/qtextdocument_p.cpp
@@ -1106,12 +1106,11 @@ void QTextDocumentPrivate::clearUndoRedoStacks(QTextDocument::Stacks stacksToCle
bool redoCommandsAvailable = undoState != undoStack.size();
if (stacksToClear == QTextDocument::UndoStack && undoCommandsAvailable) {
for (int i = 0; i < undoState; ++i) {
- QTextUndoCommand c = undoStack.at(undoState);
+ QTextUndoCommand c = undoStack.at(i);
if (c.command & QTextUndoCommand::Custom)
delete c.custom;
}
undoStack.remove(0, undoState);
- undoStack.resize(undoStack.size() - undoState);
undoState = 0;
if (emitSignals)
emitUndoAvailable(false);
diff --git a/src/gui/text/qtextdocumentfragment.cpp b/src/gui/text/qtextdocumentfragment.cpp
index 1905d9a1b1..723e5c907c 100644
--- a/src/gui/text/qtextdocumentfragment.cpp
+++ b/src/gui/text/qtextdocumentfragment.cpp
@@ -576,6 +576,9 @@ bool QTextHtmlImporter::appendNodeText()
&& ch != QChar::Nbsp
&& ch != QChar::ParagraphSeparator) {
+ if (wsm == QTextHtmlParserNode::WhiteSpacePreLine && (ch == QLatin1Char('\n') || ch == QLatin1Char('\r')))
+ compressNextWhitespace = PreserveWhiteSpace;
+
if (compressNextWhitespace == CollapseWhiteSpace)
compressNextWhitespace = RemoveWhiteSpace; // allow this one, and remove the ones coming next.
else if(compressNextWhitespace == RemoveWhiteSpace)
@@ -592,7 +595,9 @@ bool QTextHtmlImporter::appendNodeText()
}
} else if (wsm != QTextHtmlParserNode::WhiteSpacePreWrap) {
compressNextWhitespace = RemoveWhiteSpace;
- if (wsm == QTextHtmlParserNode::WhiteSpaceNoWrap)
+ if (wsm == QTextHtmlParserNode::WhiteSpacePreLine && (ch == QLatin1Char('\n') || ch == QLatin1Char('\r')))
+ { }
+ else if (wsm == QTextHtmlParserNode::WhiteSpaceNoWrap)
ch = QChar::Nbsp;
else
ch = QLatin1Char(' ');
@@ -605,6 +610,8 @@ bool QTextHtmlImporter::appendNodeText()
|| ch == QChar::ParagraphSeparator) {
if (!textToInsert.isEmpty()) {
+ if (wsm == QTextHtmlParserNode::WhiteSpacePreLine && textToInsert.at(textToInsert.length() - 1) == QLatin1Char(' '))
+ textToInsert = textToInsert.chopped(1);
cursor.insertText(textToInsert, format);
textToInsert.clear();
}
@@ -979,6 +986,7 @@ QTextHtmlImporter::Table QTextHtmlImporter::scanTable(int tableNodeIdx)
tableFmt.setColumns(table.columns);
tableFmt.setColumnWidthConstraints(columnWidths);
tableFmt.setHeaderRowCount(tableHeaderRowCount);
+ tableFmt.setBorderCollapse(node.borderCollapse);
fmt = tableFmt;
}
@@ -1054,6 +1062,31 @@ QTextHtmlImporter::ProcessNodeResult QTextHtmlImporter::processBlockNode()
fmt.setLeftPadding(leftPadding(currentNodeIdx));
if (rightPadding(currentNodeIdx) >= 0)
fmt.setRightPadding(rightPadding(currentNodeIdx));
+ if (tableCellBorder(currentNodeIdx, QCss::TopEdge) > 0)
+ fmt.setTopBorder(tableCellBorder(currentNodeIdx, QCss::TopEdge));
+ if (tableCellBorder(currentNodeIdx, QCss::RightEdge) > 0)
+ fmt.setRightBorder(tableCellBorder(currentNodeIdx, QCss::RightEdge));
+ if (tableCellBorder(currentNodeIdx, QCss::BottomEdge) > 0)
+ fmt.setBottomBorder(tableCellBorder(currentNodeIdx, QCss::BottomEdge));
+ if (tableCellBorder(currentNodeIdx, QCss::LeftEdge) > 0)
+ fmt.setLeftBorder(tableCellBorder(currentNodeIdx, QCss::LeftEdge));
+ if (tableCellBorderStyle(currentNodeIdx, QCss::TopEdge) != QTextFrameFormat::BorderStyle_None)
+ fmt.setTopBorderStyle(tableCellBorderStyle(currentNodeIdx, QCss::TopEdge));
+ if (tableCellBorderStyle(currentNodeIdx, QCss::RightEdge) != QTextFrameFormat::BorderStyle_None)
+ fmt.setRightBorderStyle(tableCellBorderStyle(currentNodeIdx, QCss::RightEdge));
+ if (tableCellBorderStyle(currentNodeIdx, QCss::BottomEdge) != QTextFrameFormat::BorderStyle_None)
+ fmt.setBottomBorderStyle(tableCellBorderStyle(currentNodeIdx, QCss::BottomEdge));
+ if (tableCellBorderStyle(currentNodeIdx, QCss::LeftEdge) != QTextFrameFormat::BorderStyle_None)
+ fmt.setLeftBorderStyle(tableCellBorderStyle(currentNodeIdx, QCss::LeftEdge));
+ if (tableCellBorderBrush(currentNodeIdx, QCss::TopEdge) != Qt::NoBrush)
+ fmt.setTopBorderBrush(tableCellBorderBrush(currentNodeIdx, QCss::TopEdge));
+ if (tableCellBorderBrush(currentNodeIdx, QCss::RightEdge) != Qt::NoBrush)
+ fmt.setRightBorderBrush(tableCellBorderBrush(currentNodeIdx, QCss::RightEdge));
+ if (tableCellBorderBrush(currentNodeIdx, QCss::BottomEdge) != Qt::NoBrush)
+ fmt.setBottomBorderBrush(tableCellBorderBrush(currentNodeIdx, QCss::BottomEdge));
+ if (tableCellBorderBrush(currentNodeIdx, QCss::LeftEdge) != Qt::NoBrush)
+ fmt.setLeftBorderBrush(tableCellBorderBrush(currentNodeIdx, QCss::LeftEdge));
+
cell.setFormat(fmt);
cursor.setPosition(cell.firstPosition());
diff --git a/src/gui/text/qtextdocumentlayout.cpp b/src/gui/text/qtextdocumentlayout.cpp
index a1b21b111b..b02723c047 100644
--- a/src/gui/text/qtextdocumentlayout.cpp
+++ b/src/gui/text/qtextdocumentlayout.cpp
@@ -155,6 +155,50 @@ struct QTextLayoutStruct {
{ if (pageHeight == QFIXED_MAX) return; pageBottom += pageHeight; y = qMax(y, pageBottom - pageHeight + pageBottomMargin + pageTopMargin - frameY); }
};
+#ifndef QT_NO_CSSPARSER
+// helper struct to collect edge data and priorize edges for border-collapse mode
+struct EdgeData {
+
+ enum EdgeClass {
+ // don't change order, used for comparison
+ ClassInvalid, // queried (adjacent) cell does not exist
+ ClassNone, // no explicit border, no grid, no table border
+ ClassGrid, // 1px grid if drawGrid is true
+ ClassTableBorder, // an outermost edge
+ ClassExplicit // set in cell's format
+ };
+
+ EdgeData(qreal width, const QTextTableCell &cell, QCss::Edge edge, EdgeClass edgeClass) :
+ width(width), cell(cell), edge(edge), edgeClass(edgeClass) {}
+ EdgeData() :
+ width(0), edge(QCss::NumEdges), edgeClass(ClassInvalid) {}
+
+ // used for priorization with qMax
+ bool operator< (const EdgeData &other) const {
+ if (width < other.width) return true;
+ if (width > other.width) return false;
+ if (edgeClass < other.edgeClass) return true;
+ if (edgeClass > other.edgeClass) return false;
+ if (edge == QCss::TopEdge && other.edge == QCss::BottomEdge) return true;
+ if (edge == QCss::BottomEdge && other.edge == QCss::TopEdge) return false;
+ if (edge == QCss::LeftEdge && other.edge == QCss::RightEdge) return true;
+ return false;
+ }
+ bool operator> (const EdgeData &other) const {
+ return other < *this;
+ }
+
+ qreal width;
+ QTextTableCell cell;
+ QCss::Edge edge;
+ EdgeClass edgeClass;
+};
+
+// axisEdgeData is referenced by QTextTableData's inline methods, so predeclare
+class QTextTableData;
+static inline EdgeData axisEdgeData(QTextTable *table, const QTextTableData *td, const QTextTableCell &cell, QCss::Edge edge);
+#endif
+
class QTextTableData : public QTextFrameData
{
public:
@@ -169,8 +213,19 @@ public:
QVector<QFixed> cellVerticalOffsets;
+ // without borderCollapse, those equal QTextFrameData::border;
+ // otherwise the widest outermost cell edge will be used
+ QFixed effectiveLeftBorder;
+ QFixed effectiveTopBorder;
+ QFixed effectiveRightBorder;
+ QFixed effectiveBottomBorder;
+
QFixed headerHeight;
+ QFixed borderCell; // 0 if borderCollapse is enabled, QTextFrameData::border otherwise
+ bool borderCollapse;
+ bool drawGrid;
+
// maps from cell index (row + col * rowCount) to child frames belonging to
// the specific cell
QMultiHash<int, QTextFrame *> childFrameMap;
@@ -182,7 +237,7 @@ public:
inline void calcRowPosition(int row)
{
if (row > 0)
- rowPositions[row] = rowPositions.at(row - 1) + heights.at(row - 1) + border + cellSpacing + border;
+ rowPositions[row] = rowPositions.at(row - 1) + heights.at(row - 1) + borderCell + cellSpacing + borderCell;
}
QRectF cellRect(const QTextTableCell &cell) const;
@@ -198,30 +253,55 @@ public:
}
}
- inline QFixed topPadding(const QTextFormat &format) const
+#ifndef QT_NO_CSSPARSER
+ inline QFixed cellBorderWidth(QTextTable *table, const QTextTableCell &cell, QCss::Edge edge) const
{
- return paddingProperty(format, QTextFormat::TableCellTopPadding);
+ qreal rv = axisEdgeData(table, this, cell, edge).width;
+ if (borderCollapse)
+ rv /= 2; // each cell has to add half of the border's width to its own padding
+ return QFixed::fromReal(rv * deviceScale);
}
+#endif
- inline QFixed bottomPadding(const QTextFormat &format) const
+ inline QFixed topPadding(QTextTable *table, const QTextTableCell &cell) const
{
- return paddingProperty(format, QTextFormat::TableCellBottomPadding);
+ return paddingProperty(cell.format(), QTextFormat::TableCellTopPadding)
+#ifndef QT_NO_CSSPARSER
+ + cellBorderWidth(table, cell, QCss::TopEdge)
+#endif
+ ;
+ }
+
+ inline QFixed bottomPadding(QTextTable *table, const QTextTableCell &cell) const
+ {
+ return paddingProperty(cell.format(), QTextFormat::TableCellBottomPadding)
+#ifndef QT_NO_CSSPARSER
+ + cellBorderWidth(table, cell, QCss::BottomEdge)
+#endif
+ ;
}
- inline QFixed leftPadding(const QTextFormat &format) const
+ inline QFixed leftPadding(QTextTable *table, const QTextTableCell &cell) const
{
- return paddingProperty(format, QTextFormat::TableCellLeftPadding);
+ return paddingProperty(cell.format(), QTextFormat::TableCellLeftPadding)
+#ifndef QT_NO_CSSPARSER
+ + cellBorderWidth(table, cell, QCss::LeftEdge)
+#endif
+ ;
}
- inline QFixed rightPadding(const QTextFormat &format) const
+ inline QFixed rightPadding(QTextTable *table, const QTextTableCell &cell) const
{
- return paddingProperty(format, QTextFormat::TableCellRightPadding);
+ return paddingProperty(cell.format(), QTextFormat::TableCellRightPadding)
+#ifndef QT_NO_CSSPARSER
+ + cellBorderWidth(table, cell, QCss::RightEdge)
+#endif
+ ;
}
- inline QFixedPoint cellPosition(const QTextTableCell &cell) const
+ inline QFixedPoint cellPosition(QTextTable *table, const QTextTableCell &cell) const
{
- const QTextFormat fmt = cell.format();
- return cellPosition(cell.row(), cell.column()) + QFixedPoint(leftPadding(fmt), topPadding(fmt));
+ return cellPosition(cell.row(), cell.column()) + QFixedPoint(leftPadding(table, cell), topPadding(table, cell));
}
void updateTableSize();
@@ -257,10 +337,10 @@ static bool isFrameFromInlineObject(QTextFrame *f)
void QTextTableData::updateTableSize()
{
- const QFixed effectiveTopMargin = this->topMargin + border + padding;
- const QFixed effectiveBottomMargin = this->bottomMargin + border + padding;
- const QFixed effectiveLeftMargin = this->leftMargin + border + padding;
- const QFixed effectiveRightMargin = this->rightMargin + border + padding;
+ const QFixed effectiveTopMargin = this->topMargin + effectiveTopBorder + padding;
+ const QFixed effectiveBottomMargin = this->bottomMargin + effectiveBottomBorder + padding;
+ const QFixed effectiveLeftMargin = this->leftMargin + effectiveLeftBorder + padding;
+ const QFixed effectiveRightMargin = this->rightMargin + effectiveRightBorder + padding;
size.height = contentsHeight == -1
? rowPositions.constLast() + heights.constLast() + padding + border + cellSpacing + effectiveBottomMargin
: effectiveTopMargin + contentsHeight + effectiveBottomMargin;
@@ -453,6 +533,7 @@ public:
const QTextBlock &bl, bool inRootFrame) const;
void drawListItem(const QPointF &offset, QPainter *painter, const QAbstractTextDocumentLayout::PaintContext &context,
const QTextBlock &bl, const QTextCharFormat *selectionFormat) const;
+ void drawTableCellBorder(const QRectF &cellRect, QPainter *painter, QTextTable *table, QTextTableData *td, const QTextTableCell &cell) const;
void drawTableCell(const QRectF &cellRect, QPainter *painter, const QAbstractTextDocumentLayout::PaintContext &cell_context,
QTextTable *table, QTextTableData *td, int r, int c,
QTextBlock *cursorBlockNeedingRepaint, QPointF *cursorBlockOffset) const;
@@ -719,7 +800,7 @@ QTextDocumentLayoutPrivate::hitTest(QTextTable *table, const QFixedPoint &point,
*position = cell.firstPosition();
- HitPoint hp = hitTest(cell.begin(), PointInside, point - td->cellPosition(cell), position, l, accuracy);
+ HitPoint hp = hitTest(cell.begin(), PointInside, point - td->cellPosition(table, cell), position, l, accuracy);
if (hp == PointExact)
return hp;
@@ -798,12 +879,45 @@ QFixed QTextDocumentLayoutPrivate::blockIndent(const QTextBlockFormat &blockForm
return QFixed::fromReal(indent * scale * document->indentWidth());
}
+struct BorderPaginator
+{
+ BorderPaginator(QTextDocument *document, const QRectF &rect, qreal topMarginAfterPageBreak, qreal bottomMargin, qreal border) :
+ pageHeight(document->pageSize().height()),
+ topPage(pageHeight > 0 ? static_cast<int>(rect.top() / pageHeight) : 0),
+ bottomPage(pageHeight > 0 ? static_cast<int>((rect.bottom() + border) / pageHeight) : 0),
+ rect(rect),
+ topMarginAfterPageBreak(topMarginAfterPageBreak),
+ bottomMargin(bottomMargin), border(border)
+ {}
+
+ QRectF clipRect(int page) const
+ {
+ QRectF clipped = rect.toRect();
+
+ if (topPage != bottomPage) {
+ clipped.setTop(qMax(clipped.top(), page * pageHeight + topMarginAfterPageBreak - border));
+ clipped.setBottom(qMin(clipped.bottom(), (page + 1) * pageHeight - bottomMargin));
+
+ if (clipped.bottom() <= clipped.top())
+ return QRectF();
+ }
+
+ return clipped;
+ }
+
+ qreal pageHeight;
+ int topPage;
+ int bottomPage;
+ QRectF rect;
+ qreal topMarginAfterPageBreak;
+ qreal bottomMargin;
+ qreal border;
+};
+
void QTextDocumentLayoutPrivate::drawBorder(QPainter *painter, const QRectF &rect, qreal topMargin, qreal bottomMargin,
qreal border, const QBrush &brush, QTextFrameFormat::BorderStyle style) const
{
- const qreal pageHeight = document->pageSize().height();
- const int topPage = pageHeight > 0 ? static_cast<int>(rect.top() / pageHeight) : 0;
- const int bottomPage = pageHeight > 0 ? static_cast<int>((rect.bottom() + border) / pageHeight) : 0;
+ BorderPaginator paginator(document, rect, topMargin, bottomMargin, border);
#ifndef QT_NO_CSSPARSER
QCss::BorderStyle cssStyle = static_cast<QCss::BorderStyle>(style + 1);
@@ -814,16 +928,11 @@ void QTextDocumentLayoutPrivate::drawBorder(QPainter *painter, const QRectF &rec
bool turn_off_antialiasing = !(painter->renderHints() & QPainter::Antialiasing);
painter->setRenderHint(QPainter::Antialiasing);
- for (int i = topPage; i <= bottomPage; ++i) {
- QRectF clipped = rect.toRect();
-
- if (topPage != bottomPage) {
- clipped.setTop(qMax(clipped.top(), i * pageHeight + topMargin - border));
- clipped.setBottom(qMin(clipped.bottom(), (i + 1) * pageHeight - bottomMargin));
+ for (int i = paginator.topPage; i <= paginator.bottomPage; ++i) {
+ QRectF clipped = paginator.clipRect(i);
+ if (!clipped.isValid())
+ continue;
- if (clipped.bottom() <= clipped.top())
- continue;
- }
#ifndef QT_NO_CSSPARSER
qDrawEdge(painter, clipped.left(), clipped.top(), clipped.left() + border, clipped.bottom() + border, 0, 0, QCss::LeftEdge, cssStyle, brush);
qDrawEdge(painter, clipped.left() + border, clipped.top(), clipped.right() + border, clipped.top() + border, 0, 0, QCss::TopEdge, cssStyle, brush);
@@ -920,6 +1029,31 @@ static void adjustContextSelectionsForCell(QAbstractTextDocumentLayout::PaintCon
}
}
+static bool cellClipTest(QTextTable *table, QTextTableData *td,
+ const QAbstractTextDocumentLayout::PaintContext &cell_context,
+ const QTextTableCell &cell,
+ QRectF cellRect)
+{
+ if (!cell_context.clip.isValid())
+ return false;
+
+ if (td->borderCollapse) {
+ // we need to account for the cell borders in the clipping test
+ cellRect.adjust(-axisEdgeData(table, td, cell, QCss::LeftEdge).width / 2,
+ -axisEdgeData(table, td, cell, QCss::TopEdge).width / 2,
+ axisEdgeData(table, td, cell, QCss::RightEdge).width / 2,
+ axisEdgeData(table, td, cell, QCss::BottomEdge).width / 2);
+ } else {
+ qreal border = td->border.toReal();
+ cellRect.adjust(-border, -border, border, border);
+ }
+
+ if (!cellRect.intersects(cell_context.clip))
+ return true;
+
+ return false;
+}
+
void QTextDocumentLayoutPrivate::drawFrame(const QPointF &offset, QPainter *painter,
const QAbstractTextDocumentLayout::PaintContext &context,
QTextFrame *frame) const
@@ -982,10 +1116,12 @@ void QTextDocumentLayoutPrivate::drawFrame(const QPointF &offset, QPainter *pain
const int tableStartPage = (absYPos / pageHeight).truncate();
const int tableEndPage = ((absYPos + td->size.height) / pageHeight).truncate();
- qreal border = td->border.toReal();
- drawFrameDecoration(painter, frame, fd, context.clip, frameRect);
+ // for borderCollapse draw frame decoration by drawing the outermost
+ // cell edges with width = td->border
+ if (!td->borderCollapse)
+ drawFrameDecoration(painter, frame, fd, context.clip, frameRect);
- // draw the table headers
+ // draw the repeated table headers for table continuation after page breaks
const int headerRowCount = qMin(table->format().headerRowCount(), rows - 1);
int page = tableStartPage + 1;
while (page <= tableEndPage) {
@@ -999,9 +1135,7 @@ void QTextDocumentLayoutPrivate::drawFrame(const QPointF &offset, QPainter *pain
QRectF cellRect = td->cellRect(cell);
cellRect.translate(off.x(), headerOffset);
- // we need to account for the cell border in the clipping test
- int leftAdjust = qMin(qreal(0), 1 - border);
- if (cell_context.clip.isValid() && !cellRect.adjusted(leftAdjust, leftAdjust, border, border).intersects(cell_context.clip))
+ if (cellClipTest(table, td, cell_context, cell, cellRect))
continue;
drawTableCell(cellRect, painter, cell_context, table, td, r, c, &cursorBlockNeedingRepaint,
@@ -1041,9 +1175,7 @@ void QTextDocumentLayoutPrivate::drawFrame(const QPointF &offset, QPainter *pain
QRectF cellRect = td->cellRect(cell);
cellRect.translate(off);
- // we need to account for the cell border in the clipping test
- int leftAdjust = qMin(qreal(0), 1 - border);
- if (cell_context.clip.isValid() && !cellRect.adjusted(leftAdjust, leftAdjust, border, border).intersects(cell_context.clip))
+ if (cellClipTest(table, td, cell_context, cell, cellRect))
continue;
drawTableCell(cellRect, painter, cell_context, table, td, r, c, &cursorBlockNeedingRepaint,
@@ -1080,6 +1212,595 @@ void QTextDocumentLayoutPrivate::drawFrame(const QPointF &offset, QPainter *pain
return;
}
+#ifndef QT_NO_CSSPARSER
+
+static inline QTextFormat::Property borderPropertyForEdge(QCss::Edge edge)
+{
+ switch (edge) {
+ case QCss::TopEdge:
+ return QTextFormat::TableCellTopBorder;
+ case QCss::BottomEdge:
+ return QTextFormat::TableCellBottomBorder;
+ case QCss::LeftEdge:
+ return QTextFormat::TableCellLeftBorder;
+ case QCss::RightEdge:
+ return QTextFormat::TableCellRightBorder;
+ default:
+ Q_UNREACHABLE();
+ return QTextFormat::UserProperty;
+ }
+}
+
+static inline QTextFormat::Property borderStylePropertyForEdge(QCss::Edge edge)
+{
+ switch (edge) {
+ case QCss::TopEdge:
+ return QTextFormat::TableCellTopBorderStyle;
+ case QCss::BottomEdge:
+ return QTextFormat::TableCellBottomBorderStyle;
+ case QCss::LeftEdge:
+ return QTextFormat::TableCellLeftBorderStyle;
+ case QCss::RightEdge:
+ return QTextFormat::TableCellRightBorderStyle;
+ default:
+ Q_UNREACHABLE();
+ return QTextFormat::UserProperty;
+ }
+}
+
+static inline QCss::Edge adjacentEdge(QCss::Edge edge)
+{
+ switch (edge) {
+ case QCss::TopEdge:
+ return QCss::BottomEdge;
+ case QCss::RightEdge:
+ return QCss::LeftEdge;
+ case QCss::BottomEdge:
+ return QCss::TopEdge;
+ case QCss::LeftEdge:
+ return QCss::RightEdge;
+ default:
+ Q_UNREACHABLE();
+ return QCss::NumEdges;
+ }
+}
+
+static inline bool isSameAxis(QCss::Edge e1, QCss::Edge e2)
+{
+ return e1 == e2 || e1 == adjacentEdge(e2);
+}
+
+static inline bool isVerticalAxis(QCss::Edge e)
+{
+ return e % 2 > 0;
+}
+
+static inline QTextTableCell adjacentCell(QTextTable *table, const QTextTableCell &cell,
+ QCss::Edge edge)
+{
+ int dc = 0;
+ int dr = 0;
+
+ switch (edge) {
+ case QCss::LeftEdge:
+ dc = -1;
+ break;
+ case QCss::RightEdge:
+ dc = cell.columnSpan();
+ break;
+ case QCss::TopEdge:
+ dr = -1;
+ break;
+ case QCss::BottomEdge:
+ dr = cell.rowSpan();
+ break;
+ default:
+ Q_UNREACHABLE();
+ break;
+ }
+
+ // get sibling cell
+ int col = cell.column() + dc;
+ int row = cell.row() + dr;
+
+ if (col < 0 || row < 0 || col >= table->columns() || row >= table->rows())
+ return QTextTableCell();
+ else
+ return table->cellAt(cell.row() + dr, cell.column() + dc);
+}
+
+// returns true if the specified edges of both cells
+// are "one the same line" aka axis.
+//
+// | C0
+// |-----|-----|----|----- < "axis"
+// | C1 | C2 | C3 | C4
+//
+// cell edge competingCell competingEdge result
+// C0 Left C1 Left true
+// C0 Left C2 Left false
+// C0 Bottom C2 Top true
+// C0 Bottom C4 Left INVALID
+static inline bool sharesAxis(const QTextTableCell &cell, QCss::Edge edge,
+ const QTextTableCell &competingCell, QCss::Edge competingCellEdge)
+{
+ Q_ASSERT(isVerticalAxis(edge) == isVerticalAxis(competingCellEdge));
+
+ switch (edge) {
+ case QCss::TopEdge:
+ return cell.row() ==
+ competingCell.row() + (competingCellEdge == QCss::BottomEdge ? competingCell.rowSpan() : 0);
+ case QCss::BottomEdge:
+ return cell.row() + cell.rowSpan() ==
+ competingCell.row() + (competingCellEdge == QCss::TopEdge ? 0 : competingCell.rowSpan());
+ case QCss::LeftEdge:
+ return cell.column() ==
+ competingCell.column() + (competingCellEdge == QCss::RightEdge ? competingCell.columnSpan() : 0);
+ case QCss::RightEdge:
+ return cell.column() + cell.columnSpan() ==
+ competingCell.column() + (competingCellEdge == QCss::LeftEdge ? 0 : competingCell.columnSpan());
+ default:
+ Q_UNREACHABLE();
+ return false;
+ }
+}
+
+// returns the applicable EdgeData for the given cell and edge.
+// this is either set explicitly by the cell's format, an activated grid
+// or the general table border width for outermost edges.
+static inline EdgeData cellEdgeData(QTextTable *table, const QTextTableData *td,
+ const QTextTableCell &cell, QCss::Edge edge)
+{
+ if (!cell.isValid()) {
+ // e.g. non-existing adjacent cell
+ return EdgeData();
+ }
+
+ QTextTableCellFormat f = cell.format().toTableCellFormat();
+ if (f.hasProperty(borderStylePropertyForEdge(edge))) {
+ // border style is set
+ double width = 3; // default to 3 like browsers do
+ if (f.hasProperty(borderPropertyForEdge(edge)))
+ width = f.property(borderPropertyForEdge(edge)).toDouble();
+ return EdgeData(width, cell, edge, EdgeData::ClassExplicit);
+ } else if (td->drawGrid) {
+ const bool outermost =
+ (edge == QCss::LeftEdge && cell.column() == 0) ||
+ (edge == QCss::TopEdge && cell.row() == 0) ||
+ (edge == QCss::RightEdge && cell.column() + cell.columnSpan() >= table->columns()) ||
+ (edge == QCss::BottomEdge && cell.row() + cell.rowSpan() >= table->rows());
+
+ if (outermost) {
+ qreal border = table->format().border();
+ if (border > 1.0) {
+ // table border
+ return EdgeData(border, cell, edge, EdgeData::ClassTableBorder);
+ }
+ }
+ // 1px clean grid
+ return EdgeData(1.0, cell, edge, EdgeData::ClassGrid);
+ }
+ else {
+ return EdgeData(0, cell, edge, EdgeData::ClassNone);
+ }
+}
+
+// returns the EdgeData with the larger width of either the cell's edge its adjacent cell's edge
+static inline EdgeData axisEdgeData(QTextTable *table, const QTextTableData *td,
+ const QTextTableCell &cell, QCss::Edge edge)
+{
+ Q_ASSERT(cell.isValid());
+
+ EdgeData result = cellEdgeData(table, td, cell, edge);
+ if (!td->borderCollapse)
+ return result;
+
+ QTextTableCell ac = adjacentCell(table, cell, edge);
+ result = qMax(result, cellEdgeData(table, td, ac, adjacentEdge(edge)));
+
+ bool mustCheckThirdCell = false;
+ if (ac.isValid()) {
+ /* if C0 and C3 don't share the left/top axis, we must
+ * also check C1.
+ *
+ * C0 and C4 don't share the left axis so we have
+ * to take the top edge of C1 (T1) into account
+ * because this might be wider than C0's bottom
+ * edge (B0). For the sake of simplicity we skip
+ * checking T2 and T3.
+ *
+ * | C0
+ * |-----|-----|----|-----
+ * | C1 | C2 | C3 | C4
+ *
+ * width(T4) = max(T4, B0, T1) (T2 and T3 won't be checked)
+ */
+ switch (edge) {
+ case QCss::TopEdge:
+ case QCss::BottomEdge:
+ mustCheckThirdCell = !sharesAxis(cell, QCss::LeftEdge, ac, QCss::LeftEdge);
+ break;
+ case QCss::LeftEdge:
+ case QCss::RightEdge:
+ mustCheckThirdCell = !sharesAxis(cell, QCss::TopEdge, ac, QCss::TopEdge);
+ break;
+ default:
+ Q_UNREACHABLE();
+ break;
+ }
+ }
+
+ if (mustCheckThirdCell)
+ result = qMax(result, cellEdgeData(table, td, adjacentCell(table, ac, adjacentEdge(edge)), edge));
+
+ return result;
+}
+
+// checks an edge's joined competing edge according to priority rules and
+// adjusts maxCompetingEdgeData and maxOrthogonalEdgeData
+static inline void checkJoinedEdge(QTextTable *table, const QTextTableData *td, const QTextTableCell &cell,
+ QCss::Edge competingEdge,
+ const EdgeData &edgeData,
+ bool couldHaveContinuation,
+ EdgeData *maxCompetingEdgeData,
+ EdgeData *maxOrthogonalEdgeData)
+{
+ EdgeData competingEdgeData = axisEdgeData(table, td, cell, competingEdge);
+
+ if (competingEdgeData > edgeData) {
+ *maxCompetingEdgeData = competingEdgeData;
+ } else if (competingEdgeData.width == edgeData.width) {
+ if ((isSameAxis(edgeData.edge, competingEdge) && couldHaveContinuation)
+ || (!isVerticalAxis(edgeData.edge) && isVerticalAxis(competingEdge)) /* both widths are equal, vertical edge has priority */ ) {
+ *maxCompetingEdgeData = competingEdgeData;
+ }
+ }
+
+ if (maxOrthogonalEdgeData && competingEdgeData.width > maxOrthogonalEdgeData->width)
+ *maxOrthogonalEdgeData = competingEdgeData;
+}
+
+// the offset to make adjacent edges overlap in border collapse mode
+static inline qreal collapseOffset(const QTextDocumentLayoutPrivate *p, const EdgeData &w)
+{
+ return p->scaleToDevice(w.width) / 2.0;
+}
+
+// returns the offset that must be applied to the edge's
+// anchor (start point or end point) to avoid overlapping edges.
+//
+// Example 1:
+// 2
+// 2
+// 11111144444444 4 = top edge of cell, 4 pixels width
+// 3 3 = right edge of cell, 3 pixels width
+// 3 cell 4
+//
+// cell 4's top border is the widest border and will be
+// drawn with horiz. offset = -3/2 whereas its left border
+// of width 3 will be drawn with vert. offset = +4/2.
+//
+// Example 2:
+// 2
+// 2
+// 11111143333333
+// 4
+// 4 cell 4
+//
+// cell 4's left border is the widest and will be drawn
+// with vert. offset = -3/2 whereas its top border
+// of of width 3 will be drawn with hor. offset = +4/2.
+//
+// couldHaveContinuation: true for "end" anchor of an edge:
+// C
+// AAAAABBBBBB
+// D
+// width(A) == width(B) we consider B to be a continuation of A, so that B wins
+// and will be painted. A would only be painted including the right anchor if
+// there was no edge B (due to a rowspan or the axis C-D being the table's right
+// border).
+//
+// ignoreEdgesAbove: true if an egde (left, right or top) for the first row
+// after a table page break should be painted. In this case the edges of the
+// row above must be ignored.
+static inline double prioritizedEdgeAnchorOffset(const QTextDocumentLayoutPrivate *p,
+ QTextTable *table, const QTextTableData *td,
+ const QTextTableCell &cell,
+ const EdgeData &edgeData,
+ QCss::Edge orthogonalEdge,
+ bool couldHaveContinuation,
+ bool ignoreEdgesAbove)
+{
+ EdgeData maxCompetingEdgeData;
+ EdgeData maxOrthogonalEdgeData;
+ QTextTableCell competingCell;
+
+ // reference scenario for the inline comments:
+ // - edgeData being the top "T0" edge of C0
+ // - right anchor is '+', orthogonal edge is "R0"
+ // B C3 R|L C2 B
+ // ------+------
+ // T C0 R|L C1 T
+
+ // C0: T0/B3
+ // this is "edgeData"
+
+ // C0: R0/L1
+ checkJoinedEdge(table, td, cell, orthogonalEdge, edgeData, false,
+ &maxCompetingEdgeData, &maxOrthogonalEdgeData);
+
+ if (td->borderCollapse) {
+ // C1: T1/B2
+ if (!isVerticalAxis(edgeData.edge) || !ignoreEdgesAbove) {
+ competingCell = adjacentCell(table, cell, orthogonalEdge);
+ if (competingCell.isValid()) {
+ checkJoinedEdge(table, td, competingCell, edgeData.edge, edgeData, couldHaveContinuation,
+ &maxCompetingEdgeData, 0);
+ }
+ }
+
+ // C3: R3/L2
+ if (edgeData.edge != QCss::TopEdge || !ignoreEdgesAbove) {
+ competingCell = adjacentCell(table, cell, edgeData.edge);
+ if (competingCell.isValid() && sharesAxis(cell, orthogonalEdge, competingCell, orthogonalEdge)) {
+ checkJoinedEdge(table, td, competingCell, orthogonalEdge, edgeData, false,
+ &maxCompetingEdgeData, &maxOrthogonalEdgeData);
+ }
+ }
+ }
+
+ // wider edge has priority
+ bool hasPriority = edgeData > maxCompetingEdgeData;
+
+ if (td->borderCollapse) {
+ qreal offset = collapseOffset(p, maxOrthogonalEdgeData);
+ return hasPriority ? -offset : offset;
+ }
+ else
+ return hasPriority ? 0 : p->scaleToDevice(maxOrthogonalEdgeData.width);
+}
+
+// draw one edge of the given cell
+//
+// these options are for pagination / pagebreak handling:
+//
+// forceHeaderRow: true for all rows directly below a (repeated) header row.
+// if the table has headers the first row after a page break must check against
+// the last table header's row, not its actual predecessor.
+//
+// adjustTopAnchor: false for rows that are a continuation of a row after a page break
+// only evaluated for left/right edges
+//
+// adjustBottomAnchor: false for rows that will continue after a page break
+// only evaluated for left/right edges
+//
+// ignoreEdgesAbove: true if a row starts on top of the page and the
+// bottom edges of the prior row can therefore be ignored.
+static inline
+void drawCellBorder(const QTextDocumentLayoutPrivate *p, QPainter *painter,
+ QTextTable *table, const QTextTableData *td, const QTextTableCell &cell,
+ const QRectF &borderRect, QCss::Edge edge,
+ int forceHeaderRow, bool adjustTopAnchor, bool adjustBottomAnchor,
+ bool ignoreEdgesAbove)
+{
+ QPointF p1, p2;
+ qreal wh = 0;
+ qreal wv = 0;
+ EdgeData edgeData = axisEdgeData(table, td, cell, edge);
+
+ if (edgeData.width == 0)
+ return;
+
+ QTextTableCellFormat fmt = edgeData.cell.format().toTableCellFormat();
+ QTextFrameFormat::BorderStyle borderStyle = QTextFrameFormat::BorderStyle_None;
+ QBrush brush;
+
+ if (edgeData.edgeClass != EdgeData::ClassExplicit && td->drawGrid) {
+ borderStyle = QTextFrameFormat::BorderStyle_Solid;
+ brush = table->format().borderBrush();
+ }
+ else {
+ switch (edgeData.edge) {
+ case QCss::TopEdge:
+ brush = fmt.topBorderBrush();
+ borderStyle = fmt.topBorderStyle();
+ break;
+ case QCss::BottomEdge:
+ brush = fmt.bottomBorderBrush();
+ borderStyle = fmt.bottomBorderStyle();
+ break;
+ case QCss::LeftEdge:
+ brush = fmt.leftBorderBrush();
+ borderStyle = fmt.leftBorderStyle();
+ break;
+ case QCss::RightEdge:
+ brush = fmt.rightBorderBrush();
+ borderStyle = fmt.rightBorderStyle();
+ break;
+ default:
+ Q_UNREACHABLE();
+ break;
+ }
+ }
+
+ if (borderStyle == QTextFrameFormat::BorderStyle_None)
+ return;
+
+ // assume black if not explicit brush is set
+ if (brush.style() == Qt::NoBrush)
+ brush = Qt::black;
+
+ QTextTableCell cellOrHeader = cell;
+ if (forceHeaderRow != -1)
+ cellOrHeader = table->cellAt(forceHeaderRow, cell.column());
+
+ // adjust start and end anchors (e.g. left/right for top) according to priority rules
+ switch (edge) {
+ case QCss::TopEdge:
+ wv = p->scaleToDevice(edgeData.width);
+ p1 = borderRect.topLeft()
+ + QPointF(qFloor(prioritizedEdgeAnchorOffset(p, table, td, cell, edgeData, QCss::LeftEdge, false, ignoreEdgesAbove)), 0);
+ p2 = borderRect.topRight()
+ + QPointF(-qCeil(prioritizedEdgeAnchorOffset(p, table, td, cell, edgeData, QCss::RightEdge, true, ignoreEdgesAbove)), 0);
+ break;
+ case QCss::BottomEdge:
+ wv = p->scaleToDevice(edgeData.width);
+ p1 = borderRect.bottomLeft()
+ + QPointF(qFloor(prioritizedEdgeAnchorOffset(p, table, td, cell, edgeData, QCss::LeftEdge, false, false)), -wv);
+ p2 = borderRect.bottomRight()
+ + QPointF(-qCeil(prioritizedEdgeAnchorOffset(p, table, td, cell, edgeData, QCss::RightEdge, true, false)), -wv);
+ break;
+ case QCss::LeftEdge:
+ wh = p->scaleToDevice(edgeData.width);
+ p1 = borderRect.topLeft()
+ + QPointF(0, adjustTopAnchor ? qFloor(prioritizedEdgeAnchorOffset(p, table, td, cellOrHeader, edgeData,
+ forceHeaderRow != -1 ? QCss::BottomEdge : QCss::TopEdge,
+ false, ignoreEdgesAbove))
+ : 0);
+ p2 = borderRect.bottomLeft()
+ + QPointF(0, adjustBottomAnchor ? -qCeil(prioritizedEdgeAnchorOffset(p, table, td, cell, edgeData, QCss::BottomEdge, true, false))
+ : 0);
+ break;
+ case QCss::RightEdge:
+ wh = p->scaleToDevice(edgeData.width);
+ p1 = borderRect.topRight()
+ + QPointF(-wh, adjustTopAnchor ? qFloor(prioritizedEdgeAnchorOffset(p, table, td, cellOrHeader, edgeData,
+ forceHeaderRow != -1 ? QCss::BottomEdge : QCss::TopEdge,
+ false, ignoreEdgesAbove))
+ : 0);
+ p2 = borderRect.bottomRight()
+ + QPointF(-wh, adjustBottomAnchor ? -qCeil(prioritizedEdgeAnchorOffset(p, table, td, cell, edgeData, QCss::BottomEdge, true, false))
+ : 0);
+ break;
+ default: break;
+ }
+
+ // for borderCollapse move edge width/2 pixel out of the borderRect
+ // so that it shares space with the adjacent cell's edge.
+ // to avoid fractional offsets, qCeil/qFloor is used
+ if (td->borderCollapse) {
+ QPointF offset;
+ switch (edge) {
+ case QCss::TopEdge:
+ offset = QPointF(0, -qCeil(collapseOffset(p, edgeData)));
+ break;
+ case QCss::BottomEdge:
+ offset = QPointF(0, qFloor(collapseOffset(p, edgeData)));
+ break;
+ case QCss::LeftEdge:
+ offset = QPointF(-qCeil(collapseOffset(p, edgeData)), 0);
+ break;
+ case QCss::RightEdge:
+ offset = QPointF(qFloor(collapseOffset(p, edgeData)), 0);
+ break;
+ default: break;
+ }
+ p1 += offset;
+ p2 += offset;
+ }
+
+ QCss::BorderStyle cssStyle = static_cast<QCss::BorderStyle>(borderStyle + 1);
+
+// this reveals errors in the drawing logic
+#ifdef COLLAPSE_DEBUG
+ QColor c = brush.color();
+ c.setAlpha(150);
+ brush.setColor(c);
+#endif
+
+ qDrawEdge(painter, p1.x(), p1.y(), p2.x() + wh, p2.y() + wv, 0, 0, edge, cssStyle, brush);
+}
+#endif
+
+void QTextDocumentLayoutPrivate::drawTableCellBorder(const QRectF &cellRect, QPainter *painter,
+ QTextTable *table, QTextTableData *td,
+ const QTextTableCell &cell) const
+{
+#ifndef QT_NO_CSSPARSER
+ qreal topMarginAfterPageBreak = (td->effectiveTopMargin + td->cellSpacing + td->border).toReal();
+ qreal bottomMargin = (td->effectiveBottomMargin + td->cellSpacing + td->border).toReal();
+
+ const int headerRowCount = qMin(table->format().headerRowCount(), table->rows() - 1);
+ if (headerRowCount > 0 && cell.row() >= headerRowCount)
+ topMarginAfterPageBreak += td->headerHeight.toReal();
+
+ BorderPaginator paginator(document, cellRect, topMarginAfterPageBreak, bottomMargin, 0);
+
+ bool turn_off_antialiasing = !(painter->renderHints() & QPainter::Antialiasing);
+ painter->setRenderHint(QPainter::Antialiasing);
+
+ // paint cell borders for every page the cell appears on
+ for (int page = paginator.topPage; page <= paginator.bottomPage; ++page) {
+ const QRectF clipped = paginator.clipRect(page);
+ if (!clipped.isValid())
+ continue;
+
+ const qreal offset = cellRect.top() - td->rowPositions.at(cell.row()).toReal();
+ const int lastHeaderRow = table->format().headerRowCount() - 1;
+ const bool tableHasHeader = table->format().headerRowCount() > 0;
+ const bool isHeaderRow = cell.row() < table->format().headerRowCount();
+ const bool isFirstRow = cell.row() == lastHeaderRow + 1;
+ const bool isLastRow = cell.row() + cell.rowSpan() >= table->rows();
+ const bool previousRowOnPreviousPage = !isFirstRow
+ && !isHeaderRow
+ && BorderPaginator(document,
+ td->cellRect(adjacentCell(table, cell, QCss::TopEdge)).translated(0, offset),
+ topMarginAfterPageBreak,
+ bottomMargin,
+ 0).bottomPage < page;
+ const bool nextRowOnNextPage = !isLastRow
+ && BorderPaginator(document,
+ td->cellRect(adjacentCell(table, cell, QCss::BottomEdge)).translated(0, offset),
+ topMarginAfterPageBreak,
+ bottomMargin,
+ 0).topPage > page;
+ const bool rowStartsOnPage = page == paginator.topPage;
+ const bool rowEndsOnPage = page == paginator.bottomPage;
+ const bool rowStartsOnPageTop = !tableHasHeader
+ && rowStartsOnPage
+ && previousRowOnPreviousPage;
+ const bool rowStartsOnPageBelowHeader = tableHasHeader
+ && rowStartsOnPage
+ && previousRowOnPreviousPage;
+
+ const bool suppressTopBorder = td->borderCollapse
+ ? !isHeaderRow && (!rowStartsOnPage || rowStartsOnPageBelowHeader)
+ : !rowStartsOnPage;
+ const bool suppressBottomBorder = td->borderCollapse
+ ? !isHeaderRow && (!rowEndsOnPage || nextRowOnNextPage)
+ : !rowEndsOnPage;
+ const bool doNotAdjustTopAnchor = td->borderCollapse
+ ? !tableHasHeader && !rowStartsOnPage
+ : !rowStartsOnPage;
+ const bool doNotAdjustBottomAnchor = suppressBottomBorder;
+
+ if (!suppressTopBorder) {
+ drawCellBorder(this, painter, table, td, cell, clipped, QCss::TopEdge,
+ -1, true, true, rowStartsOnPageTop);
+ }
+
+ drawCellBorder(this, painter, table, td, cell, clipped, QCss::LeftEdge,
+ suppressTopBorder ? lastHeaderRow : -1,
+ !doNotAdjustTopAnchor,
+ !doNotAdjustBottomAnchor,
+ rowStartsOnPageTop);
+ drawCellBorder(this, painter, table, td, cell, clipped, QCss::RightEdge,
+ suppressTopBorder ? lastHeaderRow : -1,
+ !doNotAdjustTopAnchor,
+ !doNotAdjustBottomAnchor,
+ rowStartsOnPageTop);
+
+ if (!suppressBottomBorder) {
+ drawCellBorder(this, painter, table, td, cell, clipped, QCss::BottomEdge,
+ -1, true, true, false);
+ }
+ }
+
+ if (turn_off_antialiasing)
+ painter->setRenderHint(QPainter::Antialiasing, false);
+#endif
+}
+
void QTextDocumentLayoutPrivate::drawTableCell(const QRectF &cellRect, QPainter *painter, const QAbstractTextDocumentLayout::PaintContext &cell_context,
QTextTable *table, QTextTableData *td, int r, int c,
QTextBlock *cursorBlockNeedingRepaint, QPointF *cursorBlockOffset) const
@@ -1098,9 +1819,8 @@ void QTextDocumentLayoutPrivate::drawTableCell(const QRectF &cellRect, QPainter
return;
}
- QTextFormat fmt = cell.format();
- const QFixed leftPadding = td->leftPadding(fmt);
- const QFixed topPadding = td->topPadding(fmt);
+ const QFixed leftPadding = td->leftPadding(table, cell);
+ const QFixed topPadding = td->topPadding(table, cell);
qreal topMargin = (td->effectiveTopMargin + td->cellSpacing + td->border).toReal();
qreal bottomMargin = (td->effectiveBottomMargin + td->cellSpacing + td->border).toReal();
@@ -1109,7 +1829,7 @@ void QTextDocumentLayoutPrivate::drawTableCell(const QRectF &cellRect, QPainter
if (r >= headerRowCount)
topMargin += td->headerHeight.toReal();
- if (td->border != 0) {
+ if (!td->borderCollapse && td->border != 0) {
const QBrush oldBrush = painter->brush();
const QPen oldPen = painter->pen();
@@ -1175,6 +1895,9 @@ void QTextDocumentLayoutPrivate::drawTableCell(const QRectF &cellRect, QPainter
painter->setBrushOrigin(cellRect.topLeft());
}
+ // paint over the background - otherwise we would have to adjust the background paint cellRect for the border values
+ drawTableCellBorder(cellRect, painter, table, td, cell);
+
const QFixed verticalOffset = td->cellVerticalOffsets.at(c + r * table->columns());
const QPointF cellPos = QPointF(cellRect.left() + leftPadding.toReal(),
@@ -1538,8 +2261,7 @@ QTextLayoutStruct QTextDocumentLayoutPrivate::layoutCell(QTextTable *t, const QT
layoutStruct.maximumWidth = QFIXED_MAX;
layoutStruct.y = 0;
- const QTextFormat fmt = cell.format();
- const QFixed topPadding = td->topPadding(fmt);
+ const QFixed topPadding = td->topPadding(t, cell);
if (withPageBreaks) {
layoutStruct.frameY = absoluteTableY + td->rowPositions.at(cell.row()) + topPadding;
}
@@ -1557,8 +2279,20 @@ QTextLayoutStruct QTextDocumentLayoutPrivate::layoutCell(QTextTable *t, const QT
if (layoutStruct.pageHeight < 0 || !withPageBreaks)
layoutStruct.pageHeight = QFIXED_MAX;
const int currentPage = layoutStruct.currentPage();
- layoutStruct.pageTopMargin = td->effectiveTopMargin + td->cellSpacing + td->border + topPadding;
- layoutStruct.pageBottomMargin = td->effectiveBottomMargin + td->cellSpacing + td->border + td->bottomPadding(fmt);
+
+ layoutStruct.pageTopMargin = td->effectiveTopMargin
+ + td->cellSpacing
+ + td->border
+ + td->paddingProperty(cell.format(), QTextFormat::TableCellTopPadding); // top cell-border is not repeated
+
+ const int headerRowCount = t->format().headerRowCount();
+ if (td->borderCollapse && headerRowCount > 0) {
+ // consider the header row's bottom edge width
+ qreal headerRowBottomBorderWidth = axisEdgeData(t, td, t->cellAt(headerRowCount - 1, cell.column()), QCss::BottomEdge).width;
+ layoutStruct.pageTopMargin += QFixed::fromReal(scaleToDevice(headerRowBottomBorderWidth) / 2);
+ }
+
+ layoutStruct.pageBottomMargin = td->effectiveBottomMargin + td->cellSpacing + td->effectiveBottomBorder + td->bottomPadding(t, cell);
layoutStruct.pageBottom = (currentPage + 1) * layoutStruct.pageHeight - layoutStruct.pageBottomMargin;
layoutStruct.fullLayout = true;
@@ -1604,6 +2338,17 @@ QTextLayoutStruct QTextDocumentLayoutPrivate::layoutCell(QTextTable *t, const QT
return layoutStruct;
}
+#ifndef QT_NO_CSSPARSER
+static inline void findWidestOutermostBorder(QTextTable *table, QTextTableData *td,
+ const QTextTableCell &cell, QCss::Edge edge,
+ qreal *outerBorders)
+{
+ EdgeData w = cellEdgeData(table, td, cell, edge);
+ if (w.width > outerBorders[edge])
+ outerBorders[edge] = w.width;
+}
+#endif
+
QRectF QTextDocumentLayoutPrivate::layoutTable(QTextTable *table, int layoutFrom, int layoutTo, QFixed parentY)
{
qCDebug(lcTable) << "layoutTable from" << layoutFrom << "to" << layoutTo << "parentY" << parentY;
@@ -1629,12 +2374,49 @@ QRectF QTextDocumentLayoutPrivate::layoutTable(QTextTable *table, int layoutFrom
columnWidthConstraints.resize(columns);
Q_ASSERT(columnWidthConstraints.count() == columns);
- const QFixed cellSpacing = td->cellSpacing = QFixed::fromReal(scaleToDevice(fmt.cellSpacing()));
+ // borderCollapse will disable drawing the html4 style table cell borders
+ // and draw a 1px grid instead. This also sets a fixed cellspacing
+ // of 1px if border > 0 (for the grid) and ignore any explicitly set
+ // cellspacing.
+ td->borderCollapse = fmt.borderCollapse();
+ td->borderCell = td->borderCollapse ? 0 : td->border;
+ const QFixed cellSpacing = td->cellSpacing = QFixed::fromReal(scaleToDevice(td->borderCollapse ? 0 : fmt.cellSpacing())).round();
+
+ td->drawGrid = (td->borderCollapse && fmt.border() >= 1);
+
+ td->effectiveTopBorder = td->effectiveBottomBorder = td->effectiveLeftBorder = td->effectiveRightBorder = td->border;
+
+#ifndef QT_NO_CSSPARSER
+ if (td->borderCollapse) {
+ // find the widest borders of the outermost cells
+ qreal outerBorders[QCss::NumEdges];
+ for (int i = 0; i < QCss::NumEdges; ++i)
+ outerBorders[i] = 0;
+
+ for (int r = 0; r < rows; ++r) {
+ if (r == 0) {
+ for (int c = 0; c < columns; ++c)
+ findWidestOutermostBorder(table, td, table->cellAt(r, c), QCss::TopEdge, outerBorders);
+ }
+ if (r == rows - 1) {
+ for (int c = 0; c < columns; ++c)
+ findWidestOutermostBorder(table, td, table->cellAt(r, c), QCss::BottomEdge, outerBorders);
+ }
+ findWidestOutermostBorder(table, td, table->cellAt(r, 0), QCss::LeftEdge, outerBorders);
+ findWidestOutermostBorder(table, td, table->cellAt(r, columns - 1), QCss::RightEdge, outerBorders);
+ }
+ td->effectiveTopBorder = QFixed::fromReal(scaleToDevice(outerBorders[QCss::TopEdge] / 2)).round();
+ td->effectiveBottomBorder = QFixed::fromReal(scaleToDevice(outerBorders[QCss::BottomEdge] / 2)).round();
+ td->effectiveLeftBorder = QFixed::fromReal(scaleToDevice(outerBorders[QCss::LeftEdge] / 2)).round();
+ td->effectiveRightBorder = QFixed::fromReal(scaleToDevice(outerBorders[QCss::RightEdge] / 2)).round();
+ }
+#endif
+
td->deviceScale = scaleToDevice(qreal(1));
td->cellPadding = QFixed::fromReal(scaleToDevice(fmt.cellPadding()));
- const QFixed leftMargin = td->leftMargin + td->border + td->padding;
- const QFixed rightMargin = td->rightMargin + td->border + td->padding;
- const QFixed topMargin = td->topMargin + td->border + td->padding;
+ const QFixed leftMargin = td->leftMargin + td->padding + td->effectiveLeftBorder;
+ const QFixed rightMargin = td->rightMargin + td->padding + td->effectiveRightBorder;
+ const QFixed topMargin = td->topMargin + td->padding + td->effectiveTopBorder;
const QFixed absoluteTableY = parentY + td->position.y;
@@ -1644,11 +2426,17 @@ recalc_minmax_widths:
QFixed remainingWidth = td->contentsWidth;
// two (vertical) borders per cell per column
- remainingWidth -= columns * 2 * td->border;
+ remainingWidth -= columns * 2 * td->borderCell;
// inter-cell spacing
remainingWidth -= (columns - 1) * cellSpacing;
// cell spacing at the left and right hand side
remainingWidth -= 2 * cellSpacing;
+
+ if (td->borderCollapse) {
+ remainingWidth -= td->effectiveLeftBorder;
+ remainingWidth -= td->effectiveRightBorder;
+ }
+
// remember the width used to distribute to percentaged columns
const QFixed initialTotalWidth = remainingWidth;
@@ -1673,9 +2461,8 @@ recalc_minmax_widths:
if (cspan > 1 && i != cell.column())
continue;
- const QTextFormat fmt = cell.format();
- const QFixed leftPadding = td->leftPadding(fmt);
- const QFixed rightPadding = td->rightPadding(fmt);
+ const QFixed leftPadding = td->leftPadding(table, cell);
+ const QFixed rightPadding = td->rightPadding(table, cell);
const QFixed widthPadding = leftPadding + rightPadding;
// to figure out the min and the max width lay out the cell at
@@ -1707,6 +2494,12 @@ recalc_minmax_widths:
if (maxW == QFIXED_MAX)
continue;
+ // for variable columns the maxWidth will later be considered as the
+ // column width (column width = content width). We must avoid that the
+ // pixel-alignment rounding step floors this value and thus the text
+ // rendering later erroneously wraps the content.
+ maxW = maxW.ceil();
+
widthToDistribute = maxW;
for (int n = 0; n < cspan; ++n) {
const int col = i + n;
@@ -1798,7 +2591,7 @@ recalc_minmax_widths:
}
// in order to get a correct border rendering we must ensure that the distance between
- // two cells is exactly 2 * td->border pixel. we do this by rounding the calculated width
+ // two cells is exactly 2 * td->cellBorder pixel. we do this by rounding the calculated width
// values here.
// to minimize the total rounding error we propagate the rounding error for each width
// to its successor.
@@ -1813,7 +2606,7 @@ recalc_minmax_widths:
td->columnPositions[0] = leftMargin /*includes table border*/ + cellSpacing + td->border;
for (int i = 1; i < columns; ++i)
- td->columnPositions[i] = td->columnPositions.at(i-1) + td->widths.at(i-1) + 2 * td->border + cellSpacing;
+ td->columnPositions[i] = td->columnPositions.at(i-1) + td->widths.at(i-1) + 2 * td->borderCell + cellSpacing;
// - margin to compensate the + margin in columnPositions[0]
const QFixed contentsWidth = td->columnPositions.constLast() + td->widths.constLast() + td->padding + td->border + cellSpacing - leftMargin;
@@ -1914,12 +2707,10 @@ relayout:
}
}
- const QTextFormat fmt = cell.format();
-
- const QFixed topPadding = td->topPadding(fmt);
- const QFixed bottomPadding = td->bottomPadding(fmt);
- const QFixed leftPadding = td->leftPadding(fmt);
- const QFixed rightPadding = td->rightPadding(fmt);
+ const QFixed topPadding = td->topPadding(table, cell);
+ const QFixed bottomPadding = td->bottomPadding(table, cell);
+ const QFixed leftPadding = td->leftPadding(table, cell);
+ const QFixed rightPadding = td->rightPadding(table, cell);
const QFixed widthPadding = leftPadding + rightPadding;
++rowCellCount;
@@ -1956,13 +2747,13 @@ relayout:
}
if (haveRowSpannedCells) {
- const QFixed effectiveHeight = td->heights.at(r) + td->border + cellSpacing + td->border;
+ const QFixed effectiveHeight = td->heights.at(r) + td->borderCell + cellSpacing + td->borderCell;
for (int c = 0; c < columns; ++c)
heightToDistribute[c] = qMax(heightToDistribute.at(c) - effectiveHeight - dropDistance, QFixed(0));
}
if (r == headerRowCount - 1) {
- td->headerHeight = td->rowPositions.at(r) + td->heights.at(r) - td->rowPositions.at(0) + td->cellSpacing + 2 * td->border;
+ td->headerHeight = td->rowPositions.at(r) + td->heights.at(r) - td->rowPositions.at(0) + td->cellSpacing + 2 * td->borderCell;
td->headerHeight -= td->headerHeight * (td->headerHeight / pageHeight).truncate();
td->effectiveTopMargin += td->headerHeight;
}
@@ -1984,7 +2775,7 @@ relayout:
const QFixed availableHeight = td->rowPositions.at(r + rowSpan - 1) + td->heights.at(r + rowSpan - 1) - td->rowPositions.at(r);
const QTextCharFormat cellFormat = cell.format();
- const QFixed cellHeight = cellHeights.at(cellIndex++) + td->topPadding(cellFormat) + td->bottomPadding(cellFormat);
+ const QFixed cellHeight = cellHeights.at(cellIndex++) + td->topPadding(table, cell) + td->bottomPadding(table, cell);
QFixed offset = 0;
switch (cellFormat.verticalAlignment()) {
@@ -2009,14 +2800,14 @@ relayout:
td->minimumWidth = td->columnPositions.at(0);
for (int i = 0; i < columns; ++i) {
- td->minimumWidth += td->minWidths.at(i) + 2 * td->border + cellSpacing;
+ td->minimumWidth += td->minWidths.at(i) + 2 * td->borderCell + cellSpacing;
}
td->minimumWidth += rightMargin - td->border;
td->maximumWidth = td->columnPositions.at(0);
for (int i = 0; i < columns; ++i) {
if (td->maxWidths.at(i) != QFIXED_MAX)
- td->maximumWidth += td->maxWidths.at(i) + 2 * td->border + cellSpacing;
+ td->maximumWidth += td->maxWidths.at(i) + 2 * td->borderCell + cellSpacing;
qCDebug(lcTable) << "column" << i << "has final width" << td->widths.at(i).toReal()
<< "min" << td->minWidths.at(i).toReal() << "max" << td->maxWidths.at(i).toReal();
}
@@ -3250,7 +4041,7 @@ QRectF QTextDocumentLayout::tableBoundingRect(QTextTable *table) const
if (QTextTable *table = qobject_cast<QTextTable *>(f)) {
QTextTableCell cell = table->cellAt(framePos);
if (cell.isValid())
- pos += static_cast<QTextTableData *>(fd)->cellPosition(cell).toPointF();
+ pos += static_cast<QTextTableData *>(fd)->cellPosition(table, cell).toPointF();
}
}
@@ -3280,7 +4071,7 @@ QRectF QTextDocumentLayoutPrivate::frameBoundingRectInternal(QTextFrame *frame)
if (QTextTable *table = qobject_cast<QTextTable *>(f)) {
QTextTableCell cell = table->cellAt(framePos);
if (cell.isValid())
- pos += static_cast<QTextTableData *>(fd)->cellPosition(cell).toPointF();
+ pos += static_cast<QTextTableData *>(fd)->cellPosition(table, cell).toPointF();
}
f = f->parentFrame();
@@ -3305,7 +4096,7 @@ QRectF QTextDocumentLayout::blockBoundingRect(const QTextBlock &block) const
if (QTextTable *table = qobject_cast<QTextTable *>(frame)) {
QTextTableCell cell = table->cellAt(blockPos);
if (cell.isValid())
- offset += static_cast<QTextTableData *>(fd)->cellPosition(cell).toPointF();
+ offset += static_cast<QTextTableData *>(fd)->cellPosition(table, cell).toPointF();
}
frame = frame->parentFrame();
diff --git a/src/gui/text/qtextformat.cpp b/src/gui/text/qtextformat.cpp
index 090c6cc4ce..47a38db3ad 100644
--- a/src/gui/text/qtextformat.cpp
+++ b/src/gui/text/qtextformat.cpp
@@ -660,6 +660,23 @@ Q_GUI_EXPORT QDataStream &operator>>(QDataStream &stream, QTextFormat &fmt)
\value TableCellTopPadding
\value TableCellBottomPadding
+ Table cell properties intended for use with \l QTextTableFormat::borderCollapse enabled
+
+ \value TableCellTopBorder
+ \value TableCellBottomBorder
+ \value TableCellLeftBorder
+ \value TableCellRightBorder
+
+ \value TableCellTopBorderStyle
+ \value TableCellBottomBorderStyle
+ \value TableCellLeftBorderStyle
+ \value TableCellRightBorderStyle
+
+ \value TableCellTopBorderBrush
+ \value TableCellBottomBorderBrush
+ \value TableCellLeftBorderBrush
+ \value TableCellRightBorderBrush
+
Image properties
\value ImageName The filename or source of the image.
@@ -3100,6 +3117,8 @@ QTextTableFormat::QTextTableFormat(const QTextFormat &fmt)
Sets the cell \a spacing for the table. This determines the distance
between adjacent cells.
+
+ This property will be ignored if \l borderCollapse is enabled.
*/
/*!
@@ -3151,6 +3170,44 @@ QTextTableFormat::QTextTableFormat(const QTextFormat &fmt)
*/
/*!
+ \fn void QTextTableFormat::setBorderCollapse(bool borderCollapse)
+ \since 5.14
+
+ Enabling \a borderCollapse will have the following implications:
+ \list
+ \li The borders and grid of the table will be rendered following the
+ CSS table \c border-collapse: \c collapse rules
+ \li Setting the \c border property to a minimum value of \c 1 will render a
+ one pixel solid inner table grid using the \l borderBrush property and an
+ outer border as specified
+ \li The various border style properties of \l QTextTableCellFormat can be used to
+ customize the grid and have precedence over the border and grid of the table
+ \li The \l cellSpacing property will be ignored
+ \li For print pagination:
+ \list
+ \li Columns continued on a page will not have their top cell border rendered
+ \li Repeated header rows will always have their bottom cell border rendered
+ \endlist
+ \endlist
+
+ With borderCollapse disabled, cell borders can still be styled
+ using QTextTableCellFormat but styling will be applied only within
+ the cell's frame, which is probably not very useful in practice.
+
+ \sa setBorder(), setBorderBrush(), setBorderStyle()
+ \sa QTextTableCellFormat
+*/
+
+/*!
+ \fn bool QTextTableFormat::borderCollapse() const
+ \since 5.14
+
+ Returns true if borderCollapse is enabled.
+
+ \sa setBorderCollapse()
+*/
+
+/*!
\fn void QTextFormat::setBackground(const QBrush &brush)
Sets the brush use to paint the document's background to the
@@ -3489,6 +3546,228 @@ QTextImageFormat::QTextImageFormat(const QTextFormat &fmt)
*/
/*!
+ \fn void QTextTableCellFormat::setTopBorder(qreal width)
+ \since 5.14
+
+ Sets the top border \a width of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn qreal QTextTableCellFormat::topBorder() const
+ \since 5.14
+
+ Returns the top border width of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setBottomBorder(qreal width)
+ \since 5.14
+
+ Sets the bottom border \a width of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn qreal QTextTableCellFormat::bottomBorder() const
+ \since 5.14
+
+ Returns the bottom border width of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setLeftBorder(qreal width)
+ \since 5.14
+
+ Sets the left border \a width of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn qreal QTextTableCellFormat::leftBorder() const
+ \since 5.14
+
+ Returns the left border width of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setRightBorder(qreal width)
+ \since 5.14
+
+ Sets the right border \a width of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn qreal QTextTableCellFormat::rightBorder() const
+ \since 5.14
+
+ Returns the right border width of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setBorder(qreal width)
+ \since 5.14
+
+ Sets the left, right, top, and bottom border \a width of the table cell.
+
+ \sa setLeftBorder(), setRightBorder(), setTopBorder(), setBottomBorder()
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setTopBorderStyle(QTextFrameFormat::BorderStyle style)
+ \since 5.14
+
+ Sets the top border \a style of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn QTextFrameFormat::BorderStyle QTextTableCellFormat::topBorderStyle() const
+ \since 5.14
+
+ Returns the top border style of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setBottomBorderStyle(QTextFrameFormat::BorderStyle style)
+ \since 5.14
+
+ Sets the bottom border \a style of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn QTextFrameFormat::BorderStyle QTextTableCellFormat::bottomBorderStyle() const
+ \since 5.14
+
+ Returns the bottom border style of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setLeftBorderStyle(QTextFrameFormat::BorderStyle style)
+ \since 5.14
+
+ Sets the left border \a style of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn QTextFrameFormat::BorderStyle QTextTableCellFormat::leftBorderStyle() const
+ \since 5.14
+
+ Returns the left border style of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setRightBorderStyle(QTextFrameFormat::BorderStyle style)
+ \since 5.14
+
+ Sets the right border \a style of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn QTextFrameFormat::BorderStyle QTextTableCellFormat::rightBorderStyle() const
+ \since 5.14
+
+ Returns the right border style of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setBorderStyle(QTextFrameFormat::BorderStyle style)
+ \since 5.14
+
+ Sets the left, right, top, and bottom border \a style of the table cell.
+
+ \sa setLeftBorderStyle(), setRightBorderStyle(), setTopBorderStyle(), setBottomBorderStyle()
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setTopBorderBrush(const QBrush &brush)
+ \since 5.14
+
+ Sets the top border \a brush of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn QBrush QTextTableCellFormat::topBorderBrush() const
+ \since 5.14
+
+ Returns the top border brush of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setBottomBorderBrush(const QBrush &brush)
+ \since 5.14
+
+ Sets the bottom border \a brush of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn QBrush QTextTableCellFormat::bottomBorderBrush() const
+ \since 5.14
+
+ Returns the bottom border brush of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setLeftBorderBrush(const QBrush &brush)
+ \since 5.14
+
+ Sets the left border \a brush of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn QBrush QTextTableCellFormat::leftBorderBrush() const
+ \since 5.14
+
+ Returns the left border brush of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setRightBorderBrush(const QBrush &brush)
+ \since 5.14
+
+ Sets the right border \a brush of the table cell.
+
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
+ \fn QBrush QTextTableCellFormat::rightBorderBrush() const
+ \since 5.14
+
+ Returns the right border brush of the table cell.
+*/
+
+/*!
+ \fn void QTextTableCellFormat::setBorderBrush(const QBrush &brush)
+ \since 5.14
+
+ Sets the left, right, top, and bottom border \a brush of the table cell.
+
+ \sa setLeftBorderBrush(), setRightBorderBrush(), setTopBorderBrush(), setBottomBorderBrush()
+ \sa QTextTableFormat::setBorderCollapse
+*/
+
+/*!
\fn bool QTextTableCellFormat::isValid() const
\since 4.4
diff --git a/src/gui/text/qtextformat.h b/src/gui/text/qtextformat.h
index a91461dcae..12f14a1555 100644
--- a/src/gui/text/qtextformat.h
+++ b/src/gui/text/qtextformat.h
@@ -242,6 +242,7 @@ public:
TableCellSpacing = 0x4102,
TableCellPadding = 0x4103,
TableHeaderRowCount = 0x4104,
+ TableBorderCollapse = 0x4105,
// table cell properties
TableCellRowSpan = 0x4810,
@@ -252,6 +253,21 @@ public:
TableCellLeftPadding = 0x4814,
TableCellRightPadding = 0x4815,
+ TableCellTopBorder = 0x4816,
+ TableCellBottomBorder = 0x4817,
+ TableCellLeftBorder = 0x4818,
+ TableCellRightBorder = 0x4819,
+
+ TableCellTopBorderStyle = 0x481a,
+ TableCellBottomBorderStyle = 0x481b,
+ TableCellLeftBorderStyle = 0x481c,
+ TableCellRightBorderStyle = 0x481d,
+
+ TableCellTopBorderBrush = 0x481e,
+ TableCellBottomBorderBrush = 0x481f,
+ TableCellLeftBorderBrush = 0x4820,
+ TableCellRightBorderBrush = 0x4821,
+
// image properties
ImageName = 0x5000,
ImageTitle = 0x5001,
@@ -966,6 +982,11 @@ public:
inline int headerRowCount() const
{ return intProperty(TableHeaderRowCount); }
+ inline void setBorderCollapse(bool borderCollapse)
+ { setProperty(TableBorderCollapse, borderCollapse); }
+ inline bool borderCollapse() const
+ { return boolProperty(TableBorderCollapse); }
+
protected:
explicit QTextTableFormat(const QTextFormat &fmt);
friend class QTextFormat;
@@ -1007,6 +1028,72 @@ public:
inline void setPadding(qreal padding);
+ inline void setTopBorder(qreal width)
+ { setProperty(TableCellTopBorder, width); }
+ inline qreal topBorder() const
+ { return doubleProperty(TableCellTopBorder); }
+
+ inline void setBottomBorder(qreal width)
+ { setProperty(TableCellBottomBorder, width); }
+ inline qreal bottomBorder() const
+ { return doubleProperty(TableCellBottomBorder); }
+
+ inline void setLeftBorder(qreal width)
+ { setProperty(TableCellLeftBorder, width); }
+ inline qreal leftBorder() const
+ { return doubleProperty(TableCellLeftBorder); }
+
+ inline void setRightBorder(qreal width)
+ { setProperty(TableCellRightBorder, width); }
+ inline qreal rightBorder() const
+ { return doubleProperty(TableCellRightBorder); }
+
+ inline void setBorder(qreal width);
+
+ inline void setTopBorderStyle(QTextFrameFormat::BorderStyle style)
+ { setProperty(TableCellTopBorderStyle, style); }
+ inline QTextFrameFormat::BorderStyle topBorderStyle() const
+ { return static_cast<QTextFrameFormat::BorderStyle>(intProperty(TableCellTopBorderStyle)); }
+
+ inline void setBottomBorderStyle(QTextFrameFormat::BorderStyle style)
+ { setProperty(TableCellBottomBorderStyle, style); }
+ inline QTextFrameFormat::BorderStyle bottomBorderStyle() const
+ { return static_cast<QTextFrameFormat::BorderStyle>(intProperty(TableCellBottomBorderStyle)); }
+
+ inline void setLeftBorderStyle(QTextFrameFormat::BorderStyle style)
+ { setProperty(TableCellLeftBorderStyle, style); }
+ inline QTextFrameFormat::BorderStyle leftBorderStyle() const
+ { return static_cast<QTextFrameFormat::BorderStyle>(intProperty(TableCellLeftBorderStyle)); }
+
+ inline void setRightBorderStyle(QTextFrameFormat::BorderStyle style)
+ { setProperty(TableCellRightBorderStyle, style); }
+ inline QTextFrameFormat::BorderStyle rightBorderStyle() const
+ { return static_cast<QTextFrameFormat::BorderStyle>(intProperty(TableCellRightBorderStyle)); }
+
+ inline void setBorderStyle(QTextFrameFormat::BorderStyle style);
+
+ inline void setTopBorderBrush(const QBrush &brush)
+ { setProperty(TableCellTopBorderBrush, brush); }
+ inline QBrush topBorderBrush() const
+ { return brushProperty(TableCellTopBorderBrush); }
+
+ inline void setBottomBorderBrush(const QBrush &brush)
+ { setProperty(TableCellBottomBorderBrush, brush); }
+ inline QBrush bottomBorderBrush() const
+ { return brushProperty(TableCellBottomBorderBrush); }
+
+ inline void setLeftBorderBrush(const QBrush &brush)
+ { setProperty(TableCellLeftBorderBrush, brush); }
+ inline QBrush leftBorderBrush() const
+ { return brushProperty(TableCellLeftBorderBrush); }
+
+ inline void setRightBorderBrush(const QBrush &brush)
+ { setProperty(TableCellRightBorderBrush, brush); }
+ inline QBrush rightBorderBrush() const
+ { return brushProperty(TableCellRightBorderBrush); }
+
+ inline void setBorderBrush(const QBrush &brush);
+
protected:
explicit QTextTableCellFormat(const QTextFormat &fmt);
friend class QTextFormat;
@@ -1062,6 +1149,29 @@ inline void QTextTableCellFormat::setPadding(qreal padding)
setRightPadding(padding);
}
+inline void QTextTableCellFormat::setBorder(qreal width)
+{
+ setTopBorder(width);
+ setBottomBorder(width);
+ setLeftBorder(width);
+ setRightBorder(width);
+}
+
+inline void QTextTableCellFormat::setBorderStyle(QTextFrameFormat::BorderStyle style)
+{
+ setTopBorderStyle(style);
+ setBottomBorderStyle(style);
+ setLeftBorderStyle(style);
+ setRightBorderStyle(style);
+}
+
+inline void QTextTableCellFormat::setBorderBrush(const QBrush &brush)
+{
+ setTopBorderBrush(brush);
+ setBottomBorderBrush(brush);
+ setLeftBorderBrush(brush);
+ setRightBorderBrush(brush);
+}
QT_END_NAMESPACE
diff --git a/src/gui/text/qtexthtmlparser.cpp b/src/gui/text/qtexthtmlparser.cpp
index 1ee317d27c..5d37982a8b 100644
--- a/src/gui/text/qtexthtmlparser.cpp
+++ b/src/gui/text/qtexthtmlparser.cpp
@@ -491,12 +491,19 @@ QTextHtmlParserNode::QTextHtmlParserNode()
listStyle(QTextListFormat::ListStyleUndefined), imageWidth(-1), imageHeight(-1), tableBorder(0),
tableCellRowSpan(1), tableCellColSpan(1), tableCellSpacing(2), tableCellPadding(0),
borderBrush(Qt::darkGray), borderStyle(QTextFrameFormat::BorderStyle_Outset),
+ borderCollapse(false),
userState(-1), cssListIndent(0), wsm(WhiteSpaceModeUndefined)
{
margin[QTextHtmlParser::MarginLeft] = 0;
margin[QTextHtmlParser::MarginRight] = 0;
margin[QTextHtmlParser::MarginTop] = 0;
margin[QTextHtmlParser::MarginBottom] = 0;
+
+ for (int i = 0; i < 4; ++i) {
+ tableCellBorderStyle[i] = QTextFrameFormat::BorderStyle_None;
+ tableCellBorder[i] = 0;
+ tableCellBorderBrush[i] = Qt::NoBrush;
+ }
}
void QTextHtmlParser::dumpHtml()
@@ -649,7 +656,7 @@ void QTextHtmlParser::parseTag()
parseExclamationTag();
if (nodes.last().wsm != QTextHtmlParserNode::WhiteSpacePre
&& nodes.last().wsm != QTextHtmlParserNode::WhiteSpacePreWrap
- && !textEditMode)
+ && !textEditMode)
eatSpace();
return;
}
@@ -717,7 +724,8 @@ void QTextHtmlParser::parseTag()
// in a white-space preserving environment strip off a initial newline
// since the element itself already generates a newline
if ((node->wsm == QTextHtmlParserNode::WhiteSpacePre
- || node->wsm == QTextHtmlParserNode::WhiteSpacePreWrap)
+ || node->wsm == QTextHtmlParserNode::WhiteSpacePreWrap
+ || node->wsm == QTextHtmlParserNode::WhiteSpacePreLine)
&& node->isBlock()) {
if (pos < len - 1 && txt.at(pos) == QLatin1Char('\n'))
++pos;
@@ -761,7 +769,8 @@ void QTextHtmlParser::parseCloseTag()
// in a new block for elements following the <pre>
// ...foo\n</pre><p>blah -> foo</pre><p>blah
if ((at(p).wsm == QTextHtmlParserNode::WhiteSpacePre
- || at(p).wsm == QTextHtmlParserNode::WhiteSpacePreWrap)
+ || at(p).wsm == QTextHtmlParserNode::WhiteSpacePreWrap
+ || at(p).wsm == QTextHtmlParserNode::WhiteSpacePreLine)
&& at(p).isBlock()) {
if (at(last()).text.endsWith(QLatin1Char('\n')))
nodes[last()].text.chop(1);
@@ -1167,6 +1176,25 @@ void QTextHtmlParserNode::applyCssDeclarations(const QVector<QCss::Declaration>
QCss::ValueExtractor extractor(declarations);
extractor.extractBox(margin, padding);
+ if (id == Html_td || id == Html_th) {
+ QCss::BorderStyle cssStyles[4];
+ int cssBorder[4];
+ QSize cssRadii[4]; // unused
+ for (int i = 0; i < 4; ++i) {
+ cssStyles[i] = QCss::BorderStyle_None;
+ cssBorder[i] = 0;
+ }
+ // this will parse (and cache) "border-width" as a list so the
+ // QCss::BorderWidth parsing below which expects a single value
+ // will not work as expected - which in this case does not matter
+ // because tableBorder is not relevant for cells.
+ extractor.extractBorder(cssBorder, tableCellBorderBrush, cssStyles, cssRadii);
+ for (int i = 0; i < 4; ++i) {
+ tableCellBorderStyle[i] = static_cast<QTextFrameFormat::BorderStyle>(cssStyles[i] - 1);
+ tableCellBorder[i] = static_cast<qreal>(cssBorder[i]);
+ }
+ }
+
for (int i = 0; i < declarations.count(); ++i) {
const QCss::Declaration &decl = declarations.at(i);
if (decl.d->values.isEmpty()) continue;
@@ -1184,6 +1212,9 @@ void QTextHtmlParserNode::applyCssDeclarations(const QVector<QCss::Declaration>
case QCss::BorderWidth:
tableBorder = extractor.lengthValue(decl);
break;
+ case QCss::BorderCollapse:
+ borderCollapse = decl.borderCollapseValue();
+ break;
case QCss::Color: charFormat.setForeground(decl.colorValue()); break;
case QCss::Float:
cssFloat = QTextFrameFormat::InFlow;
@@ -1278,6 +1309,7 @@ void QTextHtmlParserNode::applyCssDeclarations(const QVector<QCss::Declaration>
case QCss::Value_Pre: wsm = QTextHtmlParserNode::WhiteSpacePre; break;
case QCss::Value_NoWrap: wsm = QTextHtmlParserNode::WhiteSpaceNoWrap; break;
case QCss::Value_PreWrap: wsm = QTextHtmlParserNode::WhiteSpacePreWrap; break;
+ case QCss::Value_PreLine: wsm = QTextHtmlParserNode::WhiteSpacePreLine; break;
default: break;
}
break;
@@ -1651,6 +1683,11 @@ void QTextHtmlParser::applyAttributes(const QStringList &attributes)
if (!c.isValid())
qWarning("QTextHtmlParser::applyAttributes: Unknown color name '%s'",value.toLatin1().constData());
node->charFormat.setBackground(c);
+ } else if (key == QLatin1String("bordercolor")) {
+ QColor c; c.setNamedColor(value);
+ if (!c.isValid())
+ qWarning("QTextHtmlParser::applyAttributes: Unknown color name '%s'",value.toLatin1().constData());
+ node->borderBrush = c;
} else if (key == QLatin1String("background")) {
node->applyBackgroundImage(value, resourceProvider);
} else if (key == QLatin1String("cellspacing")) {
diff --git a/src/gui/text/qtexthtmlparser_p.h b/src/gui/text/qtexthtmlparser_p.h
index c174b54a61..31f558709f 100644
--- a/src/gui/text/qtexthtmlparser_p.h
+++ b/src/gui/text/qtexthtmlparser_p.h
@@ -158,6 +158,7 @@ struct QTextHtmlParserNode {
WhiteSpacePre,
WhiteSpaceNoWrap,
WhiteSpacePreWrap,
+ WhiteSpacePreLine,
WhiteSpaceModeUndefined = -1
};
@@ -194,8 +195,12 @@ struct QTextHtmlParserNode {
int tableCellColSpan;
qreal tableCellSpacing;
qreal tableCellPadding;
+ qreal tableCellBorder[4];
+ QBrush tableCellBorderBrush[4];
+ QTextFrameFormat::BorderStyle tableCellBorderStyle[4];
QBrush borderBrush;
QTextFrameFormat::BorderStyle borderStyle;
+ bool borderCollapse;
int userState;
int cssListIndent;
@@ -289,6 +294,10 @@ public:
inline int leftPadding(int i) const { return at(i).padding[MarginLeft]; }
inline int rightPadding(int i) const { return at(i).padding[MarginRight]; }
+ inline qreal tableCellBorder(int i, int edge) const { return at(i).tableCellBorder[edge]; }
+ inline QTextFrameFormat::BorderStyle tableCellBorderStyle(int i, int edge) const { return at(i).tableCellBorderStyle[edge]; }
+ inline QBrush tableCellBorderBrush(int i, int edge) const { return at(i).tableCellBorderBrush[edge]; }
+
void dumpHtml();
void parse(const QString &text, const QTextDocument *resourceProvider);
diff --git a/src/gui/text/qtextlayout.h b/src/gui/text/qtextlayout.h
index a29791534e..2fc0fcd55a 100644
--- a/src/gui/text/qtextlayout.h
+++ b/src/gui/text/qtextlayout.h
@@ -114,8 +114,8 @@ public:
// not ambiguous. Implementation detail that should not be documented.
template<char = 0>
#endif
- QTextLayout(const QString &text, const QFont &font, const QPaintDevice *paintdevice)
- : QTextLayout(text, font, const_cast<QPaintDevice*>(paintdevice))
+ QTextLayout(const QString &textData, const QFont &textFont, const QPaintDevice *paintdevice)
+ : QTextLayout(textData, textFont, const_cast<QPaintDevice*>(paintdevice))
{}
#else
QTextLayout(const QString &text, const QFont &font, const QPaintDevice *paintdevice = nullptr);
diff --git a/src/network/access/access.pri b/src/network/access/access.pri
index 8a92308f12..cfb20dcd71 100644
--- a/src/network/access/access.pri
+++ b/src/network/access/access.pri
@@ -97,7 +97,8 @@ qtConfig(http) {
access/qhttpnetworkrequest.cpp \
access/qhttpprotocolhandler.cpp \
access/qhttpthreaddelegate.cpp \
- access/qnetworkreplyhttpimpl.cpp
+ access/qnetworkreplyhttpimpl.cpp \
+ access/qhttp2configuration.cpp
HEADERS += \
access/qabstractprotocolhandler_p.h \
@@ -111,7 +112,8 @@ qtConfig(http) {
access/qhttpnetworkrequest_p.h \
access/qhttpprotocolhandler_p.h \
access/qhttpthreaddelegate_p.h \
- access/qnetworkreplyhttpimpl_p.h
+ access/qnetworkreplyhttpimpl_p.h \
+ access/qhttp2configuration.h
qtConfig(ssl) {
SOURCES += \
diff --git a/src/network/access/http2/hpack.cpp b/src/network/access/http2/hpack.cpp
index 2d324d5092..b40cc29e1a 100644
--- a/src/network/access/http2/hpack.cpp
+++ b/src/network/access/http2/hpack.cpp
@@ -208,6 +208,11 @@ void Encoder::setMaxDynamicTableSize(quint32 size)
lookupTable.setMaxDynamicTableSize(size);
}
+void Encoder::setCompressStrings(bool compress)
+{
+ compressStrings = compress;
+}
+
bool Encoder::encodeRequestPseudoHeaders(BitOStream &outputStream,
const HttpHeader &header)
{
diff --git a/src/network/access/http2/hpack_p.h b/src/network/access/http2/hpack_p.h
index 6a1d30d87b..8c2701e7af 100644
--- a/src/network/access/http2/hpack_p.h
+++ b/src/network/access/http2/hpack_p.h
@@ -83,6 +83,7 @@ public:
quint32 newSize);
void setMaxDynamicTableSize(quint32 size);
+ void setCompressStrings(bool compress);
private:
bool encodeRequestPseudoHeaders(BitOStream &outputStream,
diff --git a/src/network/access/http2/http2frames.cpp b/src/network/access/http2/http2frames.cpp
index e695b4dd9e..ce33505683 100644
--- a/src/network/access/http2/http2frames.cpp
+++ b/src/network/access/http2/http2frames.cpp
@@ -305,7 +305,7 @@ FrameStatus FrameReader::read(QAbstractSocket &socket)
return status;
}
- if (Http2PredefinedParameters::maxFrameSize < frame.payloadSize())
+ if (Http2PredefinedParameters::maxPayloadSize < frame.payloadSize())
return FrameStatus::sizeError;
frame.buffer.resize(frame.payloadSize() + frameHeaderSize);
@@ -388,7 +388,7 @@ void FrameWriter::setPayloadSize(quint32 size)
auto &buffer = frame.buffer;
Q_ASSERT(buffer.size() >= frameHeaderSize);
- Q_ASSERT(size < maxPayloadSize);
+ Q_ASSERT(size <= maxPayloadSize);
buffer[0] = size >> 16;
buffer[1] = size >> 8;
diff --git a/src/network/access/http2/http2protocol.cpp b/src/network/access/http2/http2protocol.cpp
index 0be72042c6..31da6fd616 100644
--- a/src/network/access/http2/http2protocol.cpp
+++ b/src/network/access/http2/http2protocol.cpp
@@ -43,6 +43,8 @@
#include "private/qhttpnetworkrequest_p.h"
#include "private/qhttpnetworkreply_p.h"
+#include <access/qhttp2configuration.h>
+
#include <QtCore/qbytearray.h>
#include <QtCore/qstring.h>
@@ -62,88 +64,29 @@ const char Http2clientPreface[clientPrefaceLength] =
0x2e, 0x30, 0x0d, 0x0a, 0x0d, 0x0a,
0x53, 0x4d, 0x0d, 0x0a, 0x0d, 0x0a};
-// TODO: (in 5.11) - remove it!
-const char *http2ParametersPropertyName = "QT_HTTP2_PARAMETERS_PROPERTY";
-
-ProtocolParameters::ProtocolParameters()
-{
- settingsFrameData[Settings::INITIAL_WINDOW_SIZE_ID] = qtDefaultStreamReceiveWindowSize;
- settingsFrameData[Settings::ENABLE_PUSH_ID] = 0;
-}
-
-bool ProtocolParameters::validate() const
+Frame configurationToSettingsFrame(const QHttp2Configuration &config)
{
- // 0. Huffman/indexing: any values are valid and allowed.
-
- // 1. Session receive window size (client side): HTTP/2 starts from the
- // default value of 64Kb, if a client code tries to set lesser value,
- // the delta would become negative, but this is not allowed.
- if (maxSessionReceiveWindowSize < qint32(defaultSessionWindowSize)) {
- qCWarning(QT_HTTP2, "Session receive window must be at least 65535 bytes");
- return false;
- }
-
- // 2. HEADER_TABLE_SIZE: we do not validate HEADER_TABLE_SIZE, considering
- // all values as valid. RFC 7540 and 7541 do not provide any lower/upper
- // limits. If it's 0 - we do not index anything, if it's too huge - a user
- // who provided such a value can potentially have a huge memory footprint,
- // up to them to decide.
-
- // 3. SETTINGS_ENABLE_PUSH: RFC 7540, 6.5.2, a value other than 0 or 1 will
- // be treated by our peer as a PROTOCOL_ERROR.
- if (settingsFrameData.contains(Settings::ENABLE_PUSH_ID)
- && settingsFrameData[Settings::ENABLE_PUSH_ID] > 1) {
- qCWarning(QT_HTTP2, "SETTINGS_ENABLE_PUSH can be only 0 or 1");
- return false;
- }
-
- // 4. SETTINGS_MAX_CONCURRENT_STREAMS : RFC 7540 recommends 100 as the lower
- // limit, says nothing about the upper limit. The RFC allows 0, but this makes
- // no sense to us at all: there is no way a user can change this later and
- // we'll not be able to get any responses on such a connection.
- if (settingsFrameData.contains(Settings::MAX_CONCURRENT_STREAMS_ID)
- && !settingsFrameData[Settings::MAX_CONCURRENT_STREAMS_ID]) {
- qCWarning(QT_HTTP2, "MAX_CONCURRENT_STREAMS must be a positive number");
- return false;
- }
-
- // 5. SETTINGS_INITIAL_WINDOW_SIZE.
- if (settingsFrameData.contains(Settings::INITIAL_WINDOW_SIZE_ID)) {
- const quint32 value = settingsFrameData[Settings::INITIAL_WINDOW_SIZE_ID];
- // RFC 7540, 6.5.2 (the upper limit). The lower limit is our own - we send
- // SETTINGS frame only once and will not be able to change this 0, thus
- // we'll suspend all streams.
- if (!value || value > quint32(maxSessionReceiveWindowSize)) {
- qCWarning(QT_HTTP2, "INITIAL_WINDOW_SIZE must be in the range "
- "(0, 2^31-1]");
- return false;
- }
- }
-
- // 6. SETTINGS_MAX_FRAME_SIZE: RFC 7540, 6.5.2, a value outside of the range
- // [2^14-1, 2^24-1] will be treated by our peer as a PROTOCOL_ERROR.
- if (settingsFrameData.contains(Settings::MAX_FRAME_SIZE_ID)) {
- const quint32 value = settingsFrameData[Settings::INITIAL_WINDOW_SIZE_ID];
- if (value < maxFrameSize || value > maxPayloadSize) {
- qCWarning(QT_HTTP2, "MAX_FRAME_SIZE must be in the range [2^14, 2^24-1]");
- return false;
- }
+ // 6.5 SETTINGS
+ FrameWriter builder(FrameType::SETTINGS, FrameFlag::EMPTY, connectionStreamID);
+ // Server push:
+ builder.append(Settings::ENABLE_PUSH_ID);
+ builder.append(int(config.serverPushEnabled()));
+ // Stream receive window size:
+ builder.append(Settings::INITIAL_WINDOW_SIZE_ID);
+ builder.append(config.streamReceiveWindowSize());
+
+ if (config.maxFrameSize() != minPayloadLimit) {
+ builder.append(Settings::MAX_FRAME_SIZE_ID);
+ builder.append(config.maxFrameSize());
}
-
- // For SETTINGS_MAX_HEADER_LIST_SIZE RFC 7540 does not provide any specific
- // numbers. It's clear, if a value is too small, no header can ever be sent
- // by our peer at all. The default value is unlimited and we normally do not
- // change this.
- //
- // Note: the size is calculated as the length of uncompressed (no HPACK)
- // name + value + 32 bytes.
-
- return true;
+ // TODO: In future, if the need is proven, we can
+ // also send decoding table size and header list size.
+ // For now, defaults suffice.
+ return builder.outboundFrame();
}
-QByteArray ProtocolParameters::settingsFrameToBase64() const
+QByteArray settingsFrameToBase64(const Frame &frame)
{
- Frame frame(settingsFrame());
// SETTINGS frame's payload consists of pairs:
// 2-byte-identifier | 4-byte-value == multiple of 6.
Q_ASSERT(frame.payloadSize() && !(frame.payloadSize() % 6));
@@ -157,20 +100,7 @@ QByteArray ProtocolParameters::settingsFrameToBase64() const
return wrapper.toBase64(QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
}
-Frame ProtocolParameters::settingsFrame() const
-{
- // 6.5 SETTINGS
- FrameWriter builder(FrameType::SETTINGS, FrameFlag::EMPTY, connectionStreamID);
- for (auto it = settingsFrameData.cbegin(), end = settingsFrameData.cend();
- it != end; ++it) {
- builder.append(it.key());
- builder.append(it.value());
- }
-
- return builder.outboundFrame();
-}
-
-void ProtocolParameters::addProtocolUpgradeHeaders(QHttpNetworkRequest *request) const
+void appendProtocolUpgradeHeaders(const QHttp2Configuration &config, QHttpNetworkRequest *request)
{
Q_ASSERT(request);
// RFC 2616, 14.10
@@ -184,8 +114,10 @@ void ProtocolParameters::addProtocolUpgradeHeaders(QHttpNetworkRequest *request)
request->setHeaderField("Connection", value);
// This we just (re)write.
request->setHeaderField("Upgrade", "h2c");
+
+ const Frame frame(configurationToSettingsFrame(config));
// This we just (re)write.
- request->setHeaderField("HTTP2-Settings", settingsFrameToBase64());
+ request->setHeaderField("HTTP2-Settings", settingsFrameToBase64(frame));
}
void qt_error(quint32 errorCode, QNetworkReply::NetworkError &error,
diff --git a/src/network/access/http2/http2protocol_p.h b/src/network/access/http2/http2protocol_p.h
index f7a89859d3..b0af5aa919 100644
--- a/src/network/access/http2/http2protocol_p.h
+++ b/src/network/access/http2/http2protocol_p.h
@@ -55,12 +55,14 @@
#include <QtCore/qloggingcategory.h>
#include <QtCore/qmetatype.h>
#include <QtCore/qglobal.h>
+#include <QtCore/qmap.h>
// Different HTTP/2 constants/values as defined by RFC 7540.
QT_BEGIN_NAMESPACE
class QHttpNetworkRequest;
+class QHttp2Configuration;
class QHttpNetworkReply;
class QByteArray;
class QString;
@@ -118,13 +120,19 @@ enum Http2PredefinedParameters
connectionStreamID = 0, // HTTP/2, 5.1.1
frameHeaderSize = 9, // HTTP/2, 4.1
- // It's our max frame size we send in SETTINGS frame,
- // it's also the default one and we also use it to later
- // validate incoming frames:
- maxFrameSize = 16384, // HTTP/2 6.5.2
+ // The initial allowed payload size. We would use it as an
+ // upper limit for a frame payload we send, until our peer
+ // updates us with a larger SETTINGS_MAX_FRAME_SIZE.
- defaultSessionWindowSize = 65535, // HTTP/2 6.5.2
+ // The initial maximum payload size that an HTTP/2 frame
+ // can contain is 16384. It's also the minimal size that
+ // can be advertised via 'SETTINGS' frames. A real frame
+ // can have a payload smaller than 16384.
+ minPayloadLimit = 16384, // HTTP/2 6.5.2
+ // The maximum allowed payload size.
maxPayloadSize = (1 << 24) - 1, // HTTP/2 6.5.2
+
+ defaultSessionWindowSize = 65535, // HTTP/2 6.5.2
// Using 1000 (rather arbitrarily), just to
// impose *some* upper limit:
maxPeerConcurrentStreams = 1000,
@@ -145,46 +153,9 @@ const quint32 lastValidStreamID((quint32(1) << 31) - 1); // HTTP/2, 5.1.1
const qint32 maxSessionReceiveWindowSize((quint32(1) << 31) - 1);
const qint32 qtDefaultStreamReceiveWindowSize = maxSessionReceiveWindowSize / maxConcurrentStreams;
-// The class ProtocolParameters allows client code to customize HTTP/2 protocol
-// handler, if needed. Normally, we use our own default parameters (see below).
-// In 5.10 we can also use setProperty/property on a QNAM object to pass the
-// non-default values to the protocol handler. In 5.11 this will probably become
-// a public API.
-
-using RawSettings = QMap<Settings, quint32>;
-
-struct Q_AUTOTEST_EXPORT ProtocolParameters
-{
- ProtocolParameters();
-
- bool validate() const;
- QByteArray settingsFrameToBase64() const;
- struct Frame settingsFrame() const;
- void addProtocolUpgradeHeaders(QHttpNetworkRequest *request) const;
-
- // HPACK:
- // TODO: for now we ignore them (fix it for 5.11, would require changes in HPACK)
- bool useHuffman = true;
- bool indexStrings = true;
-
- // This parameter is not negotiated via SETTINGS frames, so we have it
- // as a member and will convey it to our peer as a WINDOW_UPDATE frame:
- qint32 maxSessionReceiveWindowSize = Http2::maxSessionReceiveWindowSize;
-
- // This is our default SETTINGS frame:
- //
- // SETTINGS_INITIAL_WINDOW_SIZE: (2^31 - 1) / 100
- // SETTINGS_ENABLE_PUSH: 0.
- //
- // Note, whenever we skip some value in our SETTINGS frame, our peer
- // will assume the defaults recommended by RFC 7540, which in general
- // are good enough, although we (and most browsers) prefer to work
- // with larger window sizes.
- RawSettings settingsFrameData;
-};
-
-// TODO: remove in 5.11
-extern const Q_AUTOTEST_EXPORT char *http2ParametersPropertyName;
+struct Frame configurationToSettingsFrame(const QHttp2Configuration &configuration);
+QByteArray settingsFrameToBase64(const Frame &settingsFrame);
+void appendProtocolUpgradeHeaders(const QHttp2Configuration &configuration, QHttpNetworkRequest *request);
extern const Q_AUTOTEST_EXPORT char Http2clientPreface[clientPrefaceLength];
@@ -233,6 +204,5 @@ Q_DECLARE_LOGGING_CATEGORY(QT_HTTP2)
QT_END_NAMESPACE
Q_DECLARE_METATYPE(Http2::Settings)
-Q_DECLARE_METATYPE(Http2::ProtocolParameters)
#endif
diff --git a/src/network/access/qhttp2configuration.cpp b/src/network/access/qhttp2configuration.cpp
new file mode 100644
index 0000000000..a32bccfd09
--- /dev/null
+++ b/src/network/access/qhttp2configuration.cpp
@@ -0,0 +1,312 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qhttp2configuration.h"
+
+#include "private/http2protocol_p.h"
+#include "private/hpack_p.h"
+
+#include "qdebug.h"
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QHttp2Configuration
+ \brief The QHttp2Configuration class controls HTTP/2 parameters and settings
+ \since 5.14
+
+ \reentrant
+ \inmodule QtNetwork
+ \ingroup network
+ \ingroup shared
+
+ QHttp2Configuration controls HTTP/2 parameters and settings that
+ QNetworkAccessManager will use to send requests and process responses
+ when the HTTP/2 protocol is enabled.
+
+ The HTTP/2 parameters that QHttp2Configuration currently supports include:
+
+ \list
+ \li The session window size for connection-level flow control.
+ Will be sent to a remote peer when needed as 'WINDOW_UPDATE'
+ frames on the stream with an identifier 0.
+ \li The stream receiving window size for stream-level flow control.
+ Sent as 'SETTINGS_INITIAL_WINDOW_SIZE' parameter in the initial
+ SETTINGS frame and, when needed, 'WINDOW_UPDATE' frames will be
+ sent on streams that QNetworkAccessManager opens.
+ \li The maximum frame size. This parameter limits the maximum payload
+ a frame coming from the remote peer can have. Sent by QNetworkAccessManager
+ as 'SETTINGS_MAX_FRAME_SIZE' parameter in the initial 'SETTINGS'
+ frame.
+ \li The server push. Allows to enable or disable server push. Sent
+ as 'SETTINGS_ENABLE_PUSH' parameter in the initial 'SETTINGS'
+ frame.
+ \endlist
+
+ The QHttp2Configuration class also controls if the header compression
+ algorithm (HPACK) is additionally using Huffman coding for string
+ compression.
+
+ \note The configuration must be set before the first request
+ was sent to a given host (and thus an HTTP/2 session established).
+
+ \note Details about flow control, server push and 'SETTINGS'
+ can be found in \l {https://httpwg.org/specs/rfc7540.html}{RFC 7540}.
+ Different modes and parameters of the HPACK compression algorithm
+ are described in \l {https://httpwg.org/specs/rfc7541.html}{RFC 7541}.
+
+ \sa QNetworkRequest::setHttp2Configuration(), QNetworkRequest::http2Configuration(), QNetworkAccessManager
+*/
+
+class QHttp2ConfigurationPrivate : public QSharedData
+{
+public:
+ unsigned sessionWindowSize = Http2::defaultSessionWindowSize;
+ // The size below is quite a limiting default value, QNetworkRequest
+ // by default sets a larger number, an application can change this using
+ // QNetworkRequest::setHttp2Configuration.
+ unsigned streamWindowSize = Http2::defaultSessionWindowSize;
+
+ unsigned maxFrameSize = Http2::minPayloadLimit; // Initial (default) value of 16Kb.
+
+ bool pushEnabled = false;
+ // TODO: for now those two below are noop.
+ bool huffmanCompressionEnabled = true;
+};
+
+/*!
+ Default constructs a QHttp2Configuration object.
+
+ Such a configuration has the following values:
+ \list
+ \li Server push is disabled
+ \li Huffman string compression is enabled
+ \li Window size for connection-level flow control is 65535 octets
+ \li Window size for stream-level flow control is 65535 octets
+ \li Frame size is 16384 octets
+ \endlist
+*/
+QHttp2Configuration::QHttp2Configuration()
+ : d(new QHttp2ConfigurationPrivate)
+{
+}
+
+/*!
+ Copy-constructs this QHttp2Configuration.
+*/
+QHttp2Configuration::QHttp2Configuration(const QHttp2Configuration &) = default;
+
+/*!
+ Move-constructs this QHttp2Configuration from \a other
+*/
+QHttp2Configuration::QHttp2Configuration(QHttp2Configuration &&other) noexcept
+{
+ swap(other);
+}
+
+/*!
+ Copy-assigns to this QHttp2Configuration.
+*/
+QHttp2Configuration &QHttp2Configuration::operator=(const QHttp2Configuration &) = default;
+
+/*!
+ Move-assigns to this QHttp2Configuration.
+*/
+QHttp2Configuration &QHttp2Configuration::operator=(QHttp2Configuration &&) noexcept = default;
+
+/*!
+ Destructor.
+*/
+QHttp2Configuration::~QHttp2Configuration()
+{
+}
+
+/*!
+ If \a enable is \c true, a remote server can potentially
+ use server push to send reponses in advance.
+
+ \sa serverPushEnabled
+*/
+void QHttp2Configuration::setServerPushEnabled(bool enable)
+{
+ d->pushEnabled = enable;
+}
+
+/*!
+ Returns true if server push was enabled.
+
+ \note By default, QNetworkAccessManager disables server
+ push via the 'SETTINGS' frame.
+
+ \sa setServerPushEnabled
+*/
+bool QHttp2Configuration::serverPushEnabled() const
+{
+ return d->pushEnabled;
+}
+
+/*!
+ If \a enable is \c true, HPACK compression will additionally
+ compress string using the Huffman coding. Enabled by default.
+
+ \note This parameter only affects 'HEADERS' frames that
+ QNetworkAccessManager is sending.
+
+ \sa huffmanCompressionEnabled
+*/
+void QHttp2Configuration::setHuffmanCompressionEnabled(bool enable)
+{
+ d->huffmanCompressionEnabled = enable;
+}
+
+/*!
+ Returns \c true if the Huffman coding in HPACK is enabled.
+
+ \sa setHuffmanCompressionEnabled
+*/
+bool QHttp2Configuration::huffmanCompressionEnabled() const
+{
+ return d->huffmanCompressionEnabled;
+}
+
+/*!
+ Sets the window size for connection-level flow control.
+ \a size cannot be 0 and must not exceed 2147483647 octets.
+
+ \sa sessionReceiveWindowSize
+*/
+bool QHttp2Configuration::setSessionReceiveWindowSize(unsigned size)
+{
+ if (!size || size > Http2::maxSessionReceiveWindowSize) { // RFC-7540, 6.9
+ qCWarning(QT_HTTP2) << "Invalid session window size";
+ return false;
+ }
+
+ d->sessionWindowSize = size;
+ return true;
+}
+
+/*!
+ Returns the window size for connection-level flow control.
+ The default value QNetworkAccessManager will be using is
+ 2147483647 octets.
+*/
+unsigned QHttp2Configuration::sessionReceiveWindowSize() const
+{
+ return d->sessionWindowSize;
+}
+
+/*!
+ Sets the window size for stream-level flow control.
+ \a size cannot be 0 and must not exceed 2147483647 octets.
+
+ \sa streamReceiveWindowSize
+ */
+bool QHttp2Configuration::setStreamReceiveWindowSize(unsigned size)
+{
+ if (!size || size > Http2::maxSessionReceiveWindowSize) { // RFC-7540, 6.9
+ qCWarning(QT_HTTP2) << "Invalid stream window size";
+ return false;
+ }
+
+ d->streamWindowSize = size;
+ return true;
+}
+
+/*!
+ Returns the window size for stream-level flow control.
+ The default value QNetworkAccessManager will be using is
+ 21474836 octets.
+*/
+unsigned QHttp2Configuration::streamReceiveWindowSize() const
+{
+ return d->streamWindowSize;
+}
+
+/*!
+ Sets the maximum frame size that QNetworkAccessManager
+ will advertise to the server when sending its initial SETTINGS frame.
+ \note While this \a size is required to be within a range between
+ 16384 and 16777215 inclusive, the actual payload size in frames
+ that carry payload maybe be less than 16384.
+*/
+bool QHttp2Configuration::setMaxFrameSize(unsigned size)
+{
+ if (size < Http2::minPayloadLimit || size > Http2::maxPayloadSize) {
+ qCWarning(QT_HTTP2) << "Maximum frame size to advertise is invalid";
+ return false;
+ }
+
+ d->maxFrameSize = size;
+ return true;
+}
+
+/*!
+ The maximum payload size that HTTP/2 frames can
+ have. The default (initial) value is 16384 octets.
+*/
+unsigned QHttp2Configuration::maxFrameSize() const
+{
+ return d->maxFrameSize;
+}
+
+/*!
+ Swaps this configuration with the \a other configuration.
+*/
+void QHttp2Configuration::swap(QHttp2Configuration &other) noexcept
+{
+ d.swap(other.d);
+}
+
+/*!
+ Returns \c true if \a lhs and \a rhs have the same set of HTTP/2
+ parameters.
+*/
+bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
+{
+ if (lhs.d == rhs.d)
+ return true;
+
+ return lhs.d->pushEnabled == rhs.d->pushEnabled
+ && lhs.d->huffmanCompressionEnabled == rhs.d->huffmanCompressionEnabled
+ && lhs.d->sessionWindowSize == rhs.d->sessionWindowSize
+ && lhs.d->streamWindowSize == rhs.d->streamWindowSize;
+}
+
+QT_END_NAMESPACE
diff --git a/src/network/access/qhttp2configuration.h b/src/network/access/qhttp2configuration.h
new file mode 100644
index 0000000000..e5c235e2be
--- /dev/null
+++ b/src/network/access/qhttp2configuration.h
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtNetwork module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QHTTP2CONFIGURATION_H
+#define QHTTP2CONFIGURATION_H
+
+#include <QtNetwork/qtnetworkglobal.h>
+
+#include <QtCore/qshareddata.h>
+
+#ifndef Q_CLANG_QDOC
+QT_REQUIRE_CONFIG(http);
+#endif
+
+QT_BEGIN_NAMESPACE
+
+class QHttp2ConfigurationPrivate;
+class Q_NETWORK_EXPORT QHttp2Configuration
+{
+ friend Q_NETWORK_EXPORT bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs);
+
+public:
+ QHttp2Configuration();
+ QHttp2Configuration(const QHttp2Configuration &other);
+ QHttp2Configuration(QHttp2Configuration &&other) noexcept;
+ QHttp2Configuration &operator = (const QHttp2Configuration &other);
+ QHttp2Configuration &operator = (QHttp2Configuration &&other) noexcept;
+
+ ~QHttp2Configuration();
+
+ void setServerPushEnabled(bool enable);
+ bool serverPushEnabled() const;
+
+ void setHuffmanCompressionEnabled(bool enable);
+ bool huffmanCompressionEnabled() const;
+
+ bool setSessionReceiveWindowSize(unsigned size);
+ unsigned sessionReceiveWindowSize() const;
+
+ bool setStreamReceiveWindowSize(unsigned size);
+ unsigned streamReceiveWindowSize() const;
+
+ bool setMaxFrameSize(unsigned size);
+ unsigned maxFrameSize() const;
+
+ void swap(QHttp2Configuration &other) noexcept;
+
+private:
+
+ QSharedDataPointer<QHttp2ConfigurationPrivate> d;
+};
+
+Q_DECLARE_SHARED(QHttp2Configuration)
+
+Q_NETWORK_EXPORT bool operator==(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs);
+
+inline bool operator!=(const QHttp2Configuration &lhs, const QHttp2Configuration &rhs)
+{
+ return !(lhs == rhs);
+}
+
+QT_END_NAMESPACE
+
+#endif // QHTTP2CONFIGURATION_H
diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp
index 0ece5b7179..c1053882af 100644
--- a/src/network/access/qhttp2protocolhandler.cpp
+++ b/src/network/access/qhttp2protocolhandler.cpp
@@ -40,6 +40,7 @@
#include "qhttpnetworkconnection_p.h"
#include "qhttp2protocolhandler_p.h"
+#include "http2/http2frames_p.h"
#include "http2/bitstreams_p.h"
#include <private/qnoncontiguousbytedevice_p.h>
@@ -51,6 +52,8 @@
#include <QtCore/qlist.h>
#include <QtCore/qurl.h>
+#include <qhttp2configuration.h>
+
#ifndef QT_NO_NETWORKPROXY
#include <QtNetwork/qnetworkproxy.h>
#endif
@@ -172,30 +175,11 @@ QHttp2ProtocolHandler::QHttp2ProtocolHandler(QHttpNetworkConnectionChannel *chan
Q_ASSERT(channel && m_connection);
continuedFrames.reserve(20);
- const ProtocolParameters params(m_connection->http2Parameters());
- Q_ASSERT(params.validate());
-
- maxSessionReceiveWindowSize = params.maxSessionReceiveWindowSize;
-
- const RawSettings &data = params.settingsFrameData;
- for (auto param = data.cbegin(), end = data.cend(); param != end; ++param) {
- switch (param.key()) {
- case Settings::INITIAL_WINDOW_SIZE_ID:
- streamInitialReceiveWindowSize = param.value();
- break;
- case Settings::ENABLE_PUSH_ID:
- pushPromiseEnabled = param.value();
- break;
- case Settings::HEADER_TABLE_SIZE_ID:
- case Settings::MAX_CONCURRENT_STREAMS_ID:
- case Settings::MAX_FRAME_SIZE_ID:
- case Settings::MAX_HEADER_LIST_SIZE_ID:
- // These other settings are just recommendations to our peer. We
- // only check they are not crazy in ProtocolParameters::validate().
- default:
- break;
- }
- }
+ const auto h2Config = m_connection->http2Parameters();
+ maxSessionReceiveWindowSize = h2Config.sessionReceiveWindowSize();
+ pushPromiseEnabled = h2Config.serverPushEnabled();
+ streamInitialReceiveWindowSize = h2Config.streamReceiveWindowSize();
+ encoder.setCompressStrings(h2Config.huffmanCompressionEnabled());
if (!channel->ssl && m_connection->connectionType() != QHttpNetworkConnection::ConnectionTypeHTTP2Direct) {
// We upgraded from HTTP/1.1 to HTTP/2. channel->request was already sent
@@ -422,20 +406,17 @@ bool QHttp2ProtocolHandler::sendClientPreface()
return false;
// 6.5 SETTINGS
- const ProtocolParameters params(m_connection->http2Parameters());
- Q_ASSERT(params.validate());
- frameWriter.setOutboundFrame(params.settingsFrame());
+ frameWriter.setOutboundFrame(Http2::configurationToSettingsFrame(m_connection->http2Parameters()));
Q_ASSERT(frameWriter.outboundFrame().payloadSize());
if (!frameWriter.write(*m_socket))
return false;
sessionReceiveWindowSize = maxSessionReceiveWindowSize;
- // ProtocolParameters::validate does not allow maxSessionReceiveWindowSize
- // to be smaller than defaultSessionWindowSize, so everything is OK here with
- // 'delta':
+ // We only send WINDOW_UPDATE for the connection if the size differs from the
+ // default 64 KB:
const auto delta = maxSessionReceiveWindowSize - Http2::defaultSessionWindowSize;
- if (!sendWINDOW_UPDATE(Http2::connectionStreamID, delta))
+ if (delta && !sendWINDOW_UPDATE(Http2::connectionStreamID, delta))
return false;
prefaceSent = true;
@@ -1069,7 +1050,7 @@ bool QHttp2ProtocolHandler::acceptSetting(Http2::Settings identifier, quint32 ne
}
if (identifier == Settings::MAX_FRAME_SIZE_ID) {
- if (newValue < Http2::maxFrameSize || newValue > Http2::maxPayloadSize) {
+ if (newValue < Http2::minPayloadLimit || newValue > Http2::maxPayloadSize) {
connectionError(PROTOCOL_ERROR, "SETTGINGS max frame size is out of range");
return false;
}
diff --git a/src/network/access/qhttp2protocolhandler_p.h b/src/network/access/qhttp2protocolhandler_p.h
index b582123961..1943827e23 100644
--- a/src/network/access/qhttp2protocolhandler_p.h
+++ b/src/network/access/qhttp2protocolhandler_p.h
@@ -55,6 +55,8 @@
#include <private/qabstractprotocolhandler_p.h>
#include <private/qhttpnetworkrequest_p.h>
+#include <access/qhttp2configuration.h>
+
#include <private/http2protocol_p.h>
#include <private/http2streams_p.h>
#include <private/http2frames_p.h>
@@ -163,8 +165,9 @@ private:
static const std::deque<quint32>::size_type maxRecycledStreams;
std::deque<quint32> recycledStreams;
- // Peer's max frame size.
- quint32 maxFrameSize = Http2::maxFrameSize;
+ // Peer's max frame size (this min is the default value
+ // we start with, that can be updated by SETTINGS frame):
+ quint32 maxFrameSize = Http2::minPayloadLimit;
Http2::FrameReader frameReader;
Http2::Frame inboundFrame;
@@ -176,28 +179,28 @@ private:
// Control flow:
- // This is how many concurrent streams our peer expects from us:
- // 100 is the default value, can be updated by the server's SETTINGS
- // frame(s):
+ // This is how many concurrent streams our peer allows us, 100 is the
+ // initial value, can be updated by the server's SETTINGS frame(s):
quint32 maxConcurrentStreams = Http2::maxConcurrentStreams;
// While we allow sending SETTTINGS_MAX_CONCURRENT_STREAMS to limit our peer,
// it's just a hint and we do not actually enforce it (and we can continue
// sending requests and creating streams while maxConcurrentStreams allows).
- // This is the max value, we set it in a ctor from Http2::ProtocolParameters,
- // it does not change after that.
+ // This is our (client-side) maximum possible receive window size, we set
+ // it in a ctor from QHttp2Configuration, it does not change after that.
+ // The default is 64Kb:
qint32 maxSessionReceiveWindowSize = Http2::defaultSessionWindowSize;
- // Our session receive window size, default is 64Kb. We'll update it from QNAM's
- // Http2::ProtocolParameters. Signed integer since it can become negative
+ // Our session current receive window size, updated in a ctor from
+ // QHttp2Configuration. Signed integer since it can become negative
// (it's still a valid window size).
qint32 sessionReceiveWindowSize = Http2::defaultSessionWindowSize;
// Our per-stream receive window size, default is 64 Kb, will be updated
- // from QNAM's Http2::ProtocolParameters. Again, signed - can become negative.
+ // from QHttp2Configuration. Again, signed - can become negative.
qint32 streamInitialReceiveWindowSize = Http2::defaultSessionWindowSize;
// These are our peer's receive window sizes, they will be updated by the
- // peer's SETTINGS and WINDOW_UPDATE frames.
+ // peer's SETTINGS and WINDOW_UPDATE frames, defaults presumed to be 64Kb.
qint32 sessionSendWindowSize = Http2::defaultSessionWindowSize;
qint32 streamInitialSendWindowSize = Http2::defaultSessionWindowSize;
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 1f1de478ea..13be1aa6b5 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -1456,21 +1456,16 @@ void QHttpNetworkConnection::setConnectionType(ConnectionType type)
d->connectionType = type;
}
-Http2::ProtocolParameters QHttpNetworkConnection::http2Parameters() const
+QHttp2Configuration QHttpNetworkConnection::http2Parameters() const
{
Q_D(const QHttpNetworkConnection);
return d->http2Parameters;
}
-void QHttpNetworkConnection::setHttp2Parameters(const Http2::ProtocolParameters &params)
+void QHttpNetworkConnection::setHttp2Parameters(const QHttp2Configuration &params)
{
Q_D(QHttpNetworkConnection);
- if (params.validate()) {
- d->http2Parameters = params;
- } else {
- qCWarning(QT_HTTP2)
- << "invalid HTTP/2 parameters, falling back to defaults instead";
- }
+ d->http2Parameters = params;
}
// SSL support below
diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h
index 85d89f20c2..6808a0c0ac 100644
--- a/src/network/access/qhttpnetworkconnection_p.h
+++ b/src/network/access/qhttpnetworkconnection_p.h
@@ -57,6 +57,8 @@
#include <QtNetwork/qabstractsocket.h>
#include <QtNetwork/qnetworksession.h>
+#include <qhttp2configuration.h>
+
#include <private/qobject_p.h>
#include <qauthenticator.h>
#include <qnetworkproxy.h>
@@ -142,8 +144,8 @@ public:
ConnectionType connectionType();
void setConnectionType(ConnectionType type);
- Http2::ProtocolParameters http2Parameters() const;
- void setHttp2Parameters(const Http2::ProtocolParameters &params);
+ QHttp2Configuration http2Parameters() const;
+ void setHttp2Parameters(const QHttp2Configuration &params);
#ifndef QT_NO_SSL
void setSslConfiguration(const QSslConfiguration &config);
@@ -294,7 +296,7 @@ public:
QSharedPointer<QNetworkSession> networkSession;
#endif
- Http2::ProtocolParameters http2Parameters;
+ QHttp2Configuration http2Parameters;
QString peerVerifyName;
// If network status monitoring is enabled, we activate connectionMonitor
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index 3c9d53c5b5..716ea6c8b2 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -40,6 +40,7 @@
#include "qhttpnetworkconnectionchannel_p.h"
#include "qhttpnetworkconnection_p.h"
+#include "qhttp2configuration.h"
#include "private/qnoncontiguousbytedevice_p.h"
#include <qpair.h>
@@ -48,6 +49,7 @@
#include <private/qhttp2protocolhandler_p.h>
#include <private/qhttpprotocolhandler_p.h>
#include <private/qspdyprotocolhandler_p.h>
+#include <private/http2protocol_p.h>
#ifndef QT_NO_SSL
# include <private/qsslsocket_p.h>
@@ -947,9 +949,7 @@ void QHttpNetworkConnectionChannel::_q_connected()
if (tryProtocolUpgrade) {
// Let's augment our request with some magic headers and try to
// switch to HTTP/2.
- const Http2::ProtocolParameters params(connection->http2Parameters());
- Q_ASSERT(params.validate());
- params.addProtocolUpgradeHeaders(&request);
+ Http2::appendProtocolUpgradeHeaders(connection->http2Parameters(), &request);
}
sendRequest();
}
diff --git a/src/network/access/qhttpthreaddelegate.cpp b/src/network/access/qhttpthreaddelegate.cpp
index acc551a7c9..1900397eab 100644
--- a/src/network/access/qhttpthreaddelegate.cpp
+++ b/src/network/access/qhttpthreaddelegate.cpp
@@ -352,9 +352,9 @@ void QHttpThreadDelegate::startRequest()
networkSession);
#endif // QT_NO_BEARERMANAGEMENT
if (connectionType == QHttpNetworkConnection::ConnectionTypeHTTP2
- && http2Parameters.validate()) {
+ || connectionType == QHttpNetworkConnection::ConnectionTypeHTTP2Direct) {
httpConnection->setHttp2Parameters(http2Parameters);
- } // else we ignore invalid parameters and use our own defaults.
+ }
#ifndef QT_NO_SSL
// Set the QSslConfiguration from this QNetworkRequest.
if (ssl)
diff --git a/src/network/access/qhttpthreaddelegate_p.h b/src/network/access/qhttpthreaddelegate_p.h
index 6184b39b30..355d1afc30 100644
--- a/src/network/access/qhttpthreaddelegate_p.h
+++ b/src/network/access/qhttpthreaddelegate_p.h
@@ -62,6 +62,7 @@
#include <QNetworkReply>
#include "qhttpnetworkrequest_p.h"
#include "qhttpnetworkconnection_p.h"
+#include "qhttp2configuration.h"
#include <QSharedPointer>
#include <QScopedPointer>
#include "private/qnoncontiguousbytedevice_p.h"
@@ -116,7 +117,7 @@ public:
qint64 removedContentLength;
QNetworkReply::NetworkError incomingErrorCode;
QString incomingErrorDetail;
- Http2::ProtocolParameters http2Parameters;
+ QHttp2Configuration http2Parameters;
#ifndef QT_NO_BEARERMANAGEMENT
QSharedPointer<QNetworkSession> networkSession;
#endif
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index 29192ae7b0..76b95b5823 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -70,6 +70,7 @@
#include "QtNetwork/private/qauthenticator_p.h"
#include "QtNetwork/qsslconfiguration.h"
#include "QtNetwork/qnetworkconfigmanager.h"
+#include "QtNetwork/private/http2protocol_p.h"
#if QT_CONFIG(http)
#include "qhttpmultipart.h"
@@ -489,6 +490,7 @@ QNetworkAccessManager::QNetworkAccessManager(QObject *parent)
qRegisterMetaType<QSharedPointer<char> >();
Q_D(QNetworkAccessManager);
+
if (QNetworkStatusMonitor::isEnabled()) {
connect(&d->statusMonitor, SIGNAL(onlineStateChanged(bool)),
SLOT(_q_onlineStateChanged(bool)));
@@ -1178,7 +1180,6 @@ QSharedPointer<QNetworkSession> QNetworkAccessManagerPrivate::getNetworkSession(
#endif // QT_NO_BEARERMANAGEMENT
-
#ifndef QT_NO_SSL
/*!
\since 5.2
@@ -1688,7 +1689,7 @@ void QNetworkAccessManager::clearConnectionCache()
\sa setAutoDeleteReplies,
QNetworkRequest::AutoDeleteReplyOnFinishAttribute
*/
-bool QNetworkAccessManager::autoDeleteReplies()
+bool QNetworkAccessManager::autoDeleteReplies() const
{
return d_func()->autoDeleteReplies;
}
diff --git a/src/network/access/qnetworkaccessmanager.h b/src/network/access/qnetworkaccessmanager.h
index 601d0420ff..98498d07d2 100644
--- a/src/network/access/qnetworkaccessmanager.h
+++ b/src/network/access/qnetworkaccessmanager.h
@@ -167,7 +167,7 @@ public:
void setRedirectPolicy(QNetworkRequest::RedirectPolicy policy);
QNetworkRequest::RedirectPolicy redirectPolicy() const;
- bool autoDeleteReplies();
+ bool autoDeleteReplies() const;
void setAutoDeleteReplies(bool autoDelete);
Q_SIGNALS:
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
index b9651b35d2..b3dec282b0 100644
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
@@ -797,10 +797,8 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq
// Create the HTTP thread delegate
QHttpThreadDelegate *delegate = new QHttpThreadDelegate;
- // Propagate Http/2 settings if any
- const QVariant blob(manager->property(Http2::http2ParametersPropertyName));
- if (blob.isValid() && blob.canConvert<Http2::ProtocolParameters>())
- delegate->http2Parameters = blob.value<Http2::ProtocolParameters>();
+ // Propagate Http/2 settings:
+ delegate->http2Parameters = request.http2Configuration();
#ifndef QT_NO_BEARERMANAGEMENT
if (!QNetworkStatusMonitor::isEnabled())
delegate->networkSession = managerPrivate->getNetworkSession();
@@ -1054,59 +1052,39 @@ void QNetworkReplyHttpImplPrivate::replyDownloadData(QByteArray d)
if (!q->isOpen())
return;
- int pendingSignals = (int)pendingDownloadDataEmissions->fetchAndAddAcquire(-1) - 1;
+ if (cacheEnabled && isCachingAllowed() && !cacheSaveDevice)
+ initCacheSaveDevice();
+
+ // This is going to look a little strange. When downloading data while a
+ // HTTP redirect is happening (and enabled), we write the redirect
+ // response to the cache. However, we do not append it to our internal
+ // buffer as that will contain the response data only for the final
+ // response
+ if (cacheSaveDevice)
+ cacheSaveDevice->write(d);
+
+ if (!isHttpRedirectResponse()) {
+ buffer.append(d);
+ bytesDownloaded += d.size();
+ }
+ bytesBuffered += d.size();
+ int pendingSignals = pendingDownloadDataEmissions->fetchAndSubAcquire(1) - 1;
if (pendingSignals > 0) {
// Some more signal emissions to this slot are pending.
// Instead of writing the downstream data, we wait
// and do it in the next call we get
// (signal comppression)
- pendingDownloadData.append(d);
return;
}
- pendingDownloadData.append(d);
- d.clear();
- // We need to usa a copy for calling writeDownstreamData as we could
- // possibly recurse into this this function when we call
- // appendDownstreamDataSignalEmissions because the user might call
- // processEvents() or spin an event loop when this occur.
- QByteDataBuffer pendingDownloadDataCopy = pendingDownloadData;
- pendingDownloadData.clear();
-
- if (cacheEnabled && isCachingAllowed() && !cacheSaveDevice) {
- initCacheSaveDevice();
- }
-
- qint64 bytesWritten = 0;
- for (int i = 0; i < pendingDownloadDataCopy.bufferCount(); i++) {
- QByteArray const &item = pendingDownloadDataCopy[i];
-
- // This is going to look a little strange. When downloading data while a
- // HTTP redirect is happening (and enabled), we write the redirect
- // response to the cache. However, we do not append it to our internal
- // buffer as that will contain the response data only for the final
- // response
- if (cacheSaveDevice)
- cacheSaveDevice->write(item.constData(), item.size());
-
- if (!isHttpRedirectResponse())
- buffer.append(item);
-
- bytesWritten += item.size();
- }
- bytesBuffered += bytesWritten;
- pendingDownloadDataCopy.clear();
+ if (isHttpRedirectResponse())
+ return;
QVariant totalSize = cookedHeaders.value(QNetworkRequest::ContentLengthHeader);
if (preMigrationDownloaded != Q_INT64_C(-1))
totalSize = totalSize.toLongLong() + preMigrationDownloaded;
- if (isHttpRedirectResponse())
- return;
-
- bytesDownloaded += bytesWritten;
-
emit q->readyRead();
// emit readyRead before downloadProgress incase this will cause events to be
// processed and we get into a recursive call (as in QProgressDialog).
diff --git a/src/network/access/qnetworkreplyhttpimpl_p.h b/src/network/access/qnetworkreplyhttpimpl_p.h
index f5f01d0811..ef69ce0653 100644
--- a/src/network/access/qnetworkreplyhttpimpl_p.h
+++ b/src/network/access/qnetworkreplyhttpimpl_p.h
@@ -63,7 +63,6 @@
#include <QtNetwork/QNetworkCacheMetaData>
#include <private/qhttpnetworkrequest_p.h>
-#include <private/qbytedata_p.h>
#include <private/qnetworkreply_p.h>
#include <QtNetwork/QNetworkProxy>
#include <QtNetwork/QNetworkSession>
@@ -248,7 +247,6 @@ public:
quint64 resumeOffset;
qint64 preMigrationDownloaded;
- QByteDataBuffer pendingDownloadData; // For signal compression
qint64 bytesDownloaded;
qint64 bytesBuffered;
diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp
index 37f64c3f52..118fb6b1fb 100644
--- a/src/network/access/qnetworkrequest.cpp
+++ b/src/network/access/qnetworkrequest.cpp
@@ -42,6 +42,10 @@
#include "qplatformdefs.h"
#include "qnetworkcookie.h"
#include "qsslconfiguration.h"
+#if QT_CONFIG(http) || defined(Q_CLANG_QDOC)
+#include "qhttp2configuration.h"
+#include "private/http2protocol_p.h"
+#endif
#include "QtCore/qshareddata.h"
#include "QtCore/qlocale.h"
#include "QtCore/qdatetime.h"
@@ -445,6 +449,9 @@ public:
sslConfiguration = new QSslConfiguration(*other.sslConfiguration);
#endif
peerVerifyName = other.peerVerifyName;
+#if QT_CONFIG(http)
+ h2Configuration = other.h2Configuration;
+#endif
}
inline bool operator==(const QNetworkRequestPrivate &other) const
@@ -454,7 +461,11 @@ public:
rawHeaders == other.rawHeaders &&
attributes == other.attributes &&
maxRedirectsAllowed == other.maxRedirectsAllowed &&
- peerVerifyName == other.peerVerifyName;
+ peerVerifyName == other.peerVerifyName
+#if QT_CONFIG(http)
+ && h2Configuration == other.h2Configuration
+#endif
+ ;
// don't compare cookedHeaders
}
@@ -465,6 +476,9 @@ public:
#endif
int maxRedirectsAllowed;
QString peerVerifyName;
+#if QT_CONFIG(http)
+ QHttp2Configuration h2Configuration;
+#endif
};
/*!
@@ -476,6 +490,15 @@ public:
QNetworkRequest::QNetworkRequest()
: d(new QNetworkRequestPrivate)
{
+#if QT_CONFIG(http)
+ // Initial values proposed by RFC 7540 are quite draconian,
+ // so unless an application will set its own parameters, we
+ // make stream window size larger and increase (via WINDOW_UPDATE)
+ // the session window size. These are our 'defaults':
+ d->h2Configuration.setStreamReceiveWindowSize(Http2::qtDefaultStreamReceiveWindowSize);
+ d->h2Configuration.setSessionReceiveWindowSize(Http2::maxSessionReceiveWindowSize);
+ d->h2Configuration.setServerPushEnabled(false);
+#endif // QT_CONFIG(http)
}
/*!
@@ -835,6 +858,52 @@ void QNetworkRequest::setPeerVerifyName(const QString &peerName)
d->peerVerifyName = peerName;
}
+#if QT_CONFIG(http) || defined(Q_CLANG_QDOC)
+/*!
+ \since 5.14
+
+ Returns the current parameters that QNetworkAccessManager is
+ using for this request and its underlying HTTP/2 connection.
+ This is either a configuration previously set by an application
+ or a default configuration.
+
+ The default values that QNetworkAccessManager is using are:
+
+ \list
+ \li Window size for connection-level flowcontrol is 2147483647 octets
+ \li Window size for stream-level flowcontrol is 21474836 octets
+ \li Max frame size is 16384
+ \endlist
+
+ By default, server push is disabled, Huffman compression and
+ string indexing are enabled.
+
+ \sa setHttp2Configuration
+*/
+QHttp2Configuration QNetworkRequest::http2Configuration() const
+{
+ return d->h2Configuration;
+}
+
+/*!
+ \since 5.14
+
+ Sets request's HTTP/2 parameters from \a configuration.
+
+ \note The configuration must be set prior to making a request.
+ \note HTTP/2 multiplexes several streams in a single HTTP/2
+ connection. This implies that QNetworkAccessManager will use
+ the configuration found in the first request from a series
+ of requests sent to the same host.
+
+ \sa http2Configuration, QNetworkAccessManager, QHttp2Configuration
+*/
+void QNetworkRequest::setHttp2Configuration(const QHttp2Configuration &configuration)
+{
+ d->h2Configuration = configuration;
+}
+#endif // QT_CONFIG(http) || defined(Q_CLANG_QDOC)
+
static QByteArray headerName(QNetworkRequest::KnownHeaders header)
{
switch (header) {
diff --git a/src/network/access/qnetworkrequest.h b/src/network/access/qnetworkrequest.h
index 8ad4ab41c0..e09ff8aaae 100644
--- a/src/network/access/qnetworkrequest.h
+++ b/src/network/access/qnetworkrequest.h
@@ -49,6 +49,7 @@
QT_BEGIN_NAMESPACE
class QSslConfiguration;
+class QHttp2Configuration;
class QNetworkRequestPrivate;
class Q_NETWORK_EXPORT QNetworkRequest
@@ -175,6 +176,10 @@ public:
QString peerVerifyName() const;
void setPeerVerifyName(const QString &peerName);
+#if QT_CONFIG(http) || defined(Q_CLANG_QDOC)
+ QHttp2Configuration http2Configuration() const;
+ void setHttp2Configuration(const QHttp2Configuration &configuration);
+#endif // QT_CONFIG(http) || defined(Q_CLANG_QDOC)
private:
QSharedDataPointer<QNetworkRequestPrivate> d;
friend class QNetworkRequestPrivate;
diff --git a/src/network/bearer/qbearerengine.cpp b/src/network/bearer/qbearerengine.cpp
index a7c139fe63..06bf449611 100644
--- a/src/network/bearer/qbearerengine.cpp
+++ b/src/network/bearer/qbearerengine.cpp
@@ -38,6 +38,8 @@
****************************************************************************/
#include "qbearerengine_p.h"
+#include <QtCore/private/qlocking_p.h>
+
#include <algorithm>
#ifndef QT_NO_BEARERMANAGEMENT
@@ -86,7 +88,7 @@ bool QBearerEngine::requiresPolling() const
*/
bool QBearerEngine::configurationsInUse() const
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
return hasUsedConfiguration(accessPointConfigurations)
|| hasUsedConfiguration(snapConfigurations)
|| hasUsedConfiguration(userChoiceConfigurations);
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp
index 91ea063af1..b432444669 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.cpp
+++ b/src/network/bearer/qnetworkconfigmanager_p.cpp
@@ -45,6 +45,7 @@
#include <QtCore/qstringlist.h>
#include <QtCore/qthread.h>
#include <QtCore/private/qcoreapplication_p.h>
+#include <QtCore/private/qlocking_p.h>
#include <QtCore/private/qthread_p.h>
#include <QtCore/qbytearray.h>
@@ -115,10 +116,10 @@ QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(
QNetworkConfigurationPrivatePointer defaultConfiguration;
for (QBearerEngine *engine : sessionEngines) {
- QMutexLocker locker(&engine->mutex);
+ const auto locker = qt_scoped_lock(engine->mutex);
for (const auto &ptr : qAsConst(engine->snapConfigurations)) {
- QMutexLocker configLocker(&ptr->mutex);
+ const auto locker = qt_scoped_lock(ptr->mutex);
if ((ptr->state & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
QNetworkConfiguration config;
@@ -211,11 +212,11 @@ QList<QNetworkConfiguration> QNetworkConfigurationManagerPrivate::allConfigurati
for (QBearerEngine *engine : sessionEngines) {
- QMutexLocker locker(&engine->mutex);
+ const auto locker = qt_scoped_lock(engine->mutex);
//find all InternetAccessPoints
for (const auto &ptr : qAsConst(engine->accessPointConfigurations)) {
- QMutexLocker configLocker(&ptr->mutex);
+ const auto locker = qt_scoped_lock(ptr->mutex);
if ((ptr->state & filter) == filter) {
QNetworkConfiguration pt;
@@ -226,7 +227,7 @@ QList<QNetworkConfiguration> QNetworkConfigurationManagerPrivate::allConfigurati
//find all service networks
for (const auto &ptr : qAsConst(engine->snapConfigurations)) {
- QMutexLocker configLocker(&ptr->mutex);
+ const auto locker = qt_scoped_lock(ptr->mutex);
if ((ptr->state & filter) == filter) {
QNetworkConfiguration pt;
@@ -243,10 +244,10 @@ QNetworkConfiguration QNetworkConfigurationManagerPrivate::configurationFromIden
{
QNetworkConfiguration item;
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
for (QBearerEngine *engine : sessionEngines) {
- QMutexLocker locker(&engine->mutex);
+ const auto locker = qt_scoped_lock(engine->mutex);
if (auto ptr = engine->accessPointConfigurations.value(identifier)) {
item.d = std::move(ptr);
break;
@@ -266,7 +267,7 @@ QNetworkConfiguration QNetworkConfigurationManagerPrivate::configurationFromIden
bool QNetworkConfigurationManagerPrivate::isOnline() const
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
// We need allConfigurations since onlineConfigurations is filled with queued connections
// and thus is not always (more importantly just after creation) up to date
@@ -275,7 +276,7 @@ bool QNetworkConfigurationManagerPrivate::isOnline() const
QNetworkConfigurationManager::Capabilities QNetworkConfigurationManagerPrivate::capabilities() const
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
QNetworkConfigurationManager::Capabilities capFlags;
@@ -287,7 +288,7 @@ QNetworkConfigurationManager::Capabilities QNetworkConfigurationManagerPrivate::
void QNetworkConfigurationManagerPrivate::configurationAdded(QNetworkConfigurationPrivatePointer ptr)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
if (!firstUpdate) {
QNetworkConfiguration item;
@@ -295,24 +296,24 @@ void QNetworkConfigurationManagerPrivate::configurationAdded(QNetworkConfigurati
emit configurationAdded(item);
}
- ptr->mutex.lock();
+ auto ptrLocker = qt_unique_lock(ptr->mutex);
if (ptr->state == QNetworkConfiguration::Active) {
- ptr->mutex.unlock();
- onlineConfigurations.insert(ptr->id);
+ const auto id = ptr->id;
+ ptrLocker.unlock();
+ onlineConfigurations.insert(id);
if (!firstUpdate && onlineConfigurations.count() == 1)
emit onlineStateChanged(true);
- } else {
- ptr->mutex.unlock();
}
}
void QNetworkConfigurationManagerPrivate::configurationRemoved(QNetworkConfigurationPrivatePointer ptr)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
- ptr->mutex.lock();
- ptr->isValid = false;
- ptr->mutex.unlock();
+ {
+ const auto locker = qt_scoped_lock(ptr->mutex);
+ ptr->isValid = false;
+ }
if (!firstUpdate) {
QNetworkConfiguration item;
@@ -327,7 +328,7 @@ void QNetworkConfigurationManagerPrivate::configurationRemoved(QNetworkConfigura
void QNetworkConfigurationManagerPrivate::configurationChanged(QNetworkConfigurationPrivatePointer ptr)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
if (!firstUpdate) {
QNetworkConfiguration item;
@@ -337,12 +338,13 @@ void QNetworkConfigurationManagerPrivate::configurationChanged(QNetworkConfigura
bool previous = !onlineConfigurations.isEmpty();
- ptr->mutex.lock();
- if (ptr->state == QNetworkConfiguration::Active)
- onlineConfigurations.insert(ptr->id);
- else
- onlineConfigurations.remove(ptr->id);
- ptr->mutex.unlock();
+ {
+ const auto locker = qt_scoped_lock(ptr->mutex);
+ if (ptr->state == QNetworkConfiguration::Active)
+ onlineConfigurations.insert(ptr->id);
+ else
+ onlineConfigurations.remove(ptr->id);
+ }
bool online = !onlineConfigurations.isEmpty();
@@ -354,7 +356,8 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations()
{
typedef QMultiMap<int, QString> PluginKeyMap;
typedef PluginKeyMap::const_iterator PluginKeyMapConstIterator;
- QMutexLocker locker(&mutex);
+
+ auto locker = qt_unique_lock(mutex);
if (firstUpdate) {
if (qobject_cast<QBearerEngine *>(sender()))
@@ -432,7 +435,7 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations()
void QNetworkConfigurationManagerPrivate::performAsyncConfigurationUpdate()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
if (sessionEngines.isEmpty()) {
emit configurationUpdateComplete();
@@ -449,14 +452,14 @@ void QNetworkConfigurationManagerPrivate::performAsyncConfigurationUpdate()
QList<QBearerEngine *> QNetworkConfigurationManagerPrivate::engines() const
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
return sessionEngines;
}
void QNetworkConfigurationManagerPrivate::startPolling()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
if (!pollTimer) {
pollTimer = new QTimer(this);
bool ok;
@@ -482,7 +485,7 @@ void QNetworkConfigurationManagerPrivate::startPolling()
void QNetworkConfigurationManagerPrivate::pollEngines()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
for (QBearerEngine *engine : qAsConst(sessionEngines)) {
if (engine->requiresPolling() && (forcedPolling || engine->configurationsInUse())) {
@@ -494,7 +497,7 @@ void QNetworkConfigurationManagerPrivate::pollEngines()
void QNetworkConfigurationManagerPrivate::enablePolling()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
++forcedPolling;
@@ -504,7 +507,7 @@ void QNetworkConfigurationManagerPrivate::enablePolling()
void QNetworkConfigurationManagerPrivate::disablePolling()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
--forcedPolling;
}
diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp
index 487cac6d90..9ce2d72bd3 100644
--- a/src/network/kernel/qhostinfo.cpp
+++ b/src/network/kernel/qhostinfo.cpp
@@ -102,16 +102,6 @@ std::pair<OutputIt1, OutputIt2> separate_if(InputIt first, InputIt last, OutputI
return std::make_pair(dest1, dest2);
}
-int get_signal_index()
-{
- static auto senderMetaObject = &QHostInfoResult::staticMetaObject;
- static auto signal = &QHostInfoResult::resultsReady;
- int signal_index = -1;
- void *args[] = { &signal_index, &signal };
- senderMetaObject->static_metacall(QMetaObject::IndexOfMethod, 0, args);
- return signal_index + QMetaObjectPrivate::signalOffset(senderMetaObject);
-}
-
}
/*
@@ -129,38 +119,59 @@ void QHostInfoResult::postResultsReady(const QHostInfo &info)
{
// queued connection will take care of dispatching to right thread
if (!slotObj) {
- emitResultsReady(info);
+ emit resultsReady(info);
return;
}
- static const int signal_index = get_signal_index();
-
// we used to have a context object, but it's already destroyed
if (withContextObject && !receiver)
return;
- /* QHostInfoResult c'tor moves the result object to the thread of receiver.
- If we don't have a receiver, then the result object will not live in a
- thread that runs an event loop - so move it to this' thread, which is the thread
- that initiated the lookup, and required to have a running event loop. */
- auto result = new QHostInfoResult(receiver, slotObj);
- if (!receiver)
- result->moveToThread(thread());
+ static const int signal_index = []() -> int {
+ auto senderMetaObject = &QHostInfoResult::staticMetaObject;
+ auto signal = &QHostInfoResult::resultsReady;
+ int signal_index = -1;
+ void *args[] = { &signal_index, &signal };
+ senderMetaObject->static_metacall(QMetaObject::IndexOfMethod, 0, args);
+ return signal_index + QMetaObjectPrivate::signalOffset(senderMetaObject);
+ }();
+
+ // a long-living version of this
+ auto result = new QHostInfoResult(this);
Q_CHECK_PTR(result);
+
const int nargs = 2;
- auto types = reinterpret_cast<int *>(malloc(nargs * sizeof(int)));
- Q_CHECK_PTR(types);
+ auto metaCallEvent = new QMetaCallEvent(slotObj, nullptr, signal_index, nargs);
+ Q_CHECK_PTR(metaCallEvent);
+ void **args = metaCallEvent->args();
+ int *types = metaCallEvent->types();
types[0] = QMetaType::type("void");
types[1] = QMetaType::type("QHostInfo");
- auto args = reinterpret_cast<void **>(malloc(nargs * sizeof(void *)));
- Q_CHECK_PTR(args);
- args[0] = 0;
+ args[0] = nullptr;
args[1] = QMetaType::create(types[1], &info);
Q_CHECK_PTR(args[1]);
- auto metaCallEvent = new QMetaCallEvent(slotObj, nullptr, signal_index, nargs, types, args);
- Q_CHECK_PTR(metaCallEvent);
qApp->postEvent(result, metaCallEvent);
}
+/*
+ Receives the event posted by postResultsReady, and calls the functor.
+*/
+bool QHostInfoResult::event(QEvent *event)
+{
+ if (event->type() == QEvent::MetaCall) {
+ Q_ASSERT(slotObj);
+ auto metaCallEvent = static_cast<QMetaCallEvent *>(event);
+ auto args = metaCallEvent->args();
+ // we didn't have a context object, or it's still alive
+ if (!withContextObject || receiver)
+ slotObj->call(const_cast<QObject*>(receiver.data()), args);
+ slotObj->destroyIfLastRef();
+
+ deleteLater();
+ return true;
+ }
+ return QObject::event(event);
+}
+
/*!
\class QHostInfo
\brief The QHostInfo class provides static functions for host name lookups.
@@ -255,64 +266,9 @@ static int nextId()
\sa abortHostLookup(), addresses(), error(), fromName()
*/
-int QHostInfo::lookupHost(const QString &name, QObject *receiver,
- const char *member)
+int QHostInfo::lookupHost(const QString &name, QObject *receiver, const char *member)
{
-#if defined QHOSTINFO_DEBUG
- qDebug("QHostInfo::lookupHost(\"%s\", %p, %s)",
- name.toLatin1().constData(), receiver, member ? member + 1 : 0);
-#endif
-
- if (!QAbstractEventDispatcher::instance(QThread::currentThread())) {
- qWarning("QHostInfo::lookupHost() called with no event dispatcher");
- return -1;
- }
-
- qRegisterMetaType<QHostInfo>();
-
- int id = nextId(); // generate unique ID
-
- if (name.isEmpty()) {
- if (!receiver)
- return -1;
-
- QHostInfo hostInfo(id);
- hostInfo.setError(QHostInfo::HostNotFound);
- hostInfo.setErrorString(QCoreApplication::translate("QHostInfo", "No host name given"));
- QScopedPointer<QHostInfoResult> result(new QHostInfoResult);
- QObject::connect(result.data(), SIGNAL(resultsReady(QHostInfo)),
- receiver, member, Qt::QueuedConnection);
- result.data()->emitResultsReady(hostInfo);
- return id;
- }
-
- QHostInfoLookupManager *manager = theHostInfoLookupManager();
-
- if (manager) {
- // the application is still alive
- if (manager->cache.isEnabled()) {
- // check cache first
- bool valid = false;
- QHostInfo info = manager->cache.get(name, &valid);
- if (valid) {
- if (!receiver)
- return -1;
-
- info.setLookupId(id);
- QHostInfoResult result;
- QObject::connect(&result, SIGNAL(resultsReady(QHostInfo)), receiver, member, Qt::QueuedConnection);
- result.emitResultsReady(info);
- return id;
- }
- }
-
- // cache is not enabled or it was not in the cache, do normal lookup
- QHostInfoRunnable* runnable = new QHostInfoRunnable(name, id);
- if (receiver)
- QObject::connect(&runnable->resultEmitter, SIGNAL(resultsReady(QHostInfo)), receiver, member, Qt::QueuedConnection);
- manager->scheduleLookup(runnable);
- }
- return id;
+ return QHostInfoPrivate::lookupHostImpl(name, receiver, nullptr, member);
}
/*!
@@ -818,14 +774,32 @@ QString QHostInfo::localHostName()
\sa hostName()
*/
+// ### Qt 6 merge with function below
int QHostInfo::lookupHostImpl(const QString &name,
const QObject *receiver,
QtPrivate::QSlotObjectBase *slotObj)
{
+ return QHostInfoPrivate::lookupHostImpl(name, receiver, slotObj, nullptr);
+}
+/*
+ Called by the various lookupHost overloads to perform the lookup.
+
+ Signals either the functor encapuslated in the \a slotObj in the context
+ of \a receiver, or the \a member slot of the \a receiver.
+
+ \a receiver might be the nullptr, but only if a \a slotObj is provided.
+*/
+int QHostInfoPrivate::lookupHostImpl(const QString &name,
+ const QObject *receiver,
+ QtPrivate::QSlotObjectBase *slotObj,
+ const char *member)
+{
#if defined QHOSTINFO_DEBUG
- qDebug("QHostInfo::lookupHost(\"%s\", %p, %p)",
- name.toLatin1().constData(), receiver, slotObj);
+ qDebug("QHostInfoPrivate::lookupHostImpl(\"%s\", %p, %p, %s)",
+ name.toLatin1().constData(), receiver, slotObj, member ? member + 1 : 0);
#endif
+ Q_ASSERT(!member != !slotObj); // one of these must be set, but not both
+ Q_ASSERT(receiver || slotObj);
if (!QAbstractEventDispatcher::instance(QThread::currentThread())) {
qWarning("QHostInfo::lookupHost() called with no event dispatcher");
@@ -840,8 +814,13 @@ int QHostInfo::lookupHostImpl(const QString &name,
QHostInfo hostInfo(id);
hostInfo.setError(QHostInfo::HostNotFound);
hostInfo.setErrorString(QCoreApplication::translate("QHostInfo", "No host name given"));
+
QHostInfoResult result(receiver, slotObj);
+ if (receiver && member)
+ QObject::connect(&result, SIGNAL(resultsReady(QHostInfo)),
+ receiver, member, Qt::QueuedConnection);
result.postResultsReady(hostInfo);
+
return id;
}
@@ -856,23 +835,24 @@ int QHostInfo::lookupHostImpl(const QString &name,
if (valid) {
info.setLookupId(id);
QHostInfoResult result(receiver, slotObj);
+ if (receiver && member)
+ QObject::connect(&result, SIGNAL(resultsReady(QHostInfo)),
+ receiver, member, Qt::QueuedConnection);
result.postResultsReady(info);
return id;
}
}
// cache is not enabled or it was not in the cache, do normal lookup
- QHostInfoRunnable* runnable = new QHostInfoRunnable(name, id, receiver, slotObj);
+ QHostInfoRunnable *runnable = new QHostInfoRunnable(name, id, receiver, slotObj);
+ if (receiver && member)
+ QObject::connect(&runnable->resultEmitter, SIGNAL(resultsReady(QHostInfo)),
+ receiver, member, Qt::QueuedConnection);
manager->scheduleLookup(runnable);
}
return id;
}
-QHostInfoRunnable::QHostInfoRunnable(const QString &hn, int i) : toBeLookedUp(hn), id(i)
-{
- setAutoDelete(true);
-}
-
QHostInfoRunnable::QHostInfoRunnable(const QString &hn, int i, const QObject *receiver,
QtPrivate::QSlotObjectBase *slotObj) :
toBeLookedUp(hn), id(i), resultEmitter(receiver, slotObj)
@@ -1119,7 +1099,7 @@ QHostInfo qt_qhostinfo_lookup(const QString &name, QObject *receiver, const char
}
// was not in cache, trigger lookup
- *id = QHostInfo::lookupHost(name, receiver, member);
+ *id = QHostInfoPrivate::lookupHostImpl(name, receiver, nullptr, member);
// return empty response, valid==false
return QHostInfo();
diff --git a/src/network/kernel/qhostinfo_p.h b/src/network/kernel/qhostinfo_p.h
index 9a4657234e..1798ceab0a 100644
--- a/src/network/kernel/qhostinfo_p.h
+++ b/src/network/kernel/qhostinfo_p.h
@@ -81,58 +81,38 @@ QT_BEGIN_NAMESPACE
class QHostInfoResult : public QObject
{
Q_OBJECT
-
- QPointer<const QObject> receiver = nullptr;
- QtPrivate::QSlotObjectBase *slotObj = nullptr;
- const bool withContextObject = false;
-
public:
- QHostInfoResult() = default;
- QHostInfoResult(const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj) :
- receiver(receiver),
- slotObj(slotObj),
- withContextObject(slotObj && receiver)
+ QHostInfoResult(const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj)
+ : receiver(receiver), slotObj(slotObj),
+ withContextObject(slotObj && receiver)
{
- connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, this,
- &QObject::deleteLater);
- if (slotObj && receiver)
+ if (receiver)
moveToThread(receiver->thread());
}
void postResultsReady(const QHostInfo &info);
-public Q_SLOTS:
- inline void emitResultsReady(const QHostInfo &info)
- {
- if (slotObj) {
- // we used to have a context object, but it's already destroyed
- if (withContextObject && !receiver)
- return;
- QHostInfo copy = info;
- void *args[2] = { nullptr, reinterpret_cast<void *>(&copy) };
- slotObj->call(const_cast<QObject*>(receiver.data()), args);
- slotObj->destroyIfLastRef();
- } else {
- emit resultsReady(info);
- }
- }
+Q_SIGNALS:
+ void resultsReady(const QHostInfo &info);
protected:
- bool event(QEvent *event) override
+ bool event(QEvent *event) override;
+
+private:
+ QHostInfoResult(const QHostInfoResult *other)
+ : receiver(other->receiver), slotObj(other->slotObj),
+ withContextObject(other->withContextObject)
{
- if (event->type() == QEvent::MetaCall) {
- auto metaCallEvent = static_cast<QMetaCallEvent *>(event);
- auto args = metaCallEvent->args();
- auto hostInfo = reinterpret_cast<QHostInfo *>(args[1]);
- emitResultsReady(*hostInfo);
- deleteLater();
- return true;
- }
- return QObject::event(event);
+ // cleanup if the application terminates before results are delivered
+ connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit,
+ this, &QObject::deleteLater);
+ // maintain thread affinity
+ moveToThread(other->thread());
}
-Q_SIGNALS:
- void resultsReady(const QHostInfo &info);
+ QPointer<const QObject> receiver = nullptr;
+ QtPrivate::QSlotObjectBase *slotObj = nullptr;
+ const bool withContextObject = false;
};
class QHostInfoAgent
@@ -160,6 +140,10 @@ public:
//not a public API yet
static QHostInfo fromName(const QString &hostName, QSharedPointer<QNetworkSession> networkSession);
#endif
+ static int lookupHostImpl(const QString &name,
+ const QObject *receiver,
+ QtPrivate::QSlotObjectBase *slotObj,
+ const char *member);
QHostInfo::HostInfoError err;
QString errorStr;
@@ -204,7 +188,6 @@ private:
class QHostInfoRunnable : public QRunnable
{
public:
- QHostInfoRunnable(const QString &hn, int i);
QHostInfoRunnable(const QString &hn, int i, const QObject *receiver,
QtPrivate::QSlotObjectBase *slotObj);
void run() override;
diff --git a/src/network/kernel/qnetconmonitor_win.cpp b/src/network/kernel/qnetconmonitor_win.cpp
index b543508169..a010df8e3a 100644
--- a/src/network/kernel/qnetconmonitor_win.cpp
+++ b/src/network/kernel/qnetconmonitor_win.cpp
@@ -99,7 +99,7 @@ QNetworkInterface getInterfaceFromHostAddress(const QHostAddress &local)
}
} // anonymous namespace
-class QNetworkConnectionEvents final : public INetworkConnectionEvents
+class QNetworkConnectionEvents : public INetworkConnectionEvents
{
public:
QNetworkConnectionEvents(QNetworkConnectionMonitorPrivate *monitor);
@@ -139,7 +139,7 @@ private:
QNetworkConnectionMonitorPrivate *monitor = nullptr;
- QAtomicInteger<ULONG> ref = 1; // start at 1 for our own initial reference
+ QAtomicInteger<ULONG> ref = 0;
DWORD cookie = 0;
};
@@ -346,6 +346,8 @@ QNetworkConnectionMonitorPrivate::~QNetworkConnectionMonitorPrivate()
{
if (comInitFailed)
return;
+ if (monitoring)
+ stopMonitoring();
connectionEvents.Reset();
CoUninitialize();
}
@@ -465,7 +467,7 @@ bool QNetworkConnectionMonitor::isReachable()
return d_func()->connectivity & required;
}
-class QNetworkListManagerEvents final : public INetworkListManagerEvents
+class QNetworkListManagerEvents : public INetworkListManagerEvents
{
public:
QNetworkListManagerEvents(QNetworkStatusMonitorPrivate *monitor);
@@ -496,7 +498,7 @@ private:
QNetworkStatusMonitorPrivate *monitor = nullptr;
- QAtomicInteger<ULONG> ref = 1; // start at 1 for our own initial reference
+ QAtomicInteger<ULONG> ref = 0;
DWORD cookie = 0;
};
diff --git a/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp b/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp
index b608e7f483..6011941982 100644
--- a/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp
+++ b/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp
@@ -106,7 +106,7 @@ static bool ft_getSfntTable(void *user_data, uint tag, uchar *buffer, uint *leng
return result;
}
-static QFontEngineFT::Glyph emptyGlyph = {0, 0, 0, 0, 0, 0, 0, 0};
+static QFontEngineFT::Glyph emptyGlyph;
static const QFontEngine::HintStyle ftInitialDefaultHintStyle =
#ifdef Q_OS_WIN
@@ -550,11 +550,6 @@ void QFreetypeFace::addBitmapToPath(FT_GlyphSlot slot, const QFixedPoint &point,
slot->bitmap.buffer, slot->bitmap.pitch, slot->bitmap.width, slot->bitmap.rows, path);
}
-QFontEngineFT::Glyph::~Glyph()
-{
- delete [] data;
-}
-
static inline void convertRGBToARGB(const uchar *src, uint *dst, int width, int height, int src_pitch, bool bgr)
{
const int offs = bgr ? -1 : 1;
@@ -1810,11 +1805,10 @@ static inline QImage alphaMapFromGlyphData(QFontEngineFT::Glyph *glyph, QFontEng
return img;
}
-QImage *QFontEngineFT::lockedAlphaMapForGlyph(glyph_t glyphIndex, QFixed subPixelPosition,
- QFontEngine::GlyphFormat neededFormat,
- const QTransform &t, QPoint *offset)
+QFontEngine::Glyph *QFontEngineFT::glyphData(glyph_t glyphIndex, QFixed subPixelPosition,
+ QFontEngine::GlyphFormat neededFormat, const QTransform &t)
{
- Q_ASSERT(currentlyLockedAlphaMap.isNull());
+ Q_ASSERT(cacheEnabled);
if (isBitmapFont())
neededFormat = Format_Mono;
@@ -1824,33 +1818,10 @@ QImage *QFontEngineFT::lockedAlphaMapForGlyph(glyph_t glyphIndex, QFixed subPixe
neededFormat = Format_A8;
Glyph *glyph = loadGlyphFor(glyphIndex, subPixelPosition, neededFormat, t);
-
- if (offset != 0 && glyph != 0)
- *offset = QPoint(glyph->x, -glyph->y);
-
- currentlyLockedAlphaMap = alphaMapFromGlyphData(glyph, neededFormat);
-
- const bool glyphHasGeometry = glyph != nullptr && glyph->height != 0 && glyph->width != 0;
- if (!cacheEnabled && glyph != &emptyGlyph) {
- currentlyLockedAlphaMap = currentlyLockedAlphaMap.copy();
- delete glyph;
- }
-
- if (!glyphHasGeometry)
+ if (!glyph || !glyph->width || !glyph->height)
return nullptr;
- if (currentlyLockedAlphaMap.isNull())
- return QFontEngine::lockedAlphaMapForGlyph(glyphIndex, subPixelPosition, neededFormat, t, offset);
-
- QImageData *data = currentlyLockedAlphaMap.data_ptr();
- data->is_locked = true;
-
- return &currentlyLockedAlphaMap;
-}
-
-void QFontEngineFT::unlockAlphaMapForGlyph()
-{
- QFontEngine::unlockAlphaMapForGlyph();
+ return glyph;
}
static inline bool is2dRotation(const QTransform &t)
diff --git a/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h b/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h
index b636c42e63..2e3aef6979 100644
--- a/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h
+++ b/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h
@@ -129,20 +129,6 @@ private:
class QFontEngineFT : public QFontEngine
{
public:
-
- /* we don't cache glyphs that are too large anyway, so we can make this struct rather small */
- struct Glyph {
- ~Glyph();
- int linearAdvance : 22;
- unsigned char width;
- unsigned char height;
- short x;
- short y;
- short advance;
- signed char format;
- uchar *data;
- };
-
struct GlyphInfo {
int linearAdvance;
unsigned short width;
@@ -241,11 +227,9 @@ private:
QFixed subPixelPosition,
const QTransform &matrix,
QFontEngine::GlyphFormat format) override;
- QImage *lockedAlphaMapForGlyph(glyph_t glyph, QFixed subPixelPosition,
- GlyphFormat neededFormat, const QTransform &t,
- QPoint *offset) override;
+ Glyph *glyphData(glyph_t glyph, QFixed subPixelPosition,
+ GlyphFormat neededFormat, const QTransform &t) override;
bool hasInternalCaching() const override { return cacheEnabled; }
- void unlockAlphaMapForGlyph() override;
bool expectsGammaCorrectedBlending() const override;
void removeGlyphFromCache(glyph_t glyph) override;
diff --git a/src/platformsupport/glxconvenience/qglxconvenience.cpp b/src/platformsupport/glxconvenience/qglxconvenience.cpp
index 948b00596f..81bccb1c25 100644
--- a/src/platformsupport/glxconvenience/qglxconvenience.cpp
+++ b/src/platformsupport/glxconvenience/qglxconvenience.cpp
@@ -261,9 +261,11 @@ GLXFBConfig qglx_findConfig(Display *display, int screen , QSurfaceFormat format
qCDebug(lcGlx) << "qglx_findConfig: Found non-matching but compatible FBConfig";
return compatibleCandidate;
}
- qCWarning(lcGlx, "qglx_findConfig: Failed to finding matching FBConfig (%d %d %d %d)", requestedRed, requestedGreen, requestedBlue, requestedAlpha);
} while (qglx_reduceFormat(&format));
+ if (!config)
+ qCWarning(lcGlx) << "qglx_findConfig: Failed to finding matching FBConfig for" << format;
+
return config;
}
diff --git a/src/platformsupport/kmsconvenience/qkmsdevice.cpp b/src/platformsupport/kmsconvenience/qkmsdevice.cpp
index 1ba32895f8..d9d76c1146 100644
--- a/src/platformsupport/kmsconvenience/qkmsdevice.cpp
+++ b/src/platformsupport/kmsconvenience/qkmsdevice.cpp
@@ -387,23 +387,26 @@ QPlatformScreen *QKmsDevice::createScreenForConnector(drmModeResPtr resources,
if (!cloneSource.isEmpty())
qCDebug(qLcKmsDebug) << "Output" << connectorName << " clones output " << cloneSource;
- const QByteArray fbsize = userConnectorConfig.value(QStringLiteral("size")).toByteArray().toLower();
QSize framebufferSize;
- framebufferSize.setWidth(modes[selected_mode].hdisplay);
- framebufferSize.setHeight(modes[selected_mode].vdisplay);
-
+ bool framebufferSizeSet = false;
+ const QByteArray fbsize = userConnectorConfig.value(QStringLiteral("size")).toByteArray().toLower();
+ if (!fbsize.isEmpty()) {
+ if (sscanf(fbsize.constData(), "%dx%d", &framebufferSize.rwidth(), &framebufferSize.rheight()) == 2) {
#if QT_CONFIG(drm_atomic)
- if (hasAtomicSupport()) {
- if (sscanf(fbsize.constData(), "%dx%d", &framebufferSize.rwidth(), &framebufferSize.rheight()) != 2) {
- qWarning("Framebuffer size format is invalid.");
+ if (hasAtomicSupport())
+ framebufferSizeSet = true;
+#endif
+ if (!framebufferSizeSet)
+ qWarning("Setting framebuffer size is only available with DRM atomic API");
+ } else {
+ qWarning("Invalid framebuffer size '%s'", fbsize.constData());
}
- } else {
- qWarning("Setting framebuffer size is only available with DRM atomic API");
}
-#else
- if (fbsize.size())
- qWarning("Setting framebuffer size is only available with DRM atomic API");
-#endif
+ if (!framebufferSizeSet) {
+ framebufferSize.setWidth(modes[selected_mode].hdisplay);
+ framebufferSize.setHeight(modes[selected_mode].vdisplay);
+ }
+
qCDebug(qLcKmsDebug) << "Output" << connectorName << "framebuffer size is " << framebufferSize;
QKmsOutput output;
@@ -851,6 +854,8 @@ void QKmsDevice::discoverPlanes()
plane.crtcYPropertyId = prop->prop_id;
} else if (!strcasecmp(prop->name, "zpos")) {
plane.zposPropertyId = prop->prop_id;
+ } else if (!strcasecmp(prop->name, "blend_op")) {
+ plane.blendOpPropertyId = prop->prop_id;
}
});
diff --git a/src/platformsupport/kmsconvenience/qkmsdevice_p.h b/src/platformsupport/kmsconvenience/qkmsdevice_p.h
index 403972fbb8..77070c293d 100644
--- a/src/platformsupport/kmsconvenience/qkmsdevice_p.h
+++ b/src/platformsupport/kmsconvenience/qkmsdevice_p.h
@@ -178,6 +178,7 @@ struct QKmsPlane
uint32_t crtcwidthPropertyId = 0;
uint32_t crtcheightPropertyId = 0;
uint32_t zposPropertyId = 0;
+ uint32_t blendOpPropertyId = 0;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QKmsPlane::Rotations)
diff --git a/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy_p.h b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy_p.h
index c92de0a140..cffc080f87 100644
--- a/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy_p.h
+++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuregistrarproxy_p.h
@@ -92,15 +92,11 @@ public:
public Q_SLOTS: // METHODS
QDBusPendingReply<QString, QDBusObjectPath> GetMenuForWindow(uint windowId)
{
- QList<QVariant> argumentList;
- argumentList << QVariant::fromValue(windowId);
- return asyncCallWithArgumentList(QStringLiteral("GetMenuForWindow"), argumentList);
+ return asyncCall(QStringLiteral("GetMenuForWindow"), windowId);
}
QDBusReply<QString> GetMenuForWindow(uint windowId, QDBusObjectPath &menuObjectPath)
{
- QList<QVariant> argumentList;
- argumentList << QVariant::fromValue(windowId);
- QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("GetMenuForWindow"), argumentList);
+ QDBusMessage reply = call(QDBus::Block, QStringLiteral("GetMenuForWindow"), windowId);
QList<QVariant> arguments = reply.arguments();
if (reply.type() == QDBusMessage::ReplyMessage && arguments.count() == 2)
menuObjectPath = qdbus_cast<QDBusObjectPath>(arguments.at(1));
@@ -109,16 +105,12 @@ public Q_SLOTS: // METHODS
QDBusPendingReply<> RegisterWindow(uint windowId, const QDBusObjectPath &menuObjectPath)
{
- QList<QVariant> argumentList;
- argumentList << QVariant::fromValue(windowId) << QVariant::fromValue(menuObjectPath);
- return asyncCallWithArgumentList(QStringLiteral("RegisterWindow"), argumentList);
+ return asyncCall(QStringLiteral("RegisterWindow"), windowId, menuObjectPath);
}
QDBusPendingReply<> UnregisterWindow(uint windowId)
{
- QList<QVariant> argumentList;
- argumentList << QVariant::fromValue(windowId);
- return asyncCallWithArgumentList(QStringLiteral("UnregisterWindow"), argumentList);
+ return asyncCall(QStringLiteral("UnregisterWindow"), windowId);
}
};
diff --git a/src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy_p.h b/src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy_p.h
index ab99ea65dd..2194a787eb 100644
--- a/src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy_p.h
+++ b/src/platformsupport/themes/genericunix/dbustray/qxdgnotificationproxy_p.h
@@ -95,26 +95,21 @@ public:
public Q_SLOTS: // METHODS
inline QDBusPendingReply<> closeNotification(uint id)
{
- QList<QVariant> argumentList;
- argumentList << QVariant::fromValue(id);
- return asyncCallWithArgumentList(QStringLiteral("CloseNotification"), argumentList);
+ return asyncCall(QStringLiteral("CloseNotification"), id);
}
inline QDBusPendingReply<QStringList> getCapabilities()
{
- QList<QVariant> argumentList;
- return asyncCallWithArgumentList(QStringLiteral("GetCapabilities"), argumentList);
+ return asyncCall(QStringLiteral("GetCapabilities"));
}
inline QDBusPendingReply<QString, QString, QString, QString> getServerInformation()
{
- QList<QVariant> argumentList;
- return asyncCallWithArgumentList(QStringLiteral("GetServerInformation"), argumentList);
+ return asyncCall(QStringLiteral("GetServerInformation"));
}
inline QDBusReply<QString> getServerInformation(QString &vendor, QString &version, QString &specVersion)
{
- QList<QVariant> argumentList;
- QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("GetServerInformation"), argumentList);
+ QDBusMessage reply = call(QDBus::Block, QStringLiteral("GetServerInformation"));
if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().count() == 4) {
vendor = qdbus_cast<QString>(reply.arguments().at(1));
version = qdbus_cast<QString>(reply.arguments().at(2));
@@ -129,12 +124,7 @@ public Q_SLOTS: // METHODS
const QVariantMap &hints, int timeout)
{
qCDebug(qLcTray) << appName << replacesId << appIcon << summary << body << actions << hints << timeout;
- QList<QVariant> argumentList;
- argumentList << QVariant::fromValue(appName) << QVariant::fromValue(replacesId) <<
- QVariant::fromValue(appIcon) << QVariant::fromValue(summary) <<
- QVariant::fromValue(body) << QVariant::fromValue(actions) <<
- QVariant::fromValue(hints) << QVariant::fromValue(timeout);
- return asyncCallWithArgumentList(QStringLiteral("Notify"), argumentList);
+ return asyncCall(QStringLiteral("Notify"), appName, replacesId, appIcon, summary, body, actions, hints, timeout);
}
Q_SIGNALS:
diff --git a/src/plugins/bearer/android/jar/jar.pro b/src/plugins/bearer/android/jar/jar.pro
index f988019dac..8277a8abc1 100644
--- a/src/plugins/bearer/android/jar/jar.pro
+++ b/src/plugins/bearer/android/jar/jar.pro
@@ -1,3 +1,5 @@
+CONFIG += single_arch
+
TARGET = QtAndroidBearer
load(qt_build_paths)
diff --git a/src/plugins/bearer/connman/qconnmanengine.cpp b/src/plugins/bearer/connman/qconnmanengine.cpp
index eabae5a07b..8b2076bd18 100644
--- a/src/plugins/bearer/connman/qconnmanengine.cpp
+++ b/src/plugins/bearer/connman/qconnmanengine.cpp
@@ -46,6 +46,7 @@
#include <QtNetwork/qnetworksession.h>
#include <QtCore/qdebug.h>
+#include <QtCore/private/qlocking_p.h>
#include <QtDBus/QtDBus>
#include <QtDBus/QDBusConnection>
@@ -74,13 +75,13 @@ QConnmanEngine::~QConnmanEngine()
bool QConnmanEngine::connmanAvailable() const
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
return connmanManager->isValid();
}
void QConnmanEngine::initialize()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
connect(ofonoManager,SIGNAL(modemChanged()),this,SLOT(changedModem()));
ofonoNetwork = new QOfonoNetworkRegistrationInterface(ofonoManager->currentModem(),this);
@@ -101,7 +102,7 @@ void QConnmanEngine::initialize()
void QConnmanEngine::changedModem()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
if (ofonoNetwork)
delete ofonoNetwork;
@@ -114,7 +115,7 @@ void QConnmanEngine::changedModem()
void QConnmanEngine::servicesReady(const QStringList &list)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
for (const QString &servPath : list)
addServiceConfiguration(servPath);
@@ -123,7 +124,7 @@ void QConnmanEngine::servicesReady(const QStringList &list)
QList<QNetworkConfigurationPrivate *> QConnmanEngine::getConfigurations()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
QList<QNetworkConfigurationPrivate *> fetchedConfigurations;
QNetworkConfigurationPrivate* cpPriv = 0;
const int numFoundConfigurations = foundConfigurations.count();
@@ -150,19 +151,19 @@ QList<QNetworkConfigurationPrivate *> QConnmanEngine::getConfigurations()
QString QConnmanEngine::getInterfaceFromId(const QString &id)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
return configInterfaces.value(id);
}
bool QConnmanEngine::hasIdentifier(const QString &id)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
return accessPointConfigurations.contains(id);
}
void QConnmanEngine::connectToId(const QString &id)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
QConnmanServiceInterface *serv = connmanServiceInterfaces.value(id);
@@ -184,7 +185,7 @@ void QConnmanEngine::connectToId(const QString &id)
void QConnmanEngine::disconnectFromId(const QString &id)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
QConnmanServiceInterface *serv = connmanServiceInterfaces.value(id);
if (!serv || !serv->isValid()) {
@@ -196,7 +197,7 @@ void QConnmanEngine::disconnectFromId(const QString &id)
void QConnmanEngine::requestUpdate()
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
QTimer::singleShot(0, this, SLOT(doRequestUpdate()));
}
@@ -215,7 +216,7 @@ void QConnmanEngine::finishedScan(bool error)
void QConnmanEngine::updateServices(const ConnmanMapList &changed, const QList<QDBusObjectPath> &removed)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
foreach (const QDBusObjectPath &objectPath, removed) {
removeConfiguration(objectPath.path());
@@ -234,7 +235,7 @@ void QConnmanEngine::updateServices(const ConnmanMapList &changed, const QList<Q
QNetworkSession::State QConnmanEngine::sessionStateForId(const QString &id)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id);
@@ -275,7 +276,7 @@ QNetworkSession::State QConnmanEngine::sessionStateForId(const QString &id)
quint64 QConnmanEngine::bytesWritten(const QString &id)
{//TODO use connman counter API
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
quint64 result = 0;
QString devFile = getInterfaceFromId(id);
QFile tx("/sys/class/net/"+devFile+"/statistics/tx_bytes");
@@ -290,7 +291,7 @@ quint64 QConnmanEngine::bytesWritten(const QString &id)
quint64 QConnmanEngine::bytesReceived(const QString &id)
{//TODO use connman counter API
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
quint64 result = 0;
QString devFile = getInterfaceFromId(id);
QFile rx("/sys/class/net/"+devFile+"/statistics/rx_bytes");
@@ -305,7 +306,7 @@ quint64 QConnmanEngine::bytesReceived(const QString &id)
quint64 QConnmanEngine::startTime(const QString &/*id*/)
{
// TODO
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
if (activeTime.isNull()) {
return 0;
}
@@ -327,7 +328,7 @@ QNetworkSessionPrivate *QConnmanEngine::createSessionBackend()
QNetworkConfigurationPrivatePointer QConnmanEngine::defaultConfiguration()
{
- const QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
const auto servPaths = connmanManager->getServices();
for (const QString &servPath : servPaths) {
if (connmanServiceInterfaces.contains(servPath)) {
@@ -352,7 +353,7 @@ void QConnmanEngine::configurationChange(QConnmanServiceInterface *serv)
{
if (!serv)
return;
- QMutexLocker locker(&mutex);
+ auto locker = qt_unique_lock(mutex);
QString id = serv->path();
if (accessPointConfigurations.contains(id)) {
@@ -381,7 +382,7 @@ void QConnmanEngine::configurationChange(QConnmanServiceInterface *serv)
if (changed) {
locker.unlock();
emit configurationChanged(ptr);
- locker.relock();
+ locker.lock();
}
}
@@ -391,7 +392,7 @@ void QConnmanEngine::configurationChange(QConnmanServiceInterface *serv)
QNetworkConfiguration::StateFlags QConnmanEngine::getStateForService(const QString &service)
{
- QMutexLocker locker(&mutex);
+ const auto locker = qt_scoped_lock(mutex);
QConnmanServiceInterface *serv = connmanServiceInterfaces.value(service);
if (!serv)
return QNetworkConfiguration::Undefined;
@@ -472,7 +473,7 @@ bool QConnmanEngine::isRoamingAllowed(const QString &context)
void QConnmanEngine::removeConfiguration(const QString &id)
{
- QMutexLocker locker(&mutex);
+ auto locker = qt_unique_lock(mutex);
if (accessPointConfigurations.contains(id)) {
@@ -485,13 +486,12 @@ void QConnmanEngine::removeConfiguration(const QString &id)
foundConfigurations.removeOne(ptr.data());
locker.unlock();
emit configurationRemoved(ptr);
- locker.relock();
}
}
void QConnmanEngine::addServiceConfiguration(const QString &servicePath)
{
- QMutexLocker locker(&mutex);
+ auto locker = qt_unique_lock(mutex);
if (!connmanServiceInterfaces.contains(servicePath)) {
QConnmanServiceInterface *serv = new QConnmanServiceInterface(servicePath, this);
connmanServiceInterfaces.insert(serv->path(),serv);
@@ -547,7 +547,6 @@ void QConnmanEngine::addServiceConfiguration(const QString &servicePath)
locker.unlock();
Q_EMIT configurationAdded(ptr);
- locker.relock();
}
}
diff --git a/src/plugins/bearer/connman/qconnmanservice_linux.cpp b/src/plugins/bearer/connman/qconnmanservice_linux.cpp
index 3659eb7740..35d9c40680 100644
--- a/src/plugins/bearer/connman/qconnmanservice_linux.cpp
+++ b/src/plugins/bearer/connman/qconnmanservice_linux.cpp
@@ -80,8 +80,7 @@ QConnmanManagerInterface::QConnmanManagerInterface( QObject *parent)
qDBusRegisterMetaType<ConnmanMap>();
qDBusRegisterMetaType<ConnmanMapList>();
- QList<QVariant> argumentList;
- QDBusPendingReply<QVariantMap> props_reply = asyncCallWithArgumentList(QLatin1String("GetProperties"), argumentList);
+ QDBusPendingReply<QVariantMap> props_reply = asyncCall(QLatin1String("GetProperties"));
QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(props_reply, this);
QObject::connect(watcher,SIGNAL(finished(QDBusPendingCallWatcher*)),
@@ -106,8 +105,7 @@ QConnmanManagerInterface::QConnmanManagerInterface( QObject *parent)
QLatin1String("TechnologyRemoved"),
this,SLOT(technologyRemoved(QDBusObjectPath)));
- QList<QVariant> argumentList2;
- QDBusPendingReply<ConnmanMapList> serv_reply = asyncCallWithArgumentList(QLatin1String("GetServices"), argumentList2);
+ QDBusPendingReply<ConnmanMapList> serv_reply = asyncCall(QLatin1String("GetServices"));
QDBusPendingCallWatcher *watcher2 = new QDBusPendingCallWatcher(serv_reply, this);
QObject::connect(watcher2,SIGNAL(finished(QDBusPendingCallWatcher*)),
@@ -289,8 +287,7 @@ QConnmanServiceInterface::QConnmanServiceInterface(const QString &dbusPathName,Q
CONNMAN_SERVICE_INTERFACE,
QDBusConnection::systemBus(), parent)
{
- QList<QVariant> argumentList;
- QDBusPendingReply<QVariantMap> props_reply = asyncCallWithArgumentList(QLatin1String("GetProperties"), argumentList);
+ QDBusPendingReply<QVariantMap> props_reply = asyncCall(QLatin1String("GetProperties"));
QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(props_reply, this);
diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp b/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
index 5d72731bc4..05f9b3ca17 100644
--- a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
+++ b/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
@@ -99,8 +99,7 @@ QOfonoManagerInterface::~QOfonoManagerInterface()
QStringList QOfonoManagerInterface::getModems()
{
if (modemList.isEmpty()) {
- QList<QVariant> argumentList;
- QDBusPendingReply<PathPropertiesList> reply = callWithArgumentList(QDBus::Block, QLatin1String("GetModems"), argumentList);
+ QDBusPendingReply<PathPropertiesList> reply = call(QDBus::Block, QLatin1String("GetModems"));
reply.waitForFinished();
if (!reply.isError()) {
const auto modems = reply.value();
@@ -184,8 +183,7 @@ QStringList QOfonoModemInterface::interfaces()
QVariantMap QOfonoModemInterface::getProperties()
{
if (propertiesMap.isEmpty()) {
- QList<QVariant> argumentList;
- QDBusPendingReply<QVariantMap> reply = callWithArgumentList(QDBus::Block, QLatin1String("GetProperties"), argumentList);
+ QDBusPendingReply<QVariantMap> reply = call(QDBus::Block, QLatin1String("GetProperties"));
if (!reply.isError()) {
propertiesMap = reply.value();
}
@@ -233,8 +231,7 @@ QVariant QOfonoNetworkRegistrationInterface::getProperty(const QString &property
QVariantMap QOfonoNetworkRegistrationInterface::getProperties()
{
if (propertiesMap.isEmpty()) {
- QList<QVariant> argumentList;
- QDBusPendingReply<QVariantMap> reply = callWithArgumentList(QDBus::Block, QLatin1String("GetProperties"), argumentList);
+ QDBusPendingReply<QVariantMap> reply = call(QDBus::Block, QLatin1String("GetProperties"));
reply.waitForFinished();
if (!reply.isError()) {
propertiesMap = reply.value();
@@ -306,8 +303,7 @@ QVariant QOfonoDataConnectionManagerInterface::getProperty(const QString &proper
QVariantMap &QOfonoDataConnectionManagerInterface::getProperties()
{
if (propertiesMap.isEmpty()) {
- QList<QVariant> argumentList;
- QDBusPendingReply<QVariantMap> reply = callWithArgumentList(QDBus::Block, QLatin1String("GetProperties"), argumentList);
+ QDBusPendingReply<QVariantMap> reply = call(QDBus::Block, QLatin1String("GetProperties"));
if (!reply.isError()) {
propertiesMap = reply.value();
}
@@ -343,8 +339,7 @@ QOfonoConnectionContextInterface::~QOfonoConnectionContextInterface()
QVariantMap QOfonoConnectionContextInterface::getProperties()
{
if (propertiesMap.isEmpty()) {
- QList<QVariant> argumentList;
- QDBusPendingReply<QVariantMap> reply = callWithArgumentList(QDBus::Block, QLatin1String("GetProperties"), argumentList);
+ QDBusPendingReply<QVariantMap> reply = call(QDBus::Block, QLatin1String("GetProperties"));
if (!reply.isError()) {
propertiesMap = reply.value();
}
diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
index 0fb21df1d3..1f1675e490 100644
--- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp
+++ b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
@@ -492,6 +492,8 @@ inline my_jpeg_destination_mgr::my_jpeg_destination_mgr(QIODevice *device)
free_in_buffer = max_buf;
}
+static constexpr int maxMarkerSize = 65533;
+
static inline void set_text(const QImage &image, j_compress_ptr cinfo, const QString &description)
{
const QMap<QString, QString> text = qt_getImageText(image, description);
@@ -500,12 +502,33 @@ static inline void set_text(const QImage &image, j_compress_ptr cinfo, const QSt
if (!comment.isEmpty())
comment += ": ";
comment += it.value().toUtf8();
- if (comment.length() > 65530)
- comment.truncate(65530);
+ if (comment.length() > maxMarkerSize)
+ comment.truncate(maxMarkerSize);
jpeg_write_marker(cinfo, JPEG_COM, (const JOCTET *)comment.constData(), comment.size());
}
}
+static inline void write_icc_profile(const QImage &image, j_compress_ptr cinfo)
+{
+ const QByteArray iccProfile = image.colorSpace().iccProfile();
+ if (iccProfile.isEmpty())
+ return;
+
+ const QByteArray iccSignature("ICC_PROFILE", 12);
+ constexpr int maxIccMarkerSize = maxMarkerSize - (12 + 2);
+ int index = 0;
+ const int markers = (iccProfile.size() + (maxIccMarkerSize - 1)) / maxIccMarkerSize;
+ Q_ASSERT(markers < 256);
+ for (int marker = 1; marker <= markers; ++marker) {
+ const int len = std::min(iccProfile.size() - index, maxIccMarkerSize);
+ const QByteArray block = iccSignature
+ + QByteArray(1, char(marker)) + QByteArray(1, char(markers))
+ + iccProfile.mid(index, len);
+ jpeg_write_marker(cinfo, JPEG_APP0 + 2, reinterpret_cast<const JOCTET *>(block.constData()), block.size());
+ index += len;
+ }
+}
+
static bool write_jpeg_image(const QImage &image, QIODevice *device, volatile int sourceQuality, const QString &description, bool optimize, bool progressive)
{
bool success = false;
@@ -586,6 +609,8 @@ static bool write_jpeg_image(const QImage &image, QIODevice *device, volatile in
jpeg_start_compress(&cinfo, TRUE);
set_text(image, &cinfo, description);
+ if (cinfo.in_color_space == JCS_RGB)
+ write_icc_profile(image, &cinfo);
row_pointer[0] = new uchar[cinfo.image_width*cinfo.input_components];
int w = cinfo.image_width;
diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp
index 70dde46ffa..915f7f0f5b 100644
--- a/src/plugins/platforms/android/androidjnimain.cpp
+++ b/src/plugins/platforms/android/androidjnimain.cpp
@@ -454,9 +454,9 @@ static jboolean startQtAndroidPlugin(JNIEnv *env, jobject /*object*/, jstring pa
const QList<QByteArray> envVars = QByteArray(nativeString).split('\t');
env->ReleaseStringUTFChars(environmentString, nativeString);
for (const QByteArray &envVar : envVars) {
- const QList<QByteArray> envVarPair = envVar.split('=');
- if (envVarPair.size() == 2 && ::setenv(envVarPair[0], envVarPair[1], 1) != 0)
- qWarning() << "Can't set environment" << envVarPair;
+ int pos = envVar.indexOf('=');
+ if (pos != -1 && ::setenv(envVar.left(pos), envVar.mid(pos + 1), 1) != 0)
+ qWarning() << "Can't set environment" << envVar;
}
}
diff --git a/src/plugins/platforms/android/androidjnimenu.cpp b/src/plugins/platforms/android/androidjnimenu.cpp
index f51a3920b8..de2fdaa0e2 100644
--- a/src/plugins/platforms/android/androidjnimenu.cpp
+++ b/src/plugins/platforms/android/androidjnimenu.cpp
@@ -225,10 +225,11 @@ namespace QtAndroidMenu
QString itemText = removeAmpersandEscapes(item->text());
jstring jtext = env->NewString(reinterpret_cast<const jchar *>(itemText.data()),
itemText.length());
+ jint menuId = platformMenu->menuId(item);
jobject menuItem = env->CallObjectMethod(menu,
addMenuItemMethodID,
menuNoneValue,
- int(item->tag()),
+ menuId,
order++,
jtext);
env->DeleteLocalRef(jtext);
@@ -262,10 +263,11 @@ namespace QtAndroidMenu
QString itemText = removeAmpersandEscapes(item->text());
jstring jtext = env->NewString(reinterpret_cast<const jchar *>(itemText.data()),
itemText.length());
+ jint menuId = visibleMenuBar->menuId(item);
jobject menuItem = env->CallObjectMethod(menu,
addMenuItemMethodID,
menuNoneValue,
- int(item->tag()),
+ menuId,
order++,
jtext);
env->DeleteLocalRef(jtext);
@@ -290,7 +292,7 @@ namespace QtAndroidMenu
const QAndroidPlatformMenuBar::PlatformMenusType &menus = visibleMenuBar->menus();
if (menus.size() == 1) { // Expanded menu
- QAndroidPlatformMenuItem *item = static_cast<QAndroidPlatformMenuItem *>(menus.front()->menuItemForTag(menuId));
+ QAndroidPlatformMenuItem *item = static_cast<QAndroidPlatformMenuItem *>(menus.front()->menuItemForId(menuId));
if (item) {
if (item->menu()) {
showContextMenu(item->menu(), QRect(), env);
@@ -301,7 +303,7 @@ namespace QtAndroidMenu
}
}
} else {
- QAndroidPlatformMenu *menu = static_cast<QAndroidPlatformMenu *>(visibleMenuBar->menuForTag(menuId));
+ QAndroidPlatformMenu *menu = static_cast<QAndroidPlatformMenu *>(visibleMenuBar->menuForId(menuId));
if (menu)
showContextMenu(menu, QRect(), env);
}
@@ -341,7 +343,7 @@ namespace QtAndroidMenu
static jboolean onContextItemSelected(JNIEnv *env, jobject /*thiz*/, jint menuId, jboolean checked)
{
QMutexLocker lock(&visibleMenuMutex);
- QAndroidPlatformMenuItem * item = static_cast<QAndroidPlatformMenuItem *>(visibleMenu->menuItemForTag(menuId));
+ QAndroidPlatformMenuItem * item = static_cast<QAndroidPlatformMenuItem *>(visibleMenu->menuItemForId(menuId));
if (item) {
if (item->menu()) {
showContextMenu(item->menu(), QRect(), env);
diff --git a/src/plugins/platforms/android/qandroidplatformmenu.cpp b/src/plugins/platforms/android/qandroidplatformmenu.cpp
index d9cecebf2c..7ce603831f 100644
--- a/src/plugins/platforms/android/qandroidplatformmenu.cpp
+++ b/src/plugins/platforms/android/qandroidplatformmenu.cpp
@@ -62,6 +62,7 @@ void QAndroidPlatformMenu::insertMenuItem(QPlatformMenuItem *menuItem, QPlatform
m_menuItems.end(),
static_cast<QAndroidPlatformMenuItem *>(before)),
static_cast<QAndroidPlatformMenuItem *>(menuItem));
+ m_menuHash.insert(m_nextMenuId++, menuItem);
}
void QAndroidPlatformMenu::removeMenuItem(QPlatformMenuItem *menuItem)
@@ -72,6 +73,21 @@ void QAndroidPlatformMenu::removeMenuItem(QPlatformMenuItem *menuItem)
static_cast<QAndroidPlatformMenuItem *>(menuItem));
if (it != m_menuItems.end())
m_menuItems.erase(it);
+
+ {
+ int maxId = -1;
+ QHash<int, QPlatformMenuItem *>::iterator it = m_menuHash.begin();
+ while (it != m_menuHash.end()) {
+ if (it.value() == menuItem) {
+ it = m_menuHash.erase(it);
+ } else {
+ maxId = qMax(maxId, it.key());
+ ++it;
+ }
+ }
+
+ m_nextMenuId = maxId + 1;
+ }
}
void QAndroidPlatformMenu::syncMenuItem(QPlatformMenuItem *menuItem)
@@ -139,6 +155,16 @@ void QAndroidPlatformMenu::showPopup(const QWindow *parentWindow, const QRect &t
QtAndroidMenu::showContextMenu(this, targetRect, QJNIEnvironmentPrivate());
}
+QPlatformMenuItem *QAndroidPlatformMenu::menuItemForTag(quintptr tag) const
+{
+ for (QAndroidPlatformMenuItem *menuItem : m_menuItems) {
+ if (menuItem->tag() == tag)
+ return menuItem;
+ }
+
+ return nullptr;
+}
+
QPlatformMenuItem *QAndroidPlatformMenu::menuItemAt(int position) const
{
if (position < m_menuItems.size())
@@ -146,13 +172,20 @@ QPlatformMenuItem *QAndroidPlatformMenu::menuItemAt(int position) const
return 0;
}
-QPlatformMenuItem *QAndroidPlatformMenu::menuItemForTag(quintptr tag) const
+int QAndroidPlatformMenu::menuId(QPlatformMenuItem *menu) const
{
- for (QPlatformMenuItem *menuItem : m_menuItems) {
- if (menuItem->tag() == tag)
- return menuItem;
+ QHash<int, QPlatformMenuItem *>::const_iterator it;
+ for (it = m_menuHash.constBegin(); it != m_menuHash.constEnd(); ++it) {
+ if (it.value() == menu)
+ return it.key();
}
- return 0;
+
+ return -1;
+}
+
+QPlatformMenuItem *QAndroidPlatformMenu::menuItemForId(int menuId) const
+{
+ return m_menuHash.value(menuId);
}
QAndroidPlatformMenu::PlatformMenuItemsType QAndroidPlatformMenu::menuItems() const
diff --git a/src/plugins/platforms/android/qandroidplatformmenu.h b/src/plugins/platforms/android/qandroidplatformmenu.h
index 47e650f2d7..b1d6a88787 100644
--- a/src/plugins/platforms/android/qandroidplatformmenu.h
+++ b/src/plugins/platforms/android/qandroidplatformmenu.h
@@ -73,6 +73,8 @@ public:
QPlatformMenuItem *menuItemAt(int position) const override;
QPlatformMenuItem *menuItemForTag(quintptr tag) const override;
+ QPlatformMenuItem *menuItemForId(int menuId) const;
+ int menuId(QPlatformMenuItem *menuItem) const;
PlatformMenuItemsType menuItems() const;
QMutex *menuItemsMutex();
@@ -84,6 +86,9 @@ private:
bool m_enabled;
bool m_isVisible;
QMutex m_menuItemsMutex;
+
+ int m_nextMenuId = 0;
+ QHash<int, QPlatformMenuItem *> m_menuHash;
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/android/qandroidplatformmenubar.cpp b/src/plugins/platforms/android/qandroidplatformmenubar.cpp
index 35930f0628..7c6299b4b7 100644
--- a/src/plugins/platforms/android/qandroidplatformmenubar.cpp
+++ b/src/plugins/platforms/android/qandroidplatformmenubar.cpp
@@ -61,6 +61,7 @@ void QAndroidPlatformMenuBar::insertMenu(QPlatformMenu *menu, QPlatformMenu *bef
m_menus.end(),
static_cast<QAndroidPlatformMenu *>(before)),
static_cast<QAndroidPlatformMenu *>(menu));
+ m_menuHash.insert(m_nextMenuId++, menu);
}
void QAndroidPlatformMenuBar::removeMenu(QPlatformMenu *menu)
@@ -69,6 +70,30 @@ void QAndroidPlatformMenuBar::removeMenu(QPlatformMenu *menu)
m_menus.erase(std::find(m_menus.begin(),
m_menus.end(),
static_cast<QAndroidPlatformMenu *>(menu)));
+
+ int maxId = -1;
+ QHash<int, QPlatformMenu *>::iterator it = m_menuHash.begin();
+ while (it != m_menuHash.end()) {
+ if (it.value() == menu) {
+ it = m_menuHash.erase(it);
+ } else {
+ maxId = qMax(maxId, it.key());
+ ++it;
+ }
+ }
+
+ m_nextMenuId = maxId + 1;
+}
+
+int QAndroidPlatformMenuBar::menuId(QPlatformMenu *menu) const
+{
+ QHash<int, QPlatformMenu *>::const_iterator it;
+ for (it = m_menuHash.constBegin(); it != m_menuHash.constEnd(); ++it) {
+ if (it.value() == menu)
+ return it.key();
+ }
+
+ return -1;
}
void QAndroidPlatformMenuBar::syncMenu(QPlatformMenu *menu)
@@ -86,12 +111,17 @@ void QAndroidPlatformMenuBar::handleReparent(QWindow *newParentWindow)
QPlatformMenu *QAndroidPlatformMenuBar::menuForTag(quintptr tag) const
{
- for (QPlatformMenu *menu : m_menus) {
+ for (QAndroidPlatformMenu *menu : m_menus) {
if (menu->tag() == tag)
return menu;
}
- return 0;
+ return nullptr;
+}
+
+QPlatformMenu *QAndroidPlatformMenuBar::menuForId(int menuId) const
+{
+ return m_menuHash.value(menuId);
}
QWindow *QAndroidPlatformMenuBar::parentWindow() const
diff --git a/src/plugins/platforms/android/qandroidplatformmenubar.h b/src/plugins/platforms/android/qandroidplatformmenubar.h
index f5935b8177..81a26c72f4 100644
--- a/src/plugins/platforms/android/qandroidplatformmenubar.h
+++ b/src/plugins/platforms/android/qandroidplatformmenubar.h
@@ -43,6 +43,7 @@
#include <qpa/qplatformmenu.h>
#include <qvector.h>
#include <qmutex.h>
+#include <qhash.h>
QT_BEGIN_NAMESPACE
@@ -60,6 +61,8 @@ public:
void syncMenu(QPlatformMenu *menu) override;
void handleReparent(QWindow *newParentWindow) override;
QPlatformMenu *menuForTag(quintptr tag) const override;
+ QPlatformMenu *menuForId(int menuId) const;
+ int menuId(QPlatformMenu *menu) const;
QWindow *parentWindow() const override;
PlatformMenusType menus() const;
@@ -69,6 +72,9 @@ private:
PlatformMenusType m_menus;
QWindow *m_parentWindow;
QMutex m_menusListMutex;
+
+ int m_nextMenuId = 0;
+ QHash<int, QPlatformMenu *> m_menuHash;
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/android/qandroidplatformscreen.cpp b/src/plugins/platforms/android/qandroidplatformscreen.cpp
index 7dc8bb8080..80757c2135 100644
--- a/src/plugins/platforms/android/qandroidplatformscreen.cpp
+++ b/src/plugins/platforms/android/qandroidplatformscreen.cpp
@@ -401,15 +401,17 @@ void QAndroidPlatformScreen::doRedraw()
m_dirtyRect = QRect();
}
+static const int androidLogicalDpi = 72;
+
QDpi QAndroidPlatformScreen::logicalDpi() const
{
- qreal lDpi = QtAndroid::scaledDensity() * 72;
+ qreal lDpi = QtAndroid::scaledDensity() * androidLogicalDpi;
return QDpi(lDpi, lDpi);
}
-qreal QAndroidPlatformScreen::pixelDensity() const
+QDpi QAndroidPlatformScreen::logicalBaseDpi() const
{
- return QtAndroid::pixelDensity();
+ return QDpi(androidLogicalDpi, androidLogicalDpi);
}
Qt::ScreenOrientation QAndroidPlatformScreen::orientation() const
diff --git a/src/plugins/platforms/android/qandroidplatformscreen.h b/src/plugins/platforms/android/qandroidplatformscreen.h
index f15aeae3fd..5dc158e351 100644
--- a/src/plugins/platforms/android/qandroidplatformscreen.h
+++ b/src/plugins/platforms/android/qandroidplatformscreen.h
@@ -103,7 +103,7 @@ protected:
private:
QDpi logicalDpi() const override;
- qreal pixelDensity() const override;
+ QDpi logicalBaseDpi() const override;
Qt::ScreenOrientation orientation() const override;
Qt::ScreenOrientation nativeOrientation() const override;
void surfaceChanged(JNIEnv *env, jobject surface, int w, int h) override;
diff --git a/src/plugins/platforms/cocoa/qcocoabackingstore.mm b/src/plugins/platforms/cocoa/qcocoabackingstore.mm
index 6015257f4e..15e0236107 100644
--- a/src/plugins/platforms/cocoa/qcocoabackingstore.mm
+++ b/src/plugins/platforms/cocoa/qcocoabackingstore.mm
@@ -153,7 +153,7 @@ void QNSWindowBackingStore::flush(QWindow *window, const QRegion &region, const
// context is set up correctly (coordinate system, clipping, etc). Outside
// of the normal display cycle there is no focused view, as explained above,
// so we have to handle it manually. There's also a corner case inside the
- // normal display cycle due to way QWidgetBackingStore composits native child
+ // normal display cycle due to way QWidgetRepaintManager composits native child
// widgets, where we'll get a flush of a native child during the drawRect of
// its parent/ancestor, and the parent/ancestor being the one locked by AppKit.
// In this case we also need to lock and unlock focus manually.
diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.mm b/src/plugins/platforms/cocoa/qcocoaglcontext.mm
index 7b124ea517..ba7d12ce30 100644
--- a/src/plugins/platforms/cocoa/qcocoaglcontext.mm
+++ b/src/plugins/platforms/cocoa/qcocoaglcontext.mm
@@ -197,8 +197,15 @@ NSOpenGLPixelFormat *QCocoaGLContext::pixelFormatForSurfaceFormat(const QSurface
attrs << NSOpenGLPFAStencilSize << format.stencilBufferSize();
if (format.alphaBufferSize() > 0)
attrs << NSOpenGLPFAAlphaSize << format.alphaBufferSize();
- if (format.redBufferSize() > 0 && format.greenBufferSize() > 0 && format.blueBufferSize() > 0) {
- const int colorSize = format.redBufferSize() + format.greenBufferSize() + format.blueBufferSize();
+
+ auto rbz = format.redBufferSize();
+ auto gbz = format.greenBufferSize();
+ auto bbz = format.blueBufferSize();
+ if (rbz > 0 || gbz > 0 || bbz > 0) {
+ auto fallbackSize = qMax(rbz, qMax(gbz, bbz));
+ auto colorSize = (rbz > 0 ? rbz : fallbackSize)
+ + (gbz > 0 ? gbz : fallbackSize)
+ + (bbz > 0 ? bbz : fallbackSize);
attrs << NSOpenGLPFAColorSize << colorSize << NSOpenGLPFAMinimumPolicy;
}
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.h b/src/plugins/platforms/cocoa/qcocoaintegration.h
index bfc3bfe9de..0e2656e046 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.h
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.h
@@ -124,6 +124,8 @@ public:
void beep() const override;
+ void closePopups(QWindow *forWindow = nullptr);
+
private Q_SLOTS:
void focusWindowChanged(QWindow *);
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index 9a2f19c2f2..67ad0b3492 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm
@@ -487,6 +487,19 @@ void QCocoaIntegration::beep() const
NSBeep();
}
+void QCocoaIntegration::closePopups(QWindow *forWindow)
+{
+ for (auto it = m_popupWindowStack.begin(); it != m_popupWindowStack.end();) {
+ auto *popup = *it;
+ if (!forWindow || popup->window()->transientParent() == forWindow) {
+ it = m_popupWindowStack.erase(it);
+ QWindowSystemInterface::handleCloseEvent<QWindowSystemInterface::SynchronousDelivery>(popup->window());
+ } else {
+ ++it;
+ }
+ }
+}
+
void QCocoaIntegration::focusWindowChanged(QWindow *focusWindow)
{
// Don't revert icon just because we lost focus
diff --git a/src/plugins/platforms/cocoa/qcocoamenuloader.mm b/src/plugins/platforms/cocoa/qcocoamenuloader.mm
index da0fc5c6a1..d384078e91 100644
--- a/src/plugins/platforms/cocoa/qcocoamenuloader.mm
+++ b/src/plugins/platforms/cocoa/qcocoamenuloader.mm
@@ -59,7 +59,6 @@
NSMenuItem *aboutItem;
NSMenuItem *aboutQtItem;
NSMenuItem *hideItem;
- NSMenuItem *lastAppSpecificItem;
NSMenuItem *servicesItem;
NSMenuItem *hideAllOthersItem;
NSMenuItem *showAllItem;
@@ -118,6 +117,9 @@
[appMenu addItem:[NSMenuItem separatorItem]];
// Preferences
+ // We'll be adding app specific items after this. The macOS HIG state that,
+ // "In general, a Preferences menu item should be the first app-specific menu item."
+ // https://developer.apple.com/macos/human-interface-guidelines/menus/menu-bar-menus/
preferencesItem = [[QCocoaNSMenuItem alloc] init];
preferencesItem.title = @"Preferences…";
preferencesItem.keyEquivalent = @",";
@@ -126,11 +128,6 @@
preferencesItem.hidden = YES;
[appMenu addItem:preferencesItem];
- // We'll be adding app specific items after this. The macOS HIG state that,
- // "In general, a Preferences menu item should be the first app-specific menu item."
- // https://developer.apple.com/macos/human-interface-guidelines/menus/menu-bar-menus/
- lastAppSpecificItem = preferencesItem;
-
[appMenu addItem:[NSMenuItem separatorItem]];
// Services item and menu
@@ -194,8 +191,6 @@
[showAllItem release];
[quitItem release];
- [lastAppSpecificItem release];
-
[super dealloc];
}
@@ -272,25 +267,20 @@
// No reason to create the item if it already exists.
for (NSMenuItem *item in appMenu.itemArray)
if (qt_objc_cast<QCocoaNSMenuItem *>(item).platformMenuItem == platformItem)
- return [[item retain] autorelease];
+ return item;
// Create an App-Specific menu item, insert it into the menu and return
// it as an autorelease item.
QCocoaNSMenuItem *item;
if (platformItem->isSeparator())
- item = [[QCocoaNSMenuItem separatorItemWithPlatformMenuItem:platformItem] retain];
+ item = [QCocoaNSMenuItem separatorItemWithPlatformMenuItem:platformItem];
else
- item = [[QCocoaNSMenuItem alloc] initWithPlatformMenuItem:platformItem];
-
- const auto location = [appMenu indexOfItem:lastAppSpecificItem];
+ item = [[[QCocoaNSMenuItem alloc] initWithPlatformMenuItem:platformItem] autorelease];
- if (!lastAppSpecificItem.separatorItem)
- [lastAppSpecificItem release];
- lastAppSpecificItem = item; // Keep track of this for later (i.e., don't release it)
+ const auto location = [self indexOfLastAppSpecificMenuItem];
+ [appMenu insertItem:item atIndex:NSInteger(location) + 1];
- [appMenu insertItem:item atIndex:location + 1];
-
- return [[item retain] autorelease];
+ return item;
}
- (void)orderFrontStandardAboutPanel:(id)sender
@@ -344,8 +334,24 @@
- (NSArray<NSMenuItem *> *)mergeable
{
// Don't include the quitItem here, since we want it always visible and enabled regardless
- // Note that lastAppSpecificItem may be nil, so we can't use @[] here.
- return [NSArray arrayWithObjects:preferencesItem, aboutItem, aboutQtItem, lastAppSpecificItem, nil];
+ auto items = [NSArray arrayWithObjects:preferencesItem, aboutItem, aboutQtItem,
+ appMenu.itemArray[[self indexOfLastAppSpecificMenuItem]], nil];
+ return items;
}
+- (NSUInteger)indexOfLastAppSpecificMenuItem
+{
+ // Either the 'Preferences', which is the first app specific menu item, or something
+ // else we appended later (thus the reverse order):
+ const auto location = [appMenu.itemArray indexOfObjectWithOptions:NSEnumerationReverse
+ passingTest:^BOOL(NSMenuItem *item, NSUInteger, BOOL *) {
+ if (auto qtItem = qt_objc_cast<QCocoaNSMenuItem*>(item))
+ return qtItem != quitItem;
+ return NO;
+ }];
+ Q_ASSERT(location != NSNotFound);
+ return location;
+}
+
+
@end
diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
index 7979e430ac..9bd19dd07c 100644
--- a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
+++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
@@ -177,6 +177,9 @@ void *QCocoaNativeInterface::NSPrintInfoForPrintEngine(QPrintEngine *printEngine
QPixmap QCocoaNativeInterface::defaultBackgroundPixmapForQWizard()
{
+ // Note: starting with macOS 10.14, the KeyboardSetupAssistant app bundle no
+ // longer contains the "Background.png" image. This function then returns a
+ // null pixmap.
const int ExpectedImageWidth = 242;
const int ExpectedImageHeight = 414;
QCFType<CFArrayRef> urls = LSCopyApplicationURLsForBundleIdentifier(
diff --git a/src/plugins/platforms/cocoa/qcocoascreen.h b/src/plugins/platforms/cocoa/qcocoascreen.h
index 491af2fe9c..60243b79be 100644
--- a/src/plugins/platforms/cocoa/qcocoascreen.h
+++ b/src/plugins/platforms/cocoa/qcocoascreen.h
@@ -68,6 +68,7 @@ public:
qreal devicePixelRatio() const override { return m_devicePixelRatio; }
QSizeF physicalSize() const override { return m_physicalSize; }
QDpi logicalDpi() const override { return m_logicalDpi; }
+ QDpi logicalBaseDpi() const override { return m_logicalDpi; }
qreal refreshRate() const override { return m_refreshRate; }
QString name() const override { return m_name; }
QPlatformCursor *cursor() const override { return m_cursor; }
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.h b/src/plugins/platforms/cocoa/qcocoawindow.h
index fef72bc496..1e46cd2dde 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.h
+++ b/src/plugins/platforms/cocoa/qcocoawindow.h
@@ -151,6 +151,7 @@ public:
Q_NOTIFICATION_HANDLER(NSWindowDidEndLiveResizeNotification) void windowDidEndLiveResize();
Q_NOTIFICATION_HANDLER(NSWindowDidBecomeKeyNotification) void windowDidBecomeKey();
Q_NOTIFICATION_HANDLER(NSWindowDidResignKeyNotification) void windowDidResignKey();
+ Q_NOTIFICATION_HANDLER(NSWindowWillMiniaturizeNotification) void windowWillMiniaturize();
Q_NOTIFICATION_HANDLER(NSWindowDidMiniaturizeNotification) void windowDidMiniaturize();
Q_NOTIFICATION_HANDLER(NSWindowDidDeminiaturizeNotification) void windowDidDeminiaturize();
Q_NOTIFICATION_HANDLER(NSWindowWillEnterFullScreenNotification) void windowWillEnterFullScreen();
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 8f3c192745..7621508bdd 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -71,14 +71,6 @@ enum {
defaultWindowHeight = 160
};
-static void qt_closePopups()
-{
- while (QCocoaWindow *popup = QCocoaIntegration::instance()->popPopupWindow()) {
- QWindowSystemInterface::handleCloseEvent(popup->window());
- QWindowSystemInterface::flushWindowSystemEvents();
- }
-}
-
Q_LOGGING_CATEGORY(lcCocoaNotifications, "qt.qpa.cocoa.notifications");
static void qRegisterNotificationCallbacks()
@@ -800,6 +792,11 @@ void QCocoaWindow::windowDidExitFullScreen()
}
}
+void QCocoaWindow::windowWillMiniaturize()
+{
+ QCocoaIntegration::instance()->closePopups(window());
+}
+
void QCocoaWindow::windowDidMiniaturize()
{
if (!isContentView())
@@ -1138,7 +1135,7 @@ void QCocoaWindow::viewDidChangeGlobalFrame()
void QCocoaWindow::windowWillMove()
{
// Close any open popups on window move
- qt_closePopups();
+ QCocoaIntegration::instance()->closePopups();
}
void QCocoaWindow::windowDidMove()
@@ -1267,7 +1264,7 @@ void QCocoaWindow::windowWillClose()
{
// Close any open popups on window closing.
if (window() && !windowIsPopupType(window()->type()))
- qt_closePopups();
+ QCocoaIntegration::instance()->closePopups();
}
// ----------------------- NSWindowDelegate callbacks -----------------------
@@ -1544,12 +1541,6 @@ QCocoaNSWindow *QCocoaWindow::createNSWindow(bool shouldBePanel)
Qt::WindowType type = window()->type();
Qt::WindowFlags flags = window()->flags();
- // Note: The macOS window manager has a bug, where if a screen is rotated, it will not allow
- // a window to be created within the area of the screen that has a Y coordinate (I quadrant)
- // higher than the height of the screen in its non-rotated state, unless the window is
- // created with the NSWindowStyleMaskBorderless style mask.
- NSWindowStyleMask styleMask = windowStyleMask(flags);
-
QRect rect = geometry();
QScreen *targetScreen = nullptr;
@@ -1560,35 +1551,57 @@ QCocoaNSWindow *QCocoaWindow::createNSWindow(bool shouldBePanel)
}
}
+ NSWindowStyleMask styleMask = windowStyleMask(flags);
+
if (!targetScreen) {
qCWarning(lcQpaWindow) << "Window position" << rect << "outside any known screen, using primary screen";
targetScreen = QGuiApplication::primaryScreen();
- // AppKit will only reposition a window that's outside the target screen area if
- // the window has a title bar. If left out, the window ends up with no screen.
- // The style mask will be corrected to the original style mask in setWindowFlags.
- styleMask |= NSWindowStyleMaskTitled;
+ // Unless the window is created as borderless AppKit won't find a position and
+ // screen that's close to the requested invalid position, and will always place
+ // the window on the primary screen.
+ styleMask = NSWindowStyleMaskBorderless;
}
rect.translate(-targetScreen->geometry().topLeft());
- QCocoaScreen *cocoaScreen = static_cast<QCocoaScreen *>(targetScreen->handle());
- NSRect frame = QCocoaScreen::mapToNative(rect, cocoaScreen);
+ auto *targetCocoaScreen = static_cast<QCocoaScreen *>(targetScreen->handle());
+ NSRect contentRect = QCocoaScreen::mapToNative(rect, targetCocoaScreen);
+
+ if (targetScreen->primaryOrientation() == Qt::PortraitOrientation) {
+ // The macOS window manager has a bug, where if a screen is rotated, it will not allow
+ // a window to be created within the area of the screen that has a Y coordinate (I quadrant)
+ // higher than the height of the screen in its non-rotated state (including a magic padding
+ // of 24 points), unless the window is created with the NSWindowStyleMaskBorderless style mask.
+ if (styleMask && (contentRect.origin.y + 24 > targetScreen->geometry().width())) {
+ qCDebug(lcQpaWindow) << "Window positioned on portrait screen."
+ << "Adjusting style mask during creation";
+ styleMask = NSWindowStyleMaskBorderless;
+ }
+ }
// Create NSWindow
Class windowClass = shouldBePanel ? [QNSPanel class] : [QNSWindow class];
- QCocoaNSWindow *nsWindow = [[windowClass alloc] initWithContentRect:frame
+ QCocoaNSWindow *nsWindow = [[windowClass alloc] initWithContentRect:contentRect
+ // Mask will be updated in setWindowFlags if not the final mask
styleMask:styleMask
// Deferring window creation breaks OpenGL (the GL context is
// set up before the window is shown and needs a proper window)
backing:NSBackingStoreBuffered defer:NO
- screen:cocoaScreen->nativeScreen()
+ screen:targetCocoaScreen->nativeScreen()
platformWindow:this];
- Q_ASSERT_X(nsWindow.screen == cocoaScreen->nativeScreen(), "QCocoaWindow",
- "Resulting NSScreen should match the requested NSScreen");
+ // The resulting screen can be different from the screen requested if
+ // for example the application has been assigned to a specific display.
+ auto resultingScreen = QCocoaScreen::get(nsWindow.screen);
+
+ // But may not always be resolved at this point, in which case we fall back
+ // to the target screen. The real screen will be delivered as a screen change
+ // when resolved as part of ordering the window on screen.
+ if (!resultingScreen)
+ resultingScreen = targetCocoaScreen;
- if (targetScreen != window()->screen()) {
+ if (resultingScreen->screen() != window()->screen()) {
QWindowSystemInterface::handleWindowScreenChanged<
- QWindowSystemInterface::SynchronousDelivery>(window(), targetScreen);
+ QWindowSystemInterface::SynchronousDelivery>(window(), resultingScreen->screen());
}
static QSharedPointer<QNSWindowDelegate> sharedDelegate([[QNSWindowDelegate alloc] init],
diff --git a/src/plugins/platforms/cocoa/qcocoawindowmanager.mm b/src/plugins/platforms/cocoa/qcocoawindowmanager.mm
index 879bfaa546..9c45d8c7fc 100644
--- a/src/plugins/platforms/cocoa/qcocoawindowmanager.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindowmanager.mm
@@ -92,7 +92,8 @@ void QCocoaWindowManager::modalSessionChanged()
if (NSApp.modalWindow) {
// Lower window to that of the modal windows, but no less
nativeWindow.level = NSModalPanelWindowLevel;
- [nativeWindow orderBack:nil];
+ if ([nativeWindow isVisible])
+ [nativeWindow orderBack:nil];
} else {
// Restore window's natural window level, whatever that was
nativeWindow.level = naturalWindowLevel;
diff --git a/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp b/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp
index c8a1ddf9b9..674f579b4f 100644
--- a/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp
+++ b/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp
@@ -265,6 +265,7 @@ bool QEglFSIntegration::hasCapability(QPlatformIntegration::Capability cap) cons
case RasterGLSurface: return false;
#endif
case WindowManagement: return false;
+ case OpenGLOnRasterSurface: return true;
default: return QPlatformIntegration::hasCapability(cap);
}
}
diff --git a/src/plugins/platforms/eglfs/api/qeglfswindow.cpp b/src/plugins/platforms/eglfs/api/qeglfswindow.cpp
index c1d5af47aa..1fed182882 100644
--- a/src/plugins/platforms/eglfs/api/qeglfswindow.cpp
+++ b/src/plugins/platforms/eglfs/api/qeglfswindow.cpp
@@ -64,7 +64,6 @@ QEglFSWindow::QEglFSWindow(QWindow *w)
m_backingStore(0),
m_rasterCompositingContext(0),
#endif
- m_raster(false),
m_winId(0),
m_surface(EGL_NO_SURFACE),
m_window(0),
@@ -94,11 +93,6 @@ void QEglFSWindow::create()
m_winId = newWId();
- // Save the original surface type before changing to OpenGLSurface.
- m_raster = (window()->surfaceType() == QSurface::RasterSurface);
- if (m_raster) // change to OpenGL, but not for RasterGLSurface
- window()->setSurfaceType(QSurface::OpenGLSurface);
-
if (window()->type() == Qt::Desktop) {
QRect fullscreenRect(QPoint(), screen()->availableGeometry().size());
QWindowSystemInterface::handleGeometryChange(window(), fullscreenRect);
@@ -329,7 +323,8 @@ QEglFSScreen *QEglFSWindow::screen() const
bool QEglFSWindow::isRaster() const
{
- return m_raster || window()->surfaceType() == QSurface::RasterGLSurface;
+ const QWindow::SurfaceType type = window()->surfaceType();
+ return type == QSurface::RasterSurface || type == QSurface::RasterGLSurface;
}
#ifndef QT_NO_OPENGL
diff --git a/src/plugins/platforms/eglfs/api/qeglfswindow_p.h b/src/plugins/platforms/eglfs/api/qeglfswindow_p.h
index b0091e2a62..be2a0630d3 100644
--- a/src/plugins/platforms/eglfs/api/qeglfswindow_p.h
+++ b/src/plugins/platforms/eglfs/api/qeglfswindow_p.h
@@ -118,7 +118,6 @@ protected:
QOpenGLCompositorBackingStore *m_backingStore;
QOpenGLContext *m_rasterCompositingContext;
#endif
- bool m_raster;
WId m_winId;
EGLSurface m_surface;
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
index 09a10bcc9c..2034632fb3 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
@@ -331,6 +331,9 @@ void QEglFSKmsGbmScreen::flip()
static int zpos = qEnvironmentVariableIntValue("QT_QPA_EGLFS_KMS_ZPOS");
if (zpos)
drmModeAtomicAddProperty(request, op.eglfs_plane->id, op.eglfs_plane->zposPropertyId, zpos);
+ static uint blendOp = uint(qEnvironmentVariableIntValue("QT_QPA_EGLFS_KMS_BLEND_OP"));
+ if (blendOp)
+ drmModeAtomicAddProperty(request, op.eglfs_plane->id, op.eglfs_plane->blendOpPropertyId, blendOp);
}
#endif
} else {
diff --git a/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp b/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
index dc7ea08dc5..cb8962d4b8 100644
--- a/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
+++ b/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
@@ -188,7 +188,7 @@ static QImage::Format determineFormat(const fb_var_screeninfo &info, int depth)
if (memcmp(rgba, rgb888, 3 * sizeof(fb_bitfield)) == 0) {
format = QImage::Format_RGB888;
} else if (memcmp(rgba, bgr888, 3 * sizeof(fb_bitfield)) == 0) {
- format = QImage::Format_RGB888;
+ format = QImage::Format_BGR888;
// pixeltype = BGRPixel;
}
break;
diff --git a/src/plugins/platforms/offscreen/qoffscreencommon.cpp b/src/plugins/platforms/offscreen/qoffscreencommon.cpp
index f0eb69718a..eae25012c1 100644
--- a/src/plugins/platforms/offscreen/qoffscreencommon.cpp
+++ b/src/plugins/platforms/offscreen/qoffscreencommon.cpp
@@ -77,7 +77,8 @@ public:
if (containing != previous)
QWindowSystemInterface::handleEnterLeaveEvent(containing, previous, local, pos);
- QWindowSystemInterface::handleMouseEvent(containing, local, pos, QGuiApplication::mouseButtons(), QGuiApplication::keyboardModifiers());
+ QWindowSystemInterface::handleMouseEvent(containing, local, pos, QGuiApplication::mouseButtons(), Qt::NoButton,
+ QEvent::MouseMove, QGuiApplication::keyboardModifiers(), Qt::MouseEventSynthesizedByQt);
QOffscreenScreen::windowContainingCursor = containing ? containing->handle() : 0;
}
diff --git a/src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp b/src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp
index 56131dcc48..a9b5860187 100644
--- a/src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp
+++ b/src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp
@@ -636,7 +636,7 @@ void QQnxScreenEventHandler::handleDisplayEvent(screen_event_t event)
// We never remove the primary display, the qpa plugin doesn't support that and it crashes.
// To support it, this would be needed:
// - Adjust all qnx qpa code which uses screens
- // - Make QWidgetBackingStore not dereference a null paint device
+ // - Make QWidgetRepaintManager not dereference a null paint device
// - Create platform resources ( QQnxWindow ) for all QWindow because they would be deleted
// when you delete the screen
diff --git a/src/plugins/platforms/vnc/qvncclient.cpp b/src/plugins/platforms/vnc/qvncclient.cpp
index 9dfe873927..3a373a5e4b 100644
--- a/src/plugins/platforms/vnc/qvncclient.cpp
+++ b/src/plugins/platforms/vnc/qvncclient.cpp
@@ -587,9 +587,18 @@ void QVncClient::frameBufferUpdateRequest()
void QVncClient::pointerEvent()
{
QRfbPointerEvent ev;
+ static int buttonState = Qt::NoButton;
if (ev.read(m_clientSocket)) {
- const QPoint pos = m_server->screen()->geometry().topLeft() + QPoint(ev.x, ev.y);
- QWindowSystemInterface::handleMouseEvent(0, pos, pos, ev.buttons, QGuiApplication::keyboardModifiers());
+ const QPointF pos = m_server->screen()->geometry().topLeft() + QPoint(ev.x, ev.y);
+ int buttonStateChange = buttonState ^ int(ev.buttons);
+ QEvent::Type type = QEvent::MouseMove;
+ if (int(ev.buttons) > buttonState)
+ type = QEvent::MouseButtonPress;
+ else if (int(ev.buttons) < buttonState)
+ type = QEvent::MouseButtonRelease;
+ QWindowSystemInterface::handleMouseEvent(nullptr, pos, pos, ev.buttons, Qt::MouseButton(buttonStateChange),
+ type, QGuiApplication::keyboardModifiers());
+ buttonState = int(ev.buttons);
m_handleMsg = false;
}
}
diff --git a/src/plugins/platforms/wasm/qwasmintegration.cpp b/src/plugins/platforms/wasm/qwasmintegration.cpp
index 116612c286..1e9f68027c 100644
--- a/src/plugins/platforms/wasm/qwasmintegration.cpp
+++ b/src/plugins/platforms/wasm/qwasmintegration.cpp
@@ -168,6 +168,7 @@ bool QWasmIntegration::hasCapability(QPlatformIntegration::Capability cap) const
case RasterGLSurface: return false; // to enable this you need to fix qopenglwidget and quickwidget for wasm
case MultipleWindows: return true;
case WindowManagement: return true;
+ case OpenGLOnRasterSurface: return true;
default: return QPlatformIntegration::hasCapability(cap);
}
}
diff --git a/src/plugins/platforms/windows/qwindowsglcontext.cpp b/src/plugins/platforms/windows/qwindowsglcontext.cpp
index 24526bad2c..101db75d0b 100644
--- a/src/plugins/platforms/windows/qwindowsglcontext.cpp
+++ b/src/plugins/platforms/windows/qwindowsglcontext.cpp
@@ -876,10 +876,6 @@ QWindowsOpenGLContextFormat QWindowsOpenGLContextFormat::current()
result.options |= QSurfaceFormat::DeprecatedFunctions;
if (value & GL_CONTEXT_FLAG_DEBUG_BIT)
result.options |= QSurfaceFormat::DebugContext;
- value = 0;
- QOpenGLStaticContext::opengl32.glGetIntegerv(RESET_NOTIFICATION_STRATEGY_ARB, &value);
- if (value == LOSE_CONTEXT_ON_RESET_ARB)
- result.options |= QSurfaceFormat::ResetNotification;
if (result.version < 0x0302)
return result;
// v3.2 onwards: Profiles
@@ -889,6 +885,13 @@ QWindowsOpenGLContextFormat QWindowsOpenGLContextFormat::current()
result.profile = QSurfaceFormat::CoreProfile;
else if (value & GL_CONTEXT_COMPATIBILITY_PROFILE_BIT)
result.profile = QSurfaceFormat::CompatibilityProfile;
+ if (result.version < 0x0400)
+ return result;
+ // v4.0 onwards
+ value = 0;
+ QOpenGLStaticContext::opengl32.glGetIntegerv(RESET_NOTIFICATION_STRATEGY_ARB, &value);
+ if (value == LOSE_CONTEXT_ON_RESET_ARB)
+ result.options |= QSurfaceFormat::ResetNotification;
return result;
}
diff --git a/src/plugins/platforms/windows/qwindowsscreen.cpp b/src/plugins/platforms/windows/qwindowsscreen.cpp
index 282c0b107e..8cd09a34eb 100644
--- a/src/plugins/platforms/windows/qwindowsscreen.cpp
+++ b/src/plugins/platforms/windows/qwindowsscreen.cpp
@@ -256,15 +256,6 @@ QWindow *QWindowsScreen::windowAt(const QPoint &screenPoint, unsigned flags)
return result;
}
-qreal QWindowsScreen::pixelDensity() const
-{
- // QTBUG-49195: Use logical DPI instead of physical DPI to calculate
- // the pixel density since it is reflects the Windows UI scaling.
- // High DPI auto scaling should be disabled when the user chooses
- // small fonts on a High DPI monitor, resulting in lower logical DPI.
- return qMax(1, qRound(logicalDpi().first / 96));
-}
-
/*!
\brief Determine siblings in a virtual desktop system.
diff --git a/src/plugins/platforms/windows/qwindowsscreen.h b/src/plugins/platforms/windows/qwindowsscreen.h
index 0ccebf6d71..2fd56f53cf 100644
--- a/src/plugins/platforms/windows/qwindowsscreen.h
+++ b/src/plugins/platforms/windows/qwindowsscreen.h
@@ -87,7 +87,7 @@ public:
QImage::Format format() const override { return m_data.format; }
QSizeF physicalSize() const override { return m_data.physicalSizeMM; }
QDpi logicalDpi() const override { return m_data.dpi; }
- qreal pixelDensity() const override;
+ QDpi logicalBaseDpi() const override { return QDpi(96, 96); };
qreal devicePixelRatio() const override { return 1.0; }
qreal refreshRate() const override { return m_data.refreshRateHz; }
QString name() const override { return m_data.name; }
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index e80eefc34d..0a97305dd4 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -2674,7 +2674,8 @@ bool QWindowsWindow::handleNonClientHitTest(const QPoint &globalPos, LRESULT *re
// QTBUG-32663, suppress resize cursor for fixed size windows.
const QWindow *w = window();
if (!w->isTopLevel() // Task 105852, minimized windows need to respond to user input.
- || !(m_windowState & ~Qt::WindowActive)
+ || (m_windowState != Qt::WindowNoState)
+ || !isActive()
|| (m_data.flags & Qt::FramelessWindowHint)) {
return false;
}
@@ -2694,12 +2695,10 @@ bool QWindowsWindow::handleNonClientHitTest(const QPoint &globalPos, LRESULT *re
return true;
}
if (localPos.y() < 0) {
- const QMargins margins = frameMargins();
- const int topResizeBarPos = margins.left() - margins.top();
- if (localPos.y() < topResizeBarPos) {
+ const int topResizeBarPos = -frameMargins().top();
+ if (localPos.y() >= topResizeBarPos)
*result = HTCAPTION; // Extend caption over top resize bar, let's user move the window.
- return true;
- }
+ return true;
}
}
if (fixedWidth && (localPos.x() < 0 || localPos.x() >= size.width())) {
diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
index f26f698e76..5e5fefca90 100644
--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
@@ -163,10 +163,12 @@ static void updateFormatFromContext(QSurfaceFormat &format)
format.setOption(QSurfaceFormat::StereoBuffers);
if (format.renderableType() == QSurfaceFormat::OpenGL) {
- GLint value = 0;
- glGetIntegerv(GL_RESET_NOTIFICATION_STRATEGY_ARB, &value);
- if (value == GL_LOSE_CONTEXT_ON_RESET_ARB)
- format.setOption(QSurfaceFormat::ResetNotification);
+ if (format.version() >= qMakePair(4, 0)) {
+ GLint value = 0;
+ glGetIntegerv(GL_RESET_NOTIFICATION_STRATEGY_ARB, &value);
+ if (value == GL_LOSE_CONTEXT_ON_RESET_ARB)
+ format.setOption(QSurfaceFormat::ResetNotification);
+ }
if (format.version() < qMakePair(3, 0)) {
format.setOption(QSurfaceFormat::DeprecatedFunctions);
@@ -175,7 +177,7 @@ static void updateFormatFromContext(QSurfaceFormat &format)
// Version 3.0 onwards - check if it includes deprecated functionality or is
// a debug context
- value = 0;
+ GLint value = 0;
glGetIntegerv(GL_CONTEXT_FLAGS, &value);
if (!(value & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT))
format.setOption(QSurfaceFormat::DeprecatedFunctions);
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
index cac6345b66..e51c3d0502 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
@@ -66,14 +66,10 @@
#include <errno.h>
#include <xcb/xfixes.h>
-#if QT_CONFIG(xkb)
#define explicit dont_use_cxx_explicit
#include <xcb/xkb.h>
#undef explicit
-#endif
-#if QT_CONFIG(xcb_xinput)
#include <xcb/xinput.h>
-#endif
QT_BEGIN_NAMESPACE
@@ -88,12 +84,6 @@ Q_LOGGING_CATEGORY(lcQpaKeyboard, "qt.qpa.xkeyboard")
Q_LOGGING_CATEGORY(lcQpaClipboard, "qt.qpa.clipboard")
Q_LOGGING_CATEGORY(lcQpaXDnd, "qt.qpa.xdnd")
-// this event type was added in libxcb 1.10,
-// but we support also older version
-#ifndef XCB_GE_GENERIC
-#define XCB_GE_GENERIC 35
-#endif
-
QXcbConnection::QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGrabServer, xcb_visualid_t defaultVisualId, const char *displayName)
: QXcbBasicConnection(displayName)
, m_canGrabServer(canGrabServer)
@@ -112,12 +102,10 @@ QXcbConnection::QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGra
initializeScreens();
-#if QT_CONFIG(xcb_xinput)
if (hasXInput2()) {
xi2SetupDevices();
xi2SelectStateEvents();
}
-#endif
m_wmSupport.reset(new QXcbWMSupport(this));
m_keyboard = new QXcbKeyboard(this);
@@ -518,7 +506,6 @@ Qt::MouseButton QXcbConnection::translateMouseButton(xcb_button_t s)
}
}
-#if QT_CONFIG(xkb)
namespace {
typedef union {
/* All XKB events share these fields. */
@@ -534,7 +521,6 @@ namespace {
xcb_xkb_state_notify_event_t state_notify;
} _xkb_event;
}
-#endif
void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event)
{
@@ -611,16 +597,12 @@ void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event)
HANDLE_PLATFORM_WINDOW_EVENT(xcb_client_message_event_t, window, handleClientMessageEvent);
}
case XCB_ENTER_NOTIFY:
-#if QT_CONFIG(xcb_xinput)
if (hasXInput2() && !xi2MouseEventsDisabled())
break;
-#endif
HANDLE_PLATFORM_WINDOW_EVENT(xcb_enter_notify_event_t, event, handleEnterNotifyEvent);
case XCB_LEAVE_NOTIFY:
-#if QT_CONFIG(xcb_xinput)
if (hasXInput2() && !xi2MouseEventsDisabled())
break;
-#endif
m_keyboard->updateXKBStateFromCore(reinterpret_cast<xcb_leave_notify_event_t *>(event)->state);
HANDLE_PLATFORM_WINDOW_EVENT(xcb_leave_notify_event_t, event, handleLeaveNotifyEvent);
case XCB_FOCUS_IN:
@@ -682,13 +664,11 @@ void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event)
}
break;
}
-#if QT_CONFIG(xcb_xinput)
case XCB_GE_GENERIC:
// Here the windowEventListener is invoked from xi2HandleEvent()
if (hasXInput2() && isXIEvent(event))
xi2HandleEvent(reinterpret_cast<xcb_ge_event_t *>(event));
break;
-#endif
default:
handled = false; // event type not recognized
break;
@@ -712,7 +692,6 @@ void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event)
auto change_event = reinterpret_cast<xcb_randr_screen_change_notify_event_t *>(event);
if (auto virtualDesktop = virtualDesktopForRootWindow(change_event->root))
virtualDesktop->handleScreenChange(change_event);
-#if QT_CONFIG(xkb)
} else if (isXkbType(response_type)) {
auto xkb_event = reinterpret_cast<_xkb_event *>(event);
if (xkb_event->any.deviceID == m_keyboard->coreDeviceId()) {
@@ -735,7 +714,6 @@ void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event)
break;
}
}
-#endif
} else {
handled = false; // event type still not recognized
}
@@ -912,7 +890,6 @@ bool QXcbConnection::compressEvent(xcb_generic_event_t *event) const
});
}
-#if QT_CONFIG(xcb_xinput)
// compress XI_* events
if (responseType == XCB_GE_GENERIC) {
if (!hasXInput2())
@@ -948,7 +925,6 @@ bool QXcbConnection::compressEvent(xcb_generic_event_t *event) const
return false;
}
-#endif
if (responseType == XCB_CONFIGURE_NOTIFY) {
// compress multiple configure notify events for the same window
@@ -978,7 +954,6 @@ bool QXcbConnection::isUserInputEvent(xcb_generic_event_t *event) const
if (isInputEvent)
return true;
-#if QT_CONFIG(xcb_xinput)
if (connection()->hasXInput2()) {
isInputEvent = isXIType(event, XCB_INPUT_BUTTON_PRESS) ||
isXIType(event, XCB_INPUT_BUTTON_RELEASE) ||
@@ -993,7 +968,6 @@ bool QXcbConnection::isUserInputEvent(xcb_generic_event_t *event) const
}
if (isInputEvent)
return true;
-#endif
if (eventType == XCB_CLIENT_MESSAGE) {
auto clientMessage = reinterpret_cast<const xcb_client_message_event_t *>(event);
diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h
index 7cf25d41a6..a894944096 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.h
+++ b/src/plugins/platforms/xcb/qxcbconnection.h
@@ -104,10 +104,8 @@ public:
virtual void handleFocusInEvent(const xcb_focus_in_event_t *) {}
virtual void handleFocusOutEvent(const xcb_focus_out_event_t *) {}
virtual void handlePropertyNotifyEvent(const xcb_property_notify_event_t *) {}
-#if QT_CONFIG(xcb_xinput)
virtual void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource = Qt::MouseEventNotSynthesized) {}
virtual void handleXIEnterLeave(xcb_ge_event_t *) {}
-#endif
virtual QXcbWindow *toWindow() { return nullptr; }
};
@@ -225,7 +223,6 @@ public:
bool isUserInputEvent(xcb_generic_event_t *event) const;
-#if QT_CONFIG(xcb_xinput)
void xi2SelectStateEvents();
void xi2SelectDeviceEvents(xcb_window_t window);
void xi2SelectDeviceEventsCompatibility(xcb_window_t window);
@@ -236,7 +233,6 @@ public:
bool startSystemMoveResizeForTouchBegin(xcb_window_t window, const QPoint &point, int corner);
void abortSystemMoveResizeForTouch();
bool isTouchScreen(int id);
-#endif
bool canGrab() const { return m_canGrabServer; }
@@ -267,7 +263,6 @@ private:
inline bool timeGreaterThan(xcb_timestamp_t a, xcb_timestamp_t b) const
{ return static_cast<int32_t>(a - b) > 0 || b == XCB_CURRENT_TIME; }
-#if QT_CONFIG(xcb_xinput)
void xi2SetupDevice(void *info, bool removeExisting = true);
void xi2SetupDevices();
struct TouchDeviceData {
@@ -341,7 +336,6 @@ private:
uint32_t pointid;
int corner;
} m_startSystemMoveResizeInfo;
-#endif // QT_CONFIG(xcb_xinput)
const bool m_canGrabServer;
const xcb_visualid_t m_defaultVisualId;
@@ -389,12 +383,10 @@ private:
QTimer m_focusInTimer;
};
-#if QT_CONFIG(xcb_xinput)
#if QT_CONFIG(tabletevent)
Q_DECLARE_TYPEINFO(QXcbConnection::TabletData::ValuatorClassInfo, Q_PRIMITIVE_TYPE);
Q_DECLARE_TYPEINFO(QXcbConnection::TabletData, Q_MOVABLE_TYPE);
#endif
-#endif
class QXcbConnectionGrabber
{
diff --git a/src/plugins/platforms/xcb/qxcbconnection_basic.cpp b/src/plugins/platforms/xcb/qxcbconnection_basic.cpp
index 9a028e5a7e..1ba4b4a1b9 100644
--- a/src/plugins/platforms/xcb/qxcbconnection_basic.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection_basic.cpp
@@ -45,14 +45,10 @@
#include <xcb/xfixes.h>
#include <xcb/xinerama.h>
#include <xcb/render.h>
-#if QT_CONFIG(xcb_xinput)
#include <xcb/xinput.h>
-#endif
-#if QT_CONFIG(xkb)
#define explicit dont_use_cxx_explicit
#include <xcb/xkb.h>
#undef explicit
-#endif
#if QT_CONFIG(xcb_xlib)
#define register /* C++17 deprecated register */
@@ -138,14 +134,7 @@ QXcbBasicConnection::QXcbBasicConnection(const char *displayName)
xcb_extension_t *extensions[] = {
&xcb_shm_id, &xcb_xfixes_id, &xcb_randr_id, &xcb_shape_id, &xcb_sync_id,
- &xcb_render_id,
-#if QT_CONFIG(xkb)
- &xcb_xkb_id,
-#endif
-#if QT_CONFIG(xcb_xinput)
- &xcb_input_id,
-#endif
- 0
+ &xcb_render_id, &xcb_xkb_id, &xcb_input_id, 0
};
for (xcb_extension_t **ext_it = extensions; *ext_it; ++ext_it)
@@ -160,10 +149,8 @@ QXcbBasicConnection::QXcbBasicConnection(const char *displayName)
initializeXinerama();
initializeXFixes();
initializeXRender();
-#if QT_CONFIG(xcb_xinput)
if (!qEnvironmentVariableIsSet("QT_XCB_NO_XI2"))
initializeXInput2();
-#endif
initializeXShape();
initializeXKB();
}
@@ -213,7 +200,6 @@ bool QXcbBasicConnection::hasBigRequest() const
return m_maximumRequestLength > m_setup->maximum_request_length;
}
-#if QT_CONFIG(xcb_xinput)
// Starting from the xcb version 1.9.3 struct xcb_ge_event_t has changed:
// - "pad0" became "extension"
// - "pad1" and "pad" became "pad0"
@@ -240,7 +226,6 @@ bool QXcbBasicConnection::isXIType(xcb_generic_event_t *event, uint16_t type) co
auto *e = reinterpret_cast<qt_xcb_ge_event_t *>(event);
return e->event_type == type;
}
-#endif // QT_CONFIG(xcb_xinput)
bool QXcbBasicConnection::isXFixesType(uint responseType, int eventType) const
{
@@ -370,7 +355,6 @@ void QXcbBasicConnection::initializeXRandr()
m_xrandrFirstEvent = reply->first_event;
}
-#if QT_CONFIG(xcb_xinput)
void QXcbBasicConnection::initializeXInput2()
{
const xcb_query_extension_reply_t *reply = xcb_get_extension_data(m_xcbConnection, &xcb_input_id);
@@ -393,7 +377,6 @@ void QXcbBasicConnection::initializeXInput2()
m_xinputFirstEvent = reply->first_event;
m_xi2Minor = xinputQuery->minor_version;
}
-#endif
void QXcbBasicConnection::initializeXShape()
{
@@ -417,7 +400,6 @@ void QXcbBasicConnection::initializeXShape()
void QXcbBasicConnection::initializeXKB()
{
-#if QT_CONFIG(xkb)
const xcb_query_extension_reply_t *reply = xcb_get_extension_data(m_xcbConnection, &xcb_xkb_id);
if (!reply || !reply->present) {
qCWarning(lcQpaXcb, "XKeyboard extension not present on the X server");
@@ -439,7 +421,6 @@ void QXcbBasicConnection::initializeXKB()
m_hasXkb = true;
m_xkbFirstEvent = reply->first_event;
-#endif
}
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/xcb/qxcbconnection_basic.h b/src/plugins/platforms/xcb/qxcbconnection_basic.h
index 1bd4310562..109186f966 100644
--- a/src/plugins/platforms/xcb/qxcbconnection_basic.h
+++ b/src/plugins/platforms/xcb/qxcbconnection_basic.h
@@ -99,12 +99,10 @@ public:
bool hasXinerama() const { return m_hasXinerama; }
bool hasBigRequest() const;
-#if QT_CONFIG(xcb_xinput)
bool isAtLeastXI21() const { return m_xi2Enabled && m_xi2Minor >= 1; }
bool isAtLeastXI22() const { return m_xi2Enabled && m_xi2Minor >= 2; }
bool isXIEvent(xcb_generic_event_t *event) const;
bool isXIType(xcb_generic_event_t *event, uint16_t type) const;
-#endif
bool isXFixesType(uint responseType, int eventType) const;
bool isXRandrType(uint responseType, int eventType) const;
@@ -119,9 +117,7 @@ protected:
void initializeXShape();
void initializeXKB();
void initializeXSync();
-#if QT_CONFIG(xcb_xinput)
void initializeXInput2();
-#endif
private:
#if QT_CONFIG(xcb_xlib)
@@ -147,11 +143,9 @@ private:
QPair<int, int> m_xrenderVersion;
bool m_xi2Enabled = false;
-#if QT_CONFIG(xcb_xinput)
int m_xi2Minor = -1;
int m_xiOpCode = -1;
uint32_t m_xinputFirstEvent = 0;
-#endif
uint32_t m_xfixesFirstEvent = 0;
uint32_t m_xrandrFirstEvent = 0;
diff --git a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
index bc09fe2f91..4639185416 100644
--- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
@@ -997,8 +997,8 @@ void QXcbConnection::xi2HandleScrollEvent(void *event, ScrollingDevice &scrollin
QPoint global(fixed1616ToReal(xiDeviceEvent->root_x), fixed1616ToReal(xiDeviceEvent->root_y));
Qt::KeyboardModifiers modifiers = keyboard()->translateModifiers(xiDeviceEvent->mods.effective);
if (modifiers & Qt::AltModifier) {
- std::swap(angleDelta.rx(), angleDelta.ry());
- std::swap(rawDelta.rx(), rawDelta.ry());
+ angleDelta = angleDelta.transposed();
+ rawDelta = rawDelta.transposed();
}
qCDebug(lcQpaXInputEvents) << "scroll wheel @ window pos" << local << "delta px" << rawDelta << "angle" << angleDelta;
QWindowSystemInterface::handleWheelEvent(platformWindow->window(), xiDeviceEvent->time, local, global, rawDelta, angleDelta, modifiers);
@@ -1024,7 +1024,7 @@ void QXcbConnection::xi2HandleScrollEvent(void *event, ScrollingDevice &scrollin
QPoint global(fixed1616ToReal(xiDeviceEvent->root_x), fixed1616ToReal(xiDeviceEvent->root_y));
Qt::KeyboardModifiers modifiers = keyboard()->translateModifiers(xiDeviceEvent->mods.effective);
if (modifiers & Qt::AltModifier)
- std::swap(angleDelta.rx(), angleDelta.ry());
+ angleDelta = angleDelta.transposed();
qCDebug(lcQpaXInputEvents) << "scroll wheel (button" << xiDeviceEvent->detail << ") @ window pos" << local << "delta angle" << angleDelta;
QWindowSystemInterface::handleWheelEvent(platformWindow->window(), xiDeviceEvent->time, local, global, QPoint(), angleDelta, modifiers);
}
diff --git a/src/plugins/platforms/xcb/qxcbkeyboard.cpp b/src/plugins/platforms/xcb/qxcbkeyboard.cpp
index d0e02ecdd1..3caee3f409 100644
--- a/src/plugins/platforms/xcb/qxcbkeyboard.cpp
+++ b/src/plugins/platforms/xcb/qxcbkeyboard.cpp
@@ -49,13 +49,7 @@
#include <private/qguiapplication_p.h>
-#if QT_CONFIG(xkb)
-#include <xkbcommon/xkbcommon-x11.h>
-#endif
-
-#if QT_CONFIG(xcb_xinput)
#include <xcb/xinput.h>
-#endif
QT_BEGIN_NAMESPACE
@@ -392,20 +386,16 @@ void QXcbKeyboard::updateKeymap()
xkb_context_set_log_level(m_xkbContext.get(), logLevel);
}
-#if QT_CONFIG(xkb)
if (connection()->hasXKB()) {
m_xkbKeymap.reset(xkb_x11_keymap_new_from_device(m_xkbContext.get(), xcb_connection(),
core_device_id, XKB_KEYMAP_COMPILE_NO_FLAGS));
if (m_xkbKeymap)
m_xkbState.reset(xkb_x11_state_new_from_device(m_xkbKeymap.get(), xcb_connection(), core_device_id));
} else {
-#endif
m_xkbKeymap.reset(keymapFromCore(keysymMods));
if (m_xkbKeymap)
m_xkbState.reset(xkb_state_new(m_xkbKeymap.get()));
-#if QT_CONFIG(xkb)
}
-#endif
if (!m_xkbKeymap) {
qCWarning(lcQpaKeyboard, "failed to compile a keymap");
@@ -428,7 +418,6 @@ QList<int> QXcbKeyboard::possibleKeys(const QKeyEvent *event) const
return QXkbCommon::possibleKeys(m_xkbState.get(), event, m_superAsMeta, m_hyperAsMeta);
}
-#if QT_CONFIG(xkb)
void QXcbKeyboard::updateXKBState(xcb_xkb_state_notify_event_t *state)
{
if (m_config && connection()->hasXKB()) {
@@ -444,7 +433,6 @@ void QXcbKeyboard::updateXKBState(xcb_xkb_state_notify_event_t *state)
handleStateChanges(changedComponents);
}
}
-#endif
static xkb_layout_index_t lockedGroup(quint16 state)
{
@@ -473,7 +461,6 @@ void QXcbKeyboard::updateXKBStateFromCore(quint16 state)
}
}
-#if QT_CONFIG(xcb_xinput)
void QXcbKeyboard::updateXKBStateFromXI(void *modInfo, void *groupInfo)
{
if (m_config && !connection()->hasXKB()) {
@@ -491,7 +478,6 @@ void QXcbKeyboard::updateXKBStateFromXI(void *modInfo, void *groupInfo)
handleStateChanges(changedComponents);
}
}
-#endif
void QXcbKeyboard::handleStateChanges(xkb_state_component changedComponents)
{
@@ -541,7 +527,6 @@ void QXcbKeyboard::updateXKBMods()
QXcbKeyboard::QXcbKeyboard(QXcbConnection *connection)
: QXcbObject(connection)
{
-#if QT_CONFIG(xkb)
core_device_id = 0;
if (connection->hasXKB()) {
selectEvents();
@@ -551,11 +536,9 @@ QXcbKeyboard::QXcbKeyboard(QXcbConnection *connection)
return;
}
} else {
-#endif
m_key_symbols = xcb_key_symbols_alloc(xcb_connection());
-#if QT_CONFIG(xkb)
}
-#endif
+
updateKeymap();
}
@@ -573,7 +556,6 @@ void QXcbKeyboard::initialize()
void QXcbKeyboard::selectEvents()
{
-#if QT_CONFIG(xkb)
const uint16_t required_map_parts = (XCB_XKB_MAP_PART_KEY_TYPES |
XCB_XKB_MAP_PART_KEY_SYMS |
XCB_XKB_MAP_PART_MODIFIER_MAP |
@@ -604,12 +586,10 @@ void QXcbKeyboard::selectEvents()
free(error);
qCWarning(lcQpaXcb, "failed to select notify events from XKB");
}
-#endif
}
void QXcbKeyboard::updateVModMapping()
{
-#if QT_CONFIG(xkb)
xcb_xkb_get_names_value_list_t names_list;
memset(&vmod_masks, 0, sizeof(vmod_masks));
@@ -667,12 +647,10 @@ void QXcbKeyboard::updateVModMapping()
else if (qstrcmp(vmod_name, "Hyper") == 0)
vmod_masks.hyper = bit;
}
-#endif
}
void QXcbKeyboard::updateVModToRModMapping()
{
-#if QT_CONFIG(xkb)
xcb_xkb_get_map_map_t map;
memset(&rmod_masks, 0, sizeof(rmod_masks));
@@ -729,7 +707,6 @@ void QXcbKeyboard::updateVModToRModMapping()
else if (vmod_masks.hyper == bit)
rmod_masks.hyper = modmap;
}
-#endif
}
// Small helper: set modifier bit, if modifier position is valid
diff --git a/src/plugins/platforms/xcb/qxcbkeyboard.h b/src/plugins/platforms/xcb/qxcbkeyboard.h
index e35c82ad24..0ee08aeff2 100644
--- a/src/plugins/platforms/xcb/qxcbkeyboard.h
+++ b/src/plugins/platforms/xcb/qxcbkeyboard.h
@@ -43,14 +43,12 @@
#include "qxcbobject.h"
#include <xcb/xcb_keysyms.h>
-#if QT_CONFIG(xkb)
#define explicit dont_use_cxx_explicit
#include <xcb/xkb.h>
#undef explicit
-#endif
-#include <xkbcommon/xkbcommon.h>
#include <QtXkbCommonSupport/private/qxkbcommon_p.h>
+#include <xkbcommon/xkbcommon-x11.h>
#include <QEvent>
@@ -74,18 +72,14 @@ public:
void updateKeymap();
QList<int> possibleKeys(const QKeyEvent *event) const;
- // when XKEYBOARD not present on the X server
void updateXKBMods();
xkb_mod_mask_t xkbModMask(quint16 state);
void updateXKBStateFromCore(quint16 state);
-#if QT_CONFIG(xcb_xinput)
void updateXKBStateFromXI(void *modInfo, void *groupInfo);
-#endif
-#if QT_CONFIG(xkb)
- // when XKEYBOARD is present on the X server
+
int coreDeviceId() const { return core_device_id; }
void updateXKBState(xcb_xkb_state_notify_event_t *state);
-#endif
+
void handleStateChanges(xkb_state_component changedComponents);
protected:
@@ -97,10 +91,9 @@ protected:
typedef QMap<xcb_keysym_t, int> KeysymModifierMap;
struct xkb_keymap *keymapFromCore(const KeysymModifierMap &keysymMods);
- // when XKEYBOARD not present on the X server
void updateModifiers(const KeysymModifierMap &keysymMods);
KeysymModifierMap keysymsToModifiers();
- // when XKEYBOARD is present on the X server
+
void updateVModMapping();
void updateVModToRModMapping();
@@ -119,7 +112,6 @@ private:
_mod_masks rmod_masks;
- // when XKEYBOARD not present on the X server
xcb_key_symbols_t *m_key_symbols = nullptr;
struct _xkb_mods {
xkb_mod_index_t shift;
@@ -132,11 +124,9 @@ private:
xkb_mod_index_t mod5;
};
_xkb_mods xkb_mods;
-#if QT_CONFIG(xkb)
- // when XKEYBOARD is present on the X server
+
_mod_masks vmod_masks;
int core_device_id;
-#endif
QXkbCommon::ScopedXKBState m_xkbState;
QXkbCommon::ScopedXKBKeymap m_xkbKeymap;
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
index 8c34bd9c91..0fe22bd318 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -660,10 +660,6 @@ QImage::Format QXcbScreen::format() const
int QXcbScreen::forcedDpi() const
{
- static const int overrideDpi = qEnvironmentVariableIntValue("QT_FONT_DPI");
- if (overrideDpi)
- return overrideDpi;
-
const int forcedDpi = m_virtualDesktop->forcedDpi();
if (forcedDpi > 0)
return forcedDpi;
@@ -679,11 +675,6 @@ QDpi QXcbScreen::logicalDpi() const
return m_virtualDesktop->dpi();
}
-qreal QXcbScreen::pixelDensity() const
-{
- return m_pixelDensity;
-}
-
QPlatformCursor *QXcbScreen::cursor() const
{
return m_cursor;
@@ -747,14 +738,6 @@ void QXcbScreen::updateGeometry(const QRect &geometry, uint8_t rotation)
if (m_sizeMillimeters.isEmpty())
m_sizeMillimeters = sizeInMillimeters(geometry.size(), m_virtualDesktop->dpi());
- qreal dpi = forcedDpi();
- if (dpi <= 0)
- dpi = geometry.width() / physicalSize().width() * qreal(25.4);
-
- // Use 128 as a reference DPI on small screens. This favors "small UI" over "large UI".
- qreal referenceDpi = physicalSize().width() <= 320 ? 128 : 96;
-
- m_pixelDensity = qMax(1, qRound(dpi/referenceDpi));
m_geometry = geometry;
m_availableGeometry = geometry & m_virtualDesktop->workArea();
QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);
diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h
index ec3b07bfb7..62931d2500 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.h
+++ b/src/plugins/platforms/xcb/qxcbscreen.h
@@ -161,7 +161,7 @@ public:
QImage::Format format() const override;
QSizeF physicalSize() const override { return m_sizeMillimeters; }
QDpi logicalDpi() const override;
- qreal pixelDensity() const override;
+ QDpi logicalBaseDpi() const override { return QDpi(96, 96); };
QPlatformCursor *cursor() const override;
qreal refreshRate() const override { return m_refreshRate; }
Qt::ScreenOrientation orientation() const override { return m_orientation; }
@@ -227,7 +227,6 @@ private:
Qt::ScreenOrientation m_orientation = Qt::PrimaryOrientation;
QXcbCursor *m_cursor;
int m_refreshRate = 60;
- int m_pixelDensity = 1;
QEdidParser m_edid;
};
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index 1d1a4eea1c..76d3545d35 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -67,9 +67,7 @@
#include <xcb/xcb_icccm.h>
#include <xcb/xfixes.h>
#include <xcb/shape.h>
-#if QT_CONFIG(xcb_xinput)
#include <xcb/xinput.h>
-#endif
#include <private/qguiapplication_p.h>
#include <private/qwindow_p.h>
@@ -492,14 +490,12 @@ void QXcbWindow::create()
atom(QXcbAtom::_XEMBED_INFO),
32, 2, (void *)data);
-#if QT_CONFIG(xcb_xinput)
if (connection()->hasXInput2()) {
if (connection()->xi2MouseEventsDisabled())
connection()->xi2SelectDeviceEventsCompatibility(m_window);
else
connection()->xi2SelectDeviceEvents(m_window);
}
-#endif
setWindowState(window()->windowStates());
setWindowFlags(window()->flags());
@@ -1895,9 +1891,7 @@ void QXcbWindow::handleButtonPressEvent(int event_x, int event_y, int root_x, in
QPoint global(root_x, root_y);
if (isWheel) {
-#if QT_CONFIG(xcb_xinput)
if (!connection()->isAtLeastXI21()) {
-#endif
QPoint angleDelta;
if (detail == 4)
angleDelta.setY(120);
@@ -1908,11 +1902,9 @@ void QXcbWindow::handleButtonPressEvent(int event_x, int event_y, int root_x, in
else if (detail == 7)
angleDelta.setX(-120);
if (modifiers & Qt::AltModifier)
- std::swap(angleDelta.rx(), angleDelta.ry());
+ angleDelta = angleDelta.transposed();
QWindowSystemInterface::handleWheelEvent(window(), timestamp, local, global, QPoint(), angleDelta, modifiers);
-#if QT_CONFIG(xcb_xinput)
}
-#endif
return;
}
@@ -1948,13 +1940,8 @@ static inline bool doCheckUnGrabAncestor(QXcbConnection *conn)
* not pressed, otherwise (e.g. on Alt+Tab) it can igonre important enter/leave events.
*/
if (conn) {
-
const bool mouseButtonsPressed = (conn->buttonState() != Qt::NoButton);
-#if QT_CONFIG(xcb_xinput)
return mouseButtonsPressed || (conn->hasXInput2() && !conn->xi2MouseEventsDisabled());
-#else
- return mouseButtonsPressed;
-#endif
}
return true;
}
@@ -1986,10 +1973,9 @@ void QXcbWindow::handleEnterNotifyEvent(int event_x, int event_y, int root_x, in
if (ignoreEnterEvent(mode, detail, connection()) || connection()->mousePressWindow())
return;
-#if QT_CONFIG(xcb_xinput)
+
// Updates scroll valuators, as user might have done some scrolling outside our X client.
connection()->xi2UpdateScrollingDevices();
-#endif
const QPoint local(event_x, event_y);
QWindowSystemInterface::handleEnterEvent(window(), local, global);
@@ -2064,7 +2050,6 @@ void QXcbWindow::handleMotionNotifyEvent(const xcb_motion_notify_event_t *event)
event->time, QEvent::MouseMove);
}
-#if QT_CONFIG(xcb_xinput)
static inline int fixed1616ToInt(xcb_input_fp1616_t val)
{
return int(qreal(val) / 0x10000);
@@ -2165,7 +2150,6 @@ void QXcbWindow::handleXIEnterLeave(xcb_ge_event_t *event)
break;
}
}
-#endif
QXcbWindow *QXcbWindow::toWindow() { return this; }
@@ -2301,14 +2285,12 @@ bool QXcbWindow::setMouseGrabEnabled(bool grab)
if (grab && !connection()->canGrab())
return false;
-#if QT_CONFIG(xcb_xinput)
if (connection()->hasXInput2() && !connection()->xi2MouseEventsDisabled()) {
bool result = connection()->xi2SetMouseGrabEnabled(m_window, grab);
if (grab && result)
connection()->setMouseGrabber(this);
return result;
}
-#endif
if (!grab) {
xcb_ungrab_pointer(xcb_connection(), XCB_TIME_CURRENT_TIME);
@@ -2376,7 +2358,7 @@ bool QXcbWindow::startSystemMoveResize(const QPoint &pos, int corner)
return false;
const QPoint globalPos = QHighDpi::toNativePixels(window()->mapToGlobal(pos), window()->screen());
-#if QT_CONFIG(xcb_xinput)
+
// ### FIXME QTBUG-53389
bool startedByTouch = connection()->startSystemMoveResizeForTouchBegin(m_window, globalPos, corner);
if (startedByTouch) {
@@ -2386,9 +2368,7 @@ bool QXcbWindow::startSystemMoveResize(const QPoint &pos, int corner)
return false;
}
// KWin, Openbox, AwesomeWM have been tested to work with _NET_WM_MOVERESIZE.
- } else
-#endif
- { // Started by mouse press.
+ } else { // Started by mouse press.
if (connection()->isUnity())
return false; // _NET_WM_MOVERESIZE on this WM is bouncy (WM bug?).
diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h
index 5de5974ca7..13b37db028 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.h
+++ b/src/plugins/platforms/xcb/qxcbwindow.h
@@ -137,10 +137,8 @@ public:
void handleFocusInEvent(const xcb_focus_in_event_t *event) override;
void handleFocusOutEvent(const xcb_focus_out_event_t *event) override;
void handlePropertyNotifyEvent(const xcb_property_notify_event_t *event) override;
-#if QT_CONFIG(xcb_xinput)
void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized) override;
void handleXIEnterLeave(xcb_ge_event_t *) override;
-#endif
QXcbWindow *toWindow() override;
diff --git a/src/plugins/platforms/xcb/xcb-static/xcb-static.pro b/src/plugins/platforms/xcb/xcb-static/xcb-static.pro
deleted file mode 100644
index 078b275381..0000000000
--- a/src/plugins/platforms/xcb/xcb-static/xcb-static.pro
+++ /dev/null
@@ -1,80 +0,0 @@
-#
-# Statically compile in code for
-# libxcb-fixes, libxcb-randr, libxcb-shm, libxcb-sync, libxcb-image,
-# libxcb-keysyms, libxcb-icccm, libxcb-renderutil, libxcb-xkb,
-# libxcb-xinerama, libxcb-xinput
-#
-CONFIG += static
-
-XCB_DIR = $$QT_SOURCE_TREE/src/3rdparty/xcb
-
-MODULE_INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/sysinclude
-INCLUDEPATH += $$XCB_DIR/include/xcb
-
-QMAKE_USE += xcb/nolink
-
-# ignore compiler warnings in 3rdparty code
-QMAKE_CFLAGS_STATIC_LIB+=-w
-
-#
-# libxcb
-#
-LIBXCB_DIR = $$XCB_DIR/libxcb
-
-SOURCES += \
- $$LIBXCB_DIR/xfixes.c \
- $$LIBXCB_DIR/randr.c \
- $$LIBXCB_DIR/shm.c \
- $$LIBXCB_DIR/sync.c \
- $$LIBXCB_DIR/render.c \
- $$LIBXCB_DIR/shape.c \
- $$LIBXCB_DIR/xkb.c \
- $$LIBXCB_DIR/xinerama.c \
- $$LIBXCB_DIR/xinput.c
-
-#
-# xcb-util
-#
-XCB_UTIL_DIR = $$XCB_DIR/xcb-util
-
-
-SOURCES += \
- $$XCB_UTIL_DIR/xcb_aux.c \
- $$XCB_UTIL_DIR/atoms.c \
- $$XCB_UTIL_DIR/event.c
-
-#
-# xcb-util-image
-#
-XCB_IMAGE_DIR = $$XCB_DIR/xcb-util-image
-
-SOURCES += $$XCB_IMAGE_DIR/xcb_image.c
-
-#
-# xcb-util-keysyms
-#
-XCB_KEYSYMS_DIR = $$XCB_DIR/xcb-util-keysyms
-
-SOURCES += $$XCB_KEYSYMS_DIR/keysyms.c
-
-#
-# xcb-util-renderutil
-#
-
-XCB_RENDERUTIL_DIR = $$XCB_DIR/xcb-util-renderutil
-
-SOURCES += $$XCB_RENDERUTIL_DIR/util.c
-
-#
-# xcb-util-wm
-#
-XCB_WM_DIR = $$XCB_DIR/xcb-util-wm
-
-SOURCES += \
- $$XCB_WM_DIR/icccm.c
-
-OTHER_FILES = $$XCB_DIR/README
-
-TR_EXCLUDE += $$XCB_DIR/*
-
-load(qt_helper_lib)
diff --git a/src/plugins/platforms/xcb/xcb.pro b/src/plugins/platforms/xcb/xcb.pro
index 0d27645a60..1c43c5ca04 100644
--- a/src/plugins/platforms/xcb/xcb.pro
+++ b/src/plugins/platforms/xcb/xcb.pro
@@ -2,8 +2,6 @@ TEMPLATE = subdirs
CONFIG += ordered
QT_FOR_CONFIG += gui-private
-!qtConfig(system-xcb): SUBDIRS += xcb-static
-
SUBDIRS += xcb_qpa_lib.pro
SUBDIRS += xcb-plugin.pro
SUBDIRS += gl_integrations
diff --git a/src/plugins/platforms/xcb/xcb_qpa_lib.pro b/src/plugins/platforms/xcb/xcb_qpa_lib.pro
index 34c671c8c7..a5d05faa9c 100644
--- a/src/plugins/platforms/xcb/xcb_qpa_lib.pro
+++ b/src/plugins/platforms/xcb/xcb_qpa_lib.pro
@@ -35,6 +35,7 @@ SOURCES = \
qxcbeventdispatcher.cpp \
qxcbconnection_basic.cpp \
qxcbconnection_screens.cpp \
+ qxcbconnection_xi2.cpp \
qxcbatom.cpp
HEADERS = \
@@ -71,10 +72,6 @@ qtConfig(xcb-xlib) {
QMAKE_USE += xcb_xlib
}
-qtConfig(xcb-xinput) {
- SOURCES += qxcbconnection_xi2.cpp
-}
-
qtConfig(xcb-sm) {
QMAKE_USE += x11sm
SOURCES += qxcbsessionmanager.cpp
@@ -94,20 +91,19 @@ qtConfig(vulkan) {
qxcbvulkanwindow.h
}
-!qtConfig(system-xcb) {
- QMAKE_USE += xcb-static
-} else {
- qtConfig(xcb-xinput): QMAKE_USE += xcb_xinput
- QMAKE_USE += \
- xcb_icccm xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil \
- xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xinerama
-}
-QMAKE_USE += xcb
+QMAKE_USE += \
+ xcb xcb_icccm xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil \
+ xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xinerama xcb_xkb xkbcommon xkbcommon_x11
-QMAKE_USE += xkbcommon
-qtConfig(xkb) {
- QMAKE_USE += xkbcommon_x11
- qtConfig(system-xcb): QMAKE_USE += xcb_xkb
+qtConfig(system-xcb-xinput) {
+ QMAKE_USE += xcb_xinput
+} else {
+ # Use bundled xcb-xinput sources.
+ XCB_DIR = $$QT_SOURCE_TREE/src/3rdparty/xcb
+ INCLUDEPATH += $$XCB_DIR/include/
+ SOURCES += $$XCB_DIR/libxcb/xinput.c
+ # Ignore compiler warnings in 3rdparty C code.
+ QMAKE_CFLAGS+=-w
}
qtConfig(dlopen): QMAKE_USE += libdl
diff --git a/src/plugins/printsupport/cups/qppdprintdevice.cpp b/src/plugins/printsupport/cups/qppdprintdevice.cpp
index ea6336c4d1..90411f2a2c 100644
--- a/src/plugins/printsupport/cups/qppdprintdevice.cpp
+++ b/src/plugins/printsupport/cups/qppdprintdevice.cpp
@@ -41,7 +41,9 @@
#include "qcupsprintersupport_p.h"
+#if QT_CONFIG(mimetype)
#include <QtCore/QMimeDatabase>
+#endif
#include <qdebug.h>
#include "private/qcups_p.h" // Only needed for PDPK_*
diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm
index 968ca68619..ec3bb91ebf 100644
--- a/src/plugins/styles/mac/qmacstyle_mac.mm
+++ b/src/plugins/styles/mac/qmacstyle_mac.mm
@@ -2294,11 +2294,11 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
}
break;
case PM_SmallIconSize:
- ret = int(QStyleHelper::dpiScaled(16.));
+ ret = int(QStyleHelper::dpiScaled(16., opt));
break;
case PM_LargeIconSize:
- ret = int(QStyleHelper::dpiScaled(32.));
+ ret = int(QStyleHelper::dpiScaled(32., opt));
break;
case PM_IconViewIconSize:
@@ -3899,6 +3899,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
CGContextScaleCTM(ctx, -1, 1);
CGContextTranslateCTM(ctx, -frameRect.left(), 0);
} else if (tabDirection == QMacStylePrivate::West && tp == QStyleOptionTab::Beginning) {
+ CGContextTranslateCTM(ctx, 0, opt->rect.top());
CGContextScaleCTM(ctx, 1, -1);
CGContextTranslateCTM(ctx, 0, -frameRect.right());
} else if (tabDirection == QMacStylePrivate::East && tp == QStyleOptionTab::End) {
diff --git a/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp b/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp
index 6881ea8f16..c4ada66ca9 100644
--- a/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp
+++ b/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp
@@ -987,7 +987,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
XPThemeData theme(widget, 0, QWindowsXPStylePrivate::ToolBarTheme,
TP_DROPDOWNBUTTON);
if (theme.isValid()) {
- const QSizeF size = theme.size() * QStyleHelper::dpiScaled(1);
+ const QSizeF size = theme.size() * QStyleHelper::dpiScaled(1, option);
if (!size.isEmpty()) {
mbiw = qRound(size.width());
mbih = qRound(size.height());
@@ -2145,7 +2145,7 @@ QRect QWindowsVistaStyle::subControlRect(ComplexControl control, const QStyleOpt
const int x = cb->rect.x(), y = cb->rect.y(), wi = cb->rect.width(), he = cb->rect.height();
const int margin = cb->frame ? 3 : 0;
const int bmarg = cb->frame ? 2 : 0;
- const int arrowWidth = qRound(QStyleHelper::dpiScaled(16));
+ const int arrowWidth = qRound(QStyleHelper::dpiScaled(16, option));
const int arrowButtonWidth = bmarg + arrowWidth;
const int xpos = x + wi - arrowButtonWidth;
@@ -2179,7 +2179,7 @@ QRect QWindowsVistaStyle::subControlRect(ComplexControl control, const QStyleOpt
const int height = tb->rect.height();
const int width = tb->rect.width();
const int buttonWidth =
- qRound(qreal(GetSystemMetrics(SM_CXSIZE)) * factor - QStyleHelper::dpiScaled(4));
+ qRound(qreal(GetSystemMetrics(SM_CXSIZE)) * factor - QStyleHelper::dpiScaled(4, option));
const int frameWidth = proxy()->pixelMetric(PM_MdiSubWindowFrameWidth, option, widget);
const bool sysmenuHint = (tb->titleBarFlags & Qt::WindowSystemMenuHint) != 0;
@@ -2280,7 +2280,7 @@ int QWindowsVistaStyle::pixelMetric(PixelMetric metric, const QStyleOption *opti
int ret = QWindowsVistaStylePrivate::fixedPixelMetric(metric);
if (ret != QWindowsStylePrivate::InvalidMetric)
- return int(QStyleHelper::dpiScaled(ret));
+ return int(QStyleHelper::dpiScaled(ret, option));
return QWindowsXPStyle::pixelMetric(metric, option, widget);
}
diff --git a/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp b/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp
index a331b2ee87..e2c5bdc924 100644
--- a/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp
+++ b/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp
@@ -1486,8 +1486,9 @@ case PE_Frame:
// Inner white border
p->setPen(QPen(option->palette.base().color(), 0));
- const auto topLevelAdjustment = QStyleHelper::dpiScaled(0.5);
- const auto bottomRightAdjustment = QStyleHelper::dpiScaled(-1);
+ const qreal dpi = QStyleHelper::dpi(option);
+ const auto topLevelAdjustment = QStyleHelper::dpiScaled(0.5, dpi);
+ const auto bottomRightAdjustment = QStyleHelper::dpiScaled(-1, dpi);
p->drawRect(QRectF(option->rect).adjusted(topLevelAdjustment, topLevelAdjustment,
bottomRightAdjustment, bottomRightAdjustment));
// Outer dark border
@@ -3313,7 +3314,8 @@ int QWindowsXPStyle::pixelMetric(PixelMetric pm, const QStyleOption *option, con
break;
case PM_SplitterWidth:
- res = qMax(int(QStyleHelper::dpiScaled(5.)), QApplication::globalStrut().width());
+ res = qMax(int(QStyleHelper::dpiScaled(5., option)),
+ QApplication::globalStrut().width());
break;
case PM_MdiSubWindowMinimizedWidth:
@@ -3322,13 +3324,13 @@ int QWindowsXPStyle::pixelMetric(PixelMetric pm, const QStyleOption *option, con
#if QT_CONFIG(toolbar)
case PM_ToolBarHandleExtent:
- res = int(QStyleHelper::dpiScaled(8.));
+ res = int(QStyleHelper::dpiScaled(8., option));
break;
#endif // QT_CONFIG(toolbar)
case PM_DockWidgetSeparatorExtent:
case PM_DockWidgetTitleMargin:
- res = int(QStyleHelper::dpiScaled(4.));
+ res = int(QStyleHelper::dpiScaled(4., option));
break;
case PM_ButtonShiftHorizontal:
@@ -3413,7 +3415,7 @@ QRect QWindowsXPStyle::subControlRect(ComplexControl cc, const QStyleOptionCompl
const bool isToolTitle = false;
const int height = tb->rect.height();
const int width = tb->rect.width();
- const int buttonMargin = int(QStyleHelper::dpiScaled(4));
+ const int buttonMargin = int(QStyleHelper::dpiScaled(4, option));
const qreal factor = QWindowsStylePrivate::nativeMetricScaleFactor(widget);
int buttonHeight = qRound(qreal(GetSystemMetrics(SM_CYSIZE)) * factor)
- buttonMargin;
@@ -3524,23 +3526,27 @@ QRect QWindowsXPStyle::subControlRect(ComplexControl cc, const QStyleOptionCompl
case CC_ComboBox:
if (const QStyleOptionComboBox *cmb = qstyleoption_cast<const QStyleOptionComboBox *>(option)) {
const int x = cmb->rect.x(), y = cmb->rect.y(), wi = cmb->rect.width(), he = cmb->rect.height();
- const int xpos = x + wi - qRound(QStyleHelper::dpiScaled(1 + 16));
+ const int xpos = x + wi - qRound(QStyleHelper::dpiScaled(1 + 16, option));
switch (subControl) {
case SC_ComboBoxFrame:
rect = cmb->rect;
break;
- case SC_ComboBoxArrow:
- rect = QRect(xpos, y + qRound(QStyleHelper::dpiScaled(1)),
- qRound(QStyleHelper::dpiScaled(16)), he - qRound(QStyleHelper::dpiScaled(2)));
+ case SC_ComboBoxArrow: {
+ const qreal dpi = QStyleHelper::dpi(option);
+ rect = QRect(xpos, y + qRound(QStyleHelper::dpiScaled(1, dpi)),
+ qRound(QStyleHelper::dpiScaled(16, dpi)),
+ he - qRound(QStyleHelper::dpiScaled(2, dpi)));
+ }
break;
case SC_ComboBoxEditField: {
- const int frame = qRound(QStyleHelper::dpiScaled(2));
+ const qreal dpi = QStyleHelper::dpi(option);
+ const int frame = qRound(QStyleHelper::dpiScaled(2, dpi));
rect = QRect(x + frame, y + frame,
- wi - qRound(QStyleHelper::dpiScaled(3 + 16)),
- he - qRound(QStyleHelper::dpiScaled(4)));
+ wi - qRound(QStyleHelper::dpiScaled(3 + 16, dpi)),
+ he - qRound(QStyleHelper::dpiScaled(4, dpi)));
}
break;
diff --git a/src/printsupport/dialogs/qpagesetupdialog.cpp b/src/printsupport/dialogs/qpagesetupdialog.cpp
index dc0457d20d..ce2a0416c8 100644
--- a/src/printsupport/dialogs/qpagesetupdialog.cpp
+++ b/src/printsupport/dialogs/qpagesetupdialog.cpp
@@ -114,10 +114,8 @@ void QPageSetupDialogPrivate::setPrinter(QPrinter *newPrinter)
printer = new QPrinter;
ownsPrinter = true;
}
-#if 1 // Used to be excluded in Qt4 for Q_WS_X11
if (printer->outputFormat() != QPrinter::NativeFormat)
qWarning("QPageSetupDialog: Cannot be used on non-native printers");
-#endif
}
/*!
diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp
index 5136ba13e5..c7328d9732 100644
--- a/src/printsupport/dialogs/qprintdialog_unix.cpp
+++ b/src/printsupport/dialogs/qprintdialog_unix.cpp
@@ -727,6 +727,11 @@ void QPrintDialogPrivate::selectPrinter(const QPrinter::OutputFormat outputForma
else
options.pageSetCombo->setEnabled(true);
+ // Disable complex page ranges widget when printing to pdf
+ // It doesn't work since it relies on cups to do the heavy lifting and cups
+ // is not used when printing to PDF
+ options.pagesRadioButton->setEnabled(outputFormat != QPrinter::PdfFormat);
+
#if QT_CONFIG(cups)
// Disable color options on main dialog if not printing to file, it will be handled by CUPS advanced dialog
options.colorMode->setVisible(outputFormat == QPrinter::PdfFormat);
diff --git a/src/testlib/doc/snippets/code/doc_src_qsignalspy.cpp b/src/testlib/doc/snippets/code/doc_src_qsignalspy.cpp
index a4513a55a9..37aba2715b 100644
--- a/src/testlib/doc/snippets/code/doc_src_qsignalspy.cpp
+++ b/src/testlib/doc/snippets/code/doc_src_qsignalspy.cpp
@@ -98,3 +98,51 @@ QVERIFY(spy.wait(1000));
QSignalSpy spy(myPushButton, &QPushButton::clicked);
//! [6]
+//! [7]
+QObject object;
+auto mo = object.metaObject();
+auto signalIndex = mo->indexOfSignal("objectNameChanged(QString)");
+auto signal = mo->method(signalIndex);
+
+QSignalSpy spy(&object, signal);
+object.setObjectName("A new object name");
+QCOMPARE(spy.count(), 1);
+//! [7]
+
+//! [8]
+void tst_QWindow::writeMinMaxDimensionalProps_data()
+ QTest::addColumn<int>("propertyIndex");
+
+ // Collect all relevant properties
+ static const auto mo = QWindow::staticMetaObject;
+ for (int i = mo.propertyOffset(); i < mo.propertyCount(); ++i) {
+ auto property = mo.property(i);
+
+ // ...that have type int
+ if (property.type() == QVariant::Int) {
+ static const QRegularExpression re("^minimum|maximum");
+ const auto name = property.name();
+
+ // ...and start with "minimum" or "maximum"
+ if (re.match(name).hasMatch()) {
+ QTest::addRow("%s", name) << i;
+ }
+ }
+ }
+}
+
+void tst_QWindow::writeMinMaxDimensionalProps()
+{
+ QFETCH(int, propertyIndex);
+
+ auto property = QWindow::staticMetaObject.property(propertyIndex);
+ QVERIFY(property.isWritable());
+ QVERIFY(property.hasNotifySignal());
+
+ QWindow window;
+ QSignalSpy spy(&window, property.notifySignal());
+
+ QVERIFY(property.write(&window, 42));
+ QCOMPARE(spy.count(), 1);
+}
+//! [8]
diff --git a/src/testlib/doc/src/qttestlib-manual.qdoc b/src/testlib/doc/src/qttestlib-manual.qdoc
index 71b4541313..65836d0706 100644
--- a/src/testlib/doc/src/qttestlib-manual.qdoc
+++ b/src/testlib/doc/src/qttestlib-manual.qdoc
@@ -107,6 +107,11 @@
Example:
\snippet code/doc_src_qtestlib.cpp 0
+ Finally, if the test class has a static public \c{void initMain()} method,
+ it is called by the QTEST_MAIN macros before the QApplication object
+ is instantiated. For example, this allows for setting application
+ attributes like Qt::AA_DisableHighDpiScaling. This was added in 5.14.
+
For more examples, refer to the \l{Qt Test Tutorial}.
\if !defined(qtforpython)
diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h
index 0285080662..dc0c58044f 100644
--- a/src/testlib/qsignalspy.h
+++ b/src/testlib/qsignalspy.h
@@ -59,11 +59,8 @@ public:
explicit QSignalSpy(const QObject *obj, const char *aSignal)
: m_waiting(false)
{
- static const int memberOffset = QObject::staticMetaObject.methodCount();
- if (!obj) {
- qWarning("QSignalSpy: Cannot spy on a null object");
+ if (!isObjectValid(obj))
return;
- }
if (!aSignal) {
qWarning("QSignalSpy: Null signal name is not valid");
@@ -83,11 +80,9 @@ public:
return;
}
- if (!QMetaObject::connect(obj, sigIndex, this, memberOffset,
- Qt::DirectConnection, nullptr)) {
- qWarning("QSignalSpy: QMetaObject::connect returned false. Unable to connect.");
+ if (!connectToSignal(obj, sigIndex))
return;
- }
+
sig = ba;
initArgs(mo->method(sigIndex), obj);
}
@@ -100,11 +95,8 @@ public:
QSignalSpy(const typename QtPrivate::FunctionPointer<Func>::Object *obj, Func signal0)
: m_waiting(false)
{
- static const int memberOffset = QObject::staticMetaObject.methodCount();
- if (!obj) {
- qWarning("QSignalSpy: Cannot spy on a null object");
+ if (!isObjectValid(obj))
return;
- }
if (!signal0) {
qWarning("QSignalSpy: Null signal name is not valid");
@@ -114,23 +106,28 @@ public:
const QMetaObject * const mo = obj->metaObject();
const QMetaMethod signalMetaMethod = QMetaMethod::fromSignal(signal0);
const int sigIndex = signalMetaMethod.methodIndex();
- if (!signalMetaMethod.isValid() ||
- signalMetaMethod.methodType() != QMetaMethod::Signal) {
- qWarning("QSignalSpy: Not a valid signal: '%s'",
- signalMetaMethod.methodSignature().constData());
+
+ if (!isSignalMetaMethodValid(signalMetaMethod))
return;
- }
- if (!QMetaObject::connect(obj, sigIndex, this, memberOffset,
- Qt::DirectConnection, nullptr)) {
- qWarning("QSignalSpy: QMetaObject::connect returned false. Unable to connect.");
+ if (!connectToSignal(obj, sigIndex))
return;
- }
+
sig = signalMetaMethod.methodSignature();
initArgs(mo->method(sigIndex), obj);
}
#endif // Q_CLANG_QDOC
+ QSignalSpy(const QObject *obj, const QMetaMethod &signal)
+ : m_waiting(false)
+ {
+ if (isObjectValid(obj) && isSignalMetaMethodValid(signal) &&
+ connectToSignal(obj, signal.methodIndex())) {
+ sig = signal.methodSignature();
+ initArgs(signal, obj);
+ }
+ }
+
inline bool isValid() const { return !sig.isEmpty(); }
inline QByteArray signal() const { return sig; }
@@ -160,6 +157,38 @@ public:
}
private:
+ bool connectToSignal(const QObject *sender, int sigIndex)
+ {
+ static const int memberOffset = QObject::staticMetaObject.methodCount();
+ const bool connected = QMetaObject::connect(
+ sender, sigIndex, this, memberOffset, Qt::DirectConnection, nullptr);
+
+ if (!connected)
+ qWarning("QSignalSpy: QMetaObject::connect returned false. Unable to connect.");
+
+ return connected;
+ }
+
+ static bool isSignalMetaMethodValid(const QMetaMethod &signal)
+ {
+ const bool valid = signal.isValid() && signal.methodType() == QMetaMethod::Signal;
+
+ if (!valid)
+ qWarning("QSignalSpy: Not a valid signal: '%s'", signal.methodSignature().constData());
+
+ return valid;
+ }
+
+ static bool isObjectValid(const QObject *object)
+ {
+ const bool valid = !!object;
+
+ if (!valid)
+ qWarning("QSignalSpy: Cannot spy on a null object");
+
+ return valid;
+ }
+
void initArgs(const QMetaMethod &member, const QObject *obj)
{
args.reserve(member.parameterCount());
diff --git a/src/testlib/qsignalspy.qdoc b/src/testlib/qsignalspy.qdoc
index 3352307d69..5ea6bc5dc7 100644
--- a/src/testlib/qsignalspy.qdoc
+++ b/src/testlib/qsignalspy.qdoc
@@ -86,6 +86,28 @@
\snippet code/doc_src_qsignalspy.cpp 6
*/
+/*! \fn QSignalSpy(const QObject *obj, const QMetaMethod &signal)
+ \since 5.14
+
+ Constructs a new QSignalSpy that listens for emissions of the \a signal
+ from the QObject \a object. If QSignalSpy is not able to listen for a
+ valid signal (for example, because \a object is \nullptr or \a signal does
+ not denote a valid signal of \a object), an explanatory warning message
+ will be output using qWarning() and subsequent calls to \c isValid() will
+ return false.
+
+ This constructor is convenient to use when Qt's meta-object system is
+ heavily used in a test.
+
+ Basic usage example:
+ \snippet code/doc_src_qsignalspy.cpp 7
+
+ Imagine we need to check whether all properties of the QWindow class
+ that represent minimum and maximum dimensions are properly writable.
+ The following example demonstrates one of the approaches:
+ \snippet code/doc_src_qsignalspy.cpp 8
+*/
+
/*! \fn QSignalSpy::isValid() const
Returns \c true if the signal spy listens to a valid signal, otherwise false.
diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h
index cdf0800371..27fe08e8f4 100644
--- a/src/testlib/qtest.h
+++ b/src/testlib/qtest.h
@@ -379,8 +379,36 @@ inline bool qCompare(quint32 const &t1, quint64 const &t2, const char *actual,
{
return qCompare(static_cast<quint64>(t1), t2, actual, expected, file, line);
}
+namespace Internal {
+template <typename T>
+class HasInitMain // SFINAE test for the presence of initMain()
+{
+private:
+ using YesType = char[1];
+ using NoType = char[2];
+
+ template <typename C> static YesType& test( decltype(&C::initMain) ) ;
+ template <typename C> static NoType& test(...);
+
+public:
+ enum { value = sizeof(test<T>(nullptr)) == sizeof(YesType) };
+};
+
+template<typename T>
+typename std::enable_if<HasInitMain<T>::value, void>::type callInitMain()
+{
+ T::initMain();
+}
+
+template<typename T>
+typename std::enable_if<!HasInitMain<T>::value, void>::type callInitMain()
+{
}
+
+} // namespace Internal
+
+} // namespace QTest
QT_END_NAMESPACE
#ifdef QT_TESTCASE_BUILDDIR
@@ -441,6 +469,7 @@ int main(int argc, char *argv[]) \
#define QTEST_MAIN_IMPL(TestObject) \
TESTLIB_SELFCOVERAGE_START(#TestObject) \
+ QT_PREPEND_NAMESPACE(QTest::Internal::callInitMain)<TestObject>(); \
QApplication app(argc, argv); \
app.setAttribute(Qt::AA_Use96Dpi, true); \
QTEST_DISABLE_KEYPAD_NAVIGATION \
@@ -454,6 +483,7 @@ int main(int argc, char *argv[]) \
#define QTEST_MAIN_IMPL(TestObject) \
TESTLIB_SELFCOVERAGE_START(#TestObject) \
+ QT_PREPEND_NAMESPACE(QTest::Internal::callInitMain)<TestObject>(); \
QGuiApplication app(argc, argv); \
app.setAttribute(Qt::AA_Use96Dpi, true); \
TestObject tc; \
@@ -464,6 +494,7 @@ int main(int argc, char *argv[]) \
#define QTEST_MAIN_IMPL(TestObject) \
TESTLIB_SELFCOVERAGE_START(#TestObject) \
+ QT_PREPEND_NAMESPACE(QTest::Internal::callInitMain)<TestObject>(); \
QCoreApplication app(argc, argv); \
app.setAttribute(Qt::AA_Use96Dpi, true); \
TestObject tc; \
@@ -482,6 +513,7 @@ int main(int argc, char *argv[]) \
int main(int argc, char *argv[]) \
{ \
TESTLIB_SELFCOVERAGE_START(#TestObject) \
+ QT_PREPEND_NAMESPACE(QTest::Internal::callInitMain)<TestObject>(); \
QCoreApplication app(argc, argv); \
app.setAttribute(Qt::AA_Use96Dpi, true); \
TestObject tc; \
diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h
index 1667bc254b..0498681670 100644
--- a/src/testlib/qtestcase.h
+++ b/src/testlib/qtestcase.h
@@ -153,7 +153,7 @@ do {\
#define QTRY_IMPL(expr, timeout)\
const int qt_test_step = timeout < 350 ? timeout / 7 + 1 : 50; \
const int qt_test_timeoutValue = timeout; \
- QTRY_LOOP_IMPL((expr), qt_test_timeoutValue, qt_test_step); \
+ { QTRY_LOOP_IMPL((expr), qt_test_timeoutValue, qt_test_step); } \
QTRY_TIMEOUT_DEBUG_IMPL((expr), qt_test_timeoutValue, qt_test_step)\
// Will try to wait for the expression to become true while allowing event processing
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index 10bbd59bfb..6cc9f6102c 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -91,7 +91,7 @@ FILE *openProcess(const QString &command)
#if defined(Q_OS_WIN32)
QString processedCommand = QLatin1Char('\"') + command + QLatin1Char('\"');
#else
- QString processedCommand = command;
+ const QString& processedCommand = command;
#endif
return popen(processedCommand.toLocal8Bit().constData(), QT_POPEN_READ);
@@ -99,7 +99,7 @@ FILE *openProcess(const QString &command)
struct QtDependency
{
- QtDependency(QString rpath, QString apath) : relativePath(rpath), absolutePath(apath) {}
+ QtDependency(const QString &rpath, const QString &apath) : relativePath(rpath), absolutePath(apath) {}
bool operator==(const QtDependency &other) const
{
@@ -121,15 +121,15 @@ struct Options
, auxMode(false)
, deploymentMechanism(Bundled)
, releasePackage(false)
- , digestAlg(QLatin1String("SHA1"))
- , sigAlg(QLatin1String("SHA1withRSA"))
+ , digestAlg(QLatin1String("SHA-256"))
+ , sigAlg(QLatin1String("SHA256withRSA"))
, internalSf(false)
, sectionsOnly(false)
, protectedAuthenticationPath(false)
, jarSigner(false)
- , gdbServer(Auto)
, installApk(false)
, uninstallApk(false)
+ , qmlImportScannerBinaryPath()
{}
enum DeploymentMechanism
@@ -150,7 +150,6 @@ struct Options
bool generateAssetsFileList;
bool build;
bool auxMode;
- bool stripLibraries = true;
ActionTimer timer;
// External tools
@@ -175,22 +174,24 @@ struct Options
// lib c++ path
QString stdCppPath;
- QString stdCppName = QStringLiteral("gnustl_shared");
+ QString stdCppName = QStringLiteral("c++_shared");
// Build information
QString androidPlatform;
- QString architecture;
- QString toolchainVersion;
+ QHash<QString, QString> architectures;
+ QString currentArchitecture;
QString toolchainPrefix;
- QString toolPrefix;
- bool useLLVM = false;
QString ndkHost;
+ bool buildAAB = false;
+
// Package information
DeploymentMechanism deploymentMechanism;
QString packageName;
QStringList extraLibs;
+ QHash<QString, QStringList> archExtraLibs;
QStringList extraPlugins;
+ QHash<QString, QStringList> archExtraPlugins;
// Signing information
bool releasePackage;
@@ -211,23 +212,37 @@ struct Options
bool jarSigner;
QString apkPath;
- // Gdbserver
- TriState gdbServer;
-
// Installation information
bool installApk;
bool uninstallApk;
QString installLocation;
- // Collected information
+ // Per architecture collected information
+ void clear(const QString &arch)
+ {
+ currentArchitecture = arch;
+ }
typedef QPair<QString, QString> BundledFile;
- QList<BundledFile> bundledFiles;
- QList<QtDependency> qtDependencies;
- QStringList localLibs;
+ QHash<QString, QList<BundledFile>> bundledFiles;
+ QHash<QString, QList<QtDependency>> qtDependencies;
+ QHash<QString, QStringList> localLibs;
+ bool usesOpenGL = false;
+
+ // Per package collected information
QStringList localJars;
QStringList initClasses;
QStringList permissions;
QStringList features;
+
+ // Override qml import scanner path
+ QString qmlImportScannerBinaryPath;
+};
+
+static const QHash<QByteArray, QByteArray> elfArchitecures = {
+ {"aarch64", "arm64-v8a"},
+ {"arm", "armeabi-v7a"},
+ {"i386", "x86"},
+ {"x86_64", "x86_64"}
};
// Copy-pasted from qmake/library/ioutil.cpp
@@ -250,7 +265,7 @@ static QString shellQuoteUnix(const QString &arg)
}; // 0-32 \'"$`<>|;&(){}*?#!~[]
if (!arg.length())
- return QString::fromLatin1("\"\"");
+ return QLatin1String("\"\"");
QString ret(arg);
if (hasSpecialChars(ret, iqm)) {
@@ -273,7 +288,7 @@ static QString shellQuoteWin(const QString &arg)
};
if (!arg.length())
- return QString::fromLatin1("\"\"");
+ return QLatin1String("\"\"");
QString ret(arg);
if (hasSpecialChars(ret, iqm)) {
@@ -301,6 +316,59 @@ static QString shellQuote(const QString &arg)
return shellQuoteUnix(arg);
}
+QString architecureFromName(const QString &name)
+{
+ QRegExp architecture(QStringLiteral(".*_(.*)\\.so"));
+ if (!architecture.exactMatch(name))
+ return {};
+ return architecture.capturedTexts().last();
+}
+
+QString fileArchitecture(const Options &options, const QString &path)
+{
+ auto arch = architecureFromName(path);
+ if (!arch.isEmpty())
+ return arch;
+
+ QString readElf = QLatin1String("%1/toolchains/%2/prebuilt/%3/bin/llvm-readobj").arg(options.ndkPath,
+ options.toolchainPrefix,
+ options.ndkHost);
+#if defined(Q_OS_WIN32)
+ readElf += QLatin1String(".exe");
+#endif
+
+ if (!QFile::exists(readElf)) {
+ fprintf(stderr, "Command does not exist: %s\n", qPrintable(readElf));
+ return {};
+ }
+
+ readElf = QLatin1String("%1 -needed-libs %2").arg(shellQuote(readElf), shellQuote(path));
+
+ FILE *readElfCommand = openProcess(readElf);
+ if (!readElfCommand) {
+ fprintf(stderr, "Cannot execute command %s\n", qPrintable(readElf));
+ return {};
+ }
+
+ char buffer[512];
+ while (fgets(buffer, sizeof(buffer), readElfCommand) != nullptr) {
+ QByteArray line = QByteArray::fromRawData(buffer, qstrlen(buffer));
+ QString library;
+ line = line.trimmed();
+ if (line.startsWith("Arch: ")) {
+ auto it = elfArchitecures.find(line.mid(6));
+ pclose(readElfCommand);
+ return it != elfArchitecures.constEnd() ? QString::fromLatin1(it.value()) : QString{};
+ }
+ }
+ pclose(readElfCommand);
+ return {};
+}
+
+bool checkArchitecture(const Options &options, const QString &fileName)
+{
+ return fileArchitecture(options, fileName) == options.currentArchitecture;
+}
void deleteMissingFiles(const Options &options, const QDir &srcDir, const QDir &dstDir)
{
@@ -350,7 +418,10 @@ Options parseOptions()
options.helpRequested = true;
else
options.inputFileName = arguments.at(++i);
- } else if (argument.compare(QLatin1String("--no-build"), Qt::CaseInsensitive) == 0) {
+ } else if (argument.compare(QLatin1String("--aab"), Qt::CaseInsensitive) == 0) {
+ options.buildAAB = true;
+ options.build = true;
+ } else if (options.buildAAB && argument.compare(QLatin1String("--no-build"), Qt::CaseInsensitive) == 0) {
options.build = false;
} else if (argument.compare(QLatin1String("--install"), Qt::CaseInsensitive) == 0) {
options.installApk = true;
@@ -388,10 +459,6 @@ Options parseOptions()
options.installLocation = arguments.at(++i);
} else if (argument.compare(QLatin1String("--release"), Qt::CaseInsensitive) == 0) {
options.releasePackage = true;
- } else if (argument.compare(QLatin1String("--gdbserver"), Qt::CaseInsensitive) == 0) {
- options.gdbServer = Options::True;
- } else if (argument.compare(QLatin1String("--no-gdbserver"), Qt::CaseInsensitive) == 0) {
- options.gdbServer = Options::False;
} else if (argument.compare(QLatin1String("--jdk"), Qt::CaseInsensitive) == 0) {
if (i + 1 == arguments.size())
options.helpRequested = true;
@@ -462,13 +529,13 @@ Options parseOptions()
options.generateAssetsFileList = false;
} else if (argument.compare(QLatin1String("--aux-mode"), Qt::CaseInsensitive) == 0) {
options.auxMode = true;
- } else if (argument.compare(QLatin1String("--no-strip"), Qt::CaseInsensitive) == 0) {
- options.stripLibraries = false;
+ } else if (argument.compare(QLatin1String("--qml-importscanner-binary"), Qt::CaseInsensitive) == 0) {
+ options.qmlImportScannerBinaryPath = arguments.at(++i).trimmed();
}
}
if (options.inputFileName.isEmpty())
- options.inputFileName = QString::fromLatin1("android-lib%1.so-deployment-settings.json").arg(QDir::current().dirName());
+ options.inputFileName = QLatin1String("android-lib%1.so-deployment-settings.json").arg(QDir::current().dirName());
options.timing = qEnvironmentVariableIsSet("ANDROIDDEPLOYQT_TIMING_OUTPUT");
@@ -497,6 +564,7 @@ void printHelp()
" --deployment <mechanism>: Supported deployment mechanisms:\n"
" bundled (default): Include Qt files in stand-alone package.\n"
" ministro: Use the Ministro service to manage Qt files.\n"
+ " --aab: Build an Android App Bundle.\n"
" --no-build: Do not build the package, it is useful to just install\n"
" a package previously built.\n"
" --install: Installs apk to device/emulator. By default this step is\n"
@@ -533,10 +601,6 @@ void printHelp()
" --protected: Keystore has protected authentication path.\n"
" --jarsigner: Force jarsigner usage, otherwise apksigner will be\n"
" used if available.\n"
- " --gdbserver: Adds the gdbserver to the package. By default the gdbserver\n"
- " is bundled for debug pacakges.\n"
- " --no-gdbserver: Prevents the gdbserver from being added to the package\n"
- " By default the gdbserver is bundled for debug pacakges.\n"
" --jdk <path/to/jdk>: Used to find the jarsigner tool when used\n"
" in combination with the --release argument. By default,\n"
" an attempt is made to detect the tool using the JAVA_HOME and\n"
@@ -549,8 +613,11 @@ void printHelp()
" --aux-mode: Operate in auxiliary mode. This will only copy the\n"
" dependencies into the build directory and update the XML templates.\n"
" The project will not be built or installed.\n"
- " --no-strip: Do not strip debug symbols from libraries.\n"
" --apk <path/where/to/copy/the/apk>: Path where to copy the built apk.\n"
+ " --qml-importscanner-binary <path/to/qmlimportscanner>: Override the\n"
+ " default qmlimportscanner binary path. By default the\n"
+ " qmlimportscanner binary is located using the Qt directory\n"
+ " specified in the input file.\n"
" --help: Displays this information.\n\n",
qPrintable(QCoreApplication::arguments().at(0))
);
@@ -580,9 +647,10 @@ bool alwaysOverwritableFile(const QString &fileName)
|| fileName.endsWith(QLatin1String("/src/org/qtproject/qt5/android/bindings/QtActivity.java")));
}
+
bool copyFileIfNewer(const QString &sourceFileName,
const QString &destinationFileName,
- bool verbose,
+ const Options &options,
bool forceOverwrite = false)
{
if (QFile::exists(destinationFileName)) {
@@ -592,7 +660,7 @@ bool copyFileIfNewer(const QString &sourceFileName,
if (!forceOverwrite
&& sourceFileInfo.lastModified() <= destinationFileInfo.lastModified()
&& !alwaysOverwritableFile(destinationFileName)) {
- if (verbose)
+ if (options.verbose)
fprintf(stdout, " -- Skipping file %s. Same or newer file already in place.\n", qPrintable(sourceFileName));
return true;
} else {
@@ -611,11 +679,10 @@ bool copyFileIfNewer(const QString &sourceFileName,
if (!QFile::exists(destinationFileName) && !QFile::copy(sourceFileName, destinationFileName)) {
fprintf(stderr, "Failed to copy %s to %s.\n", qPrintable(sourceFileName), qPrintable(destinationFileName));
return false;
- } else if (verbose) {
+ } else if (options.verbose) {
fprintf(stdout, " -- Copied %s\n", qPrintable(destinationFileName));
fflush(stdout);
}
-
return true;
}
@@ -708,7 +775,7 @@ QString packageNameFromAndroidManifest(const QString &androidManifestPath)
reader.attributes().value(QLatin1String("package")).toString());
}
}
- return QString();
+ return {};
}
bool readInputFile(Options *options)
@@ -750,13 +817,13 @@ bool readInputFile(Options *options)
{
- const QJsonValue value = jsonObject.value(QStringLiteral("sdkBuildToolsRevision"));
+ const QJsonValue value = jsonObject.value(QLatin1String("sdkBuildToolsRevision"));
if (!value.isUndefined())
options->sdkBuildToolsVersion = value.toString();
}
{
- const QJsonValue qtInstallDirectory = jsonObject.value(QStringLiteral("qt"));
+ const QJsonValue qtInstallDirectory = jsonObject.value(QLatin1String("qt"));
if (qtInstallDirectory.isUndefined()) {
fprintf(stderr, "No Qt directory in json file %s\n", qPrintable(options->inputFileName));
return false;
@@ -773,13 +840,13 @@ bool readInputFile(Options *options)
}
{
- const QJsonValue androidSourcesDirectory = jsonObject.value(QStringLiteral("android-package-source-directory"));
+ const QJsonValue androidSourcesDirectory = jsonObject.value(QLatin1String("android-package-source-directory"));
if (!androidSourcesDirectory.isUndefined())
options->androidSourceDirectory = androidSourcesDirectory.toString();
}
{
- const QJsonValue androidVersionName = jsonObject.value(QStringLiteral("android-version-name"));
+ const QJsonValue androidVersionName = jsonObject.value(QLatin1String("android-version-name"));
if (!androidVersionName.isUndefined())
options->versionName = androidVersionName.toString();
else
@@ -787,7 +854,7 @@ bool readInputFile(Options *options)
}
{
- const QJsonValue androidVersionCode = jsonObject.value(QStringLiteral("android-version-code"));
+ const QJsonValue androidVersionCode = jsonObject.value(QLatin1String("android-version-code"));
if (!androidVersionCode.isUndefined())
options->versionCode = androidVersionCode.toString();
else
@@ -795,55 +862,24 @@ bool readInputFile(Options *options)
}
{
- const QJsonValue applicationBinary = jsonObject.value(QStringLiteral("application-binary"));
- if (applicationBinary.isUndefined()) {
- fprintf(stderr, "No application binary defined in json file.\n");
- return false;
- }
- options->applicationBinary = applicationBinary.toString();
-
- if (!QFile::exists(options->applicationBinary)) {
- fprintf(stderr, "Cannot find application binary %s.\n", qPrintable(options->applicationBinary));
+ const QJsonObject targetArchitectures = jsonObject.value(QLatin1String("architectures")).toObject();
+ if (targetArchitectures.isEmpty()) {
+ fprintf(stderr, "No target architecture defined in json file.\n");
return false;
}
- }
-
- {
- const QJsonValue deploymentDependencies = jsonObject.value(QStringLiteral("deployment-dependencies"));
- if (!deploymentDependencies.isUndefined()) {
- QString deploymentDependenciesString = deploymentDependencies.toString();
- const auto dependencies = deploymentDependenciesString.splitRef(QLatin1Char(','));
- for (const QStringRef &dependency : dependencies) {
- QString path = options->qtInstallDirectory + QLatin1Char('/') + dependency;
- if (QFileInfo(path).isDir()) {
- QDirIterator iterator(path, QDirIterator::Subdirectories);
- while (iterator.hasNext()) {
- iterator.next();
- if (iterator.fileInfo().isFile()) {
- QString subPath = iterator.filePath();
- options->qtDependencies.append(QtDependency(subPath.mid(options->qtInstallDirectory.length() + 1),
- subPath));
- }
- }
- } else {
- options->qtDependencies.append(QtDependency(dependency.toString(), path));
- }
+ for (auto it = targetArchitectures.constBegin(); it != targetArchitectures.constEnd(); ++it) {
+ if (it.value().isUndefined()) {
+ fprintf(stderr, "Invalid architecure.\n");
+ return false;
}
+ if (it.value().isNull())
+ continue;
+ options->architectures.insert(it.key(), it.value().toString());
}
}
-
- {
- const QJsonValue targetArchitecture = jsonObject.value(QStringLiteral("target-architecture"));
- if (targetArchitecture.isUndefined()) {
- fprintf(stderr, "No target architecture defined in json file.\n");
- return false;
- }
- options->architecture = targetArchitecture.toString();
- }
-
{
- const QJsonValue ndk = jsonObject.value(QStringLiteral("ndk"));
+ const QJsonValue ndk = jsonObject.value(QLatin1String("ndk"));
if (ndk.isUndefined()) {
fprintf(stderr, "No NDK path defined in json file.\n");
return false;
@@ -852,12 +888,7 @@ bool readInputFile(Options *options)
}
{
- const QJsonValue value = jsonObject.value(QStringLiteral("useLLVM"));
- options->useLLVM = value.toBool(false);
- }
-
- {
- const QJsonValue toolchainPrefix = jsonObject.value(QStringLiteral("toolchain-prefix"));
+ const QJsonValue toolchainPrefix = jsonObject.value(QLatin1String("toolchain-prefix"));
if (toolchainPrefix.isUndefined()) {
fprintf(stderr, "No toolchain prefix defined in json file.\n");
return false;
@@ -866,26 +897,7 @@ bool readInputFile(Options *options)
}
{
- const QJsonValue toolPrefix = jsonObject.value(QStringLiteral("tool-prefix"));
- if (toolPrefix.isUndefined()) {
- fprintf(stderr, "Warning: No tool prefix defined in json file.\n");
- options->toolPrefix = options->toolchainPrefix;
- } else {
- options->toolPrefix = toolPrefix.toString();
- }
- }
-
- if (!options->useLLVM) {
- const QJsonValue toolchainVersion = jsonObject.value(QStringLiteral("toolchain-version"));
- if (toolchainVersion.isUndefined()) {
- fprintf(stderr, "No toolchain version defined in json file.\n");
- return false;
- }
- options->toolchainVersion = toolchainVersion.toString();
- }
-
- {
- const QJsonValue ndkHost = jsonObject.value(QStringLiteral("ndk-host"));
+ const QJsonValue ndkHost = jsonObject.value(QLatin1String("ndk-host"));
if (ndkHost.isUndefined()) {
fprintf(stderr, "No NDK host defined in json file.\n");
return false;
@@ -893,52 +905,106 @@ bool readInputFile(Options *options)
options->ndkHost = ndkHost.toString();
}
- options->packageName = packageNameFromAndroidManifest(options->androidSourceDirectory + QLatin1String("/AndroidManifest.xml"));
- if (options->packageName.isEmpty())
- options->packageName = cleanPackageName(QString::fromLatin1("org.qtproject.example.%1").arg(QFileInfo(options->applicationBinary).baseName().mid(sizeof("lib") - 1)));
-
{
- const QJsonValue extraLibs = jsonObject.value(QStringLiteral("android-extra-libs"));
+ const QJsonValue extraLibs = jsonObject.value(QLatin1String("android-extra-libs"));
if (!extraLibs.isUndefined())
options->extraLibs = extraLibs.toString().split(QLatin1Char(','), QString::SkipEmptyParts);
}
{
- const QJsonValue extraPlugins = jsonObject.value(QStringLiteral("android-extra-plugins"));
+ const QJsonValue extraPlugins = jsonObject.value(QLatin1String("android-extra-plugins"));
if (!extraPlugins.isUndefined())
options->extraPlugins = extraPlugins.toString().split(QLatin1Char(','));
}
{
- const QJsonValue stdcppPath = jsonObject.value(QStringLiteral("stdcpp-path"));
+ const QJsonValue stdcppPath = jsonObject.value(QLatin1String("stdcpp-path"));
if (stdcppPath.isUndefined()) {
fprintf(stderr, "No stdcpp-path defined in json file.\n");
return false;
}
options->stdCppPath = stdcppPath.toString();
- auto name = QFileInfo(options->stdCppPath).baseName();
- if (!name.startsWith(QLatin1String("lib"))) {
- fprintf(stderr, "Invalid STD C++ library name.\n");
- return false;
- }
- options->stdCppName = name.mid(3);
}
{
- const QJsonValue qmlRootPath = jsonObject.value(QStringLiteral("qml-root-path"));
+ const QJsonValue qmlRootPath = jsonObject.value(QLatin1String("qml-root-path"));
if (!qmlRootPath.isUndefined())
options->rootPath = qmlRootPath.toString();
}
{
- const QJsonValue qmlImportPaths = jsonObject.value(QStringLiteral("qml-import-paths"));
+ const QJsonValue qmlImportPaths = jsonObject.value(QLatin1String("qml-import-paths"));
if (!qmlImportPaths.isUndefined())
options->qmlImportPaths = qmlImportPaths.toString().split(QLatin1Char(','));
}
+
+ {
+ const QJsonValue qmlImportScannerBinaryPath = jsonObject.value(QLatin1String("qml-importscanner-binary"));
+ if (!qmlImportScannerBinaryPath.isUndefined())
+ options->qmlImportScannerBinaryPath = qmlImportScannerBinaryPath.toString();
+ }
+
+ {
+ const QJsonValue applicationBinary = jsonObject.value(QLatin1String("application-binary"));
+ if (applicationBinary.isUndefined()) {
+ fprintf(stderr, "No application binary defined in json file.\n");
+ return false;
+ }
+ options->applicationBinary = applicationBinary.toString();
+ if (options->build) {
+ for (auto it = options->architectures.constBegin(); it != options->architectures.constEnd(); ++it) {
+ if (!QFile::exists(QLatin1String("%1/libs/%2/lib%3_%2.so").arg(options->outputDirectory, it.key(), options->applicationBinary))) {
+ fprintf(stderr, "Cannot find application binary %s.\n", qPrintable(options->applicationBinary));
+ return false;
+ }
+ }
+ }
+ }
+
+ {
+ const QJsonValue deploymentDependencies = jsonObject.value(QLatin1String("deployment-dependencies"));
+ if (!deploymentDependencies.isUndefined()) {
+ QString deploymentDependenciesString = deploymentDependencies.toString();
+ const auto dependencies = deploymentDependenciesString.splitRef(QLatin1Char(','));
+ for (const QStringRef &dependency : dependencies) {
+ QString path = options->qtInstallDirectory + QLatin1Char('/') + dependency;
+ if (QFileInfo(path).isDir()) {
+ QDirIterator iterator(path, QDirIterator::Subdirectories);
+ while (iterator.hasNext()) {
+ iterator.next();
+ if (iterator.fileInfo().isFile()) {
+ QString subPath = iterator.filePath();
+ auto arch = fileArchitecture(*options, subPath);
+ if (!arch.isEmpty()) {
+ options->qtDependencies[arch].append(QtDependency(subPath.mid(options->qtInstallDirectory.length() + 1),
+ subPath));
+ } else if (options->verbose) {
+ fprintf(stderr, "Skipping \"%s\", unknown architecture\n", qPrintable(subPath));
+ fflush(stderr);
+ }
+ }
+ }
+ } else {
+ auto arch = fileArchitecture(*options, path);
+ if (!arch.isEmpty()) {
+ options->qtDependencies[arch].append(QtDependency(dependency.toString(), path));
+ } else if (options->verbose) {
+ fprintf(stderr, "Skipping \"%s\", unknown architecture\n", qPrintable(path));
+ fflush(stderr);
+ }
+ }
+ }
+ }
+ }
+
+ options->packageName = packageNameFromAndroidManifest(options->androidSourceDirectory + QLatin1String("/AndroidManifest.xml"));
+ if (options->packageName.isEmpty())
+ options->packageName = cleanPackageName(QLatin1String("org.qtproject.example.%1").arg(options->applicationBinary));
+
return true;
}
-bool copyFiles(const QDir &sourceDirectory, const QDir &destinationDirectory, bool verbose, bool forceOverwrite = false)
+bool copyFiles(const QDir &sourceDirectory, const QDir &destinationDirectory, const Options &options, bool forceOverwrite = false)
{
const QFileInfoList entries = sourceDirectory.entryInfoList(QDir::NoDotAndDotDot | QDir::Files | QDir::Dirs);
for (const QFileInfo &entry : entries) {
@@ -949,11 +1015,11 @@ bool copyFiles(const QDir &sourceDirectory, const QDir &destinationDirectory, bo
return false;
}
- if (!copyFiles(dir, QDir(destinationDirectory.path() + QLatin1String("/") + dir.dirName()), verbose, forceOverwrite))
+ if (!copyFiles(dir, QDir(destinationDirectory.path() + QLatin1Char('/') + dir.dirName()), options, forceOverwrite))
return false;
} else {
QString destination = destinationDirectory.absoluteFilePath(entry.fileName());
- if (!copyFileIfNewer(entry.absoluteFilePath(), destination, verbose, forceOverwrite))
+ if (!copyFileIfNewer(entry.absoluteFilePath(), destination, options, forceOverwrite))
return false;
}
}
@@ -993,7 +1059,7 @@ bool copyAndroidTemplate(const Options &options, const QString &androidTemplate,
return false;
}
- return copyFiles(sourceDirectory, QDir(outDir), options.verbose);
+ return copyFiles(sourceDirectory, QDir(outDir), options);
}
bool copyGradleTemplate(const Options &options)
@@ -1010,7 +1076,7 @@ bool copyGradleTemplate(const Options &options)
return false;
}
- return copyFiles(sourceDirectory, QDir(outDir), options.verbose);
+ return copyFiles(sourceDirectory, QDir(outDir), options);
}
bool copyAndroidTemplate(const Options &options)
@@ -1041,38 +1107,42 @@ bool copyAndroidSources(const Options &options)
return false;
}
- return copyFiles(sourceDirectory, QDir(options.outputDirectory), options.verbose, true);
+ return copyFiles(sourceDirectory, QDir(options.outputDirectory), options, true);
}
-bool copyAndroidExtraLibs(const Options &options)
+bool copyAndroidExtraLibs(Options *options)
{
- if (options.extraLibs.isEmpty())
+ if (options->extraLibs.isEmpty())
return true;
- if (options.verbose)
- fprintf(stdout, "Copying %d external libraries to package.\n", options.extraLibs.size());
+ if (options->verbose)
+ fprintf(stdout, "Copying %d external libraries to package.\n", options->extraLibs.size());
- for (const QString &extraLib : options.extraLibs) {
+ for (const QString &extraLib : options->extraLibs) {
QFileInfo extraLibInfo(extraLib);
if (!extraLibInfo.exists()) {
fprintf(stderr, "External library %s does not exist!\n", qPrintable(extraLib));
return false;
}
-
+ if (!checkArchitecture(*options, extraLibInfo.filePath())) {
+ if (options->verbose)
+ fprintf(stdout, "Skipping \"%s\", architecture mismatch.\n", qPrintable(extraLib));
+ continue;
+ }
if (!extraLibInfo.fileName().startsWith(QLatin1String("lib")) || extraLibInfo.suffix() != QLatin1String("so")) {
fprintf(stderr, "The file name of external library %s must begin with \"lib\" and end with the suffix \".so\".\n",
qPrintable(extraLib));
return false;
}
-
- QString destinationFile(options.outputDirectory
+ QString destinationFile(options->outputDirectory
+ QLatin1String("/libs/")
- + options.architecture
+ + options->currentArchitecture
+ QLatin1Char('/')
+ extraLibInfo.fileName());
- if (!copyFileIfNewer(extraLib, destinationFile, options.verbose))
+ if (!copyFileIfNewer(extraLib, destinationFile, *options))
return false;
+ options->archExtraLibs[options->currentArchitecture] += extraLib;
}
return true;
@@ -1093,15 +1163,15 @@ QStringList allFilesInside(const QDir& current, const QDir& rootDir)
return result;
}
-bool copyAndroidExtraResources(const Options &options)
+bool copyAndroidExtraResources(Options *options)
{
- if (options.extraPlugins.isEmpty())
+ if (options->extraPlugins.isEmpty())
return true;
- if (options.verbose)
- fprintf(stdout, "Copying %d external resources to package.\n", options.extraPlugins.size());
+ if (options->verbose)
+ fprintf(stdout, "Copying %d external resources to package.\n", options->extraPlugins.size());
- for (const QString &extraResource : options.extraPlugins) {
+ for (const QString &extraResource : options->extraPlugins) {
QFileInfo extraResourceInfo(extraResource);
if (!extraResourceInfo.exists() || !extraResourceInfo.isDir()) {
fprintf(stderr, "External resource %s does not exist or not a correct directory!\n", qPrintable(extraResource));
@@ -1109,8 +1179,8 @@ bool copyAndroidExtraResources(const Options &options)
}
QDir resourceDir(extraResource);
- QString assetsDir = options.outputDirectory + QStringLiteral("/assets/") + resourceDir.dirName() + QLatin1Char('/');
- QString libsDir = options.outputDirectory + QStringLiteral("/libs/") + options.architecture + QLatin1Char('/');
+ QString assetsDir = options->outputDirectory + QLatin1String("/assets/") + resourceDir.dirName() + QLatin1Char('/');
+ QString libsDir = options->outputDirectory + QLatin1String("/libs/") + options->currentArchitecture + QLatin1Char('/');
const QStringList files = allFilesInside(resourceDir, resourceDir);
for (const QString &resourceFile : files) {
@@ -1119,10 +1189,12 @@ bool copyAndroidExtraResources(const Options &options)
if (!resourceFile.endsWith(QLatin1String(".so"))) {
destinationFile = assetsDir + resourceFile;
} else {
- destinationFile = libsDir + QStringLiteral("/lib") + QString(resourceDir.dirName() + QLatin1Char('/') + resourceFile).replace(QLatin1Char('/'), QLatin1Char('_'));
+ if (!checkArchitecture(*options, originFile))
+ continue;
+ destinationFile = libsDir + QLatin1String("/lib") + QString(resourceDir.dirName() + QLatin1Char('/') + resourceFile).replace(QLatin1Char('/'), QLatin1Char('_'));
+ options->archExtraPlugins[options->currentArchitecture] += resourceFile;
}
-
- if (!copyFileIfNewer(originFile, destinationFile, options.verbose))
+ if (!copyFileIfNewer(originFile, destinationFile, *options))
return false;
}
}
@@ -1174,75 +1246,118 @@ bool updateFile(const QString &fileName, const QHash<QString, QString> &replacem
}
-bool updateLibsXml(const Options &options)
+bool updateLibsXml(Options *options)
{
- if (options.verbose)
+ if (options->verbose)
fprintf(stdout, " -- res/values/libs.xml\n");
- QString fileName = options.outputDirectory + QLatin1String("/res/values/libs.xml");
+ QString fileName = options->outputDirectory + QLatin1String("/res/values/libs.xml");
if (!QFile::exists(fileName)) {
fprintf(stderr, "Cannot find %s in prepared packaged. This file is required.\n", qPrintable(fileName));
return false;
}
- QString libsPath = QLatin1String("libs/") + options.architecture + QLatin1Char('/');
-
- QString qtLibs = QLatin1String("<item>") + options.stdCppName + QLatin1String("</item>\n");
+ QString qtLibs;
QString bundledInLibs;
QString bundledInAssets;
- for (const Options::BundledFile &bundledFile : options.bundledFiles) {
- if (bundledFile.second.startsWith(QLatin1String("lib/"))) {
- QString s = bundledFile.second.mid(sizeof("lib/lib") - 1);
- s.chop(sizeof(".so") - 1);
- qtLibs += QString::fromLatin1("<item>%1</item>\n").arg(s);
- } else if (bundledFile.first.startsWith(libsPath)) {
- QString s = bundledFile.first.mid(libsPath.length());
- bundledInLibs += QString::fromLatin1("<item>%1:%2</item>\n")
- .arg(s).arg(bundledFile.second);
- } else if (bundledFile.first.startsWith(QLatin1String("assets/"))) {
- QString s = bundledFile.first.mid(sizeof("assets/") - 1);
- bundledInAssets += QString::fromLatin1("<item>%1:%2</item>\n")
- .arg(s).arg(bundledFile.second);
- }
- }
-
- if (!options.extraPlugins.isEmpty()) {
- for (const QString &extraRes : options.extraPlugins) {
- QDir resourceDir(extraRes);
- const QStringList files = allFilesInside(resourceDir, resourceDir);
- for (const QString &file : files) {
- QString destinationPath = resourceDir.dirName() + QLatin1Char('/') + file;
- if (!file.endsWith(QLatin1String(".so"))) {
- bundledInAssets += QStringLiteral("<item>%1:%1</item>\n")
- .arg(destinationPath);
- } else {
- bundledInLibs += QStringLiteral("<item>lib%1:%2</item>\n")
- .arg(QString(destinationPath).replace(QLatin1Char('/'), QLatin1Char('_')))
- .arg(destinationPath);
+ QString allLocalLibs;
+ QString extraLibs;
+
+ for (auto it = options->architectures.constBegin(); it != options->architectures.constEnd(); ++it) {
+ QString libsPath = QLatin1String("libs/") + it.key() + QLatin1Char('/');
+
+ qtLibs += QLatin1String(" <item>%1;%2</item>\n").arg(it.key(), options->stdCppName);
+ for (const Options::BundledFile &bundledFile : options->bundledFiles[it.key()]) {
+ if (bundledFile.second.startsWith(QLatin1String("lib/"))) {
+ QString s = bundledFile.second.mid(sizeof("lib/lib") - 1);
+ s.chop(sizeof(".so") - 1);
+ qtLibs += QLatin1String(" <item>%1;%2</item>\n").arg(it.key(), s);
+ } else if (bundledFile.first.startsWith(libsPath)) {
+ QString s = bundledFile.first.mid(libsPath.length());
+ bundledInLibs += QString::fromLatin1(" <item>%1;%2:%3</item>\n")
+ .arg(it.key(), s, bundledFile.second);
+ } else if (bundledFile.first.startsWith(QLatin1String("assets/"))) {
+ QString s = bundledFile.first.mid(sizeof("assets/") - 1);
+ bundledInAssets += QString::fromLatin1(" <item>%1:%2</item>\n")
+ .arg(s, bundledFile.second);
+ }
+ }
+
+ if (!options->archExtraPlugins[it.key()].isEmpty()) {
+ for (const QString &extraRes : options->archExtraPlugins[it.key()]) {
+ QDir resourceDir(extraRes);
+ const QStringList files = allFilesInside(resourceDir, resourceDir);
+ for (const QString &file : files) {
+ QString destinationPath = resourceDir.dirName() + QLatin1Char('/') + file;
+ if (!file.endsWith(QLatin1String(".so"))) {
+ bundledInAssets += QLatin1String(" <item>%1:%1</item>\n")
+ .arg(destinationPath);
+ } else {
+ bundledInLibs += QLatin1String(" <item>%1;lib%2:%3</item>\n")
+ .arg(it.key(),
+ QString(destinationPath).replace(QLatin1Char('/'), QLatin1Char('_')),
+ destinationPath);
+ }
}
}
}
- }
- QHash<QString, QString> replacements;
- replacements[QLatin1String("<!-- %%INSERT_QT_LIBS%% -->")] = qtLibs;
+ if (!options->archExtraLibs[it.key()].isEmpty()) {
+ for (const QString &extraLib : options->archExtraLibs[it.key()]) {
+ QFileInfo extraLibInfo(extraLib);
+ QString name = extraLibInfo.fileName().mid(sizeof("lib") - 1);
+ name.chop(sizeof(".so") - 1);
+ extraLibs += QLatin1String(" <item>%1;%2").arg(it.key(), name);
+ }
+ }
- if (options.deploymentMechanism == Options::Bundled) {
- replacements[QLatin1String("<!-- %%INSERT_BUNDLED_IN_LIB%% -->")] = bundledInLibs;
- replacements[QLatin1String("<!-- %%INSERT_BUNDLED_IN_ASSETS%% -->")] = bundledInAssets;
- }
+ QStringList localLibs;
+ localLibs = options->localLibs[it.key()];
+ // If .pro file overrides dependency detection, we need to see which platform plugin they picked
+ if (localLibs.isEmpty()) {
+ QString plugin;
+ for (const QtDependency &qtDependency : options->qtDependencies[it.key()]) {
+ if (qtDependency.relativePath.endsWith(QLatin1String("libqtforandroid.so"))
+ || qtDependency.relativePath.endsWith(QLatin1String("libqtforandroidGL.so"))) {
+ if (!plugin.isEmpty() && plugin != qtDependency.relativePath) {
+ fprintf(stderr, "Both platform plugins libqtforandroid.so and libqtforandroidGL.so included in package. Please include only one.\n");
+ return false;
+ }
- QString extraLibs;
- if (!options.extraLibs.isEmpty()) {
- for (const QString extraLib : options.extraLibs) {
- QFileInfo extraLibInfo(extraLib);
- QString name = extraLibInfo.fileName().mid(sizeof("lib") - 1);
- name.chop(sizeof(".so") - 1);
+ plugin = qtDependency.relativePath;
+ }
+ if (qtDependency.relativePath.contains(QLatin1String("libQt5OpenGL"))
+ || qtDependency.relativePath.contains(QLatin1String("libQt5Quick"))) {
+ options->usesOpenGL |= true;
+ break;
+ }
+ }
+
+ if (plugin.isEmpty()) {
+ fflush(stdout);
+ fprintf(stderr, "No platform plugin, neither libqtforandroid.so or libqtforandroidGL.so, included in package. Please include one.\n");
+ fflush(stderr);
+ return false;
+ }
- extraLibs += QLatin1String("<item>") + name + QLatin1String("</item>\n");
+ localLibs.append(plugin);
+ if (options->verbose)
+ fprintf(stdout, " -- Using platform plugin %s\n", qPrintable(plugin));
}
+ allLocalLibs += QLatin1String(" <item>%1;%2</item>\n").arg(it.key(), localLibs.join(QLatin1Char(':'))
+ .replace(QLatin1String("lib/"), QString{})
+ .replace(QLatin1Char('/'), QLatin1Char('_')));
+ }
+
+ QHash<QString, QString> replacements;
+ replacements[QStringLiteral("<!-- %%INSERT_QT_LIBS%% -->")] += qtLibs.trimmed();
+ replacements[QStringLiteral("<!-- %%INSERT_LOCAL_LIBS%% -->")] = allLocalLibs.trimmed();
+ replacements[QStringLiteral("<!-- %%INSERT_EXTRA_LIBS%% -->")] = extraLibs.trimmed();
+
+ if (options->deploymentMechanism == Options::Bundled) {
+ replacements[QStringLiteral("<!-- %%INSERT_BUNDLED_IN_LIB%% -->")] += bundledInLibs.trimmed();
+ replacements[QStringLiteral("<!-- %%INSERT_BUNDLED_IN_ASSETS%% -->")] += bundledInAssets.trimmed();
}
- replacements[QLatin1String("<!-- %%INSERT_EXTRA_LIBS%% -->")] = extraLibs;
if (!updateFile(fileName, replacements))
return false;
@@ -1256,7 +1371,7 @@ bool updateStringsXml(const Options &options)
fprintf(stdout, " -- res/values/strings.xml\n");
QHash<QString, QString> replacements;
- replacements[QStringLiteral("<!-- %%INSERT_APP_NAME%% -->")] = QFileInfo(options.applicationBinary).baseName().mid(sizeof("lib") - 1);
+ replacements[QStringLiteral("<!-- %%INSERT_APP_NAME%% -->")] = options.applicationBinary;
QString fileName = options.outputDirectory + QLatin1String("/res/values/strings.xml");
if (!QFile::exists(fileName)) {
@@ -1268,7 +1383,7 @@ bool updateStringsXml(const Options &options)
return false;
}
file.write(QByteArray("<?xml version='1.0' encoding='utf-8'?><resources><string name=\"app_name\" translatable=\"false\">")
- .append(QFileInfo(options.applicationBinary).baseName().mid(sizeof("lib") - 1).toLatin1())
+ .append(options.applicationBinary.toLatin1())
.append("</string></resources>\n"));
return true;
}
@@ -1284,71 +1399,34 @@ bool updateAndroidManifest(Options &options)
if (options.verbose)
fprintf(stdout, " -- AndroidManifest.xml \n");
- QStringList localLibs = options.localLibs;
-
- // If .pro file overrides dependency detection, we need to see which platform plugin they picked
- if (localLibs.isEmpty()) {
- QString plugin;
- for (const QtDependency &qtDependency : qAsConst(options.qtDependencies)) {
- if (qtDependency.relativePath.endsWith(QLatin1String("libqtforandroid.so"))
- || qtDependency.relativePath.endsWith(QLatin1String("libqtforandroidGL.so"))) {
- if (!plugin.isEmpty() && plugin != qtDependency.relativePath) {
- fprintf(stderr, "Both platform plugins libqtforandroid.so and libqtforandroidGL.so included in package. Please include only one.\n");
- return false;
- }
-
- plugin = qtDependency.relativePath;
- }
- }
-
- if (plugin.isEmpty()) {
- fprintf(stderr, "No platform plugin, neither libqtforandroid.so or libqtforandroidGL.so, included in package. Please include one.\n");
- return false;
- }
-
- localLibs.append(plugin);
- if (options.verbose)
- fprintf(stdout, " -- Using platform plugin %s\n", qPrintable(plugin));
- }
-
- bool usesGL = false;
- for (const QtDependency &qtDependency : qAsConst(options.qtDependencies)) {
- if (qtDependency.relativePath.endsWith(QLatin1String("libQt5OpenGL.so"))
- || qtDependency.relativePath.endsWith(QLatin1String("libQt5Quick.so"))) {
- usesGL = true;
- break;
- }
- }
-
options.localJars.removeDuplicates();
options.initClasses.removeDuplicates();
QHash<QString, QString> replacements;
- replacements[QLatin1String("-- %%INSERT_APP_NAME%% --")] = QFileInfo(options.applicationBinary).baseName().mid(sizeof("lib") - 1);
- replacements[QLatin1String("-- %%INSERT_APP_LIB_NAME%% --")] = QFileInfo(options.applicationBinary).baseName().mid(sizeof("lib") - 1);
- replacements[QLatin1String("-- %%INSERT_LOCAL_LIBS%% --")] = localLibs.join(QLatin1Char(':'));
- replacements[QLatin1String("-- %%INSERT_LOCAL_JARS%% --")] = options.localJars.join(QLatin1Char(':'));
- replacements[QLatin1String("-- %%INSERT_INIT_CLASSES%% --")] = options.initClasses.join(QLatin1Char(':'));
- replacements[QLatin1String("-- %%INSERT_VERSION_NAME%% --")] = options.versionName;
- replacements[QLatin1String("-- %%INSERT_VERSION_CODE%% --")] = options.versionCode;
- replacements[QLatin1String("package=\"org.qtproject.example\"")] = QString::fromLatin1("package=\"%1\"").arg(options.packageName);
- replacements[QLatin1String("-- %%BUNDLE_LOCAL_QT_LIBS%% --")]
- = (options.deploymentMechanism == Options::Bundled) ? QString::fromLatin1("1") : QString::fromLatin1("0");
- replacements[QLatin1String("-- %%USE_LOCAL_QT_LIBS%% --")]
- = (options.deploymentMechanism != Options::Ministro) ? QString::fromLatin1("1") : QString::fromLatin1("0");
+ replacements[QStringLiteral("-- %%INSERT_APP_NAME%% --")] = options.applicationBinary;
+ replacements[QStringLiteral("-- %%INSERT_APP_LIB_NAME%% --")] = options.applicationBinary;
+ replacements[QStringLiteral("-- %%INSERT_LOCAL_JARS%% --")] = options.localJars.join(QLatin1Char(':'));
+ replacements[QStringLiteral("-- %%INSERT_INIT_CLASSES%% --")] = options.initClasses.join(QLatin1Char(':'));
+ replacements[QStringLiteral("-- %%INSERT_VERSION_NAME%% --")] = options.versionName;
+ replacements[QStringLiteral("-- %%INSERT_VERSION_CODE%% --")] = options.versionCode;
+ replacements[QStringLiteral("package=\"org.qtproject.example\"")] = QLatin1String("package=\"%1\"").arg(options.packageName);
+ replacements[QStringLiteral("-- %%BUNDLE_LOCAL_QT_LIBS%% --")]
+ = (options.deploymentMechanism == Options::Bundled) ? QLatin1String("1") : QLatin1String("0");
+ replacements[QStringLiteral("-- %%USE_LOCAL_QT_LIBS%% --")]
+ = (options.deploymentMechanism != Options::Ministro) ? QLatin1String("1") : QLatin1String("0");
QString permissions;
for (const QString &permission : qAsConst(options.permissions))
- permissions += QString::fromLatin1(" <uses-permission android:name=\"%1\" />\n").arg(permission);
- replacements[QLatin1String("<!-- %%INSERT_PERMISSIONS -->")] = permissions;
+ permissions += QLatin1String(" <uses-permission android:name=\"%1\" />\n").arg(permission);
+ replacements[QStringLiteral("<!-- %%INSERT_PERMISSIONS -->")] = permissions.trimmed();
QString features;
for (const QString &feature : qAsConst(options.features))
- features += QStringLiteral(" <uses-feature android:name=\"%1\" android:required=\"false\" />\n").arg(feature);
- if (usesGL)
- features += QStringLiteral(" <uses-feature android:glEsVersion=\"0x00020000\" android:required=\"true\" />");
+ features += QLatin1String(" <uses-feature android:name=\"%1\" android:required=\"false\" />\n").arg(feature);
+ if (options.usesOpenGL)
+ features += QLatin1String(" <uses-feature android:glEsVersion=\"0x00020000\" android:required=\"true\" />");
- replacements[QLatin1String("<!-- %%INSERT_FEATURES -->")] = features;
+ replacements[QStringLiteral("<!-- %%INSERT_FEATURES -->")] = features.trimmed();
QString androidManifestPath = options.outputDirectory + QLatin1String("/AndroidManifest.xml");
if (!updateFile(androidManifestPath, replacements))
@@ -1409,7 +1487,7 @@ bool updateAndroidFiles(Options &options)
if (options.verbose)
fprintf(stdout, "Updating Android package files with project settings.\n");
- if (!updateLibsXml(options))
+ if (!updateLibsXml(&options))
return false;
if (!updateAndroidManifest(options))
@@ -1466,7 +1544,7 @@ bool readAndroidDependencyXml(Options *options,
QSet<QString> *usedDependencies,
QSet<QString> *remainingDependencies)
{
- QString androidDependencyName = absoluteFilePath(options, QString::fromLatin1("/lib/%1-android-dependencies.xml").arg(moduleName));
+ QString androidDependencyName = absoluteFilePath(options, QLatin1String("/lib/%1-android-dependencies.xml").arg(moduleName));
QFile androidDependencyFile(androidDependencyName);
if (androidDependencyFile.exists()) {
@@ -1505,7 +1583,7 @@ bool readAndroidDependencyXml(Options *options,
if (options->verbose)
fprintf(stdout, "Appending dependency from xml: %s\n", qPrintable(fileName.relativePath));
- options->qtDependencies.append(fileName);
+ options->qtDependencies[options->currentArchitecture].append(fileName);
}
} else if (reader.name() == QLatin1String("jar")) {
int bundling = reader.attributes().value(QLatin1String("bundling")).toInt();
@@ -1513,7 +1591,7 @@ bool readAndroidDependencyXml(Options *options,
if (bundling == (options->deploymentMechanism == Options::Bundled)) {
QtDependency dependency(fileName, absoluteFilePath(options, fileName));
if (!usedDependencies->contains(dependency.absolutePath)) {
- options->qtDependencies.append(dependency);
+ options->qtDependencies[options->currentArchitecture].append(dependency);
usedDependencies->insert(dependency.absolutePath);
}
}
@@ -1529,15 +1607,15 @@ bool readAndroidDependencyXml(Options *options,
if (reader.attributes().hasAttribute(QLatin1String("replaces"))) {
QString replaces = reader.attributes().value(QLatin1String("replaces")).toString();
for (int i=0; i<options->localLibs.size(); ++i) {
- if (options->localLibs.at(i) == replaces) {
- options->localLibs[i] = fileName;
+ if (options->localLibs[options->currentArchitecture].at(i) == replaces) {
+ options->localLibs[options->currentArchitecture][i] = fileName;
break;
}
}
} else if (!fileName.isEmpty()) {
- options->localLibs.append(fileName);
+ options->localLibs[options->currentArchitecture].append(fileName);
}
- if (fileName.endsWith(QLatin1String(".so"))) {
+ if (fileName.endsWith(QLatin1String(".so")) && checkArchitecture(*options, fileName)) {
remainingDependencies->insert(fileName);
}
} else if (reader.name() == QLatin1String("permission")) {
@@ -1557,24 +1635,17 @@ bool readAndroidDependencyXml(Options *options,
} else if (options->verbose) {
fprintf(stdout, "No android dependencies for %s\n", qPrintable(moduleName));
}
+ options->permissions.removeDuplicates();
+ options->features.removeDuplicates();
return true;
}
QStringList getQtLibsFromElf(const Options &options, const QString &fileName)
{
- QString readElf = options.ndkPath
- + QLatin1String("/toolchains/")
- + options.toolchainPrefix;
-
- if (!options.useLLVM)
- readElf += QLatin1Char('-') + options.toolchainVersion;
-
- readElf += QLatin1String("/prebuilt/")
- + options.ndkHost
- + QLatin1String("/bin/")
- + options.toolPrefix +
- (options.useLLVM ? QLatin1String("-readobj") : QLatin1String("-readelf"));
+ QString readElf = QLatin1String("%1/toolchains/%2/prebuilt/%3/bin/llvm-readobj").arg(options.ndkPath,
+ options.toolchainPrefix,
+ options.ndkHost);
#if defined(Q_OS_WIN32)
readElf += QLatin1String(".exe");
#endif
@@ -1584,14 +1655,11 @@ QStringList getQtLibsFromElf(const Options &options, const QString &fileName)
return QStringList();
}
- if (options.useLLVM)
- readElf = QString::fromLatin1("%1 -needed-libs %2").arg(shellQuote(readElf), shellQuote(fileName));
- else
- readElf = QString::fromLatin1("%1 -d -W %2").arg(shellQuote(readElf), shellQuote(fileName));
+ readElf = QLatin1String("%1 -needed-libs %2").arg(shellQuote(readElf), shellQuote(fileName));
FILE *readElfCommand = openProcess(readElf);
if (!readElfCommand) {
- fprintf(stderr, "Cannot execute command %s", qPrintable(readElf));
+ fprintf(stderr, "Cannot execute command %s\n", qPrintable(readElf));
return QStringList();
}
@@ -1599,22 +1667,25 @@ QStringList getQtLibsFromElf(const Options &options, const QString &fileName)
bool readLibs = false;
char buffer[512];
- while (fgets(buffer, sizeof(buffer), readElfCommand) != 0) {
+ while (fgets(buffer, sizeof(buffer), readElfCommand) != nullptr) {
QByteArray line = QByteArray::fromRawData(buffer, qstrlen(buffer));
QString library;
- if (options.useLLVM) {
- line = line.trimmed();
- if (!readLibs) {
- readLibs = line.startsWith("NeededLibraries");
- continue;
+ line = line.trimmed();
+ if (!readLibs) {
+ if (line.startsWith("Arch: ")) {
+ auto it = elfArchitecures.find(line.mid(6));
+ if (it == elfArchitecures.constEnd() || *it != options.currentArchitecture.toLatin1()) {
+ if (options.verbose)
+ fprintf(stdout, "Skipping \"%s\", architecture mismatch\n", qPrintable(fileName));
+ return {};
+ }
}
- if (!line.startsWith("lib"))
- continue;
- library = QString::fromLatin1(line);
- } else if (line.contains("(NEEDED)") && line.contains("Shared library:")) {
- const int pos = line.lastIndexOf('[') + 1;
- library = QString::fromLatin1(line.mid(pos, line.length() - pos - 2));
+ readLibs = line.startsWith("NeededLibraries");
+ continue;
}
+ if (!line.startsWith("lib"))
+ continue;
+ library = QString::fromLatin1(line);
QString libraryName = QLatin1String("lib/") + library;
if (QFile::exists(absoluteFilePath(&options, libraryName)))
ret += libraryName;
@@ -1653,7 +1724,7 @@ bool readDependenciesFromElf(Options *options,
return false;
}
- options->qtDependencies.append(QtDependency(dependency, absoluteDependencyPath));
+ options->qtDependencies[options->currentArchitecture].append(QtDependency(dependency, absoluteDependencyPath));
if (options->verbose)
fprintf(stdout, "Appending dependency: %s\n", qPrintable(dependency));
dependenciesToCheck.append(dependency);
@@ -1677,10 +1748,15 @@ bool scanImports(Options *options, QSet<QString> *usedDependencies)
if (options->verbose)
fprintf(stdout, "Scanning for QML imports.\n");
- QString qmlImportScanner = options->qtInstallDirectory + QLatin1String("/bin/qmlimportscanner");
+ QString qmlImportScanner;
+ if (!options->qmlImportScannerBinaryPath.isEmpty()) {
+ qmlImportScanner = options->qmlImportScannerBinaryPath;
+ } else {
+ options->qtInstallDirectory + QLatin1String("/bin/qmlimportscanner");
#if defined(Q_OS_WIN32)
- qmlImportScanner += QLatin1String(".exe");
+ qmlImportScanner += QLatin1String(".exe");
#endif
+ }
if (!QFile::exists(qmlImportScanner)) {
fprintf(stderr, "qmlimportscanner not found: %s\n", qPrintable(qmlImportScanner));
@@ -1702,9 +1778,8 @@ bool scanImports(Options *options, QSet<QString> *usedDependencies)
for (const QString &qmlImportPath : qAsConst(options->qmlImportPaths))
importPaths += shellQuote(qmlImportPath);
- qmlImportScanner += QString::fromLatin1(" -rootPath %1 -importPath %2")
- .arg(shellQuote(rootPath))
- .arg(importPaths.join(QLatin1Char(' ')));
+ qmlImportScanner += QLatin1String(" -rootPath %1 -importPath %2")
+ .arg(shellQuote(rootPath), importPaths.join(QLatin1Char(' ')));
if (options->verbose) {
fprintf(stdout, "Running qmlimportscanner with the following command: %s\n",
@@ -1798,9 +1873,9 @@ bool scanImports(Options *options, QSet<QString> *usedDependencies)
// Put all imports in default import path in assets
fileName.relativePath.prepend(QLatin1String("qml/"));
- options->qtDependencies.append(fileName);
+ options->qtDependencies[options->currentArchitecture].append(fileName);
- if (fileName.absolutePath.endsWith(QLatin1String(".so"))) {
+ if (fileName.absolutePath.endsWith(QLatin1String(".so")) && checkArchitecture(*options, fileName.absolutePath)) {
QSet<QString> remainingDependencies;
if (!readDependenciesFromElf(options, fileName.absolutePath, usedDependencies, &remainingDependencies))
return false;
@@ -1819,7 +1894,7 @@ bool readDependencies(Options *options)
fprintf(stdout, "Detecting dependencies of application.\n");
// Override set in .pro file
- if (!options->qtDependencies.isEmpty()) {
+ if (!options->qtDependencies[options->currentArchitecture].isEmpty()) {
if (options->verbose)
fprintf(stdout, "\tDependencies explicitly overridden in .pro file. No detection needed.\n");
return true;
@@ -1829,11 +1904,7 @@ bool readDependencies(Options *options)
QSet<QString> remainingDependencies;
// Add dependencies of application binary first
- if (!readDependenciesFromElf(options, options->applicationBinary, &usedDependencies, &remainingDependencies))
- return false;
-
- // Jam in the dependencies of the platform plugin, since the application will crash without it
- if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
+ if (!readDependenciesFromElf(options, QLatin1String("%1/libs/%2/lib%3_%2.so").arg(options->outputDirectory, options->currentArchitecture, options->applicationBinary), &usedDependencies, &remainingDependencies))
return false;
while (!remainingDependencies.isEmpty()) {
@@ -1853,14 +1924,14 @@ bool readDependencies(Options *options)
}
}
- QStringList::iterator it = options->localLibs.begin();
- while (it != options->localLibs.end()) {
+ QStringList::iterator it = options->localLibs[options->currentArchitecture].begin();
+ while (it != options->localLibs[options->currentArchitecture].end()) {
QStringList unmetDependencies;
if (!goodToCopy(options, absoluteFilePath(options, *it), &unmetDependencies)) {
fprintf(stdout, "Skipping %s due to unmet dependencies: %s\n",
qPrintable(*it),
qPrintable(unmetDependencies.join(QLatin1Char(','))));
- it = options->localLibs.erase(it);
+ it = options->localLibs[options->currentArchitecture].erase(it);
} else {
++it;
}
@@ -1872,94 +1943,33 @@ bool readDependencies(Options *options)
return true;
}
-bool stripFile(const Options &options, const QString &fileName)
-{
- QString strip = options.ndkPath
- + QLatin1String("/toolchains/")
- + options.toolchainPrefix;
-
- if (!options.useLLVM)
- strip += QLatin1Char('-') + options.toolchainVersion;
-
- strip += QLatin1String("/prebuilt/")
- + options.ndkHost
- + QLatin1String("/bin/")
- + options.toolPrefix
- + QLatin1String("-strip");
-#if defined(Q_OS_WIN32)
- strip += QLatin1String(".exe");
-#endif
-
- if (!QFile::exists(strip)) {
- fprintf(stderr, "Command does not exist: %s\n", qPrintable(strip));
- return false;
- }
-
- if (options.useLLVM)
- strip = QString::fromLatin1("%1 -strip-all %2").arg(shellQuote(strip), shellQuote(fileName));
- else
- strip = QString::fromLatin1("%1 %2").arg(shellQuote(strip), shellQuote(fileName));
-
- FILE *stripCommand = openProcess(strip);
- if (stripCommand == 0) {
- fprintf(stderr, "Cannot execute command %s", qPrintable(strip));
- return false;
- }
-
- pclose(stripCommand);
-
- return true;
-}
-
-bool stripLibraries(const Options &options)
+bool containsApplicationBinary(Options *options)
{
- if (!options.stripLibraries)
+ if (!options->build)
return true;
- if (options.verbose)
- fprintf(stdout, "Stripping libraries to minimize size.\n");
-
- QString libraryPath = options.outputDirectory
- + QLatin1String("/libs/")
- + options.architecture;
- const QStringList libraries = QDir(libraryPath).entryList(QDir::Files);
- for (const QString &library : libraries) {
- if (library.endsWith(QLatin1String(".so"))) {
- if (!stripFile(options, libraryPath + QLatin1Char('/') + library))
- return false;
- }
- }
-
-
- return true;
-}
-
-bool containsApplicationBinary(const Options &options)
-{
- if (options.verbose)
+ if (options->verbose)
fprintf(stdout, "Checking if application binary is in package.\n");
- QFileInfo applicationBinary(options.applicationBinary);
- QString destinationFileName = options.outputDirectory
- + QLatin1String("/libs/")
- + options.architecture
- + QLatin1Char('/')
- + applicationBinary.fileName();
+ QFileInfo applicationBinary(options->applicationBinary);
+ QString applicationFileName = QLatin1String("lib%1_%2.so").arg(options->applicationBinary,
+ options->currentArchitecture);
- if (!QFile::exists(destinationFileName)) {
+ QString applicationPath = QLatin1String("%1/libs/%2/%3").arg(options->outputDirectory,
+ options->currentArchitecture,
+ applicationFileName);
+ if (!QFile::exists(applicationPath)) {
#if defined(Q_OS_WIN32)
QLatin1String makeTool("mingw32-make"); // Only Mingw host builds supported on Windows currently
#else
QLatin1String makeTool("make");
#endif
-
fprintf(stderr, "Application binary is not in output directory: %s. Please run '%s install INSTALL_ROOT=%s' first.\n",
- qPrintable(destinationFileName),
+ qPrintable(applicationFileName),
qPrintable(makeTool),
- qPrintable(options.outputDirectory));
+ qPrintable(options->outputDirectory));
return false;
}
-
return true;
}
@@ -1978,7 +1988,7 @@ FILE *runAdb(const Options &options, const QString &arguments)
if (!options.installLocation.isEmpty())
installOption = QLatin1String(" -s ") + shellQuote(options.installLocation);
- adb = QString::fromLatin1("%1%2 %3").arg(shellQuote(adb)).arg(installOption).arg(arguments);
+ adb = QLatin1String("%1%2 %3").arg(shellQuote(adb), installOption, arguments);
if (options.verbose)
fprintf(stdout, "Running command \"%s\"\n", adb.toLocal8Bit().constData());
@@ -1997,10 +2007,13 @@ bool goodToCopy(const Options *options, const QString &file, QStringList *unmetD
if (!file.endsWith(QLatin1String(".so")))
return true;
+ if (!checkArchitecture(*options, file))
+ return false;
+
bool ret = true;
const auto libs = getQtLibsFromElf(*options, file);
for (const QString &lib : libs) {
- if (!options->qtDependencies.contains(QtDependency(lib, absoluteFilePath(options, lib)))) {
+ if (!options->qtDependencies[options->currentArchitecture].contains(QtDependency(lib, absoluteFilePath(options, lib)))) {
ret = false;
unmetDependencies->append(lib);
}
@@ -2025,12 +2038,12 @@ bool copyQtFiles(Options *options)
if (!options->build)
return true;
+
QString libsDirectory = QLatin1String("libs/");
// Copy other Qt dependencies
- QString libDestinationDirectory = libsDirectory + options->architecture + QLatin1Char('/');
- QString assetsDestinationDirectory = QLatin1String("assets/--Added-by-androiddeployqt--/");
- for (const QtDependency &qtDependency : qAsConst(options->qtDependencies)) {
+ auto assetsDestinationDirectory = QLatin1String("assets/--Added-by-androiddeployqt--/");
+ for (const QtDependency &qtDependency : qAsConst(options->qtDependencies[options->currentArchitecture])) {
QString sourceFileName = qtDependency.absolutePath;
QString destinationFileName;
@@ -2039,12 +2052,9 @@ bool copyQtFiles(Options *options)
if (qtDependency.relativePath.startsWith(QLatin1String("lib/"))) {
garbledFileName = qtDependency.relativePath.mid(sizeof("lib/") - 1);
} else {
- garbledFileName = QLatin1String("lib")
- + QString(qtDependency.relativePath).replace(QLatin1Char('/'), QLatin1Char('_'));
-
+ garbledFileName = QString(qtDependency.relativePath).replace(QLatin1Char('/'), QLatin1Char('_'));
}
- destinationFileName = libDestinationDirectory + garbledFileName;
-
+ destinationFileName = libsDirectory + options->currentArchitecture + QLatin1Char('/') + garbledFileName;
} else if (qtDependency.relativePath.startsWith(QLatin1String("jar/"))) {
destinationFileName = libsDirectory + qtDependency.relativePath.mid(sizeof("jar/") - 1);
} else {
@@ -2058,20 +2068,34 @@ bool copyQtFiles(Options *options)
QStringList unmetDependencies;
if (!goodToCopy(options, sourceFileName, &unmetDependencies)) {
- fprintf(stdout, " -- Skipping %s. It has unmet dependencies: %s.\n",
- qPrintable(sourceFileName),
- qPrintable(unmetDependencies.join(QLatin1Char(','))));
+ if (unmetDependencies.isEmpty()) {
+ if (options->verbose) {
+ fprintf(stdout, " -- Skipping %s, architecture mismatch.\n",
+ qPrintable(sourceFileName));
+ }
+ } else {
+ if (unmetDependencies.isEmpty()) {
+ if (options->verbose) {
+ fprintf(stdout, " -- Skipping %s, architecture mismatch.\n",
+ qPrintable(sourceFileName));
+ }
+ } else {
+ fprintf(stdout, " -- Skipping %s. It has unmet dependencies: %s.\n",
+ qPrintable(sourceFileName),
+ qPrintable(unmetDependencies.join(QLatin1Char(','))));
+ }
+ }
continue;
}
if (options->deploymentMechanism == Options::Bundled
&& !copyFileIfNewer(sourceFileName,
options->outputDirectory + QLatin1Char('/') + destinationFileName,
- options->verbose)) {
+ *options)) {
return false;
}
- options->bundledFiles += qMakePair(destinationFileName, qtDependency.relativePath);
+ options->bundledFiles[options->currentArchitecture] += qMakePair(destinationFileName, qtDependency.relativePath);
}
return true;
@@ -2120,7 +2144,7 @@ bool createAndroidProject(const Options &options)
return false;
}
- QString androidTool = QString::fromLatin1("%1 update project --path %2 --target %3 --name QtApp")
+ QString androidTool = QLatin1String("%1 update project --path %2 --target %3 --name QtApp")
.arg(shellQuote(androidToolExecutable))
.arg(shellQuote(options.outputDirectory))
.arg(shellQuote(options.androidPlatform));
@@ -2142,7 +2166,7 @@ bool createAndroidProject(const Options &options)
if (options.verbose)
fprintf(stdout, "Updating subproject %s\n", qPrintable(libraryProject));
- androidTool = QString::fromLatin1("%1 update lib-project --path %2 --target %3")
+ androidTool = QLatin1String("%1 update lib-project --path %2 --target %3")
.arg(shellQuote(androidToolExecutable))
.arg(shellQuote(libraryProject))
.arg(shellQuote(options.androidPlatform));
@@ -2274,7 +2298,10 @@ bool buildAndroidProject(const Options &options)
return false;
}
- QString commandLine = QString::fromLatin1("%1 --no-daemon %2").arg(shellQuote(gradlePath)).arg(options.releasePackage ? QLatin1String(" assembleRelease") : QLatin1String(" assembleDebug"));
+ QString commandLine = QLatin1String("%1 --no-daemon %2").arg(shellQuote(gradlePath), options.releasePackage ? QLatin1String(" assembleRelease") : QLatin1String(" assembleDebug"));
+ if (options.buildAAB)
+ commandLine += QLatin1String(" bundle");
+
if (options.verbose)
commandLine += QLatin1String(" --info");
@@ -2335,28 +2362,38 @@ bool uninstallApk(const Options &options)
}
enum PackageType {
+ AAB,
UnsignedAPK,
SignedAPK
};
-QString apkPath(const Options &options, PackageType pt)
+QString packagePath(const Options &options, PackageType pt)
{
QString path(options.outputDirectory);
- path += QLatin1String("/build/outputs/apk/");
+ path += QLatin1String("/build/outputs/%1/").arg(pt >= UnsignedAPK ? QStringLiteral("apk") : QStringLiteral("bundle"));
QString buildType(options.releasePackage ? QLatin1String("release/") : QLatin1String("debug/"));
if (QDir(path + buildType).exists())
path += buildType;
path += QDir(options.outputDirectory).dirName() + QLatin1Char('-');
if (options.releasePackage) {
path += QLatin1String("release-");
- if (pt == UnsignedAPK)
- path += QLatin1String("un");
- path += QLatin1String("signed.apk");
+ if (pt >= UnsignedAPK) {
+ if (pt == UnsignedAPK)
+ path += QLatin1String("un");
+ path += QLatin1String("signed.apk");
+ } else {
+ path.chop(1);
+ path += QLatin1String(".aab");
+ }
} else {
path += QLatin1String("debug");
- if (pt == SignedAPK)
- path += QLatin1String("-signed");
- path += QLatin1String(".apk");
+ if (pt >= UnsignedAPK) {
+ if (pt == SignedAPK)
+ path += QLatin1String("-signed");
+ path += QLatin1String(".apk");
+ } else {
+ path += QLatin1String(".aab");
+ }
}
return shellQuote(path);
}
@@ -2373,7 +2410,7 @@ bool installApk(const Options &options)
FILE *adbCommand = runAdb(options,
QLatin1String(" install -r ")
- + apkPath(options, options.keyStore.isEmpty() ? UnsignedAPK
+ + packagePath(options, options.keyStore.isEmpty() ? UnsignedAPK
: SignedAPK));
if (adbCommand == 0)
return false;
@@ -2399,7 +2436,7 @@ bool installApk(const Options &options)
bool copyPackage(const Options &options)
{
fflush(stdout);
- auto from = apkPath(options, options.keyStore.isEmpty() ? UnsignedAPK : SignedAPK);
+ auto from = packagePath(options, options.keyStore.isEmpty() ? UnsignedAPK : SignedAPK);
QFile::remove(options.apkPath);
return QFile::copy(from, options.apkPath);
}
@@ -2409,21 +2446,18 @@ bool copyStdCpp(Options *options)
if (options->verbose)
fprintf(stdout, "Copying STL library\n");
- if (!QFile::exists(options->stdCppPath)) {
- fprintf(stderr, "STL library does not exist at %s\n", qPrintable(options->stdCppPath));
- return false;
- }
-
- const QString destinationDirectory = options->outputDirectory
- + QLatin1String("/libs/") + options->architecture;
-
- if (!copyFileIfNewer(options->stdCppPath, destinationDirectory + QLatin1String("/lib")
- + options->stdCppName + QLatin1String(".so"),
- options->verbose)) {
+ QString stdCppPath = QLatin1String("%1/%2/lib%3.so").arg(options->stdCppPath, options->architectures[options->currentArchitecture], options->stdCppName);
+ if (!QFile::exists(stdCppPath)) {
+ fprintf(stderr, "STL library does not exist at %s\n", qPrintable(stdCppPath));
+ fflush(stdout);
+ fflush(stderr);
return false;
}
- return true;
+ const QString destinationFile = QLatin1String("%1/libs/%2/lib%3.so").arg(options->outputDirectory,
+ options->currentArchitecture,
+ options->stdCppName);
+ return copyFileIfNewer(stdCppPath, destinationFile, *options);
}
bool jarSignerSignPackage(const Options &options)
@@ -2437,9 +2471,9 @@ bool jarSignerSignPackage(const Options &options)
jdkPath = QString::fromLocal8Bit(qgetenv("JAVA_HOME"));
#if defined(Q_OS_WIN32)
- QString jarSignerTool = QString::fromLatin1("jarsigner.exe");
+ QString jarSignerTool = QLatin1String("jarsigner.exe");
#else
- QString jarSignerTool = QString::fromLatin1("jarsigner");
+ QString jarSignerTool = QLatin1String("jarsigner");
#endif
if (jdkPath.isEmpty() || !QFile::exists(jdkPath + QLatin1String("/bin/") + jarSignerTool))
@@ -2452,29 +2486,29 @@ bool jarSignerSignPackage(const Options &options)
return false;
}
- jarSignerTool = QString::fromLatin1("%1 -sigalg %2 -digestalg %3 -keystore %4")
- .arg(shellQuote(jarSignerTool)).arg(shellQuote(options.sigAlg)).arg(shellQuote(options.digestAlg)).arg(shellQuote(options.keyStore));
+ jarSignerTool = QLatin1String("%1 -sigalg %2 -digestalg %3 -keystore %4")
+ .arg(shellQuote(jarSignerTool), shellQuote(options.sigAlg), shellQuote(options.digestAlg), shellQuote(options.keyStore));
if (!options.keyStorePassword.isEmpty())
- jarSignerTool += QString::fromLatin1(" -storepass %1").arg(shellQuote(options.keyStorePassword));
+ jarSignerTool += QLatin1String(" -storepass %1").arg(shellQuote(options.keyStorePassword));
if (!options.storeType.isEmpty())
- jarSignerTool += QString::fromLatin1(" -storetype %1").arg(shellQuote(options.storeType));
+ jarSignerTool += QLatin1String(" -storetype %1").arg(shellQuote(options.storeType));
if (!options.keyPass.isEmpty())
- jarSignerTool += QString::fromLatin1(" -keypass %1").arg(shellQuote(options.keyPass));
+ jarSignerTool += QLatin1String(" -keypass %1").arg(shellQuote(options.keyPass));
if (!options.sigFile.isEmpty())
- jarSignerTool += QString::fromLatin1(" -sigfile %1").arg(shellQuote(options.sigFile));
+ jarSignerTool += QLatin1String(" -sigfile %1").arg(shellQuote(options.sigFile));
if (!options.signedJar.isEmpty())
- jarSignerTool += QString::fromLatin1(" -signedjar %1").arg(shellQuote(options.signedJar));
+ jarSignerTool += QLatin1String(" -signedjar %1").arg(shellQuote(options.signedJar));
if (!options.tsaUrl.isEmpty())
- jarSignerTool += QString::fromLatin1(" -tsa %1").arg(shellQuote(options.tsaUrl));
+ jarSignerTool += QLatin1String(" -tsa %1").arg(shellQuote(options.tsaUrl));
if (!options.tsaCert.isEmpty())
- jarSignerTool += QString::fromLatin1(" -tsacert %1").arg(shellQuote(options.tsaCert));
+ jarSignerTool += QLatin1String(" -tsacert %1").arg(shellQuote(options.tsaCert));
if (options.internalSf)
jarSignerTool += QLatin1String(" -internalsf");
@@ -2485,29 +2519,39 @@ bool jarSignerSignPackage(const Options &options)
if (options.protectedAuthenticationPath)
jarSignerTool += QLatin1String(" -protected");
- jarSignerTool += QString::fromLatin1(" %1 %2")
- .arg(apkPath(options, UnsignedAPK))
- .arg(shellQuote(options.keyStoreAlias));
+ auto signPackage = [&](const QString &file) {
+ fprintf(stdout, "Signing file %s\n", qPrintable(file));
+ fflush(stdout);
+ auto command = jarSignerTool + QLatin1String(" %1 %2")
+ .arg(file)
+ .arg(shellQuote(options.keyStoreAlias));
- FILE *jarSignerCommand = openProcess(jarSignerTool);
- if (jarSignerCommand == 0) {
- fprintf(stderr, "Couldn't run jarsigner.\n");
- return false;
- }
+ FILE *jarSignerCommand = openProcess(command);
+ if (jarSignerCommand == 0) {
+ fprintf(stderr, "Couldn't run jarsigner.\n");
+ return false;
+ }
- if (options.verbose) {
- char buffer[512];
- while (fgets(buffer, sizeof(buffer), jarSignerCommand) != 0)
- fprintf(stdout, "%s", buffer);
- }
+ if (options.verbose) {
+ char buffer[512];
+ while (fgets(buffer, sizeof(buffer), jarSignerCommand) != 0)
+ fprintf(stdout, "%s", buffer);
+ }
- int errorCode = pclose(jarSignerCommand);
- if (errorCode != 0) {
- fprintf(stderr, "jarsigner command failed.\n");
- if (!options.verbose)
- fprintf(stderr, " -- Run with --verbose for more information.\n");
+ int errorCode = pclose(jarSignerCommand);
+ if (errorCode != 0) {
+ fprintf(stderr, "jarsigner command failed.\n");
+ if (!options.verbose)
+ fprintf(stderr, " -- Run with --verbose for more information.\n");
+ return false;
+ }
+ return true;
+ };
+
+ if (!signPackage(packagePath(options, UnsignedAPK)))
+ return false;
+ if (options.buildAAB && !signPackage(packagePath(options, AAB)))
return false;
- }
QString zipAlignTool = options.sdkPath + QLatin1String("/tools/zipalign");
#if defined(Q_OS_WIN32)
@@ -2525,11 +2569,11 @@ bool jarSignerSignPackage(const Options &options)
}
}
- zipAlignTool = QString::fromLatin1("%1%2 -f 4 %3 %4")
- .arg(shellQuote(zipAlignTool))
- .arg(options.verbose ? QString::fromLatin1(" -v") : QString())
- .arg(apkPath(options, UnsignedAPK))
- .arg(apkPath(options, SignedAPK));
+ zipAlignTool = QLatin1String("%1%2 -f 4 %3 %4")
+ .arg(shellQuote(zipAlignTool),
+ options.verbose ? QLatin1String(" -v") : QLatin1String(),
+ packagePath(options, UnsignedAPK),
+ packagePath(options, SignedAPK));
FILE *zipAlignCommand = openProcess(zipAlignTool);
if (zipAlignCommand == 0) {
@@ -2541,7 +2585,7 @@ bool jarSignerSignPackage(const Options &options)
while (fgets(buffer, sizeof(buffer), zipAlignCommand) != 0)
fprintf(stdout, "%s", buffer);
- errorCode = pclose(zipAlignCommand);
+ int errorCode = pclose(zipAlignCommand);
if (errorCode != 0) {
fprintf(stderr, "zipalign command failed.\n");
if (!options.verbose)
@@ -2549,7 +2593,7 @@ bool jarSignerSignPackage(const Options &options)
return false;
}
- return QFile::remove(apkPath(options, UnsignedAPK));
+ return QFile::remove(packagePath(options, UnsignedAPK));
}
bool signPackage(const Options &options)
@@ -2580,11 +2624,11 @@ bool signPackage(const Options &options)
}
}
- zipAlignTool = QString::fromLatin1("%1%2 -f 4 %3 %4")
- .arg(shellQuote(zipAlignTool))
- .arg(options.verbose ? QString::fromLatin1(" -v") : QString())
- .arg(apkPath(options, UnsignedAPK))
- .arg(apkPath(options, SignedAPK));
+ zipAlignTool = QLatin1String("%1%2 -f 4 %3 %4")
+ .arg(shellQuote(zipAlignTool),
+ options.verbose ? QLatin1String(" -v") : QLatin1String(),
+ packagePath(options, UnsignedAPK),
+ packagePath(options, SignedAPK));
FILE *zipAlignCommand = openProcess(zipAlignTool);
if (zipAlignCommand == 0) {
@@ -2604,23 +2648,23 @@ bool signPackage(const Options &options)
return false;
}
- QString apkSignerCommandLine = QString::fromLatin1("%1 sign --ks %2")
- .arg(shellQuote(apksignerTool)).arg(shellQuote(options.keyStore));
+ QString apkSignerCommandLine = QLatin1String("%1 sign --ks %2")
+ .arg(shellQuote(apksignerTool), shellQuote(options.keyStore));
if (!options.keyStorePassword.isEmpty())
- apkSignerCommandLine += QString::fromLatin1(" --ks-pass pass:%1").arg(shellQuote(options.keyStorePassword));
+ apkSignerCommandLine += QLatin1String(" --ks-pass pass:%1").arg(shellQuote(options.keyStorePassword));
if (!options.keyStoreAlias.isEmpty())
- apkSignerCommandLine += QString::fromLatin1(" --ks-key-alias %1").arg(shellQuote(options.keyStoreAlias));
+ apkSignerCommandLine += QLatin1String(" --ks-key-alias %1").arg(shellQuote(options.keyStoreAlias));
if (!options.keyPass.isEmpty())
- apkSignerCommandLine += QString::fromLatin1(" --key-pass pass:%1").arg(shellQuote(options.keyPass));
+ apkSignerCommandLine += QLatin1String(" --key-pass pass:%1").arg(shellQuote(options.keyPass));
if (options.verbose)
apkSignerCommandLine += QLatin1String(" --verbose");
- apkSignerCommandLine += QString::fromLatin1(" %1")
- .arg(apkPath(options, SignedAPK));
+ apkSignerCommandLine += QLatin1String(" %1")
+ .arg(packagePath(options, SignedAPK));
auto apkSignerRunner = [&] {
FILE *apkSignerCommand = openProcess(apkSignerCommandLine);
@@ -2647,60 +2691,11 @@ bool signPackage(const Options &options)
if (!apkSignerRunner())
return false;
- apkSignerCommandLine = QString::fromLatin1("%1 verify --verbose %2")
- .arg(shellQuote(apksignerTool)).arg(apkPath(options, SignedAPK));
+ apkSignerCommandLine = QLatin1String("%1 verify --verbose %2")
+ .arg(shellQuote(apksignerTool), packagePath(options, SignedAPK));
// Verify the package and remove the unsigned apk
- return apkSignerRunner() && QFile::remove(apkPath(options, UnsignedAPK));
-}
-
-bool copyGdbServer(const Options &options)
-{
- if (options.verbose)
- fprintf(stdout, "Copying gdbserver into package.\n");
-
- QString architectureSubDirectory;
- if (options.architecture == QLatin1String("arm64-v8a"))
- architectureSubDirectory = QLatin1String("android-arm64");
- else if (options.architecture.startsWith(QLatin1String("arm")))
- architectureSubDirectory = QLatin1String("android-arm");
- else
- architectureSubDirectory = QLatin1String("android-") + options.architecture;
-
- QString gdbServerBinary = options.ndkPath
- + QLatin1String("/prebuilt/")
- + architectureSubDirectory
- + QLatin1String("/gdbserver/gdbserver");
- if (!QFile::exists(gdbServerBinary)) {
- fprintf(stderr, "Cannot find gdbserver at %s.\n", qPrintable(gdbServerBinary));
- return false;
- }
-
- QString gdbServerTarget = options.outputDirectory + QLatin1String("/libs/") + options.architecture;
-
- if (!copyFileIfNewer(gdbServerBinary,
- gdbServerTarget + QLatin1String("/gdbserver"),
- options.verbose)
- || !copyFileIfNewer(gdbServerBinary,
- gdbServerTarget + QLatin1String("/libgdbserver.so"),
- options.verbose)) {
- return false;
- }
-
- QString addedByAndroidDeployQtPath = options.outputDirectory + QLatin1String("/assets/--Added-by-androiddeployqt--/");
- if (!QDir().mkpath(addedByAndroidDeployQtPath)) {
- fprintf(stderr, "Failed to create directory '%s'", qPrintable(addedByAndroidDeployQtPath));
- return false;
- }
- QFile f(addedByAndroidDeployQtPath + QLatin1String("debugger.command"));
- if (!f.open(QIODevice::WriteOnly)) {
- fprintf(stderr, "Failed to create directory '%s'", qPrintable(addedByAndroidDeployQtPath));
- return false;
- }
- f.write("lib/libgdbserver.so --multi +");
- f.close();
-
- return true;
+ return apkSignerRunner() && QFile::remove(packagePath(options, UnsignedAPK));
}
bool generateAssetsFileList(const Options &options)
@@ -2726,7 +2721,7 @@ bool generateAssetsFileList(const Options &options)
const QString name = dirIterator.next().mid(assetsPath.length());
int slashIndex = name.lastIndexOf(QLatin1Char('/'));
- QString pathName = slashIndex >= 0 ? name.left(slashIndex) : QString::fromLatin1("/");
+ QString pathName = slashIndex >= 0 ? name.left(slashIndex) : QStringLiteral("/");
QString fileName = slashIndex >= 0 ? name.mid(pathName.length() + 1) : name;
if (!fileName.isEmpty() && dirIterator.fileInfo().isDir() && !fileName.endsWith(QLatin1Char('/')))
@@ -2764,8 +2759,6 @@ enum ErrorCode
CannotCopyGnuStl = 5,
CannotCopyQtFiles = 6,
CannotFindApplicationBinary = 7,
- CannotCopyGdbServer = 8,
- CannotStripLibraries = 9,
CannotCopyAndroidExtraLibs = 10,
CannotCopyAndroidSources = 11,
CannotUpdateAndroidFiles = 12,
@@ -2813,25 +2806,7 @@ int main(int argc, char *argv[])
: "No"
);
- if (options.auxMode) {
- if (!readDependencies(&options))
- return CannotReadDependencies;
- if (!copyQtFiles(&options))
- return CannotCopyQtFiles;
- if (!copyAndroidExtraResources(options))
- return CannotCopyAndroidExtraResources;
- if (!copyAndroidExtraLibs(options))
- return CannotCopyAndroidExtraLibs;
- if (!stripLibraries(options))
- return CannotStripLibraries;
- if (!updateAndroidFiles(options))
- return CannotUpdateAndroidFiles;
- if (options.generateAssetsFileList && !generateAssetsFileList(options))
- return CannotGenerateAssetsFileList;
- return 0;
- }
-
- if (options.build) {
+ if (options.build && !options.auxMode) {
cleanAndroidFiles(options);
if (Q_UNLIKELY(options.timing))
fprintf(stdout, "[TIMING] %d ms: Cleaned Android file\n", options.timer.elapsed());
@@ -2843,60 +2818,68 @@ int main(int argc, char *argv[])
fprintf(stdout, "[TIMING] %d ms: Copied Android template\n", options.timer.elapsed());
}
- if (!readDependencies(&options))
- return CannotReadDependencies;
+ for (auto it = options.architectures.constBegin(); it != options.architectures.constEnd(); ++it) {
+ options.clear(it.key());
- if (Q_UNLIKELY(options.timing))
- fprintf(stdout, "[TIMING] %d ms: Read dependencies\n", options.timer.elapsed());
-
- if (options.deploymentMechanism != Options::Ministro && !copyStdCpp(&options))
- return CannotCopyGnuStl;
+ if (!readDependencies(&options))
+ return CannotReadDependencies;
- if (Q_UNLIKELY(options.timing))
- fprintf(stdout, "[TIMING] %d ms: Copied GNU STL\n", options.timer.elapsed());
+ if (Q_UNLIKELY(options.timing))
+ fprintf(stdout, "[TIMING] %d ms: Read dependencies\n", options.timer.elapsed());
- if (!copyQtFiles(&options))
- return CannotCopyQtFiles;
+ if (!copyQtFiles(&options))
+ return CannotCopyQtFiles;
- if (options.build) {
if (Q_UNLIKELY(options.timing))
fprintf(stdout, "[TIMING] %d ms: Copied Qt files\n", options.timer.elapsed());
- if (!containsApplicationBinary(options))
- return CannotFindApplicationBinary;
+ if (!copyAndroidExtraLibs(&options))
+ return CannotCopyAndroidExtraLibs;
if (Q_UNLIKELY(options.timing))
- fprintf(stdout, "[TIMING] %d ms: Checked for application binary\n", options.timer.elapsed());
+ fprintf(stdout, "[TIMING] %d ms: Copied extra libs\n", options.timer.elapsed());
- bool needToCopyGdbServer = options.gdbServer == Options::True
- || (options.gdbServer == Options::Auto && !options.releasePackage);
- if (needToCopyGdbServer && !copyGdbServer(options))
- return CannotCopyGdbServer;
+ if (!copyAndroidExtraResources(&options))
+ return CannotCopyAndroidExtraResources;
if (Q_UNLIKELY(options.timing))
- fprintf(stdout, "[TIMING] %d ms: Copied GDB server\n", options.timer.elapsed());
+ fprintf(stdout, "[TIMING] %d ms: Copied extra resources\n", options.timer.elapsed());
- if (!copyAndroidExtraLibs(options))
- return CannotCopyAndroidExtraLibs;
+ if (!options.auxMode) {
+ if (options.deploymentMechanism != Options::Ministro && !copyStdCpp(&options))
+ return CannotCopyGnuStl;
+
+ if (Q_UNLIKELY(options.timing))
+ fprintf(stdout, "[TIMING] %d ms: Copied GNU STL\n", options.timer.elapsed());
+ }
+
+ if (!containsApplicationBinary(&options))
+ return CannotFindApplicationBinary;
if (Q_UNLIKELY(options.timing))
- fprintf(stdout, "[TIMING] %d ms: Copied extra libs\n", options.timer.elapsed());
+ fprintf(stdout, "[TIMING] %d ms: Checked for application binary\n", options.timer.elapsed());
- if (!copyAndroidExtraResources(options))
- return CannotCopyAndroidExtraResources;
+ if (options.deploymentMechanism != Options::Ministro) {
+ if (Q_UNLIKELY(options.timing))
+ fprintf(stdout, "[TIMING] %d ms: Bundled Qt libs\n", options.timer.elapsed());
+ }
+ }
+
+ if (options.auxMode) {
+ if (!updateAndroidFiles(options))
+ return CannotUpdateAndroidFiles;
+ if (options.generateAssetsFileList && !generateAssetsFileList(options))
+ return CannotGenerateAssetsFileList;
+ return 0;
+ }
+ if (options.build) {
if (!copyAndroidSources(options))
return CannotCopyAndroidSources;
if (Q_UNLIKELY(options.timing))
fprintf(stdout, "[TIMING] %d ms: Copied android sources\n", options.timer.elapsed());
- if (!stripLibraries(options))
- return CannotStripLibraries;
-
- if (Q_UNLIKELY(options.timing))
- fprintf(stdout, "[TIMING] %d ms: Stripped libraries\n", options.timer.elapsed());
-
if (!updateAndroidFiles(options))
return CannotUpdateAndroidFiles;
@@ -2936,7 +2919,7 @@ int main(int argc, char *argv[])
if (options.installApk)
fprintf(stdout, " -- It can now be run from the selected device/emulator.\n");
- fprintf(stdout, " -- File: %s\n", qPrintable(apkPath(options, options.keyStore.isEmpty() ? UnsignedAPK
+ fprintf(stdout, " -- File: %s\n", qPrintable(packagePath(options, options.keyStore.isEmpty() ? UnsignedAPK
: SignedAPK)));
fflush(stdout);
return 0;
diff --git a/src/tools/androidtestrunner/main.cpp b/src/tools/androidtestrunner/main.cpp
index e6d6f72354..f61d407d4a 100644
--- a/src/tools/androidtestrunner/main.cpp
+++ b/src/tools/androidtestrunner/main.cpp
@@ -362,7 +362,7 @@ static bool parseTestArgs()
g_options.testArgs += QStringLiteral(" -o output.%1,%1").arg(format);
g_options.testArgs += unhandledArgs;
- g_options.testArgs = QStringLiteral("shell am start -e applicationArguments \"'%1'\" -n %2/%3").arg(shellQuote(g_options.testArgs.trimmed()),
+ g_options.testArgs = QStringLiteral("shell am start -e applicationArguments \\\"%1\\\" -n %2/%3").arg(shellQuote(g_options.testArgs.trimmed()),
g_options.package,
g_options.activity);
return true;
@@ -409,7 +409,7 @@ static bool pullFiles()
return false;
}
auto checkerIt = g_options.checkFiles.find(it.key());
- ret &= checkerIt != g_options.checkFiles.end() && checkerIt.value()(output);
+ ret = ret && checkerIt != g_options.checkFiles.end() && checkerIt.value()(output);
if (it.value() == QStringLiteral("-")){
fprintf(stdout, "%s", output.constData());
fflush(stdout);
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index 32e36cefa0..f9ffd1bbea 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -85,7 +85,10 @@ SOURCES += \
../../corelib/text/qstringlist.cpp \
../../corelib/text/qstringview.cpp \
../../corelib/text/qvsnprintf.cpp \
+ ../../corelib/time/qcalendar.cpp \
../../corelib/time/qdatetime.cpp \
+ ../../corelib/time/qgregoriancalendar.cpp \
+ ../../corelib/time/qromancalendar.cpp \
../../corelib/tools/qarraydata.cpp \
../../corelib/tools/qbitarray.cpp \
../../corelib/tools/qcommandlineparser.cpp \
diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp
index b9a9cf264f..c7269bed5f 100644
--- a/src/tools/qlalr/lalr.cpp
+++ b/src/tools/qlalr/lalr.cpp
@@ -297,6 +297,12 @@ void Automaton::build ()
buildDefaultReduceActions ();
}
+#if defined(__cpp_lib_not_fn) && __cpp_lib_not_fn >= 201603
+# define Q_NOT_FN std::not_fn
+#else
+# define Q_NOT_FN std::not1
+#endif
+
void Automaton::buildNullables ()
{
bool changed = true;
@@ -307,7 +313,7 @@ void Automaton::buildNullables ()
for (RulePointer rule = _M_grammar->rules.begin (); rule != _M_grammar->rules.end (); ++rule)
{
- NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (Nullable (this)));
+ NameList::iterator nn = std::find_if(rule->rhs.begin(), rule->rhs.end(), Q_NOT_FN(Nullable(this)));
if (nn == rule->rhs.end ())
changed |= nullables.insert (rule->lhs).second;
@@ -648,7 +654,7 @@ void Automaton::buildIncludesDigraph ()
if (! _M_grammar->isNonTerminal (*A))
continue;
- NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (Nullable (this)));
+ NameList::iterator first_not_nullable = std::find_if(dot, rule->rhs.end(), Q_NOT_FN(Nullable(this)));
if (first_not_nullable != rule->rhs.end ())
continue;
diff --git a/src/tools/uic/qclass_lib_map.h b/src/tools/uic/qclass_lib_map.h
index 8cebe65a00..bf3882edd1 100644
--- a/src/tools/uic/qclass_lib_map.h
+++ b/src/tools/uic/qclass_lib_map.h
@@ -644,9 +644,6 @@ QT_CLASS_LIB(QImageReader, QtGui, qimagereader.h)
QT_CLASS_LIB(QImageWriter, QtGui, qimagewriter.h)
QT_CLASS_LIB(QMovie, QtGui, qmovie.h)
QT_CLASS_LIB(QPicture, QtGui, qpicture.h)
-QT_CLASS_LIB(QPictureIO, QtGui, qpicture.h)
-QT_CLASS_LIB(QPictureFormatInterface, QtGui, qpictureformatplugin.h)
-QT_CLASS_LIB(QPictureFormatPlugin, QtGui, qpictureformatplugin.h)
QT_CLASS_LIB(QPixmap, QtGui, qpixmap.h)
QT_CLASS_LIB(QPixmapCache, QtGui, qpixmapcache.h)
QT_CLASS_LIB(QAbstractItemDelegate, QtWidgets, qabstractitemdelegate.h)
diff --git a/src/widgets/configure.json b/src/widgets/configure.json
index cc9019dfdd..0a68f082a2 100644
--- a/src/widgets/configure.json
+++ b/src/widgets/configure.json
@@ -378,6 +378,7 @@
"label": "QScroller",
"purpose": "Enables kinetic scrolling for any scrolling widget or graphics item.",
"section": "Widgets",
+ "condition": "features.easingcurve",
"output": [ "publicFeature" ]
},
"graphicsview": {
@@ -626,12 +627,6 @@
"condition": "features.listview",
"output": [ "publicFeature", "feature" ]
},
- "paint_debug": {
- "label": "Painting Debug Utilities",
- "purpose": "Enabled debugging painting with the environment variables QT_FLUSH_UPDATE and QT_FLUSH_PAINT.",
- "section": "Painting",
- "output": [ "publicFeature", "feature" ]
- },
"completer": {
"label": "QCompleter",
"purpose": "Provides completions based on an item model.",
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp
index c85b56d4f5..a1b9003c1c 100644
--- a/src/widgets/dialogs/qfiledialog.cpp
+++ b/src/widgets/dialogs/qfiledialog.cpp
@@ -2379,10 +2379,10 @@ QList<QUrl> QFileDialog::getOpenFileUrls(QWidget *parent,
It can also be used on other platforms, where it will fall back to using QFileDialog.
The function is asynchronous and returns immediately. The \a fileOpenCompleted
- callback will be called when a file has been selected and its contents has been
+ callback will be called when a file has been selected and its contents have been
read into memory.
- \snippet code/src_gui_dialogs_qfiledialog.cpp 14
+ \snippet code/src_gui_dialogs_qfiledialog.cpp 15
\since 5.13
*/
void QFileDialog::getOpenFileContent(const QString &nameFilter, const std::function<void(const QString &, const QByteArray &)> &fileOpenCompleted)
@@ -2448,6 +2448,51 @@ void QFileDialog::getOpenFileContent(const QString &nameFilter, const std::funct
}
/*!
+ This is a convenience static function that saves \a fileContent to a file, using
+ a file name and location chosen by the user. \a fileNameHint can be provided to
+ suggest a file name to the user.
+
+ This function is used to save files to the local file system on Qt for WebAssembly, where
+ the web sandbox places restrictions on how such access may happen. Its implementation will
+ make the browser display a native file dialog, where the user makes the file selection.
+
+ It can also be used on other platforms, where it will fall back to using QFileDialog.
+
+ The function is asynchronous and returns immediately.
+
+ \snippet code/src_gui_dialogs_qfiledialog.cpp 16
+ \since 5.14
+*/
+void QFileDialog::saveFileContent(const QByteArray &fileContent, const QString &fileNameHint)
+{
+#ifdef Q_OS_WASM
+ QWasmLocalFileAccess::saveFile(fileContent.constData(), fileContent.size(), fileNameHint.toStdString());
+#else
+ QFileDialog *dialog = new QFileDialog();
+ dialog->setAcceptMode(QFileDialog::AcceptSave);
+ dialog->setFileMode(QFileDialog::AnyFile);
+ dialog->selectFile(fileNameHint);
+
+ auto fileSelected = [=](const QString &fileName) {
+ if (!fileName.isNull()) {
+ QFile selectedFile(fileName);
+ if (selectedFile.open(QIODevice::WriteOnly))
+ selectedFile.write(fileContent);
+ }
+ };
+
+ auto dialogClosed = [=](int code) {
+ Q_UNUSED(code);
+ delete dialog;
+ };
+
+ connect(dialog, &QFileDialog::fileSelected, fileSelected);
+ connect(dialog, &QFileDialog::finished, dialogClosed);
+ dialog->show();
+#endif
+}
+
+/*!
This is a convenience static function that will return a file name selected
by the user. The file does not have to exist.
diff --git a/src/widgets/dialogs/qfiledialog.h b/src/widgets/dialogs/qfiledialog.h
index 354a1f928b..790f52f2e7 100644
--- a/src/widgets/dialogs/qfiledialog.h
+++ b/src/widgets/dialogs/qfiledialog.h
@@ -284,6 +284,7 @@ public:
static void getOpenFileContent(const QString &nameFilter,
const std::function<void(const QString &, const QByteArray &)> &fileContentsReady);
+ static void saveFileContent(const QByteArray &fileContent, const QString &fileNameHint = QString());
protected:
QFileDialog(const QFileDialogArgs &args);
diff --git a/src/widgets/dialogs/qfileinfogatherer.cpp b/src/widgets/dialogs/qfileinfogatherer.cpp
index 9ab75e0b0a..0beca82f28 100644
--- a/src/widgets/dialogs/qfileinfogatherer.cpp
+++ b/src/widgets/dialogs/qfileinfogatherer.cpp
@@ -82,21 +82,6 @@ QFileInfoGatherer::QFileInfoGatherer(QObject *parent)
: QThread(parent)
, m_iconProvider(&defaultProvider)
{
-#if QT_CONFIG(filesystemwatcher)
- watcher = new QFileSystemWatcher(this);
- connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(list(QString)));
- connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT(updateFile(QString)));
-
-# if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
- const QVariant listener = watcher->property("_q_driveListener");
- if (listener.canConvert<QObject *>()) {
- if (QObject *driveListener = listener.value<QObject *>()) {
- connect(driveListener, SIGNAL(driveAdded()), this, SLOT(driveAdded()));
- connect(driveListener, SIGNAL(driveRemoved()), this, SLOT(driveRemoved()));
- }
- }
-# endif // Q_OS_WIN && !Q_OS_WINRT
-#endif
start(LowPriority);
}
@@ -177,8 +162,8 @@ void QFileInfoGatherer::fetchExtendedInformation(const QString &path, const QStr
if (files.isEmpty()
&& !path.isEmpty()
&& !path.startsWith(QLatin1String("//")) /*don't watch UNC path*/) {
- if (!watcher->directories().contains(path))
- watcher->addPath(path);
+ if (!watchedDirectories().contains(path))
+ watchPaths(QStringList(path));
}
#endif
}
@@ -195,6 +180,91 @@ void QFileInfoGatherer::updateFile(const QString &filePath)
fetchExtendedInformation(dir, QStringList(fileName));
}
+QStringList QFileInfoGatherer::watchedFiles() const
+{
+#if QT_CONFIG(filesystemwatcher)
+ if (m_watcher)
+ return m_watcher->files();
+#endif
+ return {};
+}
+
+QStringList QFileInfoGatherer::watchedDirectories() const
+{
+#if QT_CONFIG(filesystemwatcher)
+ if (m_watcher)
+ return m_watcher->directories();
+#endif
+ return {};
+}
+
+void QFileInfoGatherer::createWatcher()
+{
+#if QT_CONFIG(filesystemwatcher)
+ m_watcher = new QFileSystemWatcher(this);
+ connect(m_watcher, &QFileSystemWatcher::directoryChanged, this, &QFileInfoGatherer::list);
+ connect(m_watcher, &QFileSystemWatcher::fileChanged, this, &QFileInfoGatherer::updateFile);
+# if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
+ const QVariant listener = m_watcher->property("_q_driveListener");
+ if (listener.canConvert<QObject *>()) {
+ if (QObject *driveListener = listener.value<QObject *>()) {
+ connect(driveListener, SIGNAL(driveAdded()), this, SLOT(driveAdded()));
+ connect(driveListener, SIGNAL(driveRemoved()), this, SLOT(driveRemoved()));
+ }
+ }
+# endif // Q_OS_WIN && !Q_OS_WINRT
+#endif
+}
+
+void QFileInfoGatherer::watchPaths(const QStringList &paths)
+{
+#if QT_CONFIG(filesystemwatcher)
+ if (m_watching) {
+ if (m_watcher == nullptr)
+ createWatcher();
+ m_watcher->addPaths(paths);
+ }
+#else
+ Q_UNUSED(paths);
+#endif
+}
+
+void QFileInfoGatherer::unwatchPaths(const QStringList &paths)
+{
+#if QT_CONFIG(filesystemwatcher)
+ if (m_watcher)
+ m_watcher->removePaths(paths);
+#else
+ Q_UNUSED(paths);
+#endif
+}
+
+bool QFileInfoGatherer::isWatching() const
+{
+ bool result = false;
+#if QT_CONFIG(filesystemwatcher)
+ QMutexLocker locker(&mutex);
+ result = m_watching;
+#endif
+ return result;
+}
+
+void QFileInfoGatherer::setWatching(bool v)
+{
+#if QT_CONFIG(filesystemwatcher)
+ QMutexLocker locker(&mutex);
+ if (v != m_watching) {
+ if (!v) {
+ delete m_watcher;
+ m_watcher = nullptr;
+ }
+ m_watching = v;
+ }
+#else
+ Q_UNUSED(v);
+#endif
+}
+
/*
List all files in \a directoryPath
@@ -204,8 +274,8 @@ void QFileInfoGatherer::clear()
{
#if QT_CONFIG(filesystemwatcher)
QMutexLocker locker(&mutex);
- watcher->removePaths(watcher->files());
- watcher->removePaths(watcher->directories());
+ unwatchPaths(watchedFiles());
+ unwatchPaths(watchedDirectories());
#endif
}
@@ -218,7 +288,7 @@ void QFileInfoGatherer::removePath(const QString &path)
{
#if QT_CONFIG(filesystemwatcher)
QMutexLocker locker(&mutex);
- watcher->removePath(path);
+ unwatchPaths(QStringList(path));
#else
Q_UNUSED(path);
#endif
@@ -265,12 +335,13 @@ QExtendedInformation QFileInfoGatherer::getInfo(const QFileInfo &fileInfo) const
static const bool watchFiles = qEnvironmentVariableIsSet("QT_FILESYSTEMMODEL_WATCH_FILES");
if (watchFiles) {
if (!fileInfo.exists() && !fileInfo.isSymLink()) {
- watcher->removePath(fileInfo.absoluteFilePath());
+ const_cast<QFileInfoGatherer *>(this)->
+ unwatchPaths(QStringList(fileInfo.absoluteFilePath()));
} else {
const QString path = fileInfo.absoluteFilePath();
if (!path.isEmpty() && fileInfo.exists() && fileInfo.isFile() && fileInfo.isReadable()
- && !watcher->files().contains(path)) {
- watcher->addPath(path);
+ && !watchedFiles().contains(path)) {
+ const_cast<QFileInfoGatherer *>(this)->watchPaths(QStringList(path));
}
}
}
diff --git a/src/widgets/dialogs/qfileinfogatherer_p.h b/src/widgets/dialogs/qfileinfogatherer_p.h
index 829c620c1e..3d30a98d04 100644
--- a/src/widgets/dialogs/qfileinfogatherer_p.h
+++ b/src/widgets/dialogs/qfileinfogatherer_p.h
@@ -169,12 +169,13 @@ public:
explicit QFileInfoGatherer(QObject *parent = nullptr);
~QFileInfoGatherer();
-#if QT_CONFIG(filesystemwatcher) && defined(Q_OS_WIN)
- QStringList watchedFiles() const { return watcher->files(); }
- QStringList watchedDirectories() const { return watcher->directories(); }
- void watchPaths(const QStringList &paths) { watcher->addPaths(paths); }
- void unwatchPaths(const QStringList &paths) { watcher->removePaths(paths); }
-#endif // filesystemwatcher && Q_OS_WIN
+ QStringList watchedFiles() const;
+ QStringList watchedDirectories() const;
+ void watchPaths(const QStringList &paths);
+ void unwatchPaths(const QStringList &paths);
+
+ bool isWatching() const;
+ void setWatching(bool v);
// only callable from this->thread():
void clear();
@@ -201,6 +202,8 @@ private:
void fetch(const QFileInfo &info, QElapsedTimer &base, bool &firstTime, QVector<QPair<QString, QFileInfo> > &updatedFiles, const QString &path);
private:
+ void createWatcher();
+
mutable QMutex mutex;
// begin protected by mutex
QWaitCondition condition;
@@ -210,13 +213,16 @@ private:
QAtomicInt abort;
#if QT_CONFIG(filesystemwatcher)
- QFileSystemWatcher *watcher = nullptr;
+ QFileSystemWatcher *m_watcher = nullptr;
#endif
QFileIconProvider *m_iconProvider; // not accessed by run()
QFileIconProvider defaultProvider;
#ifdef Q_OS_WIN
bool m_resolveSymlinks = true; // not accessed by run()
#endif
+#if QT_CONFIG(filesystemwatcher)
+ bool m_watching = true;
+#endif
};
QT_END_NAMESPACE
diff --git a/src/widgets/dialogs/qfilesystemmodel.cpp b/src/widgets/dialogs/qfilesystemmodel.cpp
index 820fc6e220..e9e49e0c33 100644
--- a/src/widgets/dialogs/qfilesystemmodel.cpp
+++ b/src/widgets/dialogs/qfilesystemmodel.cpp
@@ -1264,6 +1264,107 @@ Qt::DropActions QFileSystemModel::supportedDropActions() const
}
/*!
+ \enum QFileSystemModel::Option
+ \since 5.14
+
+ \value DontWatchForChanges Do not add file watchers to the paths.
+ This reduces overhead when using the model for simple tasks
+ like line edit completion.
+
+ \value DontResolveSymlinks Don't resolve symlinks in the file
+ system model. By default, symlinks are resolved.
+
+ \value DontUseCustomDirectoryIcons Always use the default directory icon.
+ Some platforms allow the user to set a different icon. Custom icon lookup
+ causes a big performance impact over network or removable drives.
+ This sets the QFileIconProvider::DontUseCustomDirectoryIcons
+ option in the icon provider accordingly.
+
+ \sa resolveSymlinks
+*/
+
+/*!
+ \since 5.14
+ Sets the given \a option to be enabled if \a on is true; otherwise,
+ clears the given \a option.
+
+ Options should be set before changing properties.
+
+ \sa options, testOption()
+*/
+void QFileSystemModel::setOption(Option option, bool on)
+{
+ QFileSystemModel::Options previousOptions = options();
+ setOptions(previousOptions.setFlag(option, on));
+}
+
+/*!
+ \since 5.14
+
+ Returns \c true if the given \a option is enabled; otherwise, returns
+ false.
+
+ \sa options, setOption()
+*/
+bool QFileSystemModel::testOption(Option option) const
+{
+ return options().testFlag(option);
+}
+
+/*!
+ \property QFileSystemModel::options
+ \brief the various options that affect the model
+ \since 5.14
+
+ By default, all options are disabled.
+
+ Options should be set before changing properties.
+
+ \sa setOption(), testOption()
+*/
+void QFileSystemModel::setOptions(Options options)
+{
+ const Options changed = (options ^ QFileSystemModel::options());
+
+ if (changed.testFlag(DontResolveSymlinks))
+ setResolveSymlinks(!options.testFlag(DontResolveSymlinks));
+
+#if QT_CONFIG(filesystemwatcher)
+ Q_D(QFileSystemModel);
+ if (changed.testFlag(DontWatchForChanges))
+ d->fileInfoGatherer.setWatching(!options.testFlag(DontWatchForChanges));
+#endif
+
+ if (changed.testFlag(DontUseCustomDirectoryIcons)) {
+ if (auto provider = iconProvider()) {
+ QFileIconProvider::Options providerOptions = provider->options();
+ providerOptions.setFlag(QFileIconProvider::DontUseCustomDirectoryIcons,
+ options.testFlag(QFileSystemModel::DontUseCustomDirectoryIcons));
+ provider->setOptions(providerOptions);
+ } else {
+ qWarning("Setting QFileSystemModel::DontUseCustomDirectoryIcons has no effect when no provider is used");
+ }
+ }
+}
+
+QFileSystemModel::Options QFileSystemModel::options() const
+{
+ QFileSystemModel::Options result;
+ result.setFlag(DontResolveSymlinks, !resolveSymlinks());
+#if QT_CONFIG(filesystemwatcher)
+ Q_D(const QFileSystemModel);
+ result.setFlag(DontWatchForChanges, !d->fileInfoGatherer.isWatching());
+#else
+ result.setFlag(DontWatchForChanges);
+#endif
+ if (auto provider = iconProvider()) {
+ result.setFlag(DontUseCustomDirectoryIcons,
+ provider->options().testFlag(QFileIconProvider::DontUseCustomDirectoryIcons));
+ }
+ return result;
+}
+
+/*!
Returns the path of the item stored in the model under the
\a index given.
*/
@@ -1509,6 +1610,8 @@ QDir::Filters QFileSystemModel::filter() const
This is only relevant on Windows.
By default, this property is \c true.
+
+ \sa QFileSystemModel::Options
*/
void QFileSystemModel::setResolveSymlinks(bool enable)
{
diff --git a/src/widgets/dialogs/qfilesystemmodel.h b/src/widgets/dialogs/qfilesystemmodel.h
index c2c8b8818e..b0f289dfcd 100644
--- a/src/widgets/dialogs/qfilesystemmodel.h
+++ b/src/widgets/dialogs/qfilesystemmodel.h
@@ -61,6 +61,7 @@ class Q_WIDGETS_EXPORT QFileSystemModel : public QAbstractItemModel
Q_PROPERTY(bool resolveSymlinks READ resolveSymlinks WRITE setResolveSymlinks)
Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly)
Q_PROPERTY(bool nameFilterDisables READ nameFilterDisables WRITE setNameFilterDisables)
+ Q_PROPERTY(Options options READ options WRITE setOptions)
Q_SIGNALS:
void rootPathChanged(const QString &newPath);
@@ -75,6 +76,15 @@ public:
FilePermissions = Qt::UserRole + 3
};
+ enum Option
+ {
+ DontWatchForChanges = 0x00000001,
+ DontResolveSymlinks = 0x00000002,
+ DontUseCustomDirectoryIcons = 0x00000004
+ };
+ Q_ENUM(Option)
+ Q_DECLARE_FLAGS(Options, Option)
+
explicit QFileSystemModel(QObject *parent = nullptr);
~QFileSystemModel();
@@ -129,6 +139,11 @@ public:
void setNameFilters(const QStringList &filters);
QStringList nameFilters() const;
+ void setOption(Option option, bool on = true);
+ bool testOption(Option option) const;
+ void setOptions(Options options);
+ Options options() const;
+
QString filePath(const QModelIndex &index) const;
bool isDir(const QModelIndex &index) const;
qint64 size(const QModelIndex &index) const;
@@ -165,6 +180,8 @@ inline QString QFileSystemModel::fileName(const QModelIndex &aindex) const
inline QIcon QFileSystemModel::fileIcon(const QModelIndex &aindex) const
{ return qvariant_cast<QIcon>(aindex.data(Qt::DecorationRole)); }
+Q_DECLARE_OPERATORS_FOR_FLAGS(QFileSystemModel::Options)
+
QT_END_NAMESPACE
#endif // QFILESYSTEMMODEL_H
diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp
index 4d28dda7c7..7558054da5 100644
--- a/src/widgets/dialogs/qwizard.cpp
+++ b/src/widgets/dialogs/qwizard.cpp
@@ -1336,7 +1336,7 @@ void QWizardPrivate::updateMinMaxSizes(const QWizardLayoutInfo &info)
int extraHeight = 0;
#if QT_CONFIG(style_windowsvista)
if (isVistaThemeEnabled())
- extraHeight = vistaHelper->titleBarSize() + vistaHelper->topOffset();
+ extraHeight = vistaHelper->titleBarSize() + vistaHelper->topOffset(q);
#endif
QSize minimumSize = mainLayout->totalMinimumSize() + QSize(0, extraHeight);
QSize maximumSize = mainLayout->totalMaximumSize();
@@ -1595,8 +1595,8 @@ bool QWizardPrivate::handleAeroStyleChange()
bool vistaMargins = false;
if (isVistaThemeEnabled()) {
- const int topOffset = vistaHelper->topOffset();
- const int topPadding = vistaHelper->topPadding();
+ const int topOffset = vistaHelper->topOffset(q);
+ const int topPadding = vistaHelper->topPadding(q);
if (isVistaThemeEnabled(QVistaHelper::VistaAero)) {
if (isWindow) {
vistaHelper->setDWMTitleBar(QVistaHelper::ExtendedTitleBar);
@@ -2892,7 +2892,7 @@ void QWizard::setPixmap(WizardPixmap which, const QPixmap &pixmap)
Returns the pixmap set for role \a which.
By default, the only pixmap that is set is the BackgroundPixmap on
- \macos.
+ \macos version 10.13 and earlier.
\sa QWizardPage::pixmap(), {Elements of a Wizard Page}
*/
@@ -3214,7 +3214,7 @@ void QWizard::resizeEvent(QResizeEvent *event)
int heightOffset = 0;
#if QT_CONFIG(style_windowsvista)
if (d->isVistaThemeEnabled()) {
- heightOffset = d->vistaHelper->topOffset();
+ heightOffset = d->vistaHelper->topOffset(this);
if (d->isVistaThemeEnabled(QVistaHelper::VistaAero))
heightOffset += d->vistaHelper->titleBarSize();
}
@@ -3246,7 +3246,7 @@ void QWizard::paintEvent(QPaintEvent * event)
if (d->isVistaThemeEnabled(QVistaHelper::VistaBasic)) {
QPainter painter(this);
QColor color = d->vistaHelper->basicWindowFrameColor();
- painter.fillRect(0, 0, width(), QVistaHelper::topOffset(), color);
+ painter.fillRect(0, 0, width(), QVistaHelper::topOffset(this), color);
}
d->vistaHelper->paintEvent(event);
}
diff --git a/src/widgets/dialogs/qwizard_win.cpp b/src/widgets/dialogs/qwizard_win.cpp
index 95f8f6a878..47ac41a791 100644
--- a/src/widgets/dialogs/qwizard_win.cpp
+++ b/src/widgets/dialogs/qwizard_win.cpp
@@ -87,7 +87,7 @@ QVistaBackButton::QVistaBackButton(QWidget *widget)
QSize QVistaBackButton::sizeHint() const
{
ensurePolished();
- int size = int(QStyleHelper::dpiScaled(32));
+ int size = int(QStyleHelper::dpiScaled(32, this));
int width = size, height = size;
return QSize(width, height);
}
@@ -156,7 +156,7 @@ QVistaHelper::QVistaHelper(QWizard *wizard)
backButton_ = new QVistaBackButton(wizard);
backButton_->hide();
- iconSpacing = QStyleHelper::dpiScaled(7);
+ iconSpacing = QStyleHelper::dpiScaled(7, wizard);
}
QVistaHelper::~QVistaHelper()
@@ -229,7 +229,7 @@ bool QVistaHelper::setDWMTitleBar(TitleBarChangeType type)
if (type == NormalTitleBar)
mar.cyTopHeight = 0;
else
- mar.cyTopHeight = (titleBarSize() + topOffset()) * QVistaHelper::m_devicePixelRatio;
+ mar.cyTopHeight = (titleBarSize() + topOffset(wizard)) * QVistaHelper::m_devicePixelRatio;
if (const HWND wizardHandle = wizardHWND())
if (SUCCEEDED(DwmExtendFrameIntoClientArea(wizardHandle, &mar)))
value = true;
@@ -275,7 +275,7 @@ void QVistaHelper::drawTitleBar(QPainter *painter)
if (vistaState() == VistaAero && isWindow)
drawBlackRect(QRect(0, 0, wizard->width(),
- titleBarSize() + topOffset()), hdc);
+ titleBarSize() + topOffset(wizard)), hdc);
// The button is positioned in QWizardPrivate::handleAeroStyleChange(),
// all calculation is relative to it.
const int btnTop = backButton_->mapToParent(QPoint()).y();
@@ -293,7 +293,7 @@ void QVistaHelper::drawTitleBar(QPainter *painter)
int glowOffset = 0;
if (vistaState() == VistaAero) {
- glowOffset = glowSize();
+ glowOffset = glowSize(wizard);
textHeight += 2 * glowOffset;
textWidth += 2 * glowOffset;
}
@@ -314,10 +314,10 @@ void QVistaHelper::drawTitleBar(QPainter *painter)
const QIcon windowIcon = wizard->windowIcon();
if (!windowIcon.isNull()) {
- const int size = QVistaHelper::iconSize();
+ const int size = QVistaHelper::iconSize(wizard);
const int iconLeft = (wizard->layoutDirection() == Qt::LeftToRight
- ? leftMargin()
- : wizard->width() - leftMargin() - size);
+ ? leftMargin(wizard)
+ : wizard->width() - leftMargin(wizard) - size);
const QPoint pos(origin.x() + iconLeft, origin.y() + verticalCenter - size / 2);
const QPoint posDp = pos * QVistaHelper::m_devicePixelRatio;
@@ -427,7 +427,7 @@ void QVistaHelper::resizeEvent(QResizeEvent * event)
{
Q_UNUSED(event);
rtTop = QRect (0, 0, wizard->width(), frameSize());
- int height = captionSize() + topOffset();
+ int height = captionSize() + topOffset(wizard);
if (vistaState() == VistaBasic)
height -= titleBarSize();
rtTitle = QRect (0, frameSize(), wizard->width(), height);
@@ -637,7 +637,7 @@ bool QVistaHelper::drawTitleText(QPainter *painter, const QString &text, const Q
RECT rctext ={0,0, rectDp.width(), rectDp.height()};
dto.dwFlags = DTT_COMPOSITED|DTT_GLOWSIZE;
- dto.iGlowSize = glowSize();
+ dto.iGlowSize = glowSize(wizard);
DrawThemeTextEx(hTheme, dcMem, 0, 0, reinterpret_cast<LPCWSTR>(text.utf16()), -1, uFormat, &rctext, &dto );
BitBlt(hdc, rectDp.left(), rectDp.top(), rectDp.width(), rectDp.height(), dcMem, 0, 0, SRCCOPY);
@@ -714,27 +714,27 @@ int QVistaHelper::captionSizeDp()
int QVistaHelper::titleOffset()
{
- int iconOffset = wizard ->windowIcon().isNull() ? 0 : iconSize() + iconSpacing;
- return leftMargin() + iconOffset;
+ int iconOffset = wizard ->windowIcon().isNull() ? 0 : iconSize(wizard) + iconSpacing;
+ return leftMargin(wizard) + iconOffset;
}
-int QVistaHelper::iconSize()
+int QVistaHelper::iconSize(const QPaintDevice *device)
{
- return QStyleHelper::dpiScaled(16); // Standard Aero
+ return QStyleHelper::dpiScaled(16, device); // Standard Aero
}
-int QVistaHelper::glowSize()
+int QVistaHelper::glowSize(const QPaintDevice *device)
{
- return QStyleHelper::dpiScaled(10);
+ return QStyleHelper::dpiScaled(10, device);
}
-int QVistaHelper::topOffset()
+int QVistaHelper::topOffset(const QPaintDevice *device)
{
if (vistaState() != VistaAero)
return titleBarSize() + 3;
static const int aeroOffset =
QOperatingSystemVersion::current() < QOperatingSystemVersion::Windows8 ?
- QStyleHelper::dpiScaled(4) : QStyleHelper::dpiScaled(13);
+ QStyleHelper::dpiScaled(4, device) : QStyleHelper::dpiScaled(13, device);
return aeroOffset + titleBarSize();
}
diff --git a/src/widgets/dialogs/qwizard_win_p.h b/src/widgets/dialogs/qwizard_win_p.h
index b3796e3f48..2469496b61 100644
--- a/src/widgets/dialogs/qwizard_win_p.h
+++ b/src/widgets/dialogs/qwizard_win_p.h
@@ -108,10 +108,10 @@ public:
static VistaState vistaState();
static int titleBarSize() { return QVistaHelper::titleBarSizeDp() / QVistaHelper::m_devicePixelRatio; }
static int titleBarSizeDp() { return QVistaHelper::frameSizeDp() + QVistaHelper::captionSizeDp(); }
- static int topPadding() { // padding under text
- return int(QStyleHelper::dpiScaled(4));
+ static int topPadding(const QPaintDevice *device) { // padding under text
+ return int(QStyleHelper::dpiScaled(4, device));
}
- static int topOffset();
+ static int topOffset(const QPaintDevice *device);
static HDC backingStoreDC(const QWidget *wizard, QPoint *offset);
@@ -125,10 +125,12 @@ private:
static int captionSize() { return QVistaHelper::captionSizeDp() / QVistaHelper::m_devicePixelRatio; }
static int captionSizeDp();
- static int backButtonSize() { return int(QStyleHelper::dpiScaled(30)); }
- static int iconSize();
- static int glowSize();
- int leftMargin() { return backButton_->isVisible() ? backButtonSize() + iconSpacing : 0; }
+ static int backButtonSize(const QPaintDevice *device)
+ { return int(QStyleHelper::dpiScaled(30, device)); }
+ static int iconSize(const QPaintDevice *device);
+ static int glowSize(const QPaintDevice *device);
+ int leftMargin(const QPaintDevice *device)
+ { return backButton_->isVisible() ? backButtonSize(device) + iconSpacing : 0; }
int titleOffset();
void drawTitleBar(QPainter *painter);
diff --git a/src/widgets/doc/snippets/code/doc_src_styles.cpp b/src/widgets/doc/snippets/code/doc_src_styles.cpp
index a70ed6b11d..3536be6e7b 100644
--- a/src/widgets/doc/snippets/code/doc_src_styles.cpp
+++ b/src/widgets/doc/snippets/code/doc_src_styles.cpp
@@ -81,11 +81,6 @@
state |= QStyle::State_MouseOver;
if (widget->window()->isActiveWindow())
state |= QStyle::State_Active;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- extern bool qt_mac_can_clickThrough(const QWidget *w); //qwidget_mac.cpp
- if (!(state & QStyle::State_Active) && !qt_mac_can_clickThrough(widget))
- state &= ~QStyle::State_Enabled;
-#endif
#ifdef QT_KEYPAD_NAVIGATION
if (widget->hasEditFocus())
state |= QStyle::State_HasEditFocus;
diff --git a/src/widgets/doc/snippets/code/src_gui_dialogs_qfiledialog.cpp b/src/widgets/doc/snippets/code/src_gui_dialogs_qfiledialog.cpp
index 1e9daf824b..7ccd827a04 100644
--- a/src/widgets/doc/snippets/code/src_gui_dialogs_qfiledialog.cpp
+++ b/src/widgets/doc/snippets/code/src_gui_dialogs_qfiledialog.cpp
@@ -145,8 +145,8 @@ dialog.exec();
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
//! [14]
-//! [14]
-auto fileOpenCompleted = [](const QSting &fileName, const QByteArray &fileContent) {
+//! [15]
+auto fileOpenCompleted = [](const QString &fileName, const QByteArray &fileContent) {
if (fileName.isEmpty()) {
// No file was selected
} else {
@@ -154,4 +154,9 @@ auto fileOpenCompleted = [](const QSting &fileName, const QByteArray &fileConten
}
}
QFileDialog::getOpenFileContent("Images (*.png *.xpm *.jpg)", fileContentReady);
-//! [14]
+//! [15]
+
+//! [16]
+QByteArray imageData; // obtained from e.g. QImage::save()
+QFileDialog::saveFile("myimage.png", imageData);
+//! [16]
diff --git a/src/widgets/doc/snippets/macmainwindow.mm b/src/widgets/doc/snippets/macmainwindow.mm
deleted file mode 100644
index c63796a3f2..0000000000
--- a/src/widgets/doc/snippets/macmainwindow.mm
+++ /dev/null
@@ -1,290 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "macmainwindow.h"
-#import <AppKit/AppKit.h>
-#include <QtGui>
-
-
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-
-//![0]
-SearchWidget::SearchWidget(QWidget *parent)
- : QMacCocoaViewContainer(0, parent)
-{
- // Many Cocoa objects create temporary autorelease objects,
- // so create a pool to catch them.
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
- // Create the NSSearchField, set it on the QCocoaViewContainer.
- NSSearchField *search = [[NSSearchField alloc] init];
- setCocoaView(search);
-
- // Use a Qt menu for the search field menu.
- QMenu *qtMenu = createMenu(this);
- NSMenu *nsMenu = qtMenu->macMenu(0);
- [[search cell] setSearchMenuTemplate:nsMenu];
-
- // Release our reference, since our super class takes ownership and we
- // don't need it anymore.
- [search release];
-
- // Clean up our pool as we no longer need it.
- [pool release];
-}
-//![0]
-
-SearchWidget::~SearchWidget()
-{
-}
-
-QSize SearchWidget::sizeHint() const
-{
- return QSize(150, 40);
-}
-
-QMenu *createMenu(QWidget *parent)
-{
- QMenu *searchMenu = new QMenu(parent);
-
- QAction * indexAction = searchMenu->addAction("Index Search");
- indexAction->setCheckable(true);
- indexAction->setChecked(true);
-
- QAction * fulltextAction = searchMenu->addAction("Full Text Search");
- fulltextAction->setCheckable(true);
-
- QActionGroup *searchActionGroup = new QActionGroup(parent);
- searchActionGroup->addAction(indexAction);
- searchActionGroup->addAction(fulltextAction);
- searchActionGroup->setExclusive(true);
-
- return searchMenu;
-}
-
-SearchWrapper::SearchWrapper(QWidget *parent)
-:QWidget(parent)
-{
- s = new SearchWidget(this);
- s->move(2,2);
- setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
-}
-
-QSize SearchWrapper::sizeHint() const
-{
- return s->sizeHint() + QSize(6, 2);
-}
-
-Spacer::Spacer(QWidget *parent)
-:QWidget(parent)
-{
- QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
- setSizePolicy(sizePolicy);
-}
-
-QSize Spacer::sizeHint() const
-{
- return QSize(1, 1);
-}
-
-MacSplitterHandle::MacSplitterHandle(Qt::Orientation orientation, QSplitter *parent)
-: QSplitterHandle(orientation, parent) { }
-
-// Paint the horizontal handle as a gradient, paint
-// the vertical handle as a line.
-void MacSplitterHandle::paintEvent(QPaintEvent *)
-{
- QPainter painter(this);
-
- QColor topColor(145, 145, 145);
- QColor bottomColor(142, 142, 142);
- QColor gradientStart(252, 252, 252);
- QColor gradientStop(223, 223, 223);
-
- if (orientation() == Qt::Vertical) {
- painter.setPen(topColor);
- painter.drawLine(0, 0, width(), 0);
- painter.setPen(bottomColor);
- painter.drawLine(0, height() - 1, width(), height() - 1);
-
- QLinearGradient linearGrad(QPointF(0, 0), QPointF(0, height() -3));
- linearGrad.setColorAt(0, gradientStart);
- linearGrad.setColorAt(1, gradientStop);
- painter.fillRect(QRect(QPoint(0,1), size() - QSize(0, 2)), QBrush(linearGrad));
- } else {
- painter.setPen(topColor);
- painter.drawLine(0, 0, 0, height());
- }
-}
-
-QSize MacSplitterHandle::sizeHint() const
-{
- QSize parent = QSplitterHandle::sizeHint();
- if (orientation() == Qt::Vertical) {
- return parent + QSize(0, 3);
- } else {
- return QSize(1, parent.height());
- }
-}
-
-QSplitterHandle *MacSplitter::createHandle()
-{
- return new MacSplitterHandle(orientation(), this);
-}
-
-MacMainWindow::MacMainWindow()
-{
- QSettings settings;
- restoreGeometry(settings.value("Geometry").toByteArray());
-
- setWindowTitle("Mac Main Window");
-
- splitter = new MacSplitter();
-
- // Set up the left-hand side blue side bar.
- sidebar = new QTreeView();
- sidebar->setFrameStyle(QFrame::NoFrame);
- sidebar->setAttribute(Qt::WA_MacShowFocusRect, false);
- sidebar->setAutoFillBackground(true);
-
- // Set the palette.
- QPalette palette = sidebar->palette();
- QColor macSidebarColor(231, 237, 246);
- QColor macSidebarHighlightColor(168, 183, 205);
- palette.setColor(QPalette::Base, macSidebarColor);
- palette.setColor(QPalette::Highlight, macSidebarHighlightColor);
- sidebar->setPalette(palette);
-
- sidebar->setModel(createItemModel());
- sidebar->header()->hide();
- sidebar->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- sidebar->setTextElideMode(Qt::ElideMiddle);
-
- splitter->addWidget(sidebar);
-
- horizontalSplitter = new MacSplitter();
- horizontalSplitter->setOrientation(Qt::Vertical);
- splitter->addWidget(horizontalSplitter);
-
- splitter->setStretchFactor(0, 0);
- splitter->setStretchFactor(1, 1);
-
- // Set up the top document list view.
- documents = new QListView();
- documents->setFrameStyle(QFrame::NoFrame);
- documents->setAttribute(Qt::WA_MacShowFocusRect, false);
- documents->setModel(createDocumentModel());
- documents->setAlternatingRowColors(true);
- documents->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- horizontalSplitter->addWidget(documents);
- horizontalSplitter->setStretchFactor(0, 0);
-
- // Set up the text view.
- textedit = new QTextEdit();
- textedit->setFrameStyle(QFrame::NoFrame);
- textedit->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- textedit->setText("<br><br><br><br><br><br><center><b>This demo shows how to create a \
- Qt main window application that has the same appearance as other \
- OS X applications such as Mail or iTunes. This includes \
- customizing the item views and QSplitter and wrapping native widgets \
- such as the search field.</b></center>");
-
- horizontalSplitter->addWidget(textedit);
-
- setCentralWidget(splitter);
-
- toolBar = addToolBar(tr("Search"));
- toolBar->addWidget(new Spacer());
- toolBar->addWidget(new SearchWrapper());
-
- setUnifiedTitleAndToolBarOnMac(true);
-}
-
-MacMainWindow::~MacMainWindow()
-{
- QSettings settings;
- settings.setValue("Geometry", saveGeometry());
-}
-
-QAbstractItemModel *MacMainWindow::createItemModel()
-{
- QStandardItemModel *model = new QStandardItemModel();
- QStandardItem *parentItem = model->invisibleRootItem();
-
- QStandardItem *documentationItem = new QStandardItem("Documentation");
- parentItem->appendRow(documentationItem);
-
- QStandardItem *assistantItem = new QStandardItem("Qt MainWindow Manual");
- documentationItem->appendRow(assistantItem);
-
- QStandardItem *designerItem = new QStandardItem("Qt Designer Manual");
- documentationItem->appendRow(designerItem);
-
- QStandardItem *qtItem = new QStandardItem("Qt Reference Documentation");
- qtItem->appendRow(new QStandardItem("Classes"));
- qtItem->appendRow(new QStandardItem("Overviews"));
- qtItem->appendRow(new QStandardItem("Tutorial & Examples"));
- documentationItem->appendRow(qtItem);
-
- QStandardItem *bookmarksItem = new QStandardItem("Bookmarks");
- parentItem->appendRow(bookmarksItem);
- bookmarksItem->appendRow(new QStandardItem("QWidget"));
- bookmarksItem->appendRow(new QStandardItem("QObject"));
- bookmarksItem->appendRow(new QStandardItem("QWizard"));
-
- return model;
-}
-
-void MacMainWindow::resizeEvent(QResizeEvent *)
-{
- if (toolBar)
- toolBar->updateGeometry();
-}
-
-QAbstractItemModel *MacMainWindow::createDocumentModel()
-{
- QStandardItemModel *model = new QStandardItemModel();
- QStandardItem *parentItem = model->invisibleRootItem();
- parentItem->appendRow(new QStandardItem("QWidget Class Reference"));
- parentItem->appendRow(new QStandardItem("QObject Class Reference"));
- parentItem->appendRow(new QStandardItem("QListView Class Reference"));
-
- return model;
-}
-
-#endif
diff --git a/src/widgets/graphicsview/graphicsview.pri b/src/widgets/graphicsview/graphicsview.pri
index 7d10244634..d69a6f5c3f 100644
--- a/src/widgets/graphicsview/graphicsview.pri
+++ b/src/widgets/graphicsview/graphicsview.pri
@@ -4,7 +4,6 @@ qtConfig(graphicsview) {
HEADERS += graphicsview/qgraphicsgridlayout.h \
graphicsview/qgraphicsitem.h \
graphicsview/qgraphicsitem_p.h \
- graphicsview/qgraphicsitemanimation.h \
graphicsview/qgraphicslayout.h \
graphicsview/qgraphicslayout_p.h \
graphicsview/qgraphicslayoutitem.h \
@@ -34,7 +33,6 @@ HEADERS += graphicsview/qgraphicsgridlayout.h \
SOURCES += graphicsview/qgraphicsgridlayout.cpp \
graphicsview/qgraphicsitem.cpp \
- graphicsview/qgraphicsitemanimation.cpp \
graphicsview/qgraphicslayout.cpp \
graphicsview/qgraphicslayout_p.cpp \
graphicsview/qgraphicslayoutitem.cpp \
@@ -55,4 +53,9 @@ SOURCES += graphicsview/qgraphicsgridlayout.cpp \
graphicsview/qsimplex_p.cpp \
graphicsview/qgraphicsanchorlayout_p.cpp \
graphicsview/qgraphicsanchorlayout.cpp
+
+ qtConfig(easingcurve) {
+ HEADERS += graphicsview/qgraphicsitemanimation.h
+ SOURCES += graphicsview/qgraphicsitemanimation.cpp
+ }
}
diff --git a/src/widgets/graphicsview/qgraphicsitem.cpp b/src/widgets/graphicsview/qgraphicsitem.cpp
index ca30c72db5..bb00db4c01 100644
--- a/src/widgets/graphicsview/qgraphicsitem.cpp
+++ b/src/widgets/graphicsview/qgraphicsitem.cpp
@@ -7566,19 +7566,6 @@ void QGraphicsItem::setInputMethodHints(Qt::InputMethodHints hints)
*/
void QGraphicsItem::updateMicroFocus()
{
-#if !defined(QT_NO_IM) && 0 /* Used to be included in Qt4 for Q_WS_X11 */
- if (QWidget *fw = QApplication::focusWidget()) {
- if (scene()) {
- for (int i = 0 ; i < scene()->views().count() ; ++i) {
- if (scene()->views().at(i) == fw) {
- if (qApp)
- QGuiApplication::inputMethod()->update(Qt::ImQueryAll);
- break;
- }
- }
- }
- }
-#endif
}
/*!
@@ -11536,9 +11523,11 @@ QDebug operator<<(QDebug debug, QGraphicsItem::GraphicsItemChange change)
case QGraphicsItem::ItemFlagsHaveChanged:
str = "ItemFlagsHaveChanged";
break;
+#if QT_DEPRECATED_SINCE(5, 14)
case QGraphicsItem::ItemMatrixChange:
str = "ItemMatrixChange";
break;
+#endif
case QGraphicsItem::ItemParentChange:
str = "ItemParentChange";
break;
diff --git a/src/widgets/graphicsview/qgraphicsitem.h b/src/widgets/graphicsview/qgraphicsitem.h
index 7dd4441ae9..d66a4917e5 100644
--- a/src/widgets/graphicsview/qgraphicsitem.h
+++ b/src/widgets/graphicsview/qgraphicsitem.h
@@ -110,8 +110,10 @@ public:
enum GraphicsItemChange {
ItemPositionChange,
- ItemMatrixChange,
- ItemVisibleChange,
+#if QT_DEPRECATED_SINCE(5, 14)
+ ItemMatrixChange Q_DECL_ENUMERATOR_DEPRECATED_X("Use ItemTransformChange instead"),
+#endif
+ ItemVisibleChange = 2,
ItemEnabledChange,
ItemSelectedChange,
ItemParentChange,
diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.cpp b/src/widgets/graphicsview/qgraphicsproxywidget.cpp
index 2b6712075f..7413a26261 100644
--- a/src/widgets/graphicsview/qgraphicsproxywidget.cpp
+++ b/src/widgets/graphicsview/qgraphicsproxywidget.cpp
@@ -404,7 +404,7 @@ void QGraphicsProxyWidgetPrivate::_q_removeWidgetSlot()
{
Q_Q(QGraphicsProxyWidget);
if (!widget.isNull()) {
- if (QWExtra *extra = widget->d_func()->extra)
+ if (const auto &extra = widget->d_func()->extra)
extra->proxyWidget = 0;
}
widget = 0;
@@ -477,8 +477,8 @@ void QGraphicsProxyWidgetPrivate::updateProxyInputMethodAcceptanceFromWidget()
*/
void QGraphicsProxyWidgetPrivate::embedSubWindow(QWidget *subWin)
{
- QWExtra *extra;
- if (!((extra = subWin->d_func()->extra) && extra->proxyWidget)) {
+ const auto &extra = subWin->d_func()->extra;
+ if (!extra || !extra->proxyWidget) {
QGraphicsProxyWidget *subProxy = new QGraphicsProxyWidget(q_func(), subWin->windowFlags());
subProxy->d_func()->setWidget_helper(subWin, false);
}
@@ -631,7 +631,7 @@ void QGraphicsProxyWidgetPrivate::setWidget_helper(QWidget *newWidget, bool auto
if (!newWidget)
return;
if (!newWidget->isWindow()) {
- QWExtra *extra = newWidget->parentWidget()->d_func()->extra;
+ const auto &extra = newWidget->parentWidget()->d_func()->extra;
if (!extra || !extra->proxyWidget) {
qWarning("QGraphicsProxyWidget::setWidget: cannot embed widget %p "
"which is not a toplevel widget, and is not a child of an embedded widget", newWidget);
@@ -641,10 +641,10 @@ void QGraphicsProxyWidgetPrivate::setWidget_helper(QWidget *newWidget, bool auto
// Register this proxy within the widget's private.
// ### This is a bit backdoorish
- QWExtra *extra = newWidget->d_func()->extra;
+ QWExtra *extra = newWidget->d_func()->extra.get();
if (!extra) {
newWidget->d_func()->createExtra();
- extra = newWidget->d_func()->extra;
+ extra = newWidget->d_func()->extra.get();
}
QGraphicsProxyWidget **proxyWidget = &extra->proxyWidget;
if (*proxyWidget) {
diff --git a/src/widgets/graphicsview/qgraphicsscene.cpp b/src/widgets/graphicsview/qgraphicsscene.cpp
index 313939e638..1208adfd17 100644
--- a/src/widgets/graphicsview/qgraphicsscene.cpp
+++ b/src/widgets/graphicsview/qgraphicsscene.cpp
@@ -4170,14 +4170,6 @@ void QGraphicsScene::wheelEvent(QGraphicsSceneWheelEvent *wheelEvent)
wheelEvent->scenePos(),
wheelEvent->widget());
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // On Mac, ignore the event if the first item under the mouse is not the last opened
- // popup (or one of its descendant)
- if (!d->popupWidgets.isEmpty() && !wheelCandidates.isEmpty() && wheelCandidates.first() != d->popupWidgets.back() && !d->popupWidgets.back()->isAncestorOf(wheelCandidates.first())) {
- wheelEvent->accept();
- return;
- }
-#else
// Find the first popup under the mouse (including the popup's descendants) starting from the last.
// Remove all popups after the one found, or all or them if no popup is under the mouse.
// Then continue with the event.
@@ -4187,7 +4179,6 @@ void QGraphicsScene::wheelEvent(QGraphicsSceneWheelEvent *wheelEvent)
break;
d->removePopup(*iter);
}
-#endif
bool hasSetFocus = false;
for (QGraphicsItem *item : wheelCandidates) {
@@ -4409,11 +4400,7 @@ void QGraphicsScenePrivate::drawItemHelper(QGraphicsItem *item, QPainter *painte
QGraphicsItem::CacheMode cacheMode = QGraphicsItem::CacheMode(itemd->cacheMode);
// Render directly, using no cache.
- if (cacheMode == QGraphicsItem::NoCache
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- || !X11->use_xrender
-#endif
- ) {
+ if (cacheMode == QGraphicsItem::NoCache) {
_q_paintItem(static_cast<QGraphicsWidget *>(item), painter, option, widget, true, painterStateProtection);
return;
}
diff --git a/src/widgets/graphicsview/qgraphicsview.cpp b/src/widgets/graphicsview/qgraphicsview.cpp
index 7f14218720..57be850829 100644
--- a/src/widgets/graphicsview/qgraphicsview.cpp
+++ b/src/widgets/graphicsview/qgraphicsview.cpp
@@ -3476,11 +3476,7 @@ void QGraphicsView::paintEvent(QPaintEvent *event)
const QTransform viewTransform = painter.worldTransform();
// Draw background
- if ((d->cacheMode & CacheBackground)
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- && X11->use_xrender
-#endif
- ) {
+ if (d->cacheMode & CacheBackground) {
// Recreate the background pixmap, and flag the whole background as
// exposed.
if (d->mustResizeBackgroundPixmap) {
@@ -3677,11 +3673,7 @@ void QGraphicsView::scrollContentsBy(int dx, int dy)
d->updateLastCenterPoint();
- if ((d->cacheMode & CacheBackground)
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- && X11->use_xrender
-#endif
- ) {
+ if (d->cacheMode & CacheBackground) {
// Below, QPixmap::scroll() works in device pixels, while the delta values
// and backgroundPixmapExposed are in device independent pixels.
const qreal dpr = d->backgroundPixmap.devicePixelRatio();
diff --git a/src/widgets/graphicsview/qgraphicsview_p.h b/src/widgets/graphicsview/qgraphicsview_p.h
index 0428b9ce70..01af61d6ba 100644
--- a/src/widgets/graphicsview/qgraphicsview_p.h
+++ b/src/widgets/graphicsview/qgraphicsview_p.h
@@ -184,24 +184,10 @@ public:
inline void dispatchPendingUpdateRequests()
{
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // QWidget::update() works slightly different on the Mac without the raster engine;
- // it's not part of our backing store so it needs special threatment.
- if (QApplicationPrivate::graphics_system_name != QLatin1String("raster")) {
- // At this point either HIViewSetNeedsDisplay (Carbon) or setNeedsDisplay: YES (Cocoa)
- // is called, which means there's a pending update request. We want to dispatch it
- // now because otherwise graphics view updates would require two
- // round-trips in the event loop before the item is painted.
- extern void qt_mac_dispatchPendingUpdateRequests(QWidget *);
- qt_mac_dispatchPendingUpdateRequests(viewport->window());
- } else
-#endif
- {
- if (qt_widget_private(viewport)->paintOnScreen())
- QCoreApplication::sendPostedEvents(viewport, QEvent::UpdateRequest);
- else
- QCoreApplication::sendPostedEvents(viewport->window(), QEvent::UpdateRequest);
- }
+ if (qt_widget_private(viewport)->shouldPaintOnScreen())
+ QCoreApplication::sendPostedEvents(viewport, QEvent::UpdateRequest);
+ else
+ QCoreApplication::sendPostedEvents(viewport->window(), QEvent::UpdateRequest);
}
void setUpdateClip(QGraphicsItem *);
diff --git a/src/widgets/graphicsview/qgraphicswidget.cpp b/src/widgets/graphicsview/qgraphicswidget.cpp
index 643f073085..cf041b9817 100644
--- a/src/widgets/graphicsview/qgraphicswidget.cpp
+++ b/src/widgets/graphicsview/qgraphicswidget.cpp
@@ -716,22 +716,6 @@ void QGraphicsWidget::initStyleOption(QStyleOption *option) const
option->state |= QStyle::State_Window;
/*
###
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- extern bool qt_mac_can_clickThrough(const QGraphicsWidget *w); //qwidget_mac.cpp
- if (!(option->state & QStyle::State_Active) && !qt_mac_can_clickThrough(widget))
- option->state &= ~QStyle::State_Enabled;
-
- switch (QMacStyle::widgetSizePolicy(widget)) {
- case QMacStyle::SizeSmall:
- option->state |= QStyle::State_Small;
- break;
- case QMacStyle::SizeMini:
- option->state |= QStyle::State_Mini;
- break;
- default:
- ;
- }
-#endif
#ifdef QT_KEYPAD_NAVIGATION
if (widget->hasEditFocus())
state |= QStyle::State_HasEditFocus;
diff --git a/src/widgets/graphicsview/qgraphicswidget_p.cpp b/src/widgets/graphicsview/qgraphicswidget_p.cpp
index fd47f444ea..0156faf8e4 100644
--- a/src/widgets/graphicsview/qgraphicswidget_p.cpp
+++ b/src/widgets/graphicsview/qgraphicswidget_p.cpp
@@ -691,13 +691,6 @@ void QGraphicsWidgetPrivate::windowFrameHoverMoveEvent(QGraphicsSceneHoverEvent
case Qt::TitleBarArea:
windowData->buttonRect = q->style()->subControlRect(
QStyle::CC_TitleBar, &bar, QStyle::SC_TitleBarCloseButton, 0);
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // On mac we should hover if we are in the 'area' of the buttons
- windowData->buttonRect |= q->style()->subControlRect(
- QStyle::CC_TitleBar, &bar, QStyle::SC_TitleBarMinButton, 0);
- windowData->buttonRect |= q->style()->subControlRect(
- QStyle::CC_TitleBar, &bar, QStyle::SC_TitleBarMaxButton, 0);
-#endif
if (windowData->buttonRect.contains(pos.toPoint()))
windowData->buttonMouseOver = true;
event->ignore();
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp
index d4c83cb82c..089f398e71 100644
--- a/src/widgets/itemviews/qabstractitemview.cpp
+++ b/src/widgets/itemviews/qabstractitemview.cpp
@@ -1966,6 +1966,7 @@ void QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event)
if ((event->button() == Qt::LeftButton) && !edit(persistent, DoubleClicked, event)
&& !style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, 0, this))
emit activated(persistent);
+ d->pressedIndex = QModelIndex();
}
#if QT_CONFIG(draganddrop)
@@ -3727,12 +3728,10 @@ QStyleOptionViewItem QAbstractItemView::viewOptions() const
option.state &= ~QStyle::State_MouseOver;
option.font = font();
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
// On mac the focus appearance follows window activation
// not widget activation
if (!hasFocus())
option.state &= ~QStyle::State_Active;
-#endif
option.state &= ~QStyle::State_HasFocus;
if (d->iconSize.isValid()) {
diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
index c4766a74bd..d7bdf6aa4c 100644
--- a/src/widgets/itemviews/qheaderview.cpp
+++ b/src/widgets/itemviews/qheaderview.cpp
@@ -2570,7 +2570,6 @@ void QHeaderView::mouseMoveEvent(QMouseEvent *e)
if (pos < 0 && d->state != QHeaderViewPrivate::SelectSections)
return;
if (e->buttons() == Qt::NoButton) {
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
// Under Cocoa, when the mouse button is released, may include an extra
// simulated mouse moved event. The state of the buttons when this event
// is generated is already "no button" and the code below gets executed
@@ -2578,7 +2577,6 @@ void QHeaderView::mouseMoveEvent(QMouseEvent *e)
// column dragging from working. So this code is disabled under Cocoa.
d->state = QHeaderViewPrivate::NoState;
d->pressed = -1;
-#endif
}
switch (d->state) {
case QHeaderViewPrivate::ResizeSection: {
diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp
index e706af1a42..c50156bbce 100644
--- a/src/widgets/itemviews/qtableview.cpp
+++ b/src/widgets/itemviews/qtableview.cpp
@@ -3186,14 +3186,18 @@ void QTableView::sortByColumn(int column)
/*!
\since 4.2
- Sorts the model by the values in the given \a column in the given \a order.
+ Sorts the model by the values in the given \a column and \a order.
+
+ \a column may be -1, in which case no sort indicator will be shown
+ and the model will return to its natural, unsorted order. Note that not
+ all models support this and may even crash in this case.
\sa sortingEnabled
*/
void QTableView::sortByColumn(int column, Qt::SortOrder order)
{
Q_D(QTableView);
- if (column < 0)
+ if (column < -1)
return;
// If sorting is enabled it will emit a signal connected to
// _q_sortIndicatorChanged, which then actually sorts
diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp
index 23a530821f..413cc2a9cd 100644
--- a/src/widgets/itemviews/qtreeview.cpp
+++ b/src/widgets/itemviews/qtreeview.cpp
@@ -1943,6 +1943,7 @@ void QTreeView::mouseDoubleClickEvent(QMouseEvent *event)
if (!style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, 0, this))
emit activated(persistent);
+ d->pressedIndex = QModelIndex();
d->executePostedLayout(); // we need to make sure viewItems is updated
if (d->itemsExpandable
&& d->expandsOnDoubleClick
@@ -2173,35 +2174,6 @@ QModelIndex QTreeView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie
return QModelIndex();
}
int vi = -1;
-#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && QT_CONFIG(style_mac)
- // Selection behavior is slightly different on the Mac.
- if (d->selectionMode == QAbstractItemView::ExtendedSelection
- && d->selectionModel
- && d->selectionModel->hasSelection()) {
-
- const bool moveUpDown = (cursorAction == MoveUp || cursorAction == MoveDown);
- const bool moveNextPrev = (cursorAction == MoveNext || cursorAction == MovePrevious);
- const bool contiguousSelection = moveUpDown && (modifiers & Qt::ShiftModifier);
-
- // Use the outermost index in the selection as the current index
- if (!contiguousSelection && (moveUpDown || moveNextPrev)) {
-
- // Find outermost index.
- const bool useTopIndex = (cursorAction == MoveUp || cursorAction == MovePrevious);
- int index = useTopIndex ? INT_MAX : INT_MIN;
- const QItemSelection selection = d->selectionModel->selection();
- for (int i = 0; i < selection.count(); ++i) {
- const QItemSelectionRange &range = selection.at(i);
- int candidate = d->viewIndex(useTopIndex ? range.topLeft() : range.bottomRight());
- if (candidate >= 0)
- index = useTopIndex ? qMin(index, candidate) : qMax(index, candidate);
- }
-
- if (index >= 0 && index < INT_MAX)
- vi = index;
- }
- }
-#endif
if (vi < 0)
vi = qMax(0, d->viewIndex(current));
@@ -2619,7 +2591,7 @@ void QTreeView::sortByColumn(int column)
/*!
\since 4.2
- Sets the model up for sorting by the values in the given \a column and \a order.
+ Sorts the model by the values in the given \a column and \a order.
\a column may be -1, in which case no sort indicator will be shown
and the model will return to its natural, unsorted order. Note that not
@@ -2630,7 +2602,7 @@ void QTreeView::sortByColumn(int column)
void QTreeView::sortByColumn(int column, Qt::SortOrder order)
{
Q_D(QTreeView);
- if (column < 0)
+ if (column < -1)
return;
// If sorting is enabled it will emit a signal connected to
// _q_sortIndicatorChanged, which then actually sorts
diff --git a/src/widgets/kernel/kernel.pri b/src/widgets/kernel/kernel.pri
index a4b81335c5..693af7eb80 100644
--- a/src/widgets/kernel/kernel.pri
+++ b/src/widgets/kernel/kernel.pri
@@ -12,7 +12,7 @@ HEADERS += \
kernel/qactiongroup.h \
kernel/qapplication.h \
kernel/qapplication_p.h \
- kernel/qwidgetbackingstore_p.h \
+ kernel/qwidgetrepaintmanager_p.h \
kernel/qboxlayout.h \
kernel/qdesktopwidget.h \
kernel/qgridlayout.h \
@@ -41,7 +41,7 @@ SOURCES += \
kernel/qaction.cpp \
kernel/qactiongroup.cpp \
kernel/qapplication.cpp \
- kernel/qwidgetbackingstore.cpp \
+ kernel/qwidgetrepaintmanager.cpp \
kernel/qboxlayout.cpp \
kernel/qgridlayout.cpp \
kernel/qlayout.cpp \
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp
index 94b14ecb4f..629c696544 100644
--- a/src/widgets/kernel/qapplication.cpp
+++ b/src/widgets/kernel/qapplication.cpp
@@ -3388,7 +3388,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
#if QT_CONFIG(graphicsview)
// QGraphicsProxyWidget handles its own propagation,
// and we must not change QDragManagers currentTarget.
- QWExtra *extra = w->window()->d_func()->extra;
+ const auto &extra = w->window()->d_func()->extra;
if (extra && extra->proxyWidget) {
res = d->notify_helper(w, dragEvent);
break;
@@ -3416,7 +3416,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
#if QT_CONFIG(graphicsview)
// QGraphicsProxyWidget handles its own propagation,
// and we must not change QDragManagers currentTarget.
- QWExtra *extra = w->window()->d_func()->extra;
+ const auto &extra = w->window()->d_func()->extra;
bool isProxyWidget = extra && extra->proxyWidget;
if (!isProxyWidget)
#endif
diff --git a/src/widgets/kernel/qapplication_p.h b/src/widgets/kernel/qapplication_p.h
index 36c0ba8739..3167bd423f 100644
--- a/src/widgets/kernel/qapplication_p.h
+++ b/src/widgets/kernel/qapplication_p.h
@@ -112,16 +112,9 @@ public:
virtual bool shouldQuit() override;
bool tryCloseAllWindows() override;
-#if 0 // Used to be included in Qt4 for Q_WS_X11
-#if QT_CONFIG(settings)
- static bool x11_apply_settings();
-#endif
- static void reset_instance_pointer();
-#endif
static bool autoSipEnabled;
static QString desktopStyleKey();
-
void createEventDispatcher() override;
static void dispatchEnterLeave(QWidget *enter, QWidget *leave, const QPointF &globalPosF);
@@ -132,10 +125,7 @@ public:
static bool isBlockedByModal(QWidget *widget);
static bool modalState();
static bool tryModalHelper(QWidget *widget, QWidget **rettop = nullptr);
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- static QWidget *tryModalHelper_sys(QWidget *top);
- bool canQuit();
-#endif
+
#ifdef QT_KEYPAD_NAVIGATION
static bool keypadNavigationEnabled()
{
@@ -146,18 +136,10 @@ public:
bool notify_helper(QObject *receiver, QEvent * e);
- void init(
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- Display *dpy = 0, Qt::HANDLE visual = 0, Qt::HANDLE cmap = 0
-#endif
- );
+ void init();
void initialize();
void process_cmdline();
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- static void x11_initialize_style();
-#endif
-
static bool inPopupMode();
bool popupActive() override { return inPopupMode(); }
void closePopup(QWidget *popup);
@@ -212,10 +194,6 @@ public:
static void initializeWidgetFontHash();
static void setSystemFont(const QFont &font);
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- static void applyX11SpecificCommandLineArguments(QWidget *main_widget);
-#endif
-
static QApplicationPrivate *instance() { return self; }
#ifdef QT_KEYPAD_NAVIGATION
@@ -223,10 +201,6 @@ public:
static Qt::NavigationMode navigationMode;
#endif
-#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ || 0 /* Used to be included in Qt4 for Q_WS_X11 */
- void _q_alertTimeOut();
- QHash<QWidget *, QTimer *> alertTimerHash;
-#endif
#ifndef QT_NO_STYLE_STYLESHEET
static QString styleSheet;
#endif
@@ -263,14 +237,6 @@ public:
QGestureManager *gestureManager;
QWidget *gestureWidget;
#endif
-#if 0 /* Used to be included in Qt4 for Q_WS_X11 */ || 0 /* Used to be included in Qt4 for Q_WS_WIN */
- QPixmap *move_cursor;
- QPixmap *copy_cursor;
- QPixmap *link_cursor;
-#endif
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- QPixmap *ignore_cursor;
-#endif
static bool updateTouchPointsForWidget(QWidget *widget, QTouchEvent *touchEvent);
void initializeMultitouch();
@@ -299,14 +265,7 @@ private:
static bool isAlien(QWidget *);
};
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- extern void qt_win_set_cursor(QWidget *, bool);
-#elif 0 // Used to be included in Qt4 for Q_WS_X11
- extern void qt_x11_enforce_cursor(QWidget *, bool);
- extern void qt_x11_enforce_cursor(QWidget *);
-#else
- extern void qt_qpa_set_cursor(QWidget * w, bool force);
-#endif
+extern void qt_qpa_set_cursor(QWidget * w, bool force);
QT_END_NAMESPACE
diff --git a/src/widgets/kernel/qdesktopwidget.cpp b/src/widgets/kernel/qdesktopwidget.cpp
index ac0cfcf2f5..4fbe6bba3f 100644
--- a/src/widgets/kernel/qdesktopwidget.cpp
+++ b/src/widgets/kernel/qdesktopwidget.cpp
@@ -111,7 +111,7 @@ const QRect QDesktopWidgetPrivate::availableGeometry(const QWidget *widget)
QDesktopScreenWidget *QDesktopWidgetPrivate::widgetForScreen(QScreen *qScreen) const
{
foreach (QDesktopScreenWidget *widget, screens) {
- if (widget->screen() == qScreen)
+ if (widget->assignedScreen() == qScreen)
return widget;
}
return nullptr;
diff --git a/src/widgets/kernel/qdesktopwidget_p.h b/src/widgets/kernel/qdesktopwidget_p.h
index 69f87337b3..63949055aa 100644
--- a/src/widgets/kernel/qdesktopwidget_p.h
+++ b/src/widgets/kernel/qdesktopwidget_p.h
@@ -68,7 +68,7 @@ public:
int screenNumber() const;
void setScreenGeometry(const QRect &geometry);
- QScreen *screen() const { return m_screen.data(); }
+ QScreen *assignedScreen() const { return m_screen.data(); }
QRect screenGeometry() const { return m_geometry; }
private:
diff --git a/src/widgets/kernel/qgesturemanager.cpp b/src/widgets/kernel/qgesturemanager.cpp
index 1555c2a73a..d9d071a31a 100644
--- a/src/widgets/kernel/qgesturemanager.cpp
+++ b/src/widgets/kernel/qgesturemanager.cpp
@@ -54,9 +54,6 @@
#ifdef Q_OS_OSX
#include "qmacgesturerecognizer_p.h"
#endif
-#if 0 /* Used to be included in Qt4 for Q_WS_WIN */ && !defined(QT_NO_NATIVE_GESTURES)
-#include "qwinnativepangesturerecognizer_win_p.h"
-#endif
#include "qdebug.h"
#include <QtCore/QLoggingCategory>
@@ -102,14 +99,7 @@ QGestureManager::QGestureManager(QObject *parent)
registerGestureRecognizer(new QSwipeGestureRecognizer);
registerGestureRecognizer(new QTapGestureRecognizer);
#endif
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- #if !defined(QT_NO_NATIVE_GESTURES)
- if (QApplicationPrivate::HasTouchSupport)
- registerGestureRecognizer(new QWinNativePanGestureRecognizer);
- #endif
-#else
registerGestureRecognizer(new QTapAndHoldGestureRecognizer);
-#endif
}
QGestureManager::~QGestureManager()
diff --git a/src/widgets/kernel/qshortcut.cpp b/src/widgets/kernel/qshortcut.cpp
index a4ebcdfc84..39b08dbc1e 100644
--- a/src/widgets/kernel/qshortcut.cpp
+++ b/src/widgets/kernel/qshortcut.cpp
@@ -178,7 +178,7 @@ static bool correctWidgetContext(Qt::ShortcutContext context, QWidget *w, QWidge
// Below is Qt::WindowShortcut context
QWidget *tlw = w->window();
#if QT_CONFIG(graphicsview)
- if (auto topData = static_cast<QWidgetPrivate *>(QObjectPrivate::get(tlw))->extra) {
+ if (auto topData = static_cast<QWidgetPrivate *>(QObjectPrivate::get(tlw))->extra.get()) {
if (topData->proxyWidget) {
bool res = correctGraphicsWidgetContext(context, topData->proxyWidget, active_window);
return res;
diff --git a/src/widgets/kernel/qtooltip.cpp b/src/widgets/kernel/qtooltip.cpp
index d030a28356..97a279d65d 100644
--- a/src/widgets/kernel/qtooltip.cpp
+++ b/src/widgets/kernel/qtooltip.cpp
@@ -36,9 +36,6 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-# include <private/qcore_mac_p.h>
-#endif
#include <QtWidgets/private/qtwidgetsglobal_p.h>
@@ -63,11 +60,6 @@
#include <QtWidgets/private/qlabel_p.h>
#include <qtooltip.h>
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-# include <private/qcore_mac_p.h>
-#include <private/qt_cocoa_helpers_mac_p.h>
-#endif
-
QT_BEGIN_NAMESPACE
/*!
@@ -317,20 +309,7 @@ void QTipLabel::timerEvent(QTimerEvent *e)
|| e->timerId() == expireTimer.timerId()){
hideTimer.stop();
expireTimer.stop();
-#if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && QT_CONFIG(effects)
- if (QApplication::isEffectEnabled(Qt::UI_FadeTooltip)){
- // Fade out tip on mac (makes it invisible).
- // The tip will not be deleted until a new tip is shown.
-
- // DRSWAT - Cocoa
- macWindowFade(qt_mac_window_for(this));
- QTipLabel::instance->fadingOut = true; // will never be false again.
- }
- else
- hideTipImmediately();
-#else
hideTipImmediately();
-#endif
}
}
@@ -420,29 +399,11 @@ void QTipLabel::placeTip(const QPoint &pos, QWidget *w)
#endif //QT_NO_STYLE_STYLESHEET
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // When in full screen mode, there is no Dock nor Menu so we can use
- // the whole screen for displaying the tooltip. However when not in
- // full screen mode we need to save space for the dock, so we use
- // availableGeometry instead.
- extern bool qt_mac_app_fullscreen; //qapplication_mac.mm
- QRect screen;
- if(qt_mac_app_fullscreen)
- screen = QDesktopWidgetPrivate::screenGeometry(getTipScreen(pos, w));
- else
- screen = QDesktopWidgetPrivate::availableGeometry(getTipScreen(pos, w));
-#else
QRect screen = QDesktopWidgetPrivate::screenGeometry(getTipScreen(pos, w));
-#endif
QPoint p = pos;
- p += QPoint(2,
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- 21
-#else
- 16
-#endif
- );
+ p += QPoint(2, 16);
+
if (p.x() + this->width() > screen.x() + screen.width())
p.rx() -= 4 + this->width();
if (p.y() + this->height() > screen.y() + screen.height())
@@ -541,7 +502,7 @@ QT_WARNING_POP
QTipLabel::instance->setObjectName(QLatin1String("qtooltip_label"));
-#if QT_CONFIG(effects) && !0 /* Used to be included in Qt4 for Q_WS_MAC */
+#if QT_CONFIG(effects)
if (QApplication::isEffectEnabled(Qt::UI_FadeTooltip))
qFadeEffect(QTipLabel::instance);
else if (QApplication::isEffectEnabled(Qt::UI_AnimateTooltip))
diff --git a/src/widgets/kernel/qwhatsthis.cpp b/src/widgets/kernel/qwhatsthis.cpp
index a48eae6628..228ca4d38a 100644
--- a/src/widgets/kernel/qwhatsthis.cpp
+++ b/src/widgets/kernel/qwhatsthis.cpp
@@ -577,26 +577,12 @@ void QWhatsThisPrivate::say(QWidget * widget, const QString &text, int x, int y)
if (text.size() == 0)
return;
// make a fresh widget, and set it up
- QWhatsThat *whatsThat = new QWhatsThat(
- text,
-#if 0 /* Used to be included in Qt4 for Q_WS_X11 */ && !defined(QT_NO_CURSOR)
- QApplication::desktop()->screen(widget ? widget->x11Info().screen() : QCursor::x11Screen()),
-#else
- 0,
-#endif
- widget
- );
-
+ QWhatsThat *whatsThat = new QWhatsThat(text, 0, widget);
// okay, now to find a suitable location
-
int scr = (widget ?
QDesktopWidgetPrivate::screenNumber(widget) :
-#if 0 /* Used to be included in Qt4 for Q_WS_X11 */ && !defined(QT_NO_CURSOR)
- QCursor::x11Screen()
-#else
QDesktopWidgetPrivate::screenNumber(QPoint(x,y))
-#endif
);
QRect screen = QDesktopWidgetPrivate::screenGeometry(scr);
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index cdea0a570c..cf5a81c204 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -61,13 +61,6 @@
#ifndef QT_NO_ACCESSIBILITY
# include "qaccessible.h"
#endif
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-# include "qt_mac_p.h"
-# include "qt_cocoa_helpers_mac_p.h"
-# include "qmainwindow.h"
-# include "qtoolbar.h"
-# include <private/qmainwindowlayout_p.h>
-#endif
#include <qpa/qplatformwindow.h>
#include "private/qwidgetwindow_p.h"
#include "qpainter.h"
@@ -90,10 +83,7 @@
#include <private/qgraphicseffect_p.h>
#endif
#include <qbackingstore.h>
-#include <private/qwidgetbackingstore_p.h>
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-# include <private/qpaintengine_mac_p.h>
-#endif
+#include <private/qwidgetrepaintmanager_p.h>
#include <private/qpaintengine_raster_p.h>
#include "qwidget_p.h"
@@ -121,15 +111,15 @@
#include <QtPlatformHeaders/qxcbwindowfunctions.h>
+#include <private/qmemory_p.h>
+
// widget/widget data creation count
//#define QWIDGET_EXTRA_DEBUG
//#define ALIEN_DEBUG
QT_BEGIN_NAMESPACE
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-bool qt_mac_clearDirtyOnWidgetInsideDrawWidget = false;
-#endif
+Q_LOGGING_CATEGORY(lcWidgetPainting, "qt.widgets.painting", QtWarningMsg);
static inline bool qRectIntersects(const QRect &r1, const QRect &r2)
{
@@ -137,101 +127,11 @@ static inline bool qRectIntersects(const QRect &r1, const QRect &r2)
qMax(r1.top(), r2.top()) <= qMin(r1.bottom(), r2.bottom()));
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-# define QT_NO_PAINT_DEBUG
-#endif
-
extern bool qt_sendSpontaneousEvent(QObject*, QEvent*); // qapplication.cpp
extern QDesktopWidget *qt_desktopWidget; // qapplication.cpp
-/*!
- \internal
- \class QWidgetBackingStoreTracker
- \brief Class which allows tracking of which widgets are using a given backing store
-
- QWidgetBackingStoreTracker is a thin wrapper around a QWidgetBackingStore pointer,
- which maintains a list of the QWidgets which are currently using the backing
- store. This list is modified via the registerWidget and unregisterWidget functions.
- */
-
-QWidgetBackingStoreTracker::QWidgetBackingStoreTracker()
- : m_ptr(0)
-{
-
-}
-
-QWidgetBackingStoreTracker::~QWidgetBackingStoreTracker()
-{
- delete m_ptr;
-}
-
-/*!
- \internal
- Destroy the contained QWidgetBackingStore, if not null, and clear the list of
- widgets using the backing store, then create a new QWidgetBackingStore, providing
- the QWidget.
- */
-void QWidgetBackingStoreTracker::create(QWidget *widget)
-{
- destroy();
- m_ptr = new QWidgetBackingStore(widget);
-}
-
-/*!
- \internal
- Destroy the contained QWidgetBackingStore, if not null, and clear the list of
- widgets using the backing store.
- */
-void QWidgetBackingStoreTracker::destroy()
-{
- delete m_ptr;
- m_ptr = 0;
- m_widgets.clear();
-}
-
-/*!
- \internal
- Add the widget to the list of widgets currently using the backing store.
- If the widget was already in the list, this function is a no-op.
- */
-void QWidgetBackingStoreTracker::registerWidget(QWidget *w)
-{
- Q_ASSERT(m_ptr);
- Q_ASSERT(w->internalWinId());
- Q_ASSERT(qt_widget_private(w)->maybeBackingStore() == m_ptr);
- m_widgets.insert(w);
-}
-
-/*!
- \internal
- Remove the widget from the list of widgets currently using the backing store.
- If the widget was in the list, and removing it causes the list to be empty,
- the backing store is deleted.
- If the widget was not in the list, this function is a no-op.
- */
-void QWidgetBackingStoreTracker::unregisterWidget(QWidget *w)
-{
- if (m_widgets.remove(w) && m_widgets.isEmpty()) {
- delete m_ptr;
- m_ptr = 0;
- }
-}
-
-/*!
- \internal
- Recursively remove widget and all of its descendents.
- */
-void QWidgetBackingStoreTracker::unregisterWidgetSubtree(QWidget *widget)
-{
- unregisterWidget(widget);
- foreach (QObject *child, widget->children())
- if (QWidget *childWidget = qobject_cast<QWidget *>(child))
- unregisterWidgetSubtree(childWidget);
-}
-
QWidgetPrivate::QWidgetPrivate(int version)
: QObjectPrivate(version)
- , extra(0)
, focus_next(0)
, focus_prev(0)
, focus_child(0)
@@ -285,17 +185,6 @@ QWidgetPrivate::QWidgetPrivate(int version)
#if defined(Q_OS_WIN)
, noPaintOnScreen(0)
#endif
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- , picture(0)
-#elif 0 // Used to be included in Qt4 for Q_WS_WIN
- #ifndef QT_NO_GESTURES
- , nativeGesturePanEnabled(0)
- #endif
-#elif 0 // Used to be included in Qt4 for Q_WS_MAC
- , needWindowChange(0)
- , window_event(0)
- , qd_hd(0)
-#endif
{
if (Q_UNLIKELY(!qApp)) {
qFatal("QWidget: Must construct a QApplication before a QWidget");
@@ -314,16 +203,7 @@ QWidgetPrivate::QWidgetPrivate(int version)
isWidget = true;
memset(high_attributes, 0, sizeof(high_attributes));
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- drawRectOriginalAdded = false;
- originalDrawMethod = true;
- changeMethods = false;
- isInUnifiedToolbar = false;
- unifiedSurface = 0;
- toolbar_ancestor = 0;
- flushRequested = false;
- touchEventsEnabled = false;
-#endif
+
#ifdef QWIDGET_EXTRA_DEBUG
static int count = 0;
qDebug() << "widgets" << ++count;
@@ -944,22 +824,6 @@ QWidgetSet *QWidgetPrivate::allWidgets = 0; // widgets with no wid
/*****************************************************************************
- QWidget utility functions
- *****************************************************************************/
-
-QRegion qt_dirtyRegion(QWidget *widget)
-{
- if (!widget)
- return QRegion();
-
- QWidgetBackingStore *bs = qt_widget_private(widget)->maybeBackingStore();
- if (!bs)
- return QRegion();
-
- return bs->dirtyRegion(widget);
-}
-
-/*****************************************************************************
QWidget member functions
*****************************************************************************/
@@ -1084,17 +948,12 @@ void QWidgetPrivate::adjustFlags(Qt::WindowFlags &flags, QWidget *w)
// Only enable this on non-Mac platforms. Since the old way of doing this would
// interpret WindowSystemMenuHint as a close button and we can't change that behavior
// we can't just add this in.
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
if ((flags & (Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint | Qt::WindowContextHelpButtonHint))
# ifdef Q_OS_WIN
&& type != Qt::Dialog // QTBUG-2027, allow for menu-less dialogs.
# endif
) {
flags |= Qt::WindowSystemMenuHint;
-#else
- if (flags & (Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint
- | Qt::WindowSystemMenuHint)) {
-#endif
flags |= Qt::WindowTitleHint;
flags &= ~Qt::FramelessWindowHint;
}
@@ -1149,13 +1008,6 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f)
}
#endif
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- if (desktopWidget) {
- // make sure the widget is created on the same screen as the
- // programmer specified desktop widget
- xinfo = desktopWidget->d_func()->xinfo;
- }
-#endif
if (targetScreen >= 0) {
topData()->initialScreenIndex = targetScreen;
if (QWindow *window = q->windowHandle())
@@ -1183,9 +1035,6 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f)
mustHaveWindowHandle = 1;
q->setAttribute(Qt::WA_NativeWindow);
}
-//#if 0 // Used to be included in Qt4 for Q_WS_MAC
-// q->setAttribute(Qt::WA_NativeWindow);
-//#endif
q->setAttribute(Qt::WA_QuitOnClose); // might be cleared in adjustQuitOnCloseAttribute()
adjustQuitOnCloseAttribute();
@@ -1209,9 +1058,6 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f)
setOpaque(q->isWindow() && background.style() != Qt::NoBrush && background.isOpaque());
}
data.fnt = QFont(data.fnt, q);
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- data.fnt.x11SetScreen(xinfo.screen());
-#endif
q->setAttribute(Qt::WA_PendingMoveEvent);
q->setAttribute(Qt::WA_PendingResizeEvent);
@@ -1227,20 +1073,8 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f)
QCoreApplication::postEvent(q, new QEvent(QEvent::PolishRequest));
extraPaintEngine = 0;
-
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // If we add a child to the unified toolbar, we have to redirect the painting.
- if (parentWidget && parentWidget->d_func() && parentWidget->d_func()->isInUnifiedToolbar) {
- if (parentWidget->d_func()->unifiedSurface) {
- QWidget *toolbar = parentWidget->d_func()->toolbar_ancestor;
- parentWidget->d_func()->unifiedSurface->recursiveRedirect(toolbar, toolbar, toolbar->d_func()->toolbar_offset);
- }
- }
-#endif
}
-
-
void QWidgetPrivate::createRecursively()
{
Q_Q(QWidget);
@@ -1347,25 +1181,14 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
<< "Alien?" << !testAttribute(Qt::WA_NativeWindow);
#endif
-#if 0 /* Used to be included in Qt4 for Q_WS_WIN */ && QT_CONFIG(draganddrop)
- // Unregister the dropsite (if already registered) before we
- // re-create the widget with a native window.
- if (testAttribute(Qt::WA_WState_Created) && !internalWinId() && testAttribute(Qt::WA_NativeWindow)
- && d->extra && d->extra->dropTarget) {
- d->registerDropSite(false);
- }
-#endif
-
d->updateIsOpaque();
setAttribute(Qt::WA_WState_Created); // set created flag
d->create();
- // a real toplevel window needs a backing store
- if (isWindow() && windowType() != Qt::Desktop) {
- d->topData()->backingStoreTracker.destroy();
- d->topData()->backingStoreTracker.create(this);
- }
+ // A real toplevel window needs a paint manager
+ if (isWindow() && windowType() != Qt::Desktop)
+ d->topData()->repaintManager.reset(new QWidgetRepaintManager(this));
d->setModal_sys();
@@ -1638,7 +1461,7 @@ QWidget::~QWidget()
while (w->d_func()->extra && w->d_func()->extra->focus_proxy)
w = w->d_func()->extra->focus_proxy;
QWidget *window = w->window();
- QWExtra *e = window ? window->d_func()->extra : 0;
+ QWExtra *e = window ? window->d_func()->extra.get() : nullptr ;
if (!e || !e->proxyWidget || (w->parentWidget() && w->parentWidget()->d_func()->focus_child == this))
#endif
clearFocus();
@@ -1659,21 +1482,14 @@ QWidget::~QWidget()
// and if that also doesn't work, then give up
}
}
- }
-
-#if 0 /* Used to be included in Qt4 for Q_WS_WIN */ || 0 /* Used to be included in Qt4 for Q_WS_X11 */|| 0 /* Used to be included in Qt4 for Q_WS_MAC */
- else if (!internalWinId() && isVisible()) {
- qApp->d_func()->sendSyntheticEnterLeave(this);
- }
-#endif
- else if (isVisible()) {
+ } else if (isVisible()) {
qApp->d_func()->sendSyntheticEnterLeave(this);
}
- if (QWidgetBackingStore *bs = d->maybeBackingStore()) {
- bs->removeDirtyWidget(this);
+ if (QWidgetRepaintManager *repaintManager = d->maybeRepaintManager()) {
+ repaintManager->removeDirtyWidget(this);
if (testAttribute(Qt::WA_StaticContents))
- bs->removeStaticWidget(this);
+ repaintManager->removeStaticWidget(this);
}
delete d->needsFlush;
@@ -1710,15 +1526,6 @@ QWidget::~QWidget()
d->blockSig = blocked;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // QCocoaView holds a pointer back to this widget. Clear it now
- // to make sure it's not followed later on. The lifetime of the
- // QCocoaView might exceed the lifetime of this widget in cases
- // where Cocoa itself holds references to it.
- extern void qt_mac_clearCocoaViewQWidgetPointers(QWidget *);
- qt_mac_clearCocoaViewQWidgetPointers(this);
-#endif
-
if (!d->children.isEmpty())
d->deleteChildren();
@@ -1765,9 +1572,6 @@ void QWidgetPrivate::setWinId(WId id) // set widget identifier
const WId oldWinId = data.winid;
data.winid = id;
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- hd = id; // X11: hd == ident
-#endif
if (mapper && id && !userDesktopWidget) {
mapper->insert(data.winid, q);
}
@@ -1783,8 +1587,8 @@ void QWidgetPrivate::createTLExtra()
if (!extra)
createExtra();
if (!extra->topextra) {
- QTLWExtra* x = extra->topextra = new QTLWExtra;
- x->icon = 0;
+ extra->topextra = qt_make_unique<QTLWExtra>();
+ QTLWExtra* x = extra->topextra.get();
x->backingStore = 0;
x->sharedPainter = 0;
x->incw = x->inch = 0;
@@ -1798,11 +1602,8 @@ void QWidgetPrivate::createTLExtra()
x->inTopLevelResize = false;
x->embedded = 0;
x->window = 0;
- x->shareContext = 0;
x->initialScreenIndex = -1;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- x->wasMaximized = false;
-#endif
+
#ifdef QWIDGET_EXTRA_DEBUG
static int count = 0;
qDebug() << "tlextra" << ++count;
@@ -1818,15 +1619,11 @@ void QWidgetPrivate::createTLExtra()
void QWidgetPrivate::createExtra()
{
if (!extra) { // if not exists
- extra = new QWExtra;
+ extra = qt_make_unique<QWExtra>();
extra->glContext = 0;
- extra->topextra = 0;
#if QT_CONFIG(graphicsview)
extra->proxyWidget = 0;
#endif
-#ifndef QT_NO_CURSOR
- extra->curs = 0;
-#endif
extra->minw = 0;
extra->minh = 0;
extra->maxw = QWIDGETSIZE_MAX;
@@ -1860,9 +1657,6 @@ void QWidgetPrivate::createSysExtra()
void QWidgetPrivate::deleteExtra()
{
if (extra) { // if exists
-#ifndef QT_NO_CURSOR
- delete extra->curs;
-#endif
deleteSysExtra();
#ifndef QT_NO_STYLE_STYLESHEET
// dereference the stylesheet style
@@ -1872,12 +1666,9 @@ void QWidgetPrivate::deleteExtra()
if (extra->topextra) {
deleteTLSysExtra();
// extra->topextra->backingStore destroyed in QWidgetPrivate::deleteTLSysExtra()
- delete extra->topextra->icon;
- delete extra->topextra;
}
- delete extra;
// extra->xic destroyed in QWidget::destroy()
- extra = 0;
+ extra.reset();
}
}
@@ -1899,13 +1690,11 @@ void QWidgetPrivate::deleteTLSysExtra()
//the qplatformbackingstore may hold a reference to the window, so the backingstore
//needs to be deleted first.
- extra->topextra->backingStoreTracker.destroy();
+ extra->topextra->repaintManager.reset(nullptr);
deleteBackingStore(this);
#ifndef QT_NO_OPENGL
- qDeleteAll(extra->topextra->widgetTextures);
extra->topextra->widgetTextures.clear();
- delete extra->topextra->shareContext;
- extra->topextra->shareContext = 0;
+ extra->topextra->shareContext.reset();
#endif
//the toplevel might have a context with a "qglcontext associated with it. We need to
@@ -1950,7 +1739,7 @@ QRegion QWidgetPrivate::overlappedRegion(const QRect &rect, bool breakAfterFirst
const QRect siblingRect = sibling->d_func()->effectiveRectFor(sibling->data->crect);
if (qRectIntersects(siblingRect, r)) {
- const QWExtra *siblingExtra = sibling->d_func()->extra;
+ const auto &siblingExtra = sibling->d_func()->extra;
if (siblingExtra && siblingExtra->hasMask && !sibling->d_func()->graphicsEffect
&& !siblingExtra->mask.translated(sibling->data->crect.topLeft()).intersects(r)) {
continue;
@@ -1969,23 +1758,59 @@ QRegion QWidgetPrivate::overlappedRegion(const QRect &rect, bool breakAfterFirst
void QWidgetPrivate::syncBackingStore()
{
- if (paintOnScreen()) {
- repaint_sys(dirty);
+ if (shouldPaintOnScreen()) {
+ paintOnScreen(dirty);
dirty = QRegion();
- } else if (QWidgetBackingStore *bs = maybeBackingStore()) {
- bs->sync();
+ } else if (QWidgetRepaintManager *repaintManager = maybeRepaintManager()) {
+ repaintManager->sync();
}
}
void QWidgetPrivate::syncBackingStore(const QRegion &region)
{
- if (paintOnScreen())
- repaint_sys(region);
- else if (QWidgetBackingStore *bs = maybeBackingStore()) {
- bs->sync(q_func(), region);
+ if (shouldPaintOnScreen())
+ paintOnScreen(region);
+ else if (QWidgetRepaintManager *repaintManager = maybeRepaintManager()) {
+ repaintManager->sync(q_func(), region);
}
}
+void QWidgetPrivate::paintOnScreen(const QRegion &rgn)
+{
+ if (data.in_destructor)
+ return;
+
+ if (shouldDiscardSyncRequest())
+ return;
+
+ Q_Q(QWidget);
+ if (q->testAttribute(Qt::WA_StaticContents)) {
+ if (!extra)
+ createExtra();
+ extra->staticContentsSize = data.crect.size();
+ }
+
+ QPaintEngine *engine = q->paintEngine();
+
+ // QGLWidget does not support partial updates if:
+ // 1) The context is double buffered
+ // 2) The context is single buffered and auto-fill background is enabled.
+ const bool noPartialUpdateSupport = (engine && (engine->type() == QPaintEngine::OpenGL
+ || engine->type() == QPaintEngine::OpenGL2))
+ && (usesDoubleBufferedGLContext || q->autoFillBackground());
+ QRegion toBePainted(noPartialUpdateSupport ? q->rect() : rgn);
+
+ toBePainted &= clipRect();
+ clipToEffectiveMask(toBePainted);
+ if (toBePainted.isEmpty())
+ return; // Nothing to repaint.
+
+ drawWidget(q, toBePainted, QPoint(), QWidgetPrivate::DrawAsRoot | QWidgetPrivate::DrawPaintOnScreen, 0);
+
+ if (Q_UNLIKELY(q->paintingActive()))
+ qWarning("QWidget::repaint: It is dangerous to leave painters active on a widget outside of the PaintEvent");
+}
+
void QWidgetPrivate::setUpdatesEnabled_helper(bool enable)
{
Q_Q(QWidget);
@@ -2210,11 +2035,6 @@ void QWidgetPrivate::subtractOpaqueSiblings(QRegion &sourceRegion, bool *hasDirt
if (disableSubtractOpaqueSiblings || q->isWindow())
return;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (q->d_func()->isInUnifiedToolbar)
- return;
-#endif
-
QRect clipBoundingRect;
bool dirtyClipBoundingRect = true;
@@ -2318,7 +2138,7 @@ void QWidgetPrivate::clipToEffectiveMask(QRegion &region) const
}
}
-bool QWidgetPrivate::paintOnScreen() const
+bool QWidgetPrivate::shouldPaintOnScreen() const
{
#if defined(QT_NO_BACKINGSTORE)
return true;
@@ -2347,13 +2167,6 @@ void QWidgetPrivate::updateIsOpaque()
#endif // QT_CONFIG(graphicseffect)
Q_Q(QWidget);
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- if (q->testAttribute(Qt::WA_X11OpenGLOverlay)) {
- setOpaque(false);
- return;
- }
-#endif
-
if (q->testAttribute(Qt::WA_OpaquePaintEvent) || q->testAttribute(Qt::WA_PaintOnScreen)) {
setOpaque(true);
return;
@@ -2406,20 +2219,9 @@ static inline void fillRegion(QPainter *painter, const QRegion &rgn, const QBrus
Q_ASSERT(painter);
if (brush.style() == Qt::TexturePattern) {
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // Optimize pattern filling on mac by using HITheme directly
- // when filling with the standard widget background.
- // Defined in qmacstyle_mac.cpp
- extern void qt_mac_fill_background(QPainter *painter, const QRegion &rgn, const QBrush &brush);
- qt_mac_fill_background(painter, rgn, brush);
-#else
- {
- const QRect rect(rgn.boundingRect());
- painter->setClipRegion(rgn);
- painter->drawTiledPixmap(rect, brush.texture(), rect.topLeft());
- }
-#endif
-
+ const QRect rect(rgn.boundingRect());
+ painter->setClipRegion(rgn);
+ painter->drawTiledPixmap(rect, brush.texture(), rect.topLeft());
} else if (brush.gradient()
&& (brush.gradient()->coordinateMode() == QGradient::ObjectBoundingMode
|| brush.gradient()->coordinateMode() == QGradient::ObjectMode)) {
@@ -2450,7 +2252,7 @@ bool QWidgetPrivate::updateBrushOrigin(QPainter *painter, const QBrush &brush) c
return true;
}
-void QWidgetPrivate::paintBackground(QPainter *painter, const QRegion &rgn, int flags) const
+void QWidgetPrivate::paintBackground(QPainter *painter, const QRegion &rgn, DrawWidgetFlags flags) const
{
Q_Q(const QWidget);
@@ -2493,11 +2295,7 @@ void QWidgetPrivate::paintBackground(QPainter *painter, const QRegion &rgn, int
visible widgets.
*/
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- extern QPointer<QWidget> qt_button_down;
-#else
- extern QWidget *qt_button_down;
-#endif
+extern QWidget *qt_button_down;
void QWidgetPrivate::deactivateWidgetCleanup()
{
@@ -2683,7 +2481,7 @@ WId QWidget::effectiveWinId() const
\since 5.0
- \sa winId()
+ \sa winId(), screen()
*/
QWindow *QWidget::windowHandle() const
{
@@ -2691,6 +2489,29 @@ QWindow *QWidget::windowHandle() const
return d->windowHandle();
}
+/*!
+ Returns the screen the widget is on.
+
+ \since 5.14
+
+ \sa windowHandle()
+*/
+QScreen *QWidget::screen() const
+{
+ Q_D(const QWidget);
+ if (auto associatedScreen = d->associatedScreen())
+ return associatedScreen;
+ if (auto topLevel = window()) {
+ if (auto topData = qt_widget_private(topLevel)->topData()) {
+ if (auto initialScreen = QGuiApplicationPrivate::screen_list.value(topData->initialScreenIndex))
+ return initialScreen;
+ }
+ if (auto screenByPos = QGuiApplication::screenAt(topLevel->geometry().center()))
+ return screenByPos;
+ }
+ return QGuiApplication::primaryScreen();
+}
+
#ifndef QT_NO_STYLE_STYLESHEET
/*!
@@ -3166,15 +2987,6 @@ bool QWidget::isFullScreen() const
*/
void QWidget::showFullScreen()
{
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // If the unified toolbar is enabled, we have to disable it before going fullscreen.
- QMainWindow *mainWindow = qobject_cast<QMainWindow*>(this);
- if (mainWindow && mainWindow->unifiedTitleAndToolBarOnMac()) {
- mainWindow->setUnifiedTitleAndToolBarOnMac(false);
- QMainWindowLayout *mainLayout = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
- mainLayout->activateUnifiedToolbarAfterFullScreen = true;
- }
-#endif
ensurePolished();
setWindowState((windowState() & ~(Qt::WindowMinimized | Qt::WindowMaximized))
@@ -3202,18 +3014,6 @@ void QWidget::showMaximized()
setWindowState((windowState() & ~(Qt::WindowMinimized | Qt::WindowFullScreen))
| Qt::WindowMaximized);
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // If the unified toolbar was enabled before going fullscreen, we have to enable it back.
- QMainWindow *mainWindow = qobject_cast<QMainWindow*>(this);
- if (mainWindow)
- {
- QMainWindowLayout *mainLayout = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
- if (mainLayout->activateUnifiedToolbarAfterFullScreen) {
- mainWindow->setUnifiedTitleAndToolBarOnMac(true);
- mainLayout->activateUnifiedToolbarAfterFullScreen = false;
- }
- }
-#endif
setVisible(true);
}
@@ -3231,18 +3031,6 @@ void QWidget::showNormal()
setWindowState(windowState() & ~(Qt::WindowMinimized
| Qt::WindowMaximized
| Qt::WindowFullScreen));
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // If the unified toolbar was enabled before going fullscreen, we have to enable it back.
- QMainWindow *mainWindow = qobject_cast<QMainWindow*>(this);
- if (mainWindow)
- {
- QMainWindowLayout *mainLayout = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
- if (mainLayout->activateUnifiedToolbarAfterFullScreen) {
- mainWindow->setUnifiedTitleAndToolBarOnMac(true);
- mainLayout->activateUnifiedToolbarAfterFullScreen = false;
- }
- }
-#endif
setVisible(true);
}
@@ -3458,13 +3246,6 @@ void QWidgetPrivate::setEnabled_helper(bool enable)
if (w && !w->testAttribute(attribute))
w->d_func()->setEnabled_helper(enable);
}
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- if (q->testAttribute(Qt::WA_SetCursor) || q->isWindow()) {
- // enforce the windows behavior of clearing the cursor on
- // disabled widgets
- qt_x11_enforce_cursor(q);
- }
-#endif
#ifndef QT_NO_CURSOR
if (q->testAttribute(Qt::WA_SetCursor) || q->isWindow()) {
// enforce the windows behavior of clearing the cursor on
@@ -3472,9 +3253,6 @@ void QWidgetPrivate::setEnabled_helper(bool enable)
qt_qpa_set_cursor(q, false);
}
#endif
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- setEnabled_helper_sys(enable);
-#endif
#ifndef QT_NO_IM
if (q->testAttribute(Qt::WA_InputMethodEnabled) && q->hasFocus()) {
QWidget *focusWidget = effectiveFocusWidget();
@@ -3955,7 +3733,7 @@ QSize QWidget::sizeIncrement() const
QSize QWidget::baseSize() const
{
Q_D(const QWidget);
- return (d->extra != 0 && d->extra->topextra != 0)
+ return (d->extra && d->extra->topextra)
? QSize(d->extra->topextra->basew, d->extra->topextra->baseh)
: QSize(0, 0);
}
@@ -4569,13 +4347,7 @@ const QPalette &QWidget::palette() const
) {
data->pal.setCurrentColorGroup(QPalette::Active);
} else {
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- extern bool qt_mac_can_clickThrough(const QWidget *); //qwidget_mac.cpp
- if (qt_mac_can_clickThrough(this))
- data->pal.setCurrentColorGroup(QPalette::Active);
- else
-#endif
- data->pal.setCurrentColorGroup(QPalette::Inactive);
+ data->pal.setCurrentColorGroup(QPalette::Inactive);
}
return data->pal;
}
@@ -4838,10 +4610,7 @@ void QWidgetPrivate::updateFont(const QFont &font)
#endif
data.fnt = QFont(font, q);
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- // make sure the font set on this widget is associated with the correct screen
- data.fnt.x11SetScreen(xinfo.screen());
-#endif
+
// Combine new mask with natural mask and propagate to children.
#if QT_CONFIG(graphicsview)
if (!q->parentWidget() && extra && extra->proxyWidget) {
@@ -5015,16 +4784,11 @@ QCursor QWidget::cursor() const
void QWidget::setCursor(const QCursor &cursor)
{
Q_D(QWidget);
-// On Mac we must set the cursor even if it is the ArrowCursor.
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
if (cursor.shape() != Qt::ArrowCursor
|| (d->extra && d->extra->curs))
-#endif
{
d->createExtra();
- QCursor *newCursor = new QCursor(cursor);
- delete d->extra->curs;
- d->extra->curs = newCursor;
+ d->extra->curs = qt_make_unique<QCursor>(cursor);
}
setAttribute(Qt::WA_SetCursor);
d->setCursor_sys(cursor);
@@ -5043,10 +4807,8 @@ void QWidgetPrivate::setCursor_sys(const QCursor &cursor)
void QWidget::unsetCursor()
{
Q_D(QWidget);
- if (d->extra) {
- delete d->extra->curs;
- d->extra->curs = 0;
- }
+ if (d->extra)
+ d->extra->curs.reset();
if (!isWindow())
setAttribute(Qt::WA_SetCursor, false);
d->unsetCursor_sys();
@@ -5450,11 +5212,9 @@ void QWidgetPrivate::render_helper(QPainter *painter, const QPoint &targetOffset
Q_ASSERT(!toBePainted.isEmpty());
Q_Q(QWidget);
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
const QTransform originalTransform = painter->worldTransform();
const bool useDeviceCoordinates = originalTransform.isScaling();
if (!useDeviceCoordinates) {
-#endif
// Render via a pixmap.
const QRect rect = toBePainted.boundingRect();
const QSize size = rect.size();
@@ -5477,7 +5237,6 @@ void QWidgetPrivate::render_helper(QPainter *painter, const QPoint &targetOffset
if (restore)
painter->setRenderHints(QPainter::SmoothPixmapTransform, false);
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
} else {
// Render via a pixmap in device coordinates (to avoid pixmap scaling).
QTransform transform = originalTransform;
@@ -5508,26 +5267,29 @@ void QWidgetPrivate::render_helper(QPainter *painter, const QPoint &targetOffset
painter->drawPixmap(deviceRect.topLeft(), pixmap);
painter->setTransform(originalTransform);
}
-#endif
}
-void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QPoint &offset, int flags,
- QPainter *sharedPainter, QWidgetBackingStore *backingStore)
+void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QPoint &offset, DrawWidgetFlags flags,
+ QPainter *sharedPainter, QWidgetRepaintManager *repaintManager)
{
if (rgn.isEmpty())
return;
+ Q_Q(QWidget);
+
+ qCInfo(lcWidgetPainting) << "Drawing" << rgn << "of" << q << "at" << offset
+ << "into paint device" << pdev << "with" << flags;
+
const bool asRoot = flags & DrawAsRoot;
- bool onScreen = paintOnScreen();
+ bool onScreen = shouldPaintOnScreen();
- Q_Q(QWidget);
#if QT_CONFIG(graphicseffect)
if (graphicsEffect && graphicsEffect->isEnabled()) {
QGraphicsEffectSource *source = graphicsEffect->d_func()->source;
QWidgetEffectSourcePrivate *sourced = static_cast<QWidgetEffectSourcePrivate *>
(source->d_func());
if (!sourced->context) {
- QWidgetPaintContext context(pdev, rgn, offset, flags, sharedPainter, backingStore);
+ QWidgetPaintContext context(pdev, rgn, offset, flags, sharedPainter, repaintManager);
sourced->context = &context;
if (!sharedPainter) {
setSystemClip(pdev->paintEngine(), pdev->devicePixelRatioF(), rgn.translated(offset));
@@ -5551,10 +5313,8 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
}
sourced->context = 0;
- // Native widgets need to be marked dirty on screen so painting will be done in correct context
- // Same check as in the no effects case below.
- if (backingStore && !onScreen && !asRoot && (q->internalWinId() || !q->nativeParentWidget()->isWindow()))
- backingStore->markDirtyOnScreen(rgn, q, offset);
+ if (repaintManager)
+ repaintManager->markNeedsFlush(q, rgn, offset);
return;
}
@@ -5581,22 +5341,10 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
q->setAttribute(Qt::WA_WState_InPaintEvent);
//clip away the new area
-#ifndef QT_NO_PAINT_DEBUG
- bool flushed = QWidgetBackingStore::flushPaint(q, toBePainted);
-#endif
QPaintEngine *paintEngine = pdev->paintEngine();
if (paintEngine) {
setRedirected(pdev, -offset);
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // (Alien support) Special case for Mac when redirecting: If the paint device
- // is of the Widget type we need to set WA_WState_InPaintEvent since painting
- // outside the paint event is not supported on QWidgets. The attributeis
- // restored further down.
- if (pdev->devType() == QInternal::Widget)
- static_cast<QWidget *>(pdev)->setAttribute(Qt::WA_WState_InPaintEvent);
-
-#endif
if (sharedPainter)
setSystemClip(pdev->paintEngine(), pdev->devicePixelRatioF(), toBePainted);
else
@@ -5609,7 +5357,7 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
beginBackingStorePainting();
#endif
QPainter p(q);
- paintBackground(&p, toBePainted, (asRoot || onScreen) ? flags | DrawAsRoot : 0);
+ paintBackground(&p, toBePainted, (asRoot || onScreen) ? (flags | DrawAsRoot) : DrawWidgetFlags());
#ifndef QT_NO_OPENGL
endBackingStorePainting();
#endif
@@ -5644,11 +5392,11 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
// This widget renders into a texture which is composed later. We just need to
// punch a hole in the backingstore, so the texture will be visible.
beginBackingStorePainting();
- if (!q->testAttribute(Qt::WA_AlwaysStackOnTop) && backingStore) {
+ if (!q->testAttribute(Qt::WA_AlwaysStackOnTop) && repaintManager) {
QPainter p(q);
p.setCompositionMode(QPainter::CompositionMode_Source);
p.fillRect(q->rect(), Qt::transparent);
- } else if (!backingStore) {
+ } else if (!repaintManager) {
// We are not drawing to a backingstore: fall back to QImage
QImage img = grabFramebuffer();
// grabFramebuffer() always sets the format to RGB32
@@ -5672,16 +5420,11 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
sendPaintEvent(toBePainted);
}
- // Native widgets need to be marked dirty on screen so painting will be done in correct context
- if (backingStore && !onScreen && !asRoot && (q->internalWinId() || (q->nativeParentWidget() && !q->nativeParentWidget()->isWindow())))
- backingStore->markDirtyOnScreen(toBePainted, q, offset);
+ if (repaintManager)
+ repaintManager->markNeedsFlush(q, toBePainted, offset);
//restore
if (paintEngine) {
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (pdev->devType() == QInternal::Widget)
- static_cast<QWidget *>(pdev)->setAttribute(Qt::WA_WState_InPaintEvent, false);
-#endif
restoreRedirected();
if (!sharedPainter)
paintEngine->d_func()->systemRect = QRect();
@@ -5697,11 +5440,6 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
if (paintEngine && paintEngine->autoDestruct()) {
delete paintEngine;
}
-
-#ifndef QT_NO_PAINT_DEBUG
- if (flushed)
- QWidgetBackingStore::unflushPaint(q, toBePainted);
-#endif
} else if (q->isWindow()) {
QPaintEngine *engine = pdev->paintEngine();
if (engine) {
@@ -5720,8 +5458,8 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
}
if (recursive && !children.isEmpty()) {
- paintSiblingsRecursive(pdev, children, children.size() - 1, rgn, offset, flags & ~DrawAsRoot
- , sharedPainter, backingStore);
+ paintSiblingsRecursive(pdev, children, children.size() - 1, rgn, offset, flags & ~DrawAsRoot,
+ sharedPainter, repaintManager);
}
}
@@ -5752,7 +5490,6 @@ void QWidgetPrivate::render(QPaintDevice *target, const QPoint &targetOffset,
if (paintRegion.isEmpty())
return;
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
QPainter *oldSharedPainter = inRenderWithPainter ? sharedPainter() : 0;
// Use the target's shared painter if set (typically set when doing
@@ -5765,7 +5502,6 @@ void QWidgetPrivate::render(QPaintDevice *target, const QPoint &targetOffset,
setSharedPainter(targetPainter);
}
}
-#endif
// Use the target's redirected device if set and adjust offset and paint
// region accordingly. This is typically the case when people call render
@@ -5792,7 +5528,7 @@ void QWidgetPrivate::render(QPaintDevice *target, const QPoint &targetOffset,
}
// Set backingstore flags.
- int flags = DrawPaintOnScreen | DrawInvisible;
+ DrawWidgetFlags flags = DrawPaintOnScreen | DrawInvisible;
if (renderFlags & QWidget::DrawWindowBackground)
flags |= DrawAsRoot;
@@ -5812,8 +5548,8 @@ void QWidgetPrivate::render(QPaintDevice *target, const QPoint &targetOffset,
}
void QWidgetPrivate::paintSiblingsRecursive(QPaintDevice *pdev, const QObjectList& siblings, int index, const QRegion &rgn,
- const QPoint &offset, int flags
- , QPainter *sharedPainter, QWidgetBackingStore *backingStore)
+ const QPoint &offset, DrawWidgetFlags flags
+ , QPainter *sharedPainter, QWidgetRepaintManager *repaintManager)
{
QWidget *w = 0;
QRect boundingRect;
@@ -5848,8 +5584,8 @@ void QWidgetPrivate::paintSiblingsRecursive(QPaintDevice *pdev, const QObjectLis
QRegion wr(rgn);
if (wd->isOpaque)
wr -= hasMask ? wd->extra->mask.translated(widgetPos) : w->data->crect;
- paintSiblingsRecursive(pdev, siblings, --index, wr, offset, flags
- , sharedPainter, backingStore);
+ paintSiblingsRecursive(pdev, siblings, --index, wr, offset, flags,
+ sharedPainter, repaintManager);
}
if (w->updatesEnabled()
@@ -5862,7 +5598,7 @@ void QWidgetPrivate::paintSiblingsRecursive(QPaintDevice *pdev, const QObjectLis
wRegion.translate(-widgetPos);
if (hasMask)
wRegion &= wd->extra->mask;
- wd->drawWidget(pdev, wRegion, offset + widgetPos, flags, sharedPainter, backingStore);
+ wd->drawWidget(pdev, wRegion, offset + widgetPos, flags, sharedPainter, repaintManager);
}
}
@@ -5897,7 +5633,7 @@ void QWidgetEffectSourcePrivate::draw(QPainter *painter)
toBePainted &= wd->extra->mask;
wd->drawWidget(context->pdev, toBePainted, context->offset, context->flags,
- context->sharedPainter, context->backingStore);
+ context->sharedPainter, context->repaintManager);
}
QPixmap QWidgetEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QPoint *offset,
@@ -5959,7 +5695,7 @@ QPixmap QWidgetEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QPoint *
QGraphicsProxyWidget *QWidgetPrivate::nearestGraphicsProxyWidget(const QWidget *origin)
{
if (origin) {
- QWExtra *extra = origin->d_func()->extra;
+ const auto &extra = origin->d_func()->extra;
if (extra && extra->proxyWidget)
return extra->proxyWidget;
return nearestGraphicsProxyWidget(origin->parentWidget());
@@ -6266,8 +6002,9 @@ void QWidget::setWindowIcon(const QIcon &icon)
d->createTLExtra();
if (!d->extra->topextra->icon)
- d->extra->topextra->icon = new QIcon();
- *d->extra->topextra->icon = icon;
+ d->extra->topextra->icon = qt_make_unique<QIcon>(icon);
+ else
+ *d->extra->topextra->icon = icon;
d->setWindowIcon_sys();
d->setWindowIcon_helper();
@@ -6481,7 +6218,7 @@ void QWidget::setFocusProxy(QWidget * w)
QWidget *QWidget::focusProxy() const
{
Q_D(const QWidget);
- return d->extra ? (QWidget *)d->extra->focus_proxy : nullptr;
+ return d->extra ? d->extra->focus_proxy.data() : nullptr;
}
@@ -6504,7 +6241,7 @@ bool QWidget::hasFocus() const
w = w->d_func()->extra->focus_proxy;
#if QT_CONFIG(graphicsview)
if (QWidget *window = w->window()) {
- QWExtra *e = window->d_func()->extra;
+ const auto &e = window->d_func()->extra;
if (e && e->proxyWidget && e->proxyWidget->hasFocus() && window->focusWidget() == w)
return true;
}
@@ -6556,16 +6293,12 @@ void QWidget::setFocus(Qt::FocusReason reason)
if (!f)
f = this;
- if (QApplication::focusWidget() == f
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- && GetFocus() == f->internalWinId()
-#endif
- )
+ if (QApplication::focusWidget() == f)
return;
#if QT_CONFIG(graphicsview)
QWidget *previousProxyFocus = 0;
- if (QWExtra *topData = window()->d_func()->extra) {
+ if (const auto &topData = window()->d_func()->extra) {
if (topData->proxyWidget && topData->proxyWidget->hasFocus()) {
previousProxyFocus = topData->proxyWidget->widget()->focusWidget();
if (previousProxyFocus && previousProxyFocus->focusProxy())
@@ -6578,7 +6311,7 @@ void QWidget::setFocus(Qt::FocusReason reason)
#if QT_CONFIG(graphicsview)
// Update proxy state
- if (QWExtra *topData = window()->d_func()->extra) {
+ if (const auto &topData = window()->d_func()->extra) {
if (topData->proxyWidget && !topData->proxyWidget->hasFocus()) {
f->d_func()->updateFocusChild();
topData->proxyWidget->d_func()->focusFromWidgetToProxy = 1;
@@ -6619,7 +6352,7 @@ void QWidget::setFocus(Qt::FocusReason reason)
}
#endif
#if QT_CONFIG(graphicsview)
- if (QWExtra *topData = window()->d_func()->extra) {
+ if (const auto &topData = window()->d_func()->extra) {
if (topData->proxyWidget) {
if (previousProxyFocus && previousProxyFocus != f) {
// Send event to self
@@ -6632,7 +6365,7 @@ void QWidget::setFocus(Qt::FocusReason reason)
if (!isHidden()) {
#if QT_CONFIG(graphicsview)
// Update proxy state
- if (QWExtra *topData = window()->d_func()->extra)
+ if (const auto &topData = window()->d_func()->extra)
if (topData->proxyWidget && topData->proxyWidget->hasFocus())
topData->proxyWidget->d_func()->updateProxyInputMethodAcceptanceFromWidget();
#endif
@@ -6769,7 +6502,7 @@ void QWidget::clearFocus()
}
#if QT_CONFIG(graphicsview)
- QWExtra *topData = d_func()->extra;
+ const auto &topData = d_func()->extra;
if (topData && topData->proxyWidget)
topData->proxyWidget->clearFocus();
#endif
@@ -6777,17 +6510,10 @@ void QWidget::clearFocus()
if (hasFocus()) {
// Update proxy state
QApplicationPrivate::setFocusWidget(0, Qt::OtherFocusReason);
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- if (!(windowType() == Qt::Popup) && GetFocus() == internalWinId())
- SetFocus(0);
- else
-#endif
- {
#ifndef QT_NO_ACCESSIBILITY
- QAccessibleEvent event(this, QAccessible::Focus);
- QAccessible::updateAccessibility(&event);
+ QAccessibleEvent event(this, QAccessible::Focus);
+ QAccessible::updateAccessibility(&event);
#endif
- }
}
}
@@ -6935,7 +6661,7 @@ bool QWidget::isActiveWindow() const
return true;
#if QT_CONFIG(graphicsview)
- if (QWExtra *tlwExtra = tlw->d_func()->extra) {
+ if (const auto &tlwExtra = tlw->d_func()->extra) {
if (isVisible() && tlwExtra->proxyWidget)
return tlwExtra->proxyWidget->isActiveWindow();
}
@@ -7431,18 +7157,6 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
*/
QByteArray QWidget::saveGeometry() const
{
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // We check if the window was maximized during this invocation. If so, we need to record the
- // starting position as 0,0.
- Q_D(const QWidget);
- QRect newFramePosition = frameGeometry();
- QRect newNormalPosition = normalGeometry();
- if(d->topData()->wasMaximized && !(windowState() & Qt::WindowMaximized)) {
- // Change the starting position
- newFramePosition.moveTo(0, 0);
- newNormalPosition.moveTo(0, 0);
- }
-#endif
QByteArray array;
QDataStream stream(&array, QIODevice::WriteOnly);
stream.setVersion(QDataStream::Qt_4_0);
@@ -7457,13 +7171,8 @@ QByteArray QWidget::saveGeometry() const
stream << magicNumber
<< majorVersion
<< minorVersion
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- << newFramePosition
- << newNormalPosition
-#else
<< frameGeometry()
<< normalGeometry()
-#endif
<< qint32(screenNumber)
<< quint8(windowState() & Qt::WindowMaximized)
<< quint8(windowState() & Qt::WindowFullScreen)
@@ -7583,11 +7292,6 @@ bool QWidget::restoreGeometry(const QByteArray &geometry)
// that would make the window "lost". This happens if:
// - The restored geometry is completely oustside the available geometry
// - The title bar is outside the available geometry.
- // - (Mac only) The window is higher than the available geometry. It must
- // be possible to bring the size grip on screen by moving the window.
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- restoredNormalGeometry.setHeight(qMin(restoredNormalGeometry.height(), availableGeometry.height() - frameHeight));
-#endif
checkRestoredGeometry(availableGeometry, &restoredGeometry, frameHeight);
checkRestoredGeometry(availableGeometry, &restoredNormalGeometry, frameHeight);
@@ -8107,14 +7811,6 @@ void QWidgetPrivate::show_helper()
Q_UNUSED(isEmbedded);
#endif
- // On Windows, show the popup now so that our own focus handling
- // stores the correct old focus widget even if it's stolen in the
- // showevent
-#if 0 /* Used to be included in Qt4 for Q_WS_WIN */ || 0 /* Used to be included in Qt4 for Q_WS_MAC */
- if (!isEmbedded && q->windowType() == Qt::Popup)
- qApp->d_func()->openPopup(q);
-#endif
-
// send the show event before showing the window
QShowEvent showEvent;
QCoreApplication::sendEvent(q, &showEvent);
@@ -8239,12 +7935,6 @@ void QWidgetPrivate::hide_helper()
if (!isEmbedded && (q->windowType() == Qt::Popup))
qApp->d_func()->closePopup(q);
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- if (q->isWindow() && !(q->windowType() == Qt::Popup) && q->parentWidget()
- && !q->parentWidget()->isHidden() && q->isActiveWindow())
- q->parentWidget()->activateWindow(); // Activate parent
-#endif
-
q->setAttribute(Qt::WA_Mapped, false);
hide_sys();
@@ -8273,8 +7963,8 @@ void QWidgetPrivate::hide_helper()
}
}
- if (QWidgetBackingStore *bs = maybeBackingStore())
- bs->removeDirtyWidget(q);
+ if (QWidgetRepaintManager *repaintManager = maybeRepaintManager())
+ repaintManager->removeDirtyWidget(q);
#ifndef QT_NO_ACCESSIBILITY
if (wasVisible) {
@@ -8429,16 +8119,6 @@ void QWidgetPrivate::setVisible(bool visible)
QEvent showToParentEvent(QEvent::ShowToParent);
QCoreApplication::sendEvent(q, &showToParentEvent);
} else { // hide
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- // reset WS_DISABLED style in a Blocked window
- if(isWindow() && testAttribute(Qt::WA_WState_Created)
- && QApplicationPrivate::isBlockedByModal(this))
- {
- LONG dwStyle = GetWindowLong(winId(), GWL_STYLE);
- dwStyle &= ~WS_DISABLED;
- SetWindowLong(winId(), GWL_STYLE, dwStyle);
- }
-#endif
if (QApplicationPrivate::hidden_focus_widget == q)
QApplicationPrivate::hidden_focus_widget = 0;
@@ -8511,23 +8191,7 @@ void QWidgetPrivate::hideChildren(bool spontaneous)
QWidget *widget = qobject_cast<QWidget*>(childList.at(i));
if (!widget || widget->isWindow() || widget->testAttribute(Qt::WA_WState_Hidden))
continue;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // Before doing anything we need to make sure that we don't leave anything in a non-consistent state.
- // When hiding a widget we need to make sure that no mouse_down events are active, because
- // the mouse_up event will never be received by a hidden widget or one of its descendants.
- // The solution is simple, before going through with this we check if there are any mouse_down events in
- // progress, if so we check if it is related to this widget or not. If so, we just reset the mouse_down and
- // then we continue.
- // In X11 and Windows we send a mouse_release event, however we don't do that here because we were already
- // ignoring that from before. I.e. Carbon did not send the mouse release event, so we will not send the
- // mouse release event. There are two ways to interpret this:
- // 1. If we don't send the mouse release event, the widget might get into an inconsistent state, i.e. it
- // might be waiting for a release event that will never arrive.
- // 2. If we send the mouse release event, then the widget might decide to trigger an action that is not
- // supposed to trigger because it is not visible.
- if(widget == qt_button_down)
- qt_button_down = 0;
-#endif
+
if (spontaneous)
widget->setAttribute(Qt::WA_Mapped, false);
else
@@ -8762,11 +8426,9 @@ QSize QWidgetPrivate::adjustedSize() const
s.setWidth(qMax(s.width(), 200));
if (exp & Qt::Vertical)
s.setHeight(qMax(s.height(), 100));
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- QRect screen = QDesktopWidgetPrivate::screenGeometry(q->x11Info().screen());
-#else // all others
+
QRect screen = QDesktopWidgetPrivate::screenGeometry(q->pos());
-#endif
+
s.setWidth(qMin(s.width(), screen.width()*2/3));
s.setHeight(qMin(s.height(), screen.height()*2/3));
@@ -8891,26 +8553,6 @@ bool QWidget::isAncestorOf(const QWidget *child) const
return false;
}
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
-inline void setDisabledStyle(QWidget *w, bool setStyle)
-{
- // set/reset WS_DISABLED style.
- if(w && w->isWindow() && w->isVisible() && w->isEnabled()) {
- LONG dwStyle = GetWindowLong(w->winId(), GWL_STYLE);
- LONG newStyle = dwStyle;
- if (setStyle)
- newStyle |= WS_DISABLED;
- else
- newStyle &= ~WS_DISABLED;
- if (newStyle != dwStyle) {
- SetWindowLong(w->winId(), GWL_STYLE, newStyle);
- // we might need to repaint in some situations (eg. menu)
- w->repaint();
- }
- }
-}
-#endif
-
/*****************************************************************************
QWidget event handling
*****************************************************************************/
@@ -9327,9 +8969,6 @@ bool QWidget::event(QEvent *event)
}
}
}
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- setDisabledStyle(this, (event->type() == QEvent::WindowBlocked));
-#endif
break;
#ifndef QT_NO_TOOLTIP
case QEvent::ToolTip:
@@ -9354,9 +8993,6 @@ bool QWidget::event(QEvent *event)
case QEvent::EmbeddingControl:
d->topData()->frameStrut.setCoords(0 ,0, 0, 0);
data->fstrut_dirty = false;
-#if 0 /* Used to be included in Qt4 for Q_WS_WIN */ || 0 /* Used to be included in Qt4 for Q_WS_X11 */
- d->topData()->embedded = 1;
-#endif
break;
#ifndef QT_NO_ACTION
case QEvent::ActionAdded:
@@ -9379,11 +9015,6 @@ bool QWidget::event(QEvent *event)
}
break;
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- case QEvent::MacGLWindowChange:
- d->needWindowChange = false;
- break;
-#endif
case QEvent::TouchBegin:
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
@@ -9495,11 +9126,6 @@ void QWidget::changeEvent(QEvent * event)
case QEvent::MacSizeChange:
updateGeometry();
break;
-#elif 0 // Used to be included in Qt4 for Q_WS_MAC
- case QEvent::ToolTipChange:
- case QEvent::MouseTrackingChange:
- qt_mac_update_mouseTracking(this);
- break;
#endif
default:
@@ -10425,7 +10051,7 @@ void QWidget::setSizePolicy(QSizePolicy policy)
d->size_policy = policy;
#if QT_CONFIG(graphicsview)
- if (QWExtra *extra = d->extra) {
+ if (const auto &extra = d->extra) {
if (extra->proxyWidget)
extra->proxyWidget->setSizePolicy(policy);
}
@@ -10768,16 +10394,8 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)
if (newParent && isAncestorOf(focusWidget()))
focusWidget()->clearFocus();
- QTLWExtra *oldTopExtra = window()->d_func()->maybeTopData();
- QWidgetBackingStoreTracker *oldBsTracker = oldTopExtra ? &oldTopExtra->backingStoreTracker : 0;
-
d->setParent_sys(parent, f);
- QTLWExtra *topExtra = window()->d_func()->maybeTopData();
- QWidgetBackingStoreTracker *bsTracker = topExtra ? &topExtra->backingStoreTracker : 0;
- if (oldBsTracker && oldBsTracker != bsTracker)
- oldBsTracker->unregisterWidgetSubtree(this);
-
if (desktopWidget)
parent = 0;
@@ -10788,12 +10406,12 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)
}
#endif
- if (QWidgetBackingStore *oldBs = oldtlw->d_func()->maybeBackingStore()) {
+ if (QWidgetRepaintManager *oldPaintManager = oldtlw->d_func()->maybeRepaintManager()) {
if (newParent)
- oldBs->removeDirtyWidget(this);
+ oldPaintManager->removeDirtyWidget(this);
// Move the widget and all its static children from
// the old backing store to the new one.
- oldBs->moveStaticWidgets(this);
+ oldPaintManager->moveStaticWidgets(this);
}
// ### fixme: Qt 6: Remove AA_ImmediateWidgetCreation.
@@ -10819,7 +10437,7 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)
// (f & Qt::MSWindowsOwnDC) clause (which is set on QGLWidgets on all
// platforms).
if (newParent
-#if 0 /* Used to be included in Qt4 for Q_WS_WIN */ || defined(QT_OPENGL_ES)
+#if defined(QT_OPENGL_ES)
|| (f & Qt::MSWindowsOwnDC)
#endif
) {
@@ -10838,15 +10456,6 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)
QCoreApplication::sendEvent(parent, &e);
}
-//### already hidden above ---> must probably do something smart on the mac
-// #if 0 // Used to be included in Qt4 for Q_WS_MAC
-// extern bool qt_mac_is_macdrawer(const QWidget *); //qwidget_mac.cpp
-// if(!qt_mac_is_macdrawer(q)) //special case
-// q->setAttribute(Qt::WA_WState_Hidden);
-// #else
-// q->setAttribute(Qt::WA_WState_Hidden);
-//#endif
-
if (parent && d->sendChildEvents && d->polished) {
QChildEvent e(QEvent::ChildPolished, this);
QCoreApplication::sendEvent(parent, &e);
@@ -11147,7 +10756,7 @@ void QWidgetPrivate::repaint(T r)
QTLWExtra *tlwExtra = q->window()->d_func()->maybeTopData();
if (tlwExtra && !tlwExtra->inTopLevelResize && tlwExtra->backingStore)
- tlwExtra->backingStoreTracker->markDirty(r, q, QWidgetBackingStore::UpdateNow);
+ tlwExtra->repaintManager->markDirty(r, q, QWidgetRepaintManager::UpdateNow);
}
/*!
@@ -11222,7 +10831,7 @@ void QWidgetPrivate::update(T r)
QTLWExtra *tlwExtra = q->window()->d_func()->maybeTopData();
if (tlwExtra && !tlwExtra->inTopLevelResize && tlwExtra->backingStore)
- tlwExtra->backingStoreTracker->markDirty(clipped, q);
+ tlwExtra->repaintManager->markDirty(clipped, q);
}
/*!
@@ -11328,23 +10937,6 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
case Qt::WA_NoChildEventsFromChildren:
d->receiveChildEvents = !on;
break;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- case Qt::WA_MacOpaqueSizeGrip:
- d->macUpdateOpaqueSizeGrip();
- break;
- case Qt::WA_MacShowFocusRect:
- if (hasFocus()) {
- clearFocus();
- setFocus();
- }
- break;
- case Qt::WA_Hover:
- qt_mac_update_mouseTracking(this);
- break;
- case Qt::WA_MacAlwaysShowToolWindow:
- d->macUpdateHideOnSuspend();
- break;
-#endif
case Qt::WA_MacNormalSize:
case Qt::WA_MacSmallSize:
case Qt::WA_MacMiniSize:
@@ -11422,15 +11014,6 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
}
case Qt::WA_PaintOnScreen:
d->updateIsOpaque();
-#if 0 /* Used to be included in Qt4 for Q_WS_WIN */ || 0 /* Used to be included in Qt4 for Q_WS_X11 */ || 0 /* Used to be included in Qt4 for Q_WS_MAC */
- // Recreate the widget if it's already created as an alien widget and
- // WA_PaintOnScreen is enabled. Paint on screen widgets must have win id.
- // So must their children.
- if (on) {
- setAttribute(Qt::WA_NativeWindow);
- d->enforceNativeChildren();
- }
-#endif
Q_FALLTHROUGH();
case Qt::WA_OpaquePaintEvent:
d->updateIsOpaque();
@@ -11442,9 +11025,6 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
d->updateSystemBackground();
break;
case Qt::WA_TransparentForMouseEvents:
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- d->macUpdateIgnoreMouseEvents();
-#endif
break;
case Qt::WA_InputMethodEnabled: {
#ifndef QT_NO_IM
@@ -11461,20 +11041,6 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
d->resolveFont();
d->resolveLocale();
break;
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- case Qt::WA_NoX11EventCompression:
- if (!d->extra)
- d->createExtra();
- d->extra->compress_events = on;
- break;
- case Qt::WA_X11OpenGLOverlay:
- d->updateIsOpaque();
- break;
- case Qt::WA_X11DoNotAcceptFocus:
- if (testAttribute(Qt::WA_WState_Created))
- d->updateX11AcceptFocus();
- break;
-#endif
case Qt::WA_DontShowOnScreen: {
if (on && isVisible()) {
// Make sure we keep the current state and only hide the widget
@@ -11503,11 +11069,11 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
break;
case Qt::WA_StaticContents:
- if (QWidgetBackingStore *bs = d->maybeBackingStore()) {
+ if (QWidgetRepaintManager *repaintManager = d->maybeRepaintManager()) {
if (on)
- bs->addStaticWidget(this);
+ repaintManager->addStaticWidget(this);
else
- bs->removeStaticWidget(this);
+ repaintManager->removeStaticWidget(this);
}
break;
case Qt::WA_TranslucentBackground:
@@ -11517,10 +11083,6 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
break;
case Qt::WA_AcceptTouchEvents:
-#if 0 /* Used to be included in Qt4 for Q_WS_WIN */ || 0 /* Used to be included in Qt4 for Q_WS_MAC */
- if (on)
- d->registerTouchWindow();
-#endif
break;
default:
break;
@@ -12136,10 +11698,8 @@ QRect QWidgetPrivate::frameStrut() const
}
if (data.fstrut_dirty
-#if 1 // Used to be excluded in Qt4 for Q_WS_WIN
// ### Fix properly for 4.3
&& q->isVisible()
-#endif
&& q->testAttribute(Qt::WA_WState_Created))
const_cast<QWidgetPrivate *>(this)->updateFrameStrut();
@@ -12312,14 +11872,14 @@ void QWidget::setBackingStore(QBackingStore *store)
deleteBackingStore(d);
topData->backingStore = store;
- QWidgetBackingStore *bs = d->maybeBackingStore();
- if (!bs)
+ QWidgetRepaintManager *repaintManager = d->maybeRepaintManager();
+ if (!repaintManager)
return;
if (isTopLevel()) {
- if (bs->store != oldStore && bs->store != store)
- delete bs->store;
- bs->store = store;
+ if (repaintManager->backingStore() != oldStore && repaintManager->backingStore() != store)
+ delete repaintManager->backingStore();
+ repaintManager->setBackingStore(store);
}
}
@@ -12335,9 +11895,8 @@ QBackingStore *QWidget::backingStore() const
if (extra && extra->backingStore)
return extra->backingStore;
- QWidgetBackingStore *bs = d->maybeBackingStore();
-
- return bs ? bs->store : 0;
+ QWidgetRepaintManager *repaintManager = d->maybeRepaintManager();
+ return repaintManager ? repaintManager->backingStore() : nullptr;
}
void QWidgetPrivate::getLayoutItemMargins(int *left, int *top, int *right, int *bottom) const
@@ -12410,19 +11969,18 @@ QOpenGLContext *QWidgetPrivate::shareContext() const
#ifdef QT_NO_OPENGL
return 0;
#else
- if (Q_UNLIKELY(!extra || !extra->topextra || !extra->topextra->window))
+ if (!extra || !extra->topextra || !extra->topextra->window)
return 0;
- QWidgetPrivate *that = const_cast<QWidgetPrivate *>(this);
if (!extra->topextra->shareContext) {
- QOpenGLContext *ctx = new QOpenGLContext;
+ auto ctx = qt_make_unique<QOpenGLContext>();
ctx->setShareContext(qt_gl_global_share_context());
ctx->setFormat(extra->topextra->window->format());
ctx->setScreen(extra->topextra->window->screen());
ctx->create();
- that->extra->topextra->shareContext = ctx;
+ extra->topextra->shareContext = std::move(ctx);
}
- return that->extra->topextra->shareContext;
+ return extra->topextra->shareContext.get();
#endif // QT_NO_OPENGL
}
@@ -13068,10 +12626,8 @@ void QWidget::setMask(const QRegion &newMask)
d->extra->mask = newMask;
d->extra->hasMask = !newMask.isEmpty();
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
if (!testAttribute(Qt::WA_WState_Created))
return;
-#endif
d->setMask_sys(newMask);
diff --git a/src/widgets/kernel/qwidget.h b/src/widgets/kernel/qwidget.h
index 0777bed65c..83a6e6d4b3 100644
--- a/src/widgets/kernel/qwidget.h
+++ b/src/widgets/kernel/qwidget.h
@@ -85,6 +85,7 @@ class QDragEnterEvent;
class QDragMoveEvent;
class QDragLeaveEvent;
class QDropEvent;
+class QScreen;
class QShowEvent;
class QHideEvent;
class QIcon;
@@ -601,6 +602,7 @@ public:
QBackingStore *backingStore() const;
QWindow *windowHandle() const;
+ QScreen *screen() const;
static QWidget *createWindowContainer(QWindow *window, QWidget *parent=nullptr, Qt::WindowFlags flags=Qt::WindowFlags());
@@ -697,7 +699,7 @@ private:
QLayout *takeLayout();
friend class QBackingStoreDevice;
- friend class QWidgetBackingStore;
+ friend class QWidgetRepaintManager;
friend class QApplication;
friend class QApplicationPrivate;
friend class QGuiApplication;
diff --git a/src/widgets/kernel/qwidget_p.h b/src/widgets/kernel/qwidget_p.h
index 7cb9a3895a..698928b0b0 100644
--- a/src/widgets/kernel/qwidget_p.h
+++ b/src/widgets/kernel/qwidget_p.h
@@ -75,15 +75,20 @@
#include <private/qgesture_p.h>
#include <qpa/qplatformbackingstore.h>
+#include <vector>
+#include <memory>
+
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(lcWidgetPainting);
+
// Extra QWidget data
// - to minimize memory usage for members that are seldom used.
// - top-level widgets have extra extra data to reduce cost further
class QWidgetWindow;
class QPaintEngine;
class QPixmap;
-class QWidgetBackingStore;
+class QWidgetRepaintManager;
class QGraphicsProxyWidget;
class QWidgetItemV2;
class QOpenGLContext;
@@ -113,60 +118,18 @@ protected:
QRegion m_region;
};
-
-
-class Q_AUTOTEST_EXPORT QWidgetBackingStoreTracker
-{
-
-public:
- QWidgetBackingStoreTracker();
- ~QWidgetBackingStoreTracker();
-
- void create(QWidget *tlw);
- void destroy();
-
- void registerWidget(QWidget *w);
- void unregisterWidget(QWidget *w);
- void unregisterWidgetSubtree(QWidget *w);
-
- inline QWidgetBackingStore* data()
- {
- return m_ptr;
- }
-
- inline QWidgetBackingStore* operator->()
- {
- return m_ptr;
- }
-
- inline QWidgetBackingStore& operator*()
- {
- return *m_ptr;
- }
-
- inline operator bool() const
- {
- return (nullptr != m_ptr);
- }
-
-private:
- Q_DISABLE_COPY_MOVE(QWidgetBackingStoreTracker)
-
-private:
- QWidgetBackingStore* m_ptr;
- QSet<QWidget *> m_widgets;
-};
-
struct QTLWExtra {
// *************************** Cross-platform variables *****************************
// Regular pointers (keep them together to avoid gaps on 64 bits architectures).
- QIcon *icon; // widget icon
- QWidgetBackingStoreTracker backingStoreTracker;
+ std::unique_ptr<QIcon> icon; // widget icon
+ std::unique_ptr<QWidgetRepaintManager> repaintManager;
QBackingStore *backingStore;
QPainter *sharedPainter;
QWidgetWindow *window;
- QOpenGLContext *shareContext;
+#ifndef QT_NO_OPENGL
+ mutable std::unique_ptr<QOpenGLContext> shareContext;
+#endif
// Implicit pointers (shared_null).
QString caption; // widget caption
@@ -184,7 +147,9 @@ struct QTLWExtra {
// ### TODO replace initialScreenIndex with QScreen *, in case the screens change at runtime
int initialScreenIndex; // Screen number when passing a QDesktop[Screen]Widget as parent.
- QVector<QPlatformTextureList *> widgetTextures;
+#ifndef QT_NO_OPENGL
+ std::vector<std::unique_ptr<QPlatformTextureList>> widgetTextures;
+#endif
// *************************** Cross-platform bit fields ****************************
uint opacity : 8;
@@ -192,41 +157,6 @@ struct QTLWExtra {
uint sizeAdjusted : 1;
uint inTopLevelResize : 1;
uint embedded : 1;
-
- // *************************** Platform specific values (bit fields first) **********
-#if 0 /* Used to be included in Qt4 for Q_WS_X11 */ // <----------------------------------------------------------- X11
- uint spont_unmapped: 1; // window was spontaneously unmapped
- uint dnd : 1; // DND properties installed
- uint validWMState : 1; // is WM_STATE valid?
- uint waitingForMapNotify : 1; // show() has been called, haven't got the MapNotify yet
- WId parentWinId; // parent window Id (valid after reparenting)
- WId userTimeWindow; // window id that contains user-time timestamp when WM supports a _NET_WM_USER_TIME_WINDOW atom
- QPoint fullScreenOffset;
-#ifndef QT_NO_XSYNC
- WId syncUpdateCounter;
- ulong syncRequestTimestamp;
- qint32 newCounterValueHi;
- quint32 newCounterValueLo;
-#endif
-#elif 0 /* Used to be included in Qt4 for Q_WS_WIN */ // <--------------------------------------------------------- WIN
- uint hotkeyRegistered: 1; // Hot key from the STARTUPINFO has been registered.
- HICON winIconBig; // internal big Windows icon
- HICON winIconSmall; // internal small Windows icon
-#elif 0 /* Used to be included in Qt4 for Q_WS_MAC */ // <--------------------------------------------------------- MAC
- uint resizer : 4;
- uint isSetGeometry : 1;
- uint isMove : 1;
- quint32 wattr;
- quint32 wclass;
- WindowGroupRef group;
- IconRef windowIcon; // the current window icon, if set with setWindowIcon_sys.
- quint32 savedWindowAttributesFromMaximized; // Saved attributes from when the calling updateMaximizeButton_sys()
- // This value is just to make sure we maximize and restore to the right location, yet we allow apps to be maximized and
- // manually resized.
- // The name is misleading, since this is set when maximizing the window. It is a hint to saveGeometry(..) to record the
- // starting position as 0,0 instead of the normal starting position.
- bool wasMaximized;
-#endif
};
struct QWExtra {
@@ -234,12 +164,12 @@ struct QWExtra {
// Regular pointers (keep them together to avoid gaps on 64 bits architectures).
void *glContext; // if the widget is hijacked by QGLWindowSurface
- QTLWExtra *topextra; // only useful for TLWs
+ std::unique_ptr<QTLWExtra> topextra; // only useful for TLWs
#if QT_CONFIG(graphicsview)
QGraphicsProxyWidget *proxyWidget; // if the widget is embedded
#endif
#ifndef QT_NO_CURSOR
- QCursor *curs;
+ std::unique_ptr<QCursor> curs;
#endif
QPointer<QStyle> style;
QPointer<QWidget> focus_proxy;
@@ -265,21 +195,6 @@ struct QWExtra {
uint inRenderWithPainter : 1;
uint hasMask : 1;
uint hasWindowContainer : 1;
-
- // *************************** Platform specific values (bit fields first) **********
-#if 0 /* Used to be included in Qt4 for Q_WS_WIN */ // <----------------------------------------------------------- WIN
-#if QT_CONFIG(draganddrop)
- QOleDropTarget *dropTarget; // drop target
- QList<QPointer<QWidget> > oleDropWidgets;
-#endif
-#elif 0 /* Used to be included in Qt4 for Q_WS_X11 */ // <--------------------------------------------------------- X11
- uint compress_events : 1;
- WId xDndProxy; // XDND forwarding to embedded windows
-#elif 0 /* Used to be included in Qt4 for Q_WS_MAC */ // <------------------------------------------------------ MAC
- // Cocoa Mask stuff
- QImage maskBits;
- CGImageRef imageMask;
-#endif
};
/*!
@@ -303,10 +218,11 @@ static inline bool bypassGraphicsProxyWidget(const QWidget *p)
class Q_WIDGETS_EXPORT QWidgetPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QWidget)
+ Q_GADGET
public:
// *************************** Cross-platform ***************************************
- enum DrawWidgetFlags {
+ enum DrawWidgetFlag {
DrawAsRoot = 0x01,
DrawPaintOnScreen = 0x02,
DrawRecursive = 0x04,
@@ -316,12 +232,15 @@ public:
DontDrawNativeChildren = 0x40,
DontSetCompositionMode = 0x80
};
+ Q_DECLARE_FLAGS(DrawWidgetFlags, DrawWidgetFlag)
+ Q_FLAG(DrawWidgetFlags)
enum CloseMode {
CloseNoEvent,
CloseWithEvent,
CloseWithSpontaneousEvent
};
+ Q_ENUM(CloseMode)
enum Direction {
DirectionNorth = 0x01,
@@ -329,6 +248,7 @@ public:
DirectionSouth = 0x02,
DirectionWest = 0x20
};
+ Q_ENUM(Direction)
// Functions.
explicit QWidgetPrivate(int version = QObjectPrivateVersion);
@@ -342,7 +262,7 @@ public:
QTLWExtra *maybeTopData() const;
QPainter *sharedPainter() const;
void setSharedPainter(QPainter *painter);
- QWidgetBackingStore *maybeBackingStore() const;
+ QWidgetRepaintManager *maybeRepaintManager() const;
enum class WindowHandleMode {
Direct,
@@ -413,26 +333,27 @@ public:
void setUpdatesEnabled_helper(bool );
bool updateBrushOrigin(QPainter *, const QBrush &brush) const;
- void paintBackground(QPainter *, const QRegion &, int flags = DrawAsRoot) const;
+ void paintBackground(QPainter *, const QRegion &, DrawWidgetFlags flags = DrawAsRoot) const;
bool isAboutToShow() const;
QRegion prepareToRender(const QRegion &region, QWidget::RenderFlags renderFlags);
void render_helper(QPainter *painter, const QPoint &targetOffset, const QRegion &sourceRegion,
QWidget::RenderFlags renderFlags);
void render(QPaintDevice *target, const QPoint &targetOffset, const QRegion &sourceRegion,
QWidget::RenderFlags renderFlags);
- void drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QPoint &offset, int flags,
- QPainter *sharedPainter = nullptr, QWidgetBackingStore *backingStore = nullptr);
+ void drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QPoint &offset, DrawWidgetFlags flags,
+ QPainter *sharedPainter = nullptr, QWidgetRepaintManager *repaintManager = nullptr);
void sendPaintEvent(const QRegion &toBePainted);
void paintSiblingsRecursive(QPaintDevice *pdev, const QObjectList& children, int index,
- const QRegion &rgn, const QPoint &offset, int flags,
- QPainter *sharedPainter, QWidgetBackingStore *backingStore);
+ const QRegion &rgn, const QPoint &offset, DrawWidgetFlags flags,
+ QPainter *sharedPainter, QWidgetRepaintManager *repaintManager);
#if QT_CONFIG(graphicsview)
static QGraphicsProxyWidget * nearestGraphicsProxyWidget(const QWidget *origin);
#endif
- void repaint_sys(const QRegion &rgn);
+ bool shouldPaintOnScreen() const;
+ void paintOnScreen(const QRegion &rgn);
QRect clipRect() const;
QRegion clipRegion() const;
@@ -444,7 +365,6 @@ public:
void updateIsOpaque();
void setOpaque(bool opaque);
void updateIsTranslucent();
- bool paintOnScreen() const;
#if QT_CONFIG(graphicseffect)
void invalidateGraphicsEffectsRecursively();
#endif // QT_CONFIG(graphicseffect)
@@ -471,6 +391,8 @@ public:
void syncBackingStore();
void syncBackingStore(const QRegion &region);
+ bool shouldDiscardSyncRequest() const;
+
// tells the input method about the widgets transform
void updateWidgetTransform(QEvent *event);
@@ -706,7 +628,7 @@ public:
// Variables.
// Regular pointers (keep them together to avoid gaps on 64 bit architectures).
- QWExtra *extra;
+ std::unique_ptr<QWExtra> extra;
QWidget *focus_next;
QWidget *focus_prev;
QWidget *focus_child;
@@ -800,109 +722,8 @@ public:
// *************************** Platform specific ************************************
#if defined(Q_OS_WIN)
uint noPaintOnScreen : 1; // see qwidget.cpp ::paintEngine()
-#endif
-#if 0 /* Used to be included in Qt4 for Q_WS_X11 */ // <----------------------------------------------------------- X11
- Qt::HANDLE picture;
- static QWidget *mouseGrabber;
- static QWidget *keyboardGrabber;
-
- void setWindowRole();
- void sendStartupMessage(const char *message) const;
- void x11UpdateIsOpaque();
- bool isBackgroundInherited() const;
- void updateX11AcceptFocus();
- QPoint mapToGlobal(const QPoint &pos) const;
- QPoint mapFromGlobal(const QPoint &pos) const;
-#elif 0 /* Used to be included in Qt4 for Q_WS_WIN */ // <--------------------------------------------------------- WIN
-#ifndef QT_NO_GESTURES
- uint nativeGesturePanEnabled : 1;
-#endif
- bool shouldShowMaximizeButton();
- void winUpdateIsOpaque();
- void reparentChildren();
-#if QT_CONFIG(draganddrop)
- QOleDropTarget *registerOleDnd(QWidget *widget);
- void unregisterOleDnd(QWidget *widget, QOleDropTarget *target);
-#endif
- void grabMouseWhileInWindow();
- void registerTouchWindow();
- void winSetupGestures();
-#elif defined(Q_OS_MAC) // <--------------------------------------------------------- MAC
+#elif defined(Q_OS_MAC)
void macUpdateSizeAttribute();
-#elif 0 /* Used to be included in Qt4 for Q_WS_MAC */ // <--------------------------------------------------------- MAC (old stuff)
- // This is new stuff
- uint needWindowChange : 1;
-
- // Each wiget keeps a list of all its child and grandchild OpenGL widgets.
- // This list is used to update the gl context whenever a parent and a granparent
- // moves, and also to check for intersections with gl widgets within the window
- // when a widget moves.
- struct GlWidgetInfo
- {
- GlWidgetInfo(QWidget *widget) : widget(widget), lastUpdateWidget(0) { }
- bool operator==(const GlWidgetInfo &other) const { return (widget == other.widget); }
- QWidget * widget;
- QWidget * lastUpdateWidget;
- };
-
- // dirtyOnWidget contains the areas in the widget that needs to be repained,
- // in the same way as dirtyOnScreen does for the window. Areas are added in
- // dirtyWidget_sys and cleared in the paint event. In scroll_sys we then use
- // this information repaint invalid areas when widgets are scrolled.
- QRegion dirtyOnWidget;
- EventHandlerRef window_event;
- QList<GlWidgetInfo> glWidgets;
-
- //these are here just for code compat (HIViews)
- Qt::HANDLE qd_hd;
-
- void macUpdateHideOnSuspend();
- void macUpdateOpaqueSizeGrip();
- void macUpdateIgnoreMouseEvents();
- void macUpdateMetalAttribute();
- void macUpdateIsOpaque();
- void macSetNeedsDisplay(QRegion region);
- void setEnabled_helper_sys(bool enable);
- bool isRealWindow() const;
- void adjustWithinMaxAndMinSize(int &w, int &h);
- void applyMaxAndMinSizeOnWindow();
- void update_sys(const QRect &rect);
- void update_sys(const QRegion &rgn);
- void setGeometry_sys_helper(int, int, int, int, bool);
- void updateMaximizeButton_sys();
- void createWindow_sys();
- void recreateMacWindow();
- void setSubWindowStacking(bool set);
- void setWindowLevel();
- void finishCreateWindow_sys_Cocoa(void * /*NSWindow * */ windowRef);
- void syncCocoaMask();
- void finishCocoaMaskSetup();
- // Did we add the drawRectOriginal method?
- bool drawRectOriginalAdded;
- // Is the original drawRect method available?
- bool originalDrawMethod;
- // Do we need to change the methods?
- bool changeMethods;
-
- // Unified toolbar variables
- bool isInUnifiedToolbar;
- QUnifiedToolbarSurface *unifiedSurface;
- QPoint toolbar_offset;
- QWidget *toolbar_ancestor;
- bool flushRequested;
- bool touchEventsEnabled;
- void determineWindowClass();
- void transferChildren();
- bool qt_mac_dnd_event(uint, DragRef);
- void toggleDrawers(bool);
- //mac event functions
- static bool qt_create_root_win();
- static void qt_clean_root_win();
- static bool qt_mac_update_sizer(QWidget *, int up = 0);
- static OSStatus qt_window_event(EventHandlerCallRef er, EventRef event, void *);
- static OSStatus qt_widget_event(EventHandlerCallRef er, EventRef event, void *);
- static bool qt_widget_rgn(QWidget *, short, RgnHandle, bool);
- void registerTouchWindow(bool enable = true);
#endif
void setNetWmWindowTypes(bool skipIfMissing = false);
@@ -910,18 +731,20 @@ public:
bool stealMouseGrab(bool grab);
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(QWidgetPrivate::DrawWidgetFlags)
+
struct QWidgetPaintContext
{
- inline QWidgetPaintContext(QPaintDevice *d, const QRegion &r, const QPoint &o, int f,
- QPainter *p, QWidgetBackingStore *b)
- : pdev(d), rgn(r), offset(o), flags(f), sharedPainter(p), backingStore(b), painter(nullptr) {}
+ inline QWidgetPaintContext(QPaintDevice *d, const QRegion &r, const QPoint &o, QWidgetPrivate::DrawWidgetFlags f,
+ QPainter *p, QWidgetRepaintManager *rpm)
+ : pdev(d), rgn(r), offset(o), flags(f), sharedPainter(p), repaintManager(rpm), painter(nullptr) {}
QPaintDevice *pdev;
QRegion rgn;
QPoint offset;
- int flags;
+ QWidgetPrivate::DrawWidgetFlags flags;
QPainter *sharedPainter;
- QWidgetBackingStore *backingStore;
+ QWidgetRepaintManager *repaintManager;
QPainter *painter;
};
@@ -982,18 +805,18 @@ public:
inline QWExtra *QWidgetPrivate::extraData() const
{
- return extra;
+ return extra.get();
}
inline QTLWExtra *QWidgetPrivate::topData() const
{
const_cast<QWidgetPrivate *>(this)->createTLExtra();
- return extra->topextra;
+ return extra->topextra.get();
}
inline QTLWExtra *QWidgetPrivate::maybeTopData() const
{
- return extra ? extra->topextra : nullptr;
+ return extra ? extra->topextra.get() : nullptr;
}
inline QPainter *QWidgetPrivate::sharedPainter() const
@@ -1017,11 +840,11 @@ inline bool QWidgetPrivate::pointInsideRectAndMask(const QPoint &p) const
|| extra->mask.contains(p));
}
-inline QWidgetBackingStore *QWidgetPrivate::maybeBackingStore() const
+inline QWidgetRepaintManager *QWidgetPrivate::maybeRepaintManager() const
{
Q_Q(const QWidget);
QTLWExtra *x = q->window()->d_func()->maybeTopData();
- return x ? x->backingStoreTracker.data() : nullptr;
+ return x ? x->repaintManager.get() : nullptr;
}
QT_END_NAMESPACE
diff --git a/src/widgets/kernel/qwidgetbackingstore_p.h b/src/widgets/kernel/qwidgetbackingstore_p.h
deleted file mode 100644
index 9409ba7832..0000000000
--- a/src/widgets/kernel/qwidgetbackingstore_p.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtWidgets module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWIDGETBACKINGSTORE_P_H
-#define QWIDGETBACKINGSTORE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtWidgets/private/qtwidgetsglobal_p.h>
-#include <QDebug>
-#include <QtWidgets/qwidget.h>
-#include <private/qwidget_p.h>
-#include <QtGui/qbackingstore.h>
-
-QT_BEGIN_NAMESPACE
-
-class QPlatformTextureList;
-class QPlatformTextureListWatcher;
-class QWidgetBackingStore;
-
-struct BeginPaintInfo {
- inline BeginPaintInfo() : wasFlushed(0), nothingToPaint(0), backingStoreRecreated(0) {}
- uint wasFlushed : 1;
- uint nothingToPaint : 1;
- uint backingStoreRecreated : 1;
-};
-
-#ifndef QT_NO_OPENGL
-class QPlatformTextureListWatcher : public QObject
-{
- Q_OBJECT
-
-public:
- QPlatformTextureListWatcher(QWidgetBackingStore *backingStore);
- void watch(QPlatformTextureList *textureList);
- bool isLocked() const;
-
-private slots:
- void onLockStatusChanged(bool locked);
-
-private:
- QHash<QPlatformTextureList *, bool> m_locked;
- QWidgetBackingStore *m_backingStore;
-};
-#endif
-
-class Q_AUTOTEST_EXPORT QWidgetBackingStore
-{
-public:
- enum UpdateTime {
- UpdateNow,
- UpdateLater
- };
-
- enum BufferState{
- BufferValid,
- BufferInvalid
- };
-
- QWidgetBackingStore(QWidget *t);
- ~QWidgetBackingStore();
-
- static void showYellowThing(QWidget *widget, const QRegion &rgn, int msec, bool);
-
- void sync(QWidget *exposedWidget, const QRegion &exposedRegion);
- void sync();
- void flush(QWidget *widget = nullptr);
-
- QBackingStore *backingStore() const { return store; }
-
- inline bool isDirty() const
- {
- return !(dirtyWidgets.isEmpty() && dirty.isEmpty() && dirtyRenderToTextureWidgets.isEmpty());
- }
-
- template <class T>
- void markDirty(const T &r, QWidget *widget, UpdateTime updateTime = UpdateLater,
- BufferState bufferState = BufferValid);
-
-private:
- QWidget *tlw;
- QRegion dirtyOnScreen; // needsFlush
- QRegion dirty; // needsRepaint
- QRegion dirtyFromPreviousSync;
- QVector<QWidget *> dirtyWidgets;
- QVector<QWidget *> dirtyRenderToTextureWidgets;
- QVector<QWidget *> *dirtyOnScreenWidgets;
- QList<QWidget *> staticWidgets;
- QBackingStore *store;
- uint updateRequestSent : 1;
-
- QPlatformTextureListWatcher *textureListWatcher;
- QElapsedTimer perfTime;
- int perfFrames;
-
- void sendUpdateRequest(QWidget *widget, UpdateTime updateTime);
-
- static bool flushPaint(QWidget *widget, const QRegion &rgn);
- static void unflushPaint(QWidget *widget, const QRegion &rgn);
- static void qt_flush(QWidget *widget, const QRegion &region, QBackingStore *backingStore,
- QWidget *tlw,
- QPlatformTextureList *widgetTextures,
- QWidgetBackingStore *widgetBackingStore);
-
- void doSync();
- bool bltRect(const QRect &rect, int dx, int dy, QWidget *widget);
-
- void beginPaint(QRegion &toClean, QWidget *widget, QBackingStore *backingStore,
- BeginPaintInfo *returnInfo, bool toCleanIsInTopLevelCoordinates = true);
- void endPaint(const QRegion &cleaned, QBackingStore *backingStore, BeginPaintInfo *beginPaintInfo);
-
- QRegion dirtyRegion(QWidget *widget = nullptr) const;
- QRegion staticContents(QWidget *widget = nullptr, const QRect &withinClipRect = QRect()) const;
-
- void markDirtyOnScreen(const QRegion &dirtyOnScreen, QWidget *widget, const QPoint &topLevelOffset);
-
- void removeDirtyWidget(QWidget *w);
-
- void updateLists(QWidget *widget);
-
- bool syncAllowed();
-
- inline void addDirtyWidget(QWidget *widget, const QRegion &rgn)
- {
- if (widget && !widget->d_func()->inDirtyList && !widget->data->in_destructor) {
- QWidgetPrivate *widgetPrivate = widget->d_func();
-#if QT_CONFIG(graphicseffect)
- if (widgetPrivate->graphicsEffect)
- widgetPrivate->dirty = widgetPrivate->effectiveRectFor(rgn.boundingRect());
- else
-#endif // QT_CONFIG(graphicseffect)
- widgetPrivate->dirty = rgn;
- dirtyWidgets.append(widget);
- widgetPrivate->inDirtyList = true;
- }
- }
-
- inline void addDirtyRenderToTextureWidget(QWidget *widget)
- {
- if (widget && !widget->d_func()->inDirtyList && !widget->data->in_destructor) {
- QWidgetPrivate *widgetPrivate = widget->d_func();
- Q_ASSERT(widgetPrivate->renderToTexture);
- dirtyRenderToTextureWidgets.append(widget);
- widgetPrivate->inDirtyList = true;
- }
- }
-
- inline void dirtyWidgetsRemoveAll(QWidget *widget)
- {
- int i = 0;
- while (i < dirtyWidgets.size()) {
- if (dirtyWidgets.at(i) == widget)
- dirtyWidgets.remove(i);
- else
- ++i;
- }
- }
-
- inline void addStaticWidget(QWidget *widget)
- {
- if (!widget)
- return;
-
- Q_ASSERT(widget->testAttribute(Qt::WA_StaticContents));
- if (!staticWidgets.contains(widget))
- staticWidgets.append(widget);
- }
-
- inline void removeStaticWidget(QWidget *widget)
- { staticWidgets.removeAll(widget); }
-
- // Move the reparented widget and all its static children from this backing store
- // to the new backing store if reparented into another top-level / backing store.
- inline void moveStaticWidgets(QWidget *reparented)
- {
- Q_ASSERT(reparented);
- QWidgetBackingStore *newBs = reparented->d_func()->maybeBackingStore();
- if (newBs == this)
- return;
-
- int i = 0;
- while (i < staticWidgets.size()) {
- QWidget *w = staticWidgets.at(i);
- if (reparented == w || reparented->isAncestorOf(w)) {
- staticWidgets.removeAt(i);
- if (newBs)
- newBs->addStaticWidget(w);
- } else {
- ++i;
- }
- }
- }
-
- inline QRect topLevelRect() const
- {
- return tlw->data->crect;
- }
-
- inline void appendDirtyOnScreenWidget(QWidget *widget)
- {
- if (!widget)
- return;
-
- if (!dirtyOnScreenWidgets) {
- dirtyOnScreenWidgets = new QVector<QWidget *>;
- dirtyOnScreenWidgets->append(widget);
- } else if (!dirtyOnScreenWidgets->contains(widget)) {
- dirtyOnScreenWidgets->append(widget);
- }
- }
-
- inline void dirtyOnScreenWidgetsRemoveAll(QWidget *widget)
- {
- if (!widget || !dirtyOnScreenWidgets)
- return;
-
- int i = 0;
- while (i < dirtyOnScreenWidgets->size()) {
- if (dirtyOnScreenWidgets->at(i) == widget)
- dirtyOnScreenWidgets->remove(i);
- else
- ++i;
- }
- }
-
- inline void resetWidget(QWidget *widget)
- {
- if (widget) {
- widget->d_func()->inDirtyList = false;
- widget->d_func()->isScrolled = false;
- widget->d_func()->isMoved = false;
- widget->d_func()->dirty = QRegion();
- }
- }
-
- inline void updateStaticContentsSize()
- {
- for (int i = 0; i < staticWidgets.size(); ++i) {
- QWidgetPrivate *wd = staticWidgets.at(i)->d_func();
- if (!wd->extra)
- wd->createExtra();
- wd->extra->staticContentsSize = wd->data.crect.size();
- }
- }
-
- inline bool hasStaticContents() const
- {
-#if defined(Q_OS_WIN)
- return !staticWidgets.isEmpty();
-#else
- return !staticWidgets.isEmpty() && false;
-#endif
- }
-
- friend QRegion qt_dirtyRegion(QWidget *);
- friend class QWidgetPrivate;
- friend class QWidget;
- friend class QBackingStore;
-
- Q_DISABLE_COPY_MOVE(QWidgetBackingStore)
-};
-
-QT_END_NAMESPACE
-
-#endif // QBACKINGSTORE_P_H
diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetrepaintmanager.cpp
index ab33649b3e..4eb298e108 100644
--- a/src/widgets/kernel/qwidgetbackingstore.cpp
+++ b/src/widgets/kernel/qwidgetrepaintmanager.cpp
@@ -40,7 +40,7 @@
#include "qplatformdefs.h"
-#include "qwidgetbackingstore_p.h"
+#include "qwidgetrepaintmanager_p.h"
#include <QtCore/qglobal.h>
#include <QtCore/qdebug.h>
@@ -63,443 +63,131 @@
#include <qpa/qplatformbackingstore.h>
-#if defined(Q_OS_WIN) && !defined(QT_NO_PAINT_DEBUG)
-# include <QtCore/qt_windows.h>
-# include <qpa/qplatformnativeinterface.h>
-#endif
+#include <private/qmemory_p.h>
QT_BEGIN_NAMESPACE
-extern QRegion qt_dirtyRegion(QWidget *);
-
#ifndef QT_NO_OPENGL
Q_GLOBAL_STATIC(QPlatformTextureList, qt_dummy_platformTextureList)
-#endif
-/**
- * Flushes the contents of the \a backingStore into the screen area of \a widget.
- * \a region is the region to be updated in \a widget coordinates.
- */
-void QWidgetBackingStore::qt_flush(QWidget *widget, const QRegion &region, QBackingStore *backingStore,
- QWidget *tlw, QPlatformTextureList *widgetTextures,
- QWidgetBackingStore *widgetBackingStore)
+// Watches one or more QPlatformTextureLists for changes in the lock state and
+// triggers a backingstore sync when all the registered lists turn into
+// unlocked state. This is essential when a custom composeAndFlush()
+// implementation in a platform plugin is not synchronous and keeps
+// holding on to the textures for some time even after returning from there.
+class QPlatformTextureListWatcher : public QObject
{
-#ifdef QT_NO_OPENGL
- Q_UNUSED(widgetTextures);
- Q_ASSERT(!region.isEmpty());
-#else
- Q_ASSERT(!region.isEmpty() || widgetTextures);
-#endif
- Q_ASSERT(widget);
- Q_ASSERT(backingStore);
- Q_ASSERT(tlw);
-#if !defined(QT_NO_PAINT_DEBUG)
- static int flushUpdate = qEnvironmentVariableIntValue("QT_FLUSH_UPDATE");
- if (flushUpdate > 0)
- QWidgetBackingStore::showYellowThing(widget, region, flushUpdate * 10, false);
-#endif
-
- if (tlw->testAttribute(Qt::WA_DontShowOnScreen) || widget->testAttribute(Qt::WA_DontShowOnScreen))
- return;
-
- // Foreign Windows do not have backing store content and must not be flushed
- if (QWindow *widgetWindow = widget->windowHandle()) {
- if (widgetWindow->type() == Qt::ForeignWindow)
- return;
+ Q_OBJECT
+public:
+ QPlatformTextureListWatcher(QWidgetRepaintManager *repaintManager)
+ : m_repaintManager(repaintManager) {}
+
+ void watch(QPlatformTextureList *textureList) {
+ connect(textureList, SIGNAL(locked(bool)), SLOT(onLockStatusChanged(bool)));
+ m_locked[textureList] = textureList->isLocked();
}
- static bool fpsDebug = qEnvironmentVariableIntValue("QT_DEBUG_FPS");
- if (fpsDebug) {
- if (!widgetBackingStore->perfFrames++)
- widgetBackingStore->perfTime.start();
- if (widgetBackingStore->perfTime.elapsed() > 5000) {
- double fps = double(widgetBackingStore->perfFrames * 1000) / widgetBackingStore->perfTime.restart();
- qDebug("FPS: %.1f\n", fps);
- widgetBackingStore->perfFrames = 0;
+ bool isLocked() const {
+ foreach (bool v, m_locked) {
+ if (v)
+ return true;
}
+ return false;
}
- QPoint offset;
- if (widget != tlw)
- offset += widget->mapTo(tlw, QPoint());
-
- QRegion effectiveRegion = region;
-#ifndef QT_NO_OPENGL
- const bool compositionWasActive = widget->d_func()->renderToTextureComposeActive;
- if (!widgetTextures) {
- widget->d_func()->renderToTextureComposeActive = false;
- // Detect the case of falling back to the normal flush path when no
- // render-to-texture widgets are visible anymore. We will force one
- // last flush to go through the OpenGL-based composition to prevent
- // artifacts. The next flush after this one will use the normal path.
- if (compositionWasActive)
- widgetTextures = qt_dummy_platformTextureList;
- } else {
- widget->d_func()->renderToTextureComposeActive = true;
- }
- // When changing the composition status, make sure the dirty region covers
- // the entire widget. Just having e.g. the shown/hidden render-to-texture
- // widget's area marked as dirty is incorrect when changing flush paths.
- if (compositionWasActive != widget->d_func()->renderToTextureComposeActive)
- effectiveRegion = widget->rect();
-
- // re-test since we may have been forced to this path via the dummy texture list above
- if (widgetTextures) {
- qt_window_private(tlw->windowHandle())->compositing = true;
- widget->window()->d_func()->sendComposeStatus(widget->window(), false);
- // A window may have alpha even when the app did not request
- // WA_TranslucentBackground. Therefore the compositor needs to know whether the app intends
- // to rely on translucency, in order to decide if it should clear to transparent or opaque.
- const bool translucentBackground = widget->testAttribute(Qt::WA_TranslucentBackground);
- backingStore->handle()->composeAndFlush(widget->windowHandle(), effectiveRegion, offset,
- widgetTextures, translucentBackground);
- widget->window()->d_func()->sendComposeStatus(widget->window(), true);
- } else
+private slots:
+ void onLockStatusChanged(bool locked) {
+ QPlatformTextureList *tl = static_cast<QPlatformTextureList *>(sender());
+ m_locked[tl] = locked;
+ if (!isLocked())
+ m_repaintManager->sync();
+ }
+
+private:
+ QHash<QPlatformTextureList *, bool> m_locked;
+ QWidgetRepaintManager *m_repaintManager;
+};
#endif
- backingStore->flush(effectiveRegion, widget->windowHandle(), offset);
-}
-#ifndef QT_NO_PAINT_DEBUG
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
+// ---------------------------------------------------------------------------
-static void showYellowThing_win(QWidget *widget, const QRegion &region, int msec)
+QWidgetRepaintManager::QWidgetRepaintManager(QWidget *topLevel)
+ : tlw(topLevel), store(tlw->backingStore())
{
- // We expect to be passed a native parent.
- QWindow *nativeWindow = widget->windowHandle();
- if (!nativeWindow)
- return;
- void *hdcV = QGuiApplication::platformNativeInterface()->nativeResourceForWindow(QByteArrayLiteral("getDC"), nativeWindow);
- if (!hdcV)
- return;
- const HDC hdc = reinterpret_cast<HDC>(hdcV);
-
- static const COLORREF colors[] = {RGB(255, 255, 0), RGB(255, 200, 55), RGB(200, 255, 55), RGB(200, 200, 0)};
-
- static size_t i = 0;
- const HBRUSH brush = CreateSolidBrush(colors[i]);
- i = (i + 1) % (sizeof(colors) / sizeof(colors[0]));
-
- for (const QRect &rect : region) {
- RECT winRect;
- SetRect(&winRect, rect.left(), rect.top(), rect.right(), rect.bottom());
- FillRect(hdc, &winRect, brush);
- }
- DeleteObject(brush);
- QGuiApplication::platformNativeInterface()->nativeResourceForWindow(QByteArrayLiteral("releaseDC"), nativeWindow);
- ::Sleep(msec);
-}
-#endif // defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
-
-void QWidgetBackingStore::showYellowThing(QWidget *widget, const QRegion &toBePainted, int msec, bool unclipped)
-{
-#ifdef Q_OS_WINRT
- Q_UNUSED(msec)
-#endif
- QRegion paintRegion = toBePainted;
- QRect widgetRect = widget->rect();
-
- if (!widget->internalWinId()) {
- QWidget *nativeParent = widget->nativeParentWidget();
- const QPoint offset = widget->mapTo(nativeParent, QPoint(0, 0));
- paintRegion.translate(offset);
- widgetRect.translate(offset);
- widget = nativeParent;
- }
-
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
- Q_UNUSED(unclipped);
- showYellowThing_win(widget, paintRegion, msec);
-#else
- //flags to fool painter
- bool paintUnclipped = widget->testAttribute(Qt::WA_PaintUnclipped);
- if (unclipped && !widget->d_func()->paintOnScreen())
- widget->setAttribute(Qt::WA_PaintUnclipped);
-
- const bool setFlag = !widget->testAttribute(Qt::WA_WState_InPaintEvent);
- if (setFlag)
- widget->setAttribute(Qt::WA_WState_InPaintEvent);
-
- //setup the engine
- QPaintEngine *pe = widget->paintEngine();
- if (pe) {
- pe->setSystemClip(paintRegion);
- {
- QPainter p(widget);
- p.setClipRegion(paintRegion);
- static int i = 0;
- switch (i) {
- case 0:
- p.fillRect(widgetRect, QColor(255,255,0));
- break;
- case 1:
- p.fillRect(widgetRect, QColor(255,200,55));
- break;
- case 2:
- p.fillRect(widgetRect, QColor(200,255,55));
- break;
- case 3:
- p.fillRect(widgetRect, QColor(200,200,0));
- break;
- }
- i = (i+1) & 3;
- p.end();
- }
- }
-
- if (setFlag)
- widget->setAttribute(Qt::WA_WState_InPaintEvent, false);
-
- //restore
- widget->setAttribute(Qt::WA_PaintUnclipped, paintUnclipped);
-
- if (pe)
- pe->setSystemClip(QRegion());
-
-#if defined(Q_OS_UNIX)
- ::usleep(1000 * msec);
-#endif
-#endif // !Q_OS_WIN
-}
-
-bool QWidgetBackingStore::flushPaint(QWidget *widget, const QRegion &rgn)
-{
- if (!widget)
- return false;
-
- int delay = 0;
- if (widget->testAttribute(Qt::WA_WState_InPaintEvent)) {
- static int flushPaintEvent = qEnvironmentVariableIntValue("QT_FLUSH_PAINT_EVENT");
- if (!flushPaintEvent)
- return false;
- delay = flushPaintEvent;
- } else {
- static int flushPaint = qEnvironmentVariableIntValue("QT_FLUSH_PAINT");
- if (!flushPaint)
- return false;
- delay = flushPaint;
- }
+ Q_ASSERT(store);
- QWidgetBackingStore::showYellowThing(widget, rgn, delay * 10, true);
- return true;
+ // Ensure all existing subsurfaces and static widgets are added to their respective lists.
+ updateLists(topLevel);
}
-void QWidgetBackingStore::unflushPaint(QWidget *widget, const QRegion &rgn)
+void QWidgetRepaintManager::updateLists(QWidget *cur)
{
- if (widget->d_func()->paintOnScreen() || rgn.isEmpty())
- return;
-
- QWidget *tlw = widget->window();
- QTLWExtra *tlwExtra = tlw->d_func()->maybeTopData();
- if (!tlwExtra)
+ if (!cur)
return;
- qt_flush(widget, rgn, tlwExtra->backingStoreTracker->store, tlw, 0, tlw->d_func()->maybeBackingStore());
-}
-#endif // QT_NO_PAINT_DEBUG
-
-/*
- Moves the whole rect by (dx, dy) in widget's coordinate system.
- Doesn't generate any updates.
-*/
-bool QWidgetBackingStore::bltRect(const QRect &rect, int dx, int dy, QWidget *widget)
-{
- const QPoint pos(widget->mapTo(tlw, rect.topLeft()));
- const QRect tlwRect(QRect(pos, rect.size()));
- if (dirty.intersects(tlwRect))
- return false; // We don't want to scroll junk.
- return store->scroll(tlwRect, dx, dy);
-}
-
-/*!
- Prepares the window surface to paint a\ toClean region of the \a widget and
- updates the BeginPaintInfo struct accordingly.
-
- The \a toClean region might be clipped by the window surface.
-*/
-void QWidgetBackingStore::beginPaint(QRegion &toClean, QWidget *widget, QBackingStore *backingStore,
- BeginPaintInfo *returnInfo, bool toCleanIsInTopLevelCoordinates)
-{
- Q_UNUSED(widget);
- Q_UNUSED(toCleanIsInTopLevelCoordinates);
-
- // Always flush repainted areas.
- dirtyOnScreen += toClean;
-
-#ifdef QT_NO_PAINT_DEBUG
- backingStore->beginPaint(toClean);
-#else
- returnInfo->wasFlushed = QWidgetBackingStore::flushPaint(tlw, toClean);
- // Avoid deadlock with QT_FLUSH_PAINT: the server will wait for
- // the BackingStore lock, so if we hold that, the server will
- // never release the Communication lock that we are waiting for in
- // sendSynchronousCommand
- if (!returnInfo->wasFlushed)
- backingStore->beginPaint(toClean);
-#endif
-
- Q_UNUSED(returnInfo);
-}
+ QList<QObject*> children = cur->children();
+ for (int i = 0; i < children.size(); ++i) {
+ QWidget *child = qobject_cast<QWidget*>(children.at(i));
+ if (!child || child->isWindow())
+ continue;
-void QWidgetBackingStore::endPaint(const QRegion &cleaned, QBackingStore *backingStore,
- BeginPaintInfo *beginPaintInfo)
-{
-#ifndef QT_NO_PAINT_DEBUG
- if (!beginPaintInfo->wasFlushed)
- backingStore->endPaint();
- else
- QWidgetBackingStore::unflushPaint(tlw, cleaned);
-#else
- Q_UNUSED(beginPaintInfo);
- Q_UNUSED(cleaned);
- backingStore->endPaint();
-#endif
+ updateLists(child);
+ }
- flush();
+ if (cur->testAttribute(Qt::WA_StaticContents))
+ addStaticWidget(cur);
}
-/*!
- Returns the region (in top-level coordinates) that needs repaint and/or flush.
-
- If the widget is non-zero, only the dirty region for the widget is returned
- and the region will be in widget coordinates.
-*/
-QRegion QWidgetBackingStore::dirtyRegion(QWidget *widget) const
+QWidgetRepaintManager::~QWidgetRepaintManager()
{
- const bool widgetDirty = widget && widget != tlw;
- const QRect tlwRect(topLevelRect());
- const QRect surfaceGeometry(tlwRect.topLeft(), store->size());
- if (surfaceGeometry != tlwRect && surfaceGeometry.size() != tlwRect.size()) {
- if (widgetDirty) {
- const QRect dirtyTlwRect = QRect(QPoint(), tlwRect.size());
- const QPoint offset(widget->mapTo(tlw, QPoint()));
- const QRect dirtyWidgetRect(dirtyTlwRect & widget->rect().translated(offset));
- return dirtyWidgetRect.translated(-offset);
- }
- return QRect(QPoint(), tlwRect.size());
- }
-
- // Calculate the region that needs repaint.
- QRegion r(dirty);
- for (int i = 0; i < dirtyWidgets.size(); ++i) {
- QWidget *w = dirtyWidgets.at(i);
- if (widgetDirty && w != widget && !widget->isAncestorOf(w))
- continue;
- r += w->d_func()->dirty.translated(w->mapTo(tlw, QPoint()));
- }
-
- // Append the region that needs flush.
- r += dirtyOnScreen;
-
- if (dirtyOnScreenWidgets) { // Only in use with native child widgets.
- for (int i = 0; i < dirtyOnScreenWidgets->size(); ++i) {
- QWidget *w = dirtyOnScreenWidgets->at(i);
- if (widgetDirty && w != widget && !widget->isAncestorOf(w))
- continue;
- QWidgetPrivate *wd = w->d_func();
- Q_ASSERT(wd->needsFlush);
- r += wd->needsFlush->translated(w->mapTo(tlw, QPoint()));
- }
- }
-
- if (widgetDirty) {
- // Intersect with the widget geometry and translate to its coordinates.
- const QPoint offset(widget->mapTo(tlw, QPoint()));
- r &= widget->rect().translated(offset);
- r.translate(-offset);
- }
- return r;
+ for (int c = 0; c < dirtyWidgets.size(); ++c)
+ resetWidget(dirtyWidgets.at(c));
+ for (int c = 0; c < dirtyRenderToTextureWidgets.size(); ++c)
+ resetWidget(dirtyRenderToTextureWidgets.at(c));
}
/*!
- Returns the static content inside the \a parent if non-zero; otherwise the static content
- for the entire backing store is returned. The content will be clipped to \a withinClipRect
- if non-empty.
+ Invalidates the \a r (in widget's coordinates) of the backing store, i.e.
+ all widgets intersecting with the region will be repainted when the backing
+ store is synced.
*/
-QRegion QWidgetBackingStore::staticContents(QWidget *parent, const QRect &withinClipRect) const
+template <class T>
+void QWidgetPrivate::invalidateBackingStore(const T &r)
{
- if (!parent && tlw->testAttribute(Qt::WA_StaticContents)) {
- const QSize surfaceGeometry(store->size());
- QRect surfaceRect(0, 0, surfaceGeometry.width(), surfaceGeometry.height());
- if (!withinClipRect.isEmpty())
- surfaceRect &= withinClipRect;
- return QRegion(surfaceRect);
- }
-
- QRegion region;
- if (parent && parent->d_func()->children.isEmpty())
- return region;
-
- const bool clipToRect = !withinClipRect.isEmpty();
- const int count = staticWidgets.count();
- for (int i = 0; i < count; ++i) {
- QWidget *w = staticWidgets.at(i);
- QWidgetPrivate *wd = w->d_func();
- if (!wd->isOpaque || !wd->extra || wd->extra->staticContentsSize.isEmpty()
- || !w->isVisible() || (parent && !parent->isAncestorOf(w))) {
- continue;
- }
-
- QRect rect(0, 0, wd->extra->staticContentsSize.width(), wd->extra->staticContentsSize.height());
- const QPoint offset = w->mapTo(parent ? parent : tlw, QPoint());
- if (clipToRect)
- rect &= withinClipRect.translated(-offset);
- if (rect.isEmpty())
- continue;
-
- rect &= wd->clipRect();
- if (rect.isEmpty())
- continue;
+ if (r.isEmpty())
+ return;
- QRegion visible(rect);
- wd->clipToEffectiveMask(visible);
- if (visible.isEmpty())
- continue;
- wd->subtractOpaqueSiblings(visible, 0, /*alsoNonOpaque=*/true);
+ if (QCoreApplication::closingDown())
+ return;
- visible.translate(offset);
- region += visible;
- }
+ Q_Q(QWidget);
+ if (!q->isVisible() || !q->updatesEnabled())
+ return;
- return region;
-}
+ QTLWExtra *tlwExtra = q->window()->d_func()->maybeTopData();
+ if (!tlwExtra || tlwExtra->inTopLevelResize || !tlwExtra->backingStore)
+ return;
-void QWidgetBackingStore::sendUpdateRequest(QWidget *widget, UpdateTime updateTime)
-{
- if (!widget)
+ T clipped(r);
+ clipped &= clipRect();
+ if (clipped.isEmpty())
return;
-#ifndef QT_NO_OPENGL
- // Having every repaint() leading to a sync/flush is bad as it causes
- // compositing and waiting for vsync each and every time. Change to
- // UpdateLater, except for approx. once per frame to prevent starvation in
- // case the control does not get back to the event loop.
- QWidget *w = widget->window();
- if (updateTime == UpdateNow && w && w->windowHandle() && QWindowPrivate::get(w->windowHandle())->compositing) {
- int refresh = 60;
- QScreen *ws = w->windowHandle()->screen();
- if (ws)
- refresh = ws->refreshRate();
- QWindowPrivate *wd = QWindowPrivate::get(w->windowHandle());
- if (wd->lastComposeTime.isValid()) {
- const qint64 elapsed = wd->lastComposeTime.elapsed();
- if (elapsed <= qint64(1000.0f / refresh))
- updateTime = UpdateLater;
- }
- }
-#endif
+ if (!graphicsEffect && extra && extra->hasMask) {
+ QRegion masked(extra->mask);
+ masked &= clipped;
+ if (masked.isEmpty())
+ return;
- switch (updateTime) {
- case UpdateLater:
- updateRequestSent = true;
- QCoreApplication::postEvent(widget, new QEvent(QEvent::UpdateRequest), Qt::LowEventPriority);
- break;
- case UpdateNow: {
- QEvent event(QEvent::UpdateRequest);
- QCoreApplication::sendEvent(widget, &event);
- break;
- }
+ tlwExtra->repaintManager->markDirty(masked, q,
+ QWidgetRepaintManager::UpdateLater, QWidgetRepaintManager::BufferInvalid);
+ } else {
+ tlwExtra->repaintManager->markDirty(clipped, q,
+ QWidgetRepaintManager::UpdateLater, QWidgetRepaintManager::BufferInvalid);
}
}
+// Needed by tst_QWidget
+template Q_AUTOTEST_EXPORT void QWidgetPrivate::invalidateBackingStore<QRect>(const QRect &r);
static inline QRect widgetRectFor(QWidget *, const QRect &r) { return r; }
static inline QRect widgetRectFor(QWidget *widget, const QRegion &) { return widget->rect(); }
@@ -516,8 +204,11 @@ static inline QRect widgetRectFor(QWidget *widget, const QRegion &) { return wid
instead of the top-level widget, and bufferState is completely ignored.
*/
template <class T>
-void QWidgetBackingStore::markDirty(const T &r, QWidget *widget, UpdateTime updateTime, BufferState bufferState)
+void QWidgetRepaintManager::markDirty(const T &r, QWidget *widget, UpdateTime updateTime, BufferState bufferState)
{
+ qCInfo(lcWidgetPainting) << "Marking" << r << "of" << widget << "dirty"
+ << "with" << updateTime;
+
Q_ASSERT(tlw->d_func()->extra);
Q_ASSERT(tlw->d_func()->extra->topextra);
Q_ASSERT(!tlw->d_func()->extra->topextra->inTopLevelResize);
@@ -533,7 +224,7 @@ void QWidgetBackingStore::markDirty(const T &r, QWidget *widget, UpdateTime upda
// ---------------------------------------------------------------------------
- if (widget->d_func()->paintOnScreen()) {
+ if (widget->d_func()->shouldPaintOnScreen()) {
if (widget->d_func()->dirty.isEmpty()) {
widget->d_func()->dirty = r;
sendUpdateRequest(widget, updateTime);
@@ -620,70 +311,35 @@ void QWidgetBackingStore::markDirty(const T &r, QWidget *widget, UpdateTime upda
if (updateTime == UpdateNow)
sendUpdateRequest(tlw, updateTime);
}
-template void QWidgetBackingStore::markDirty<QRect>(const QRect &, QWidget *, UpdateTime, BufferState);
-template void QWidgetBackingStore::markDirty<QRegion>(const QRegion &, QWidget *, UpdateTime, BufferState);
-
-/*!
- Marks the \a region of the \a widget as dirty on screen. The \a region will be copied from
- the backing store to the \a widget's native parent next time flush() is called.
+template void QWidgetRepaintManager::markDirty<QRect>(const QRect &, QWidget *, UpdateTime, BufferState);
+template void QWidgetRepaintManager::markDirty<QRegion>(const QRegion &, QWidget *, UpdateTime, BufferState);
- Paint on screen widgets are ignored.
-*/
-void QWidgetBackingStore::markDirtyOnScreen(const QRegion &region, QWidget *widget, const QPoint &topLevelOffset)
+void QWidgetRepaintManager::addDirtyWidget(QWidget *widget, const QRegion &rgn)
{
- if (!widget || widget->d_func()->paintOnScreen() || region.isEmpty())
- return;
-
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (!widget->testAttribute(Qt::WA_WState_InPaintEvent))
- dirtyOnScreen += region.translated(topLevelOffset);
- return;
-#endif
-
- // Top-level.
- if (widget == tlw) {
- if (!widget->testAttribute(Qt::WA_WState_InPaintEvent))
- dirtyOnScreen += region;
- return;
- }
-
- // Alien widgets.
- if (!widget->internalWinId() && !widget->isWindow()) {
- QWidget *nativeParent = widget->nativeParentWidget(); // Alien widgets with the top-level as the native parent (common case).
- if (nativeParent == tlw) {
- if (!widget->testAttribute(Qt::WA_WState_InPaintEvent))
- dirtyOnScreen += region.translated(topLevelOffset);
- return;
- }
-
- // Alien widgets with native parent != tlw.
- QWidgetPrivate *nativeParentPrivate = nativeParent->d_func();
- if (!nativeParentPrivate->needsFlush)
- nativeParentPrivate->needsFlush = new QRegion;
- const QPoint nativeParentOffset = widget->mapTo(nativeParent, QPoint());
- *nativeParentPrivate->needsFlush += region.translated(nativeParentOffset);
- appendDirtyOnScreenWidget(nativeParent);
- return;
+ if (widget && !widget->d_func()->inDirtyList && !widget->data->in_destructor) {
+ QWidgetPrivate *widgetPrivate = widget->d_func();
+#if QT_CONFIG(graphicseffect)
+ if (widgetPrivate->graphicsEffect)
+ widgetPrivate->dirty = widgetPrivate->effectiveRectFor(rgn.boundingRect());
+ else
+#endif // QT_CONFIG(graphicseffect)
+ widgetPrivate->dirty = rgn;
+ dirtyWidgets.append(widget);
+ widgetPrivate->inDirtyList = true;
}
-
- // Native child widgets.
- QWidgetPrivate *widgetPrivate = widget->d_func();
- if (!widgetPrivate->needsFlush)
- widgetPrivate->needsFlush = new QRegion;
- *widgetPrivate->needsFlush += region;
- appendDirtyOnScreenWidget(widget);
}
-void QWidgetBackingStore::removeDirtyWidget(QWidget *w)
+void QWidgetRepaintManager::removeDirtyWidget(QWidget *w)
{
if (!w)
return;
- dirtyWidgetsRemoveAll(w);
- dirtyOnScreenWidgetsRemoveAll(w);
+ dirtyWidgets.removeAll(w);
dirtyRenderToTextureWidgets.removeAll(w);
resetWidget(w);
+ needsFlushWidgets.removeAll(w);
+
QWidgetPrivate *wd = w->d_func();
const int n = wd->children.count();
for (int i = 0; i < n; ++i) {
@@ -692,46 +348,71 @@ void QWidgetBackingStore::removeDirtyWidget(QWidget *w)
}
}
-void QWidgetBackingStore::updateLists(QWidget *cur)
+void QWidgetRepaintManager::resetWidget(QWidget *widget)
{
- if (!cur)
- return;
-
- QList<QObject*> children = cur->children();
- for (int i = 0; i < children.size(); ++i) {
- QWidget *child = qobject_cast<QWidget*>(children.at(i));
- if (!child || child->isWindow())
- continue;
-
- updateLists(child);
+ if (widget) {
+ widget->d_func()->inDirtyList = false;
+ widget->d_func()->isScrolled = false;
+ widget->d_func()->isMoved = false;
+ widget->d_func()->dirty = QRegion();
}
+}
- if (cur->testAttribute(Qt::WA_StaticContents))
- addStaticWidget(cur);
+void QWidgetRepaintManager::addDirtyRenderToTextureWidget(QWidget *widget)
+{
+ if (widget && !widget->d_func()->inDirtyList && !widget->data->in_destructor) {
+ QWidgetPrivate *widgetPrivate = widget->d_func();
+ Q_ASSERT(widgetPrivate->renderToTexture);
+ dirtyRenderToTextureWidgets.append(widget);
+ widgetPrivate->inDirtyList = true;
+ }
}
-QWidgetBackingStore::QWidgetBackingStore(QWidget *topLevel)
- : tlw(topLevel),
- dirtyOnScreenWidgets(0),
- updateRequestSent(0),
- textureListWatcher(0),
- perfFrames(0)
+void QWidgetRepaintManager::sendUpdateRequest(QWidget *widget, UpdateTime updateTime)
{
- store = tlw->backingStore();
- Q_ASSERT(store);
+ if (!widget)
+ return;
- // Ensure all existing subsurfaces and static widgets are added to their respective lists.
- updateLists(topLevel);
+ qCInfo(lcWidgetPainting) << "Sending update request to" << widget << "with" << updateTime;
+
+#ifndef QT_NO_OPENGL
+ // Having every repaint() leading to a sync/flush is bad as it causes
+ // compositing and waiting for vsync each and every time. Change to
+ // UpdateLater, except for approx. once per frame to prevent starvation in
+ // case the control does not get back to the event loop.
+ QWidget *w = widget->window();
+ if (updateTime == UpdateNow && w && w->windowHandle() && QWindowPrivate::get(w->windowHandle())->compositing) {
+ int refresh = 60;
+ QScreen *ws = w->windowHandle()->screen();
+ if (ws)
+ refresh = ws->refreshRate();
+ QWindowPrivate *wd = QWindowPrivate::get(w->windowHandle());
+ if (wd->lastComposeTime.isValid()) {
+ const qint64 elapsed = wd->lastComposeTime.elapsed();
+ if (elapsed <= qint64(1000.0f / refresh))
+ updateTime = UpdateLater;
+ }
+ }
+#endif
+
+ switch (updateTime) {
+ case UpdateLater:
+ updateRequestSent = true;
+ QCoreApplication::postEvent(widget, new QEvent(QEvent::UpdateRequest), Qt::LowEventPriority);
+ break;
+ case UpdateNow: {
+ QEvent event(QEvent::UpdateRequest);
+ QCoreApplication::sendEvent(widget, &event);
+ break;
+ }
+ }
}
-QWidgetBackingStore::~QWidgetBackingStore()
-{
- for (int c = 0; c < dirtyWidgets.size(); ++c)
- resetWidget(dirtyWidgets.at(c));
- for (int c = 0; c < dirtyRenderToTextureWidgets.size(); ++c)
- resetWidget(dirtyRenderToTextureWidgets.at(c));
+// ---------------------------------------------------------------------------
- delete dirtyOnScreenWidgets;
+static bool hasPlatformWindow(QWidget *widget)
+{
+ return widget && widget->windowHandle() && widget->windowHandle()->handle();
}
static QVector<QRect> getSortedRectsToScroll(const QRegion &region, int dx, int dy)
@@ -778,7 +459,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
destRect = destRect.translated(dx, dy).intersected(clipR);
const QRect sourceRect(destRect.translated(-dx, -dy));
const QRect parentRect(rect & clipR);
- const bool nativeWithTextureChild = textureChildSeen && q->internalWinId();
+ const bool nativeWithTextureChild = textureChildSeen && hasPlatformWindow(q);
const bool accelerateMove = accelEnv && isOpaque && !nativeWithTextureChild
#if QT_CONFIG(graphicsview)
@@ -799,7 +480,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
invalidateBackingStore((newRect & clipR).translated(-data.crect.topLeft()));
} else {
- QWidgetBackingStore *wbs = x->backingStoreTracker.data();
+ QWidgetRepaintManager *repaintManager = x->repaintManager.get();
QRegion childExpose(newRect & clipR);
QRegion overlappedExpose;
@@ -811,7 +492,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
const QVector<QRect> rectsToScroll
= getSortedRectsToScroll(QRegion(sourceRect) - overlappedExpose, dx, dy);
for (QRect rect : rectsToScroll) {
- if (wbs->bltRect(rect, dx, dy, pw)) {
+ if (repaintManager->bltRect(rect, dx, dy, pw)) {
childExpose -= rect.translated(dx, dy);
}
}
@@ -831,7 +512,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
}
if (!childExpose.isEmpty()) {
childExpose.translate(-data.crect.topLeft());
- wbs->markDirty(childExpose, q);
+ repaintManager->markDirty(childExpose, q);
isMoved = true;
}
}
@@ -842,14 +523,14 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
parentExpose += QRegion(newRect) - extra->mask.translated(data.crect.topLeft());
if (!parentExpose.isEmpty()) {
- wbs->markDirty(parentExpose, pw);
+ repaintManager->markDirty(parentExpose, pw);
pd->isMoved = true;
}
if (childUpdatesEnabled) {
QRegion needsFlush(sourceRect);
needsFlush += destRect;
- wbs->markDirtyOnScreen(needsFlush, pw, toplevelOffset);
+ repaintManager->markNeedsFlush(pw, needsFlush, toplevelOffset);
}
}
}
@@ -863,8 +544,8 @@ void QWidgetPrivate::scrollRect(const QRect &rect, int dx, int dy)
if (x->inTopLevelResize)
return;
- QWidgetBackingStore *wbs = x->backingStoreTracker.data();
- if (!wbs)
+ QWidgetRepaintManager *repaintManager = x->repaintManager.get();
+ if (!repaintManager)
return;
static const bool accelEnv = qEnvironmentVariableIntValue("QT_NO_FAST_SCROLL") == 0;
@@ -895,7 +576,7 @@ void QWidgetPrivate::scrollRect(const QRect &rect, int dx, int dy)
const QVector<QRect> rectsToScroll
= getSortedRectsToScroll(QRegion(sourceRect) - overlappedExpose, dx, dy);
for (const QRect &rect : rectsToScroll) {
- if (wbs->bltRect(rect, dx, dy, q)) {
+ if (repaintManager->bltRect(rect, dx, dy, q)) {
childExpose -= rect.translated(dx, dy);
}
}
@@ -922,17 +603,32 @@ void QWidgetPrivate::scrollRect(const QRect &rect, int dx, int dy)
if (!overlappedExpose.isEmpty())
invalidateBackingStore(overlappedExpose);
if (!childExpose.isEmpty()) {
- wbs->markDirty(childExpose, q);
+ repaintManager->markDirty(childExpose, q);
isScrolled = true;
}
// Instead of using native scroll-on-screen, we copy from
// backingstore, giving only one screen update for each
// scroll, and a solid appearance
- wbs->markDirtyOnScreen(destRect, q, toplevelOffset);
+ repaintManager->markNeedsFlush(q, destRect, toplevelOffset);
}
}
+/*
+ Moves the whole rect by (dx, dy) in widget's coordinate system.
+ Doesn't generate any updates.
+*/
+bool QWidgetRepaintManager::bltRect(const QRect &rect, int dx, int dy, QWidget *widget)
+{
+ const QPoint pos(widget->mapTo(tlw, rect.topLeft()));
+ const QRect tlwRect(QRect(pos, rect.size()));
+ if (dirty.intersects(tlwRect))
+ return false; // We don't want to scroll junk.
+ return store->scroll(tlwRect, dx, dy);
+}
+
+// ---------------------------------------------------------------------------
+
#ifndef QT_NO_OPENGL
static void findTextureWidgetsRecursively(QWidget *tlw, QWidget *widget, QPlatformTextureList *widgetTextures, QVector<QWidget *> *nativeChildren)
{
@@ -946,9 +642,9 @@ static void findTextureWidgetsRecursively(QWidget *tlw, QWidget *widget, QPlatfo
for (int i = 0; i < wd->children.size(); ++i) {
QWidget *w = qobject_cast<QWidget *>(wd->children.at(i));
// Stop at native widgets but store them. Stop at hidden widgets too.
- if (w && !w->isWindow() && w->internalWinId())
+ if (w && !w->isWindow() && hasPlatformWindow(w))
nativeChildren->append(w);
- if (w && !w->isWindow() && !w->internalWinId() && !w->isHidden() && QWidgetPrivate::get(w)->textureChildSeen)
+ if (w && !w->isWindow() && !hasPlatformWindow(w) && !w->isHidden() && QWidgetPrivate::get(w)->textureChildSeen)
findTextureWidgetsRecursively(tlw, w, widgetTextures, nativeChildren);
}
}
@@ -958,15 +654,15 @@ static void findAllTextureWidgetsRecursively(QWidget *tlw, QWidget *widget)
// textureChildSeen does not take native child widgets into account and that's good.
if (QWidgetPrivate::get(widget)->textureChildSeen) {
QVector<QWidget *> nativeChildren;
- QScopedPointer<QPlatformTextureList> tl(new QPlatformTextureList);
+ auto tl = qt_make_unique<QPlatformTextureList>();
// Look for texture widgets (incl. widget itself) from 'widget' down,
// but skip subtrees with a parent of a native child widget.
- findTextureWidgetsRecursively(tlw, widget, tl.data(), &nativeChildren);
+ findTextureWidgetsRecursively(tlw, widget, tl.get(), &nativeChildren);
// tl may be empty regardless of textureChildSeen if we have native or hidden children.
if (!tl->isEmpty())
- QWidgetPrivate::get(tlw)->topData()->widgetTextures.append(tl.take());
+ QWidgetPrivate::get(tlw)->topData()->widgetTextures.push_back(std::move(tl));
// Native child widgets, if there was any, get their own separate QPlatformTextureList.
- foreach (QWidget *ncw, nativeChildren) {
+ for (QWidget *ncw : qAsConst(nativeChildren)) {
if (QWidgetPrivate::get(ncw)->textureChildSeen)
findAllTextureWidgetsRecursively(tlw, ncw);
}
@@ -975,12 +671,12 @@ static void findAllTextureWidgetsRecursively(QWidget *tlw, QWidget *widget)
static QPlatformTextureList *widgetTexturesFor(QWidget *tlw, QWidget *widget)
{
- foreach (QPlatformTextureList *tl, QWidgetPrivate::get(tlw)->topData()->widgetTextures) {
+ for (const auto &tl : QWidgetPrivate::get(tlw)->topData()->widgetTextures) {
Q_ASSERT(!tl->isEmpty());
for (int i = 0; i < tl->count(); ++i) {
QWidget *w = static_cast<QWidget *>(tl->source(i));
- if ((w->internalWinId() && w == widget) || (!w->internalWinId() && w->nativeParentWidget() == widget))
- return tl;
+ if ((hasPlatformWindow(w) && w == widget) || (!hasPlatformWindow(w) && w->nativeParentWidget() == widget))
+ return tl.get();
}
}
@@ -1000,39 +696,6 @@ static QPlatformTextureList *widgetTexturesFor(QWidget *tlw, QWidget *widget)
return 0;
}
-// Watches one or more QPlatformTextureLists for changes in the lock state and
-// triggers a backingstore sync when all the registered lists turn into
-// unlocked state. This is essential when a custom composeAndFlush()
-// implementation in a platform plugin is not synchronous and keeps
-// holding on to the textures for some time even after returning from there.
-QPlatformTextureListWatcher::QPlatformTextureListWatcher(QWidgetBackingStore *backingStore)
- : m_backingStore(backingStore)
-{
-}
-
-void QPlatformTextureListWatcher::watch(QPlatformTextureList *textureList)
-{
- connect(textureList, SIGNAL(locked(bool)), SLOT(onLockStatusChanged(bool)));
- m_locked[textureList] = textureList->isLocked();
-}
-
-bool QPlatformTextureListWatcher::isLocked() const
-{
- foreach (bool v, m_locked) {
- if (v)
- return true;
- }
- return false;
-}
-
-void QPlatformTextureListWatcher::onLockStatusChanged(bool locked)
-{
- QPlatformTextureList *tl = static_cast<QPlatformTextureList *>(sender());
- m_locked[tl] = locked;
- if (!isLocked())
- m_backingStore->sync();
-}
-
#else
static QPlatformTextureList *widgetTexturesFor(QWidget *tlw, QWidget *widget)
@@ -1044,81 +707,55 @@ static QPlatformTextureList *widgetTexturesFor(QWidget *tlw, QWidget *widget)
#endif // QT_NO_OPENGL
-static inline bool discardSyncRequest(QWidget *tlw, QTLWExtra *tlwExtra)
-{
- if (!tlw || !tlwExtra || !tlw->testAttribute(Qt::WA_Mapped) || !tlw->isVisible())
- return true;
-
- return false;
-}
-
-bool QWidgetBackingStore::syncAllowed()
-{
-#ifndef QT_NO_OPENGL
- QTLWExtra *tlwExtra = tlw->d_func()->maybeTopData();
- if (textureListWatcher && !textureListWatcher->isLocked()) {
- textureListWatcher->deleteLater();
- textureListWatcher = 0;
- } else if (!tlwExtra->widgetTextures.isEmpty()) {
- bool skipSync = false;
- foreach (QPlatformTextureList *tl, tlwExtra->widgetTextures) {
- if (tl->isLocked()) {
- if (!textureListWatcher)
- textureListWatcher = new QPlatformTextureListWatcher(this);
- if (!textureListWatcher->isLocked())
- textureListWatcher->watch(tl);
- skipSync = true;
- }
- }
- if (skipSync) // cannot compose due to widget textures being in use
- return false;
- }
-#endif
- return true;
-}
+// ---------------------------------------------------------------------------
/*!
Synchronizes the \a exposedRegion of the \a exposedWidget with the backing store.
- If there's nothing to repaint, the area is flushed and painting does not occur;
- otherwise the area is marked as dirty on screen and will be flushed right after
- we are done with all painting.
+ If there are dirty widgets, including but not limited to the \a exposedWidget,
+ these will be repainted first. The backingstore is then flushed to the screen,
+ regardless of whether or not there were any repaints.
*/
-void QWidgetBackingStore::sync(QWidget *exposedWidget, const QRegion &exposedRegion)
+void QWidgetRepaintManager::sync(QWidget *exposedWidget, const QRegion &exposedRegion)
{
+ qCInfo(lcWidgetPainting) << "Syncing" << exposedRegion << "of" << exposedWidget;
+
QTLWExtra *tlwExtra = tlw->d_func()->maybeTopData();
if (!tlw->isVisible() || !tlwExtra || tlwExtra->inTopLevelResize)
return;
- if (!exposedWidget || !exposedWidget->internalWinId() || !exposedWidget->isVisible() || !exposedWidget->testAttribute(Qt::WA_Mapped)
+ if (!exposedWidget || !hasPlatformWindow(exposedWidget)
+ || !exposedWidget->isVisible() || !exposedWidget->testAttribute(Qt::WA_Mapped)
|| !exposedWidget->updatesEnabled() || exposedRegion.isEmpty()) {
return;
}
// Nothing to repaint.
if (!isDirty() && store->size().isValid()) {
- QPlatformTextureList *tl = widgetTexturesFor(tlw, exposedWidget);
- qt_flush(exposedWidget, tl ? QRegion() : exposedRegion, store, tlw, tl, this);
+ QPlatformTextureList *widgetTextures = widgetTexturesFor(tlw, exposedWidget);
+ flush(exposedWidget, widgetTextures ? QRegion() : exposedRegion, widgetTextures);
return;
}
- if (exposedWidget != tlw)
- markDirtyOnScreen(exposedRegion, exposedWidget, exposedWidget->mapTo(tlw, QPoint()));
- else
- markDirtyOnScreen(exposedRegion, exposedWidget, QPoint());
+ // As requests to sync a specific widget typically comes from an expose event
+ // we can't rely solely on our own dirty tracking to decide what to flush, and
+ // need to respect the platform's request to at least flush the entire widget,
+ QPoint offset = exposedWidget != tlw ? exposedWidget->mapTo(tlw, QPoint()) : QPoint();
+ markNeedsFlush(exposedWidget, exposedRegion, offset);
if (syncAllowed())
- doSync();
+ paintAndFlush();
}
/*!
Synchronizes the backing store, i.e. dirty areas are repainted and flushed.
*/
-void QWidgetBackingStore::sync()
+void QWidgetRepaintManager::sync()
{
+ qCInfo(lcWidgetPainting) << "Syncing dirty widgets";
+
updateRequestSent = false;
- QTLWExtra *tlwExtra = tlw->d_func()->maybeTopData();
- if (discardSyncRequest(tlw, tlwExtra)) {
+ if (qt_widget_private(tlw)->shouldDiscardSyncRequest()) {
// If the top-level is minimized, it's not visible on the screen so we can delay the
// update until it's shown again. In order to do that we must keep the dirty states.
// These will be cleared when we receive the first expose after showNormal().
@@ -1134,16 +771,50 @@ void QWidgetBackingStore::sync()
}
if (syncAllowed())
- doSync();
+ paintAndFlush();
+}
+
+bool QWidgetPrivate::shouldDiscardSyncRequest() const
+{
+ Q_Q(const QWidget);
+ return !maybeTopData() || !q->testAttribute(Qt::WA_Mapped) || !q->isVisible();
+}
+
+bool QWidgetRepaintManager::syncAllowed()
+{
+#ifndef QT_NO_OPENGL
+ QTLWExtra *tlwExtra = tlw->d_func()->maybeTopData();
+ if (textureListWatcher && !textureListWatcher->isLocked()) {
+ textureListWatcher->deleteLater();
+ textureListWatcher = 0;
+ } else if (!tlwExtra->widgetTextures.empty()) {
+ bool skipSync = false;
+ for (const auto &tl : tlwExtra->widgetTextures) {
+ if (tl->isLocked()) {
+ if (!textureListWatcher)
+ textureListWatcher = new QPlatformTextureListWatcher(this);
+ if (!textureListWatcher->isLocked())
+ textureListWatcher->watch(tl.get());
+ skipSync = true;
+ }
+ }
+ if (skipSync) // cannot compose due to widget textures being in use
+ return false;
+ }
+#endif
+ return true;
}
-void QWidgetBackingStore::doSync()
+void QWidgetRepaintManager::paintAndFlush()
{
+ qCInfo(lcWidgetPainting) << "Painting and flushing dirty"
+ << "top level" << dirty << "and dirty widgets" << dirtyWidgets;
+
const bool updatesDisabled = !tlw->updatesEnabled();
bool repaintAllWidgets = false;
const bool inTopLevelResize = tlw->d_func()->maybeTopData()->inTopLevelResize;
- const QRect tlwRect(topLevelRect());
+ const QRect tlwRect = tlw->data->crect;
const QRect surfaceGeometry(tlwRect.topLeft(), store->size());
if ((inTopLevelResize || surfaceGeometry.size() != tlwRect.size()) && !updatesDisabled) {
if (hasStaticContents() && !store->size().isEmpty() ) {
@@ -1237,10 +908,9 @@ void QWidgetBackingStore::doSync()
// The search is cut at native widget boundaries, meaning that each native child widget
// has its own list for the subtree below it.
QTLWExtra *tlwExtra = tlw->d_func()->topData();
- qDeleteAll(tlwExtra->widgetTextures);
tlwExtra->widgetTextures.clear();
findAllTextureWidgetsRecursively(tlw, tlw);
- qt_window_private(tlw->windowHandle())->compositing = false; // will get updated in qt_flush()
+ qt_window_private(tlw->windowHandle())->compositing = false; // will get updated in flush()
#endif
if (toClean.isEmpty()) {
@@ -1263,13 +933,10 @@ void QWidgetBackingStore::doSync()
w->d_func()->sendPaintEvent(w->rect());
if (w != tlw) {
QWidget *npw = w->nativeParentWidget();
- if (w->internalWinId() || (npw && npw != tlw)) {
- if (!w->internalWinId())
+ if (hasPlatformWindow(w) || (npw && npw != tlw)) {
+ if (!hasPlatformWindow(w))
w = npw;
- QWidgetPrivate *wPrivate = w->d_func();
- if (!wPrivate->needsFlush)
- wPrivate->needsFlush = new QRegion;
- appendDirtyOnScreenWidget(w);
+ markNeedsFlush(w);
}
}
}
@@ -1283,7 +950,7 @@ void QWidgetBackingStore::doSync()
}
#ifndef QT_NO_OPENGL
- foreach (QPlatformTextureList *tl, tlwExtra->widgetTextures) {
+ for (const auto &tl : tlwExtra->widgetTextures) {
for (int i = 0; i < tl->count(); ++i) {
QWidget *w = static_cast<QWidget *>(tl->source(i));
if (dirtyRenderToTextureWidgets.contains(w)) {
@@ -1312,15 +979,7 @@ void QWidgetBackingStore::doSync()
}
#endif
- BeginPaintInfo beginPaintInfo;
- beginPaint(toClean, tlw, store, &beginPaintInfo);
- if (beginPaintInfo.nothingToPaint) {
- for (int i = 0; i < opaqueNonOverlappedWidgets.size(); ++i)
- resetWidget(opaqueNonOverlappedWidgets[i]);
- dirty = QRegion();
- updateRequestSent = false;
- return;
- }
+ store->beginPaint(toClean);
// Must do this before sending any paint events because
// the size may change in the paint event.
@@ -1334,7 +993,7 @@ void QWidgetBackingStore::doSync()
QWidget *w = opaqueNonOverlappedWidgets[i];
QWidgetPrivate *wd = w->d_func();
- int flags = QWidgetPrivate::DrawRecursive;
+ QWidgetPrivate::DrawWidgetFlags flags = QWidgetPrivate::DrawRecursive;
// Scrolled and moved widgets must draw all children.
if (!wd->isScrolled && !wd->isMoved)
flags |= QWidgetPrivate::DontDrawOpaqueChildren;
@@ -1352,56 +1011,301 @@ void QWidgetBackingStore::doSync()
// Paint the rest with composition.
if (repaintAllWidgets || !dirtyCopy.isEmpty()) {
- const int flags = QWidgetPrivate::DrawAsRoot | QWidgetPrivate::DrawRecursive;
+ QWidgetPrivate::DrawWidgetFlags flags = QWidgetPrivate::DrawAsRoot | QWidgetPrivate::DrawRecursive;
tlw->d_func()->drawWidget(store->paintDevice(), dirtyCopy, QPoint(), flags, 0, this);
}
- endPaint(toClean, store, &beginPaintInfo);
+ store->endPaint();
+
+ flush();
+}
+
+/*!
+ Marks the \a region of the \a widget as needing a flush. The \a region will be copied from
+ the backing store to the \a widget's native parent next time flush() is called.
+
+ Paint on screen widgets are ignored.
+*/
+void QWidgetRepaintManager::markNeedsFlush(QWidget *widget, const QRegion &region, const QPoint &topLevelOffset)
+{
+ if (!widget || widget->d_func()->shouldPaintOnScreen() || region.isEmpty())
+ return;
+
+ if (widget == tlw) {
+ // Top-level (native)
+ qCInfo(lcWidgetPainting) << "Marking" << region << "of top level"
+ << widget << "as needing flush";
+ topLevelNeedsFlush += region;
+ } else if (!hasPlatformWindow(widget) && !widget->isWindow()) {
+ QWidget *nativeParent = widget->nativeParentWidget();
+ qCInfo(lcWidgetPainting) << "Marking" << region << "of"
+ << widget << "as needing flush in" << nativeParent
+ << "at offset" << topLevelOffset;
+ if (nativeParent == tlw) {
+ // Alien widgets with the top-level as the native parent (common case)
+ topLevelNeedsFlush += region.translated(topLevelOffset);
+ } else {
+ // Alien widgets with native parent != tlw
+ const QPoint nativeParentOffset = widget->mapTo(nativeParent, QPoint());
+ markNeedsFlush(nativeParent, region.translated(nativeParentOffset));
+ }
+ } else {
+ // Native child widgets
+ qCInfo(lcWidgetPainting) << "Marking" << region
+ << "of native child" << widget << "as needing flush";
+ markNeedsFlush(widget, region);
+ }
+}
+
+void QWidgetRepaintManager::markNeedsFlush(QWidget *widget, const QRegion &region)
+{
+ if (!widget)
+ return;
+
+ auto *widgetPrivate = qt_widget_private(widget);
+ if (!widgetPrivate->needsFlush)
+ widgetPrivate->needsFlush = new QRegion;
+
+ *widgetPrivate->needsFlush += region;
+
+ if (!needsFlushWidgets.contains(widget))
+ needsFlushWidgets.append(widget);
}
/*!
Flushes the contents of the backing store into the top-level widget.
- If the \a widget is non-zero, the content is flushed to the \a widget.
- If the \a surface is non-zero, the content of the \a surface is flushed.
*/
-void QWidgetBackingStore::flush(QWidget *widget)
+void QWidgetRepaintManager::flush()
{
- const bool hasDirtyOnScreenWidgets = dirtyOnScreenWidgets && !dirtyOnScreenWidgets->isEmpty();
+ qCInfo(lcWidgetPainting) << "Flushing top level"
+ << topLevelNeedsFlush << "and children" << needsFlushWidgets;
+
+ const bool hasNeedsFlushWidgets = !needsFlushWidgets.isEmpty();
bool flushed = false;
- // Flush the region in dirtyOnScreen.
- if (!dirtyOnScreen.isEmpty()) {
- QWidget *target = widget ? widget : tlw;
- qt_flush(target, dirtyOnScreen, store, tlw, widgetTexturesFor(tlw, tlw), this);
- dirtyOnScreen = QRegion();
+ // Flush the top level widget
+ if (!topLevelNeedsFlush.isEmpty()) {
+ flush(tlw, topLevelNeedsFlush, widgetTexturesFor(tlw, tlw));
+ topLevelNeedsFlush = QRegion();
flushed = true;
}
- // Render-to-texture widgets are not in dirtyOnScreen so flush if we have not done it above.
- if (!flushed && !hasDirtyOnScreenWidgets) {
+ // Render-to-texture widgets are not in topLevelNeedsFlush so flush if we have not done it above.
+ if (!flushed && !hasNeedsFlushWidgets) {
#ifndef QT_NO_OPENGL
- if (!tlw->d_func()->topData()->widgetTextures.isEmpty()) {
- QPlatformTextureList *tl = widgetTexturesFor(tlw, tlw);
- if (tl) {
- QWidget *target = widget ? widget : tlw;
- qt_flush(target, QRegion(), store, tlw, tl, this);
- }
+ if (!tlw->d_func()->topData()->widgetTextures.empty()) {
+ if (QPlatformTextureList *widgetTextures = widgetTexturesFor(tlw, tlw))
+ flush(tlw, QRegion(), widgetTextures);
}
#endif
}
- if (!hasDirtyOnScreenWidgets)
+ if (!hasNeedsFlushWidgets)
return;
- for (int i = 0; i < dirtyOnScreenWidgets->size(); ++i) {
- QWidget *w = dirtyOnScreenWidgets->at(i);
+ for (QWidget *w : qExchange(needsFlushWidgets, {})) {
QWidgetPrivate *wd = w->d_func();
Q_ASSERT(wd->needsFlush);
QPlatformTextureList *widgetTexturesForNative = wd->textureChildSeen ? widgetTexturesFor(tlw, w) : 0;
- qt_flush(w, *wd->needsFlush, store, tlw, widgetTexturesForNative, this);
+ flush(w, *wd->needsFlush, widgetTexturesForNative);
*wd->needsFlush = QRegion();
}
- dirtyOnScreenWidgets->clear();
+}
+
+/*
+ Flushes the contents of the backingstore into the screen area of \a widget.
+
+ \a region is the region to be updated in \a widget coordinates.
+ */
+void QWidgetRepaintManager::flush(QWidget *widget, const QRegion &region, QPlatformTextureList *widgetTextures)
+{
+#ifdef QT_NO_OPENGL
+ Q_UNUSED(widgetTextures);
+ Q_ASSERT(!region.isEmpty());
+#else
+ Q_ASSERT(!region.isEmpty() || widgetTextures);
+#endif
+ Q_ASSERT(widget);
+ Q_ASSERT(tlw);
+
+ if (tlw->testAttribute(Qt::WA_DontShowOnScreen) || widget->testAttribute(Qt::WA_DontShowOnScreen))
+ return;
+
+ // Foreign Windows do not have backing store content and must not be flushed
+ if (QWindow *widgetWindow = widget->windowHandle()) {
+ if (widgetWindow->type() == Qt::ForeignWindow)
+ return;
+ }
+
+ qCInfo(lcWidgetPainting) << "Flushing" << region << "of" << widget;
+
+ static bool fpsDebug = qEnvironmentVariableIntValue("QT_DEBUG_FPS");
+ if (fpsDebug) {
+ if (!perfFrames++)
+ perfTime.start();
+ if (perfTime.elapsed() > 5000) {
+ double fps = double(perfFrames * 1000) / perfTime.restart();
+ qDebug("FPS: %.1f\n", fps);
+ perfFrames = 0;
+ }
+ }
+
+ QPoint offset;
+ if (widget != tlw)
+ offset += widget->mapTo(tlw, QPoint());
+
+ QRegion effectiveRegion = region;
+#ifndef QT_NO_OPENGL
+ const bool compositionWasActive = widget->d_func()->renderToTextureComposeActive;
+ if (!widgetTextures) {
+ widget->d_func()->renderToTextureComposeActive = false;
+ // Detect the case of falling back to the normal flush path when no
+ // render-to-texture widgets are visible anymore. We will force one
+ // last flush to go through the OpenGL-based composition to prevent
+ // artifacts. The next flush after this one will use the normal path.
+ if (compositionWasActive)
+ widgetTextures = qt_dummy_platformTextureList;
+ } else {
+ widget->d_func()->renderToTextureComposeActive = true;
+ }
+ // When changing the composition status, make sure the dirty region covers
+ // the entire widget. Just having e.g. the shown/hidden render-to-texture
+ // widget's area marked as dirty is incorrect when changing flush paths.
+ if (compositionWasActive != widget->d_func()->renderToTextureComposeActive)
+ effectiveRegion = widget->rect();
+
+ // re-test since we may have been forced to this path via the dummy texture list above
+ if (widgetTextures) {
+ qt_window_private(tlw->windowHandle())->compositing = true;
+ widget->window()->d_func()->sendComposeStatus(widget->window(), false);
+ // A window may have alpha even when the app did not request
+ // WA_TranslucentBackground. Therefore the compositor needs to know whether the app intends
+ // to rely on translucency, in order to decide if it should clear to transparent or opaque.
+ const bool translucentBackground = widget->testAttribute(Qt::WA_TranslucentBackground);
+ store->handle()->composeAndFlush(widget->windowHandle(), effectiveRegion, offset,
+ widgetTextures, translucentBackground);
+ widget->window()->d_func()->sendComposeStatus(widget->window(), true);
+ } else
+#endif
+ store->flush(effectiveRegion, widget->windowHandle(), offset);
+}
+
+// ---------------------------------------------------------------------------
+
+void QWidgetRepaintManager::addStaticWidget(QWidget *widget)
+{
+ if (!widget)
+ return;
+
+ Q_ASSERT(widget->testAttribute(Qt::WA_StaticContents));
+ if (!staticWidgets.contains(widget))
+ staticWidgets.append(widget);
+}
+
+// Move the reparented widget and all its static children from this backing store
+// to the new backing store if reparented into another top-level / backing store.
+void QWidgetRepaintManager::moveStaticWidgets(QWidget *reparented)
+{
+ Q_ASSERT(reparented);
+ QWidgetRepaintManager *newPaintManager = reparented->d_func()->maybeRepaintManager();
+ if (newPaintManager == this)
+ return;
+
+ int i = 0;
+ while (i < staticWidgets.size()) {
+ QWidget *w = staticWidgets.at(i);
+ if (reparented == w || reparented->isAncestorOf(w)) {
+ staticWidgets.removeAt(i);
+ if (newPaintManager)
+ newPaintManager->addStaticWidget(w);
+ } else {
+ ++i;
+ }
+ }
+}
+
+void QWidgetRepaintManager::removeStaticWidget(QWidget *widget)
+{
+ staticWidgets.removeAll(widget);
+}
+
+bool QWidgetRepaintManager::hasStaticContents() const
+{
+#if defined(Q_OS_WIN)
+ return !staticWidgets.isEmpty();
+#else
+ return !staticWidgets.isEmpty() && false;
+#endif
+}
+
+/*!
+ Returns the static content inside the \a parent if non-zero; otherwise the static content
+ for the entire backing store is returned. The content will be clipped to \a withinClipRect
+ if non-empty.
+*/
+QRegion QWidgetRepaintManager::staticContents(QWidget *parent, const QRect &withinClipRect) const
+{
+ if (!parent && tlw->testAttribute(Qt::WA_StaticContents)) {
+ const QSize surfaceGeometry(store->size());
+ QRect surfaceRect(0, 0, surfaceGeometry.width(), surfaceGeometry.height());
+ if (!withinClipRect.isEmpty())
+ surfaceRect &= withinClipRect;
+ return QRegion(surfaceRect);
+ }
+
+ QRegion region;
+ if (parent && parent->d_func()->children.isEmpty())
+ return region;
+
+ const bool clipToRect = !withinClipRect.isEmpty();
+ const int count = staticWidgets.count();
+ for (int i = 0; i < count; ++i) {
+ QWidget *w = staticWidgets.at(i);
+ QWidgetPrivate *wd = w->d_func();
+ if (!wd->isOpaque || !wd->extra || wd->extra->staticContentsSize.isEmpty()
+ || !w->isVisible() || (parent && !parent->isAncestorOf(w))) {
+ continue;
+ }
+
+ QRect rect(0, 0, wd->extra->staticContentsSize.width(), wd->extra->staticContentsSize.height());
+ const QPoint offset = w->mapTo(parent ? parent : tlw, QPoint());
+ if (clipToRect)
+ rect &= withinClipRect.translated(-offset);
+ if (rect.isEmpty())
+ continue;
+
+ rect &= wd->clipRect();
+ if (rect.isEmpty())
+ continue;
+
+ QRegion visible(rect);
+ wd->clipToEffectiveMask(visible);
+ if (visible.isEmpty())
+ continue;
+ wd->subtractOpaqueSiblings(visible, 0, /*alsoNonOpaque=*/true);
+
+ visible.translate(offset);
+ region += visible;
+ }
+
+ return region;
+}
+
+void QWidgetRepaintManager::updateStaticContentsSize()
+{
+ for (int i = 0; i < staticWidgets.size(); ++i) {
+ QWidgetPrivate *wd = staticWidgets.at(i)->d_func();
+ if (!wd->extra)
+ wd->createExtra();
+ wd->extra->staticContentsSize = wd->data.crect.size();
+ }
+}
+
+// ---------------------------------------------------------------------------
+
+bool QWidgetRepaintManager::isDirty() const
+{
+ return !(dirtyWidgets.isEmpty() && dirty.isEmpty() && dirtyRenderToTextureWidgets.isEmpty());
}
/*!
@@ -1425,8 +1329,8 @@ void QWidgetPrivate::invalidateBackingStore_resizeHelper(const QPoint &oldPos, c
if (!staticContents || graphicsEffect) {
QRegion staticChildren;
- QWidgetBackingStore *bs = 0;
- if (offset.isNull() && (bs = maybeBackingStore()))
+ QWidgetRepaintManager *bs = 0;
+ if (offset.isNull() && (bs = maybeRepaintManager()))
staticChildren = bs->staticContents(q, oldWidgetRect);
const bool hasStaticChildren = !staticChildren.isEmpty();
@@ -1496,101 +1400,6 @@ void QWidgetPrivate::invalidateBackingStore_resizeHelper(const QPoint &oldPos, c
}
}
-/*!
- Invalidates the \a r (in widget's coordinates) of the backing store, i.e.
- all widgets intersecting with the region will be repainted when the backing
- store is synced.
-*/
-template <class T>
-void QWidgetPrivate::invalidateBackingStore(const T &r)
-{
- if (r.isEmpty())
- return;
-
- if (QCoreApplication::closingDown())
- return;
-
- Q_Q(QWidget);
- if (!q->isVisible() || !q->updatesEnabled())
- return;
-
- QTLWExtra *tlwExtra = q->window()->d_func()->maybeTopData();
- if (!tlwExtra || tlwExtra->inTopLevelResize || !tlwExtra->backingStore)
- return;
-
- T clipped(r);
- clipped &= clipRect();
- if (clipped.isEmpty())
- return;
-
- if (!graphicsEffect && extra && extra->hasMask) {
- QRegion masked(extra->mask);
- masked &= clipped;
- if (masked.isEmpty())
- return;
-
- tlwExtra->backingStoreTracker->markDirty(masked, q,
- QWidgetBackingStore::UpdateLater, QWidgetBackingStore::BufferInvalid);
- } else {
- tlwExtra->backingStoreTracker->markDirty(clipped, q,
- QWidgetBackingStore::UpdateLater, QWidgetBackingStore::BufferInvalid);
- }
-}
-// Needed by tst_QWidget
-template Q_AUTOTEST_EXPORT void QWidgetPrivate::invalidateBackingStore<QRect>(const QRect &r);
-
-void QWidgetPrivate::repaint_sys(const QRegion &rgn)
-{
- if (data.in_destructor)
- return;
-
- Q_Q(QWidget);
- if (discardSyncRequest(q, maybeTopData()))
- return;
-
- if (q->testAttribute(Qt::WA_StaticContents)) {
- if (!extra)
- createExtra();
- extra->staticContentsSize = data.crect.size();
- }
-
- QPaintEngine *engine = q->paintEngine();
-
- // QGLWidget does not support partial updates if:
- // 1) The context is double buffered
- // 2) The context is single buffered and auto-fill background is enabled.
- const bool noPartialUpdateSupport = (engine && (engine->type() == QPaintEngine::OpenGL
- || engine->type() == QPaintEngine::OpenGL2))
- && (usesDoubleBufferedGLContext || q->autoFillBackground());
- QRegion toBePainted(noPartialUpdateSupport ? q->rect() : rgn);
-
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // No difference between update() and repaint() on the Mac.
- update_sys(toBePainted);
- return;
-#endif
-
- toBePainted &= clipRect();
- clipToEffectiveMask(toBePainted);
- if (toBePainted.isEmpty())
- return; // Nothing to repaint.
-
-#ifndef QT_NO_PAINT_DEBUG
- bool flushed = QWidgetBackingStore::flushPaint(q, toBePainted);
-#endif
-
- drawWidget(q, toBePainted, QPoint(), QWidgetPrivate::DrawAsRoot | QWidgetPrivate::DrawPaintOnScreen, 0);
-
-#ifndef QT_NO_PAINT_DEBUG
- if (flushed)
- QWidgetBackingStore::unflushPaint(q, toBePainted);
-#endif
-
- if (Q_UNLIKELY(q->paintingActive()))
- qWarning("QWidget::repaint: It is dangerous to leave painters active on a widget outside of the PaintEvent");
-}
-
-
QT_END_NAMESPACE
-#include "moc_qwidgetbackingstore_p.cpp"
+#include "qwidgetrepaintmanager.moc"
diff --git a/src/widgets/kernel/qwidgetrepaintmanager_p.h b/src/widgets/kernel/qwidgetrepaintmanager_p.h
new file mode 100644
index 0000000000..58687383f4
--- /dev/null
+++ b/src/widgets/kernel/qwidgetrepaintmanager_p.h
@@ -0,0 +1,153 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtWidgets module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QWIDGETREPAINTMANAGER_P_H
+#define QWIDGETREPAINTMANAGER_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
+#include <QDebug>
+#include <QtWidgets/qwidget.h>
+#include <private/qwidget_p.h>
+#include <QtGui/qbackingstore.h>
+
+QT_BEGIN_NAMESPACE
+
+class QPlatformTextureList;
+class QPlatformTextureListWatcher;
+class QWidgetRepaintManager;
+
+class Q_AUTOTEST_EXPORT QWidgetRepaintManager
+{
+ Q_GADGET
+public:
+ enum UpdateTime {
+ UpdateNow,
+ UpdateLater
+ };
+ Q_ENUM(UpdateTime)
+
+ enum BufferState{
+ BufferValid,
+ BufferInvalid
+ };
+ Q_ENUM(BufferState)
+
+ QWidgetRepaintManager(QWidget *t);
+ ~QWidgetRepaintManager();
+
+ QBackingStore *backingStore() const { return store; }
+ void setBackingStore(QBackingStore *backingStore) { store = backingStore; }
+
+ template <class T>
+ void markDirty(const T &r, QWidget *widget, UpdateTime updateTime = UpdateLater,
+ BufferState bufferState = BufferValid);
+
+ void removeDirtyWidget(QWidget *w);
+
+ void sync(QWidget *exposedWidget, const QRegion &exposedRegion);
+ void sync();
+
+ void markNeedsFlush(QWidget *widget, const QRegion &region, const QPoint &topLevelOffset);
+
+ void addStaticWidget(QWidget *widget);
+ void moveStaticWidgets(QWidget *reparented);
+ void removeStaticWidget(QWidget *widget);
+ QRegion staticContents(QWidget *widget = nullptr, const QRect &withinClipRect = QRect()) const;
+
+ bool bltRect(const QRect &rect, int dx, int dy, QWidget *widget);
+
+private:
+ void updateLists(QWidget *widget);
+
+ void addDirtyWidget(QWidget *widget, const QRegion &rgn);
+ void resetWidget(QWidget *widget);
+
+ void addDirtyRenderToTextureWidget(QWidget *widget);
+
+ void sendUpdateRequest(QWidget *widget, UpdateTime updateTime);
+
+ bool syncAllowed();
+ void paintAndFlush();
+
+ void markNeedsFlush(QWidget *widget, const QRegion &region = QRegion());
+
+ void flush();
+ void flush(QWidget *widget, const QRegion &region, QPlatformTextureList *widgetTextures);
+
+ bool isDirty() const;
+
+ bool hasStaticContents() const;
+ void updateStaticContentsSize();
+
+ QWidget *tlw = nullptr;
+ QBackingStore *store = nullptr;
+
+ QRegion dirty; // needsRepaint
+ QVector<QWidget *> dirtyWidgets;
+ QVector<QWidget *> dirtyRenderToTextureWidgets;
+
+ QRegion topLevelNeedsFlush;
+ QVector<QWidget *> needsFlushWidgets;
+
+ QList<QWidget *> staticWidgets;
+
+ QPlatformTextureListWatcher *textureListWatcher = nullptr;
+
+ bool updateRequestSent = false;
+
+ QElapsedTimer perfTime;
+ int perfFrames = 0;
+
+ Q_DISABLE_COPY_MOVE(QWidgetRepaintManager)
+};
+
+QT_END_NAMESPACE
+
+#endif // QWIDGETREPAINTMANAGER_P_H
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
index 5537ff497a..b9a67edc6a 100644
--- a/src/widgets/kernel/qwidgetwindow.cpp
+++ b/src/widgets/kernel/qwidgetwindow.cpp
@@ -46,7 +46,7 @@
#ifndef QT_NO_ACCESSIBILITY
#include <QtGui/qaccessible.h>
#endif
-#include <private/qwidgetbackingstore_p.h>
+#include <private/qwidgetrepaintmanager_p.h>
#include <qpa/qwindowsysteminterface_p.h>
#include <qpa/qplatformtheme.h>
#include <qpa/qplatformwindow.h>
@@ -770,8 +770,8 @@ void QWidgetWindow::repaintWindow()
QTLWExtra *tlwExtra = m_widget->window()->d_func()->maybeTopData();
if (tlwExtra && !tlwExtra->inTopLevelResize && tlwExtra->backingStore)
- tlwExtra->backingStoreTracker->markDirty(m_widget->rect(), m_widget,
- QWidgetBackingStore::UpdateNow, QWidgetBackingStore::BufferInvalid);
+ tlwExtra->repaintManager->markDirty(m_widget->rect(), m_widget,
+ QWidgetRepaintManager::UpdateNow, QWidgetRepaintManager::BufferInvalid);
}
// Store normal geometry used for saving application settings.
@@ -803,7 +803,7 @@ void QWidgetWindow::handleResizeEvent(QResizeEvent *event)
if (updateSize()) {
QGuiApplication::forwardEvent(m_widget, event);
- if (m_widget->d_func()->paintOnScreen()) {
+ if (m_widget->d_func()->shouldPaintOnScreen()) {
QRegion updateRegion(geometry());
if (m_widget->testAttribute(Qt::WA_StaticContents))
updateRegion -= QRect(0, 0, oldSize.width(), oldSize.height());
diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp
index 7b53f5272c..3db85ca07a 100644
--- a/src/widgets/styles/qcommonstyle.cpp
+++ b/src/widgets/styles/qcommonstyle.cpp
@@ -4247,10 +4247,11 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex
#if QT_CONFIG(combobox)
case CC_ComboBox:
if (const QStyleOptionComboBox *cb = qstyleoption_cast<const QStyleOptionComboBox *>(opt)) {
+ const qreal dpi = QStyleHelper::dpi(opt);
const int x = cb->rect.x(), y = cb->rect.y(), wi = cb->rect.width(), he = cb->rect.height();
- const int margin = cb->frame ? qRound(QStyleHelper::dpiScaled(3)) : 0;
- const int bmarg = cb->frame ? qRound(QStyleHelper::dpiScaled(2)) : 0;
- const int xpos = x + wi - bmarg - qRound(QStyleHelper::dpiScaled(16));
+ const int margin = cb->frame ? qRound(QStyleHelper::dpiScaled(3, dpi)) : 0;
+ const int bmarg = cb->frame ? qRound(QStyleHelper::dpiScaled(2, dpi)) : 0;
+ const int xpos = x + wi - bmarg - qRound(QStyleHelper::dpiScaled(16, dpi));
switch (sc) {
@@ -4258,10 +4259,10 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex
ret = cb->rect;
break;
case SC_ComboBoxArrow:
- ret.setRect(xpos, y + bmarg, qRound(QStyleHelper::dpiScaled(16)), he - 2*bmarg);
+ ret.setRect(xpos, y + bmarg, qRound(QStyleHelper::dpiScaled(16, opt)), he - 2*bmarg);
break;
case SC_ComboBoxEditField:
- ret.setRect(x + margin, y + margin, wi - 2 * margin - qRound(QStyleHelper::dpiScaled(16)), he - 2 * margin);
+ ret.setRect(x + margin, y + margin, wi - 2 * margin - qRound(QStyleHelper::dpiScaled(16, dpi)), he - 2 * margin);
break;
case SC_ComboBoxListBoxPopup:
ret = cb->rect;
@@ -4505,13 +4506,13 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
ret = 0;
break;
case PM_DialogButtonsSeparator:
- ret = int(QStyleHelper::dpiScaled(5.));
+ ret = int(QStyleHelper::dpiScaled(5, opt));
break;
case PM_DialogButtonsButtonWidth:
- ret = int(QStyleHelper::dpiScaled(70.));
+ ret = int(QStyleHelper::dpiScaled(70, opt));
break;
case PM_DialogButtonsButtonHeight:
- ret = int(QStyleHelper::dpiScaled(30.));
+ ret = int(QStyleHelper::dpiScaled(30, opt));
break;
case PM_TitleBarHeight: {
if (const QStyleOptionTitleBar *tb = qstyleoption_cast<const QStyleOptionTitleBar *>(opt)) {
@@ -4519,33 +4520,33 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
ret = qMax(widget ? widget->fontMetrics().height() : opt->fontMetrics.height(), 16);
#if QT_CONFIG(dockwidget)
} else if (qobject_cast<const QDockWidget*>(widget)) {
- ret = qMax(widget->fontMetrics().height(), int(QStyleHelper::dpiScaled(13)));
+ ret = qMax(widget->fontMetrics().height(), int(QStyleHelper::dpiScaled(13, opt)));
#endif
} else {
ret = qMax(widget ? widget->fontMetrics().height() : opt->fontMetrics.height(), 18);
}
} else {
- ret = int(QStyleHelper::dpiScaled(18.));
+ ret = int(QStyleHelper::dpiScaled(18., opt));
}
break; }
case PM_TitleBarButtonSize:
- ret = int(QStyleHelper::dpiScaled(16.));
+ ret = int(QStyleHelper::dpiScaled(16., opt));
break;
case PM_TitleBarButtonIconSize:
- ret = int(QStyleHelper::dpiScaled(16.));
+ ret = int(QStyleHelper::dpiScaled(16., opt));
break;
case PM_ScrollBarSliderMin:
- ret = int(QStyleHelper::dpiScaled(9.));
+ ret = int(QStyleHelper::dpiScaled(9., opt));
break;
case PM_ButtonMargin:
- ret = int(QStyleHelper::dpiScaled(6.));
+ ret = int(QStyleHelper::dpiScaled(6., opt));
break;
case PM_DockWidgetTitleBarButtonMargin:
- ret = int(QStyleHelper::dpiScaled(2.));
+ ret = int(QStyleHelper::dpiScaled(2., opt));
break;
case PM_ButtonDefaultIndicator:
@@ -4553,7 +4554,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
break;
case PM_MenuButtonIndicator:
- ret = int(QStyleHelper::dpiScaled(12.));
+ ret = int(QStyleHelper::dpiScaled(12, opt));
break;
case PM_ButtonShiftHorizontal:
@@ -4568,15 +4569,15 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
case PM_MenuPanelWidth:
case PM_TabBarBaseOverlap:
case PM_TabBarBaseHeight:
- ret = proxy()->pixelMetric(PM_DefaultFrameWidth, opt, widget);
+ ret = proxy()->pixelMetric(PM_DefaultFrameWidth, opt);
break;
case PM_MdiSubWindowFrameWidth:
- ret = int(QStyleHelper::dpiScaled(4.));
+ ret = int(QStyleHelper::dpiScaled(4, opt));
break;
case PM_MdiSubWindowMinimizedWidth:
- ret = int(QStyleHelper::dpiScaled(196.));
+ ret = int(QStyleHelper::dpiScaled(196, opt));
break;
#if QT_CONFIG(scrollbar)
@@ -4587,7 +4588,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
: QApplication::globalStrut().width();
ret = qMax(16, s);
} else {
- ret = int(QStyleHelper::dpiScaled(16.));
+ ret = int(QStyleHelper::dpiScaled(16, opt));
}
break;
#endif
@@ -4597,7 +4598,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
#if QT_CONFIG(slider)
case PM_SliderThickness:
- ret = int(QStyleHelper::dpiScaled(16.));
+ ret = int(QStyleHelper::dpiScaled(16, opt));
break;
case PM_SliderTickmarkOffset:
@@ -4631,11 +4632,11 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
#endif // QT_CONFIG(slider)
#if QT_CONFIG(dockwidget)
case PM_DockWidgetSeparatorExtent:
- ret = int(QStyleHelper::dpiScaled(6.));
+ ret = int(QStyleHelper::dpiScaled(6, opt));
break;
case PM_DockWidgetHandleExtent:
- ret = int(QStyleHelper::dpiScaled(8.));
+ ret = int(QStyleHelper::dpiScaled(8, opt));
break;
case PM_DockWidgetTitleMargin:
ret = 0;
@@ -4664,19 +4665,19 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
break;
case PM_ToolBarItemSpacing:
- ret = int(QStyleHelper::dpiScaled(4.));
+ ret = int(QStyleHelper::dpiScaled(4, opt));
break;
case PM_ToolBarHandleExtent:
- ret = int(QStyleHelper::dpiScaled(8.));
+ ret = int(QStyleHelper::dpiScaled(8, opt));
break;
case PM_ToolBarSeparatorExtent:
- ret = int(QStyleHelper::dpiScaled(6.));
+ ret = int(QStyleHelper::dpiScaled(6, opt));
break;
case PM_ToolBarExtensionExtent:
- ret = int(QStyleHelper::dpiScaled(12.));
+ ret = int(QStyleHelper::dpiScaled(12, opt));
break;
#endif // QT_CONFIG(toolbar)
@@ -4686,7 +4687,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
break;
case PM_TabBarTabHSpace:
- ret = int(QStyleHelper::dpiScaled(24.));
+ ret = int(QStyleHelper::dpiScaled(24, opt));
break;
case PM_TabBarTabShiftHorizontal:
@@ -4715,27 +4716,27 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
break;
case PM_IndicatorWidth:
- ret = int(QStyleHelper::dpiScaled(13.));
+ ret = int(QStyleHelper::dpiScaled(13, opt));
break;
case PM_IndicatorHeight:
- ret = int(QStyleHelper::dpiScaled(13.));
+ ret = int(QStyleHelper::dpiScaled(13, opt));
break;
case PM_ExclusiveIndicatorWidth:
- ret = int(QStyleHelper::dpiScaled(12.));
+ ret = int(QStyleHelper::dpiScaled(12, opt));
break;
case PM_ExclusiveIndicatorHeight:
- ret = int(QStyleHelper::dpiScaled(12.));
+ ret = int(QStyleHelper::dpiScaled(12, opt));
break;
case PM_MenuTearoffHeight:
- ret = int(QStyleHelper::dpiScaled(10.));
+ ret = int(QStyleHelper::dpiScaled(10, opt));
break;
case PM_MenuScrollerHeight:
- ret = int(QStyleHelper::dpiScaled(10.));
+ ret = int(QStyleHelper::dpiScaled(10, opt));
break;
case PM_MenuDesktopFrameWidth:
@@ -4745,22 +4746,22 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
break;
case PM_HeaderMargin:
- ret = int(QStyleHelper::dpiScaled(4.));
+ ret = int(QStyleHelper::dpiScaled(4, opt));
break;
case PM_HeaderMarkSize:
- ret = int(QStyleHelper::dpiScaled(16.));
+ ret = int(QStyleHelper::dpiScaled(16, opt));
break;
case PM_HeaderGripMargin:
- ret = int(QStyleHelper::dpiScaled(4.));
+ ret = int(QStyleHelper::dpiScaled(4, opt));
break;
case PM_HeaderDefaultSectionSizeHorizontal:
- ret = int(QStyleHelper::dpiScaled(100.));
+ ret = int(QStyleHelper::dpiScaled(100, opt));
break;
case PM_HeaderDefaultSectionSizeVertical:
- ret = int(QStyleHelper::dpiScaled(30.));
+ ret = int(QStyleHelper::dpiScaled(30, opt));
break;
case PM_TabBarScrollButtonWidth:
- ret = int(QStyleHelper::dpiScaled(16.));
+ ret = int(QStyleHelper::dpiScaled(16, opt));
break;
case PM_LayoutLeftMargin:
case PM_LayoutTopMargin:
@@ -4782,13 +4783,13 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
break;
case PM_DefaultTopLevelMargin:
- ret = int(QStyleHelper::dpiScaled(11.));
+ ret = int(QStyleHelper::dpiScaled(11, opt));
break;
case PM_DefaultChildMargin:
- ret = int(QStyleHelper::dpiScaled(9.));
+ ret = int(QStyleHelper::dpiScaled(9, opt));
break;
case PM_DefaultLayoutSpacing:
- ret = int(QStyleHelper::dpiScaled(6.));
+ ret = int(QStyleHelper::dpiScaled(6, opt));
break;
case PM_ToolBarIconSize:
@@ -4796,31 +4797,31 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme())
ret = theme->themeHint(QPlatformTheme::ToolBarIconSize).toInt();
if (ret <= 0)
- ret = int(QStyleHelper::dpiScaled(24.));
+ ret = int(QStyleHelper::dpiScaled(24, opt));
break;
case PM_TabBarIconSize:
- ret = proxy()->pixelMetric(PM_SmallIconSize, opt, widget);
+ ret = proxy()->pixelMetric(PM_SmallIconSize, opt);
break;
case PM_ListViewIconSize:
#if QT_CONFIG(filedialog)
if (qobject_cast<const QSidebar *>(widget))
- ret = int(QStyleHelper::dpiScaled(24.));
+ ret = int(QStyleHelper::dpiScaled(24., opt));
else
#endif
- ret = proxy()->pixelMetric(PM_SmallIconSize, opt, widget);
+ ret = proxy()->pixelMetric(PM_SmallIconSize, opt);
break;
case PM_ButtonIconSize:
case PM_SmallIconSize:
- ret = int(QStyleHelper::dpiScaled(16.));
+ ret = int(QStyleHelper::dpiScaled(16, opt));
break;
case PM_IconViewIconSize:
- ret = proxy()->pixelMetric(PM_LargeIconSize, opt, widget);
+ ret = proxy()->pixelMetric(PM_LargeIconSize, opt);
break;
case PM_LargeIconSize:
- ret = int(QStyleHelper::dpiScaled(32.));
+ ret = int(QStyleHelper::dpiScaled(32, opt));
break;
case PM_ToolTipLabelFrameWidth:
@@ -4828,10 +4829,10 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
break;
case PM_CheckBoxLabelSpacing:
case PM_RadioButtonLabelSpacing:
- ret = int(QStyleHelper::dpiScaled(6.));
+ ret = int(QStyleHelper::dpiScaled(6, opt));
break;
case PM_SizeGripSize:
- ret = int(QStyleHelper::dpiScaled(13.));
+ ret = int(QStyleHelper::dpiScaled(13, opt));
break;
case PM_MessageBoxIconSize:
#ifdef Q_OS_MAC
@@ -4840,7 +4841,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
} else
#endif
{
- ret = int(QStyleHelper::dpiScaled(32.));
+ ret = int(QStyleHelper::dpiScaled(32, opt));
}
break;
case PM_TextCursorWidth:
@@ -4851,19 +4852,19 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
break;
case PM_TabCloseIndicatorWidth:
case PM_TabCloseIndicatorHeight:
- ret = int(QStyleHelper::dpiScaled(16.));
+ ret = int(QStyleHelper::dpiScaled(16, opt));
break;
case PM_ScrollView_ScrollBarSpacing:
- ret = 2 * proxy()->pixelMetric(PM_DefaultFrameWidth, opt, widget);
+ ret = 2 * proxy()->pixelMetric(PM_DefaultFrameWidth, opt);
break;
case PM_ScrollView_ScrollBarOverlap:
ret = 0;
break;
case PM_SubMenuOverlap:
- ret = -proxy()->pixelMetric(QStyle::PM_MenuPanelWidth, opt, widget);
+ ret = -proxy()->pixelMetric(QStyle::PM_MenuPanelWidth, opt);
break;
case PM_TreeViewIndentation:
- ret = int(QStyleHelper::dpiScaled(20.));
+ ret = int(QStyleHelper::dpiScaled(20, opt));
break;
default:
ret = 0;
diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp
index e21ff4bec8..ba2b6b0ed9 100644
--- a/src/widgets/styles/qfusionstyle.cpp
+++ b/src/widgets/styles/qfusionstyle.cpp
@@ -250,8 +250,9 @@ static void qt_fusion_draw_arrow(Qt::ArrowType type, QPainter *painter, const QS
if (rect.isEmpty())
return;
- const int arrowWidth = QStyleHelper::dpiScaled(14);
- const int arrowHeight = QStyleHelper::dpiScaled(8);
+ const qreal dpi = QStyleHelper::dpi(option);
+ const int arrowWidth = int(QStyleHelper::dpiScaled(14, dpi));
+ const int arrowHeight = int(QStyleHelper::dpiScaled(8, dpi));
const int arrowMax = qMin(arrowHeight, arrowWidth);
const int rectMax = qMin(rect.height(), rect.width());
@@ -465,6 +466,7 @@ void QFusionStyle::drawPrimitive(PrimitiveElement elem,
switch (elem) {
+#if QT_CONFIG(groupbox)
// No frame drawn
case PE_FrameGroupBox:
{
@@ -481,6 +483,7 @@ void QFusionStyle::drawPrimitive(PrimitiveElement elem,
qDrawBorderPixmap(painter, frame, QMargins(6, 6, 6, 6), pixmap);
break;
}
+#endif // QT_CONFIG(groupbox)
case PE_IndicatorBranch: {
if (!(option->state & State_Children))
break;
@@ -786,12 +789,13 @@ void QFusionStyle::drawPrimitive(PrimitiveElement elem,
painter->drawRect(rect.adjusted(checkMarkPadding, checkMarkPadding, -checkMarkPadding, -checkMarkPadding));
} else if (checkbox->state & State_On) {
- qreal penWidth = QStyleHelper::dpiScaled(1.5);
+ const qreal dpi = QStyleHelper::dpi(option);
+ qreal penWidth = QStyleHelper::dpiScaled(1.5, dpi);
penWidth = qMax<qreal>(penWidth, 0.13 * rect.height());
penWidth = qMin<qreal>(penWidth, 0.20 * rect.height());
QPen checkPen = QPen(checkMarkColor, penWidth);
checkMarkColor.setAlpha(210);
- painter->translate(dpiScaled(-0.8), dpiScaled(0.5));
+ painter->translate(dpiScaled(-0.8, dpi), dpiScaled(0.5, dpi));
painter->setPen(checkPen);
painter->setBrush(Qt::NoBrush);
@@ -1542,7 +1546,7 @@ void QFusionStyle::drawControl(ControlElement element, const QStyleOption *optio
QColor highlight = option->palette.highlight().color();
if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
int w = 0;
- const int margin = QStyleHelper::dpiScaled(5);
+ const int margin = int(QStyleHelper::dpiScaled(5, option));
if (!menuItem->text.isEmpty()) {
painter->setFont(menuItem->font);
proxy()->drawItemText(painter, menuItem->rect.adjusted(margin, 0, -margin, 0), Qt::AlignLeft | Qt::AlignVCenter,
@@ -1572,7 +1576,7 @@ void QFusionStyle::drawControl(ControlElement element, const QStyleOption *optio
bool ignoreCheckMark = false;
const int checkColHOffset = windowsItemHMargin + windowsItemFrame - 1;
int checkcol = qMax<int>(menuItem->rect.height() * 0.79,
- qMax<int>(menuItem->maxIconWidth, dpiScaled(21))); // icon checkbox's highlight column width
+ qMax<int>(menuItem->maxIconWidth, dpiScaled(21, option))); // icon checkbox's highlight column width
if (
#if QT_CONFIG(combobox)
qobject_cast<const QComboBox*>(widget) ||
@@ -1582,7 +1586,7 @@ void QFusionStyle::drawControl(ControlElement element, const QStyleOption *optio
if (!ignoreCheckMark) {
// Check, using qreal and QRectF to avoid error accumulation
- const qreal boxMargin = dpiScaled(3.5);
+ const qreal boxMargin = dpiScaled(3.5, option);
const qreal boxWidth = checkcol - 2 * boxMargin;
QRectF checkRectF(option->rect.left() + boxMargin + checkColHOffset, option->rect.center().y() - boxWidth/2 + 1, boxWidth, boxWidth);
QRect checkRect = checkRectF.toRect();
@@ -3182,7 +3186,7 @@ int QFusionStyle::pixelMetric(PixelMetric metric, const QStyleOption *option, co
default:
return QCommonStyle::pixelMetric(metric, option, widget);
}
- return QStyleHelper::dpiScaled(val);
+ return QStyleHelper::dpiScaled(val, option);
}
/*!
@@ -3234,7 +3238,7 @@ QSize QFusionStyle::sizeFromContents(ContentsType type, const QStyleOption *opti
if (menuItem->text.contains(QLatin1Char('\t')))
w += tabSpacing;
else if (menuItem->menuItemType == QStyleOptionMenuItem::SubMenu)
- w += 2 * QStyleHelper::dpiScaled(QFusionStylePrivate::menuArrowHMargin);
+ w += 2 * QStyleHelper::dpiScaled(QFusionStylePrivate::menuArrowHMargin, option);
else if (menuItem->menuItemType == QStyleOptionMenuItem::DefaultItem) {
QFontMetrics fm(menuItem->font);
QFont fontBold = menuItem->font;
@@ -3242,9 +3246,10 @@ QSize QFusionStyle::sizeFromContents(ContentsType type, const QStyleOption *opti
QFontMetrics fmBold(fontBold);
w += fmBold.horizontalAdvance(menuItem->text) - fm.horizontalAdvance(menuItem->text);
}
- const int checkcol = qMax<int>(maxpmw, QStyleHelper::dpiScaled(QFusionStylePrivate::menuCheckMarkWidth)); // Windows always shows a check column
+ const qreal dpi = QStyleHelper::dpi(option);
+ const int checkcol = qMax<int>(maxpmw, QStyleHelper::dpiScaled(QFusionStylePrivate::menuCheckMarkWidth, dpi)); // Windows always shows a check column
w += checkcol;
- w += QStyleHelper::dpiScaled(int(QFusionStylePrivate::menuRightBorder) + 10);
+ w += QStyleHelper::dpiScaled(int(QFusionStylePrivate::menuRightBorder) + 10, dpi);
newSize.setWidth(w);
if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
if (!menuItem->text.isEmpty()) {
@@ -3258,8 +3263,8 @@ QSize QFusionStyle::sizeFromContents(ContentsType type, const QStyleOption *opti
}
#endif
}
- newSize.setWidth(newSize.width() + QStyleHelper::dpiScaled(12));
- newSize.setWidth(qMax<int>(newSize.width(), QStyleHelper::dpiScaled(120)));
+ newSize.setWidth(newSize.width() + int(QStyleHelper::dpiScaled(12, dpi)));
+ newSize.setWidth(qMax<int>(newSize.width(), int(QStyleHelper::dpiScaled(120, dpi))));
}
break;
case CT_SizeGrip:
@@ -3407,7 +3412,7 @@ QRect QFusionStyle::subControlRect(ComplexControl control, const QStyleOptionCom
break;
case SC_SliderGroove: {
QPoint grooveCenter = slider->rect.center();
- const int grooveThickness = QStyleHelper::dpiScaled(7);
+ const int grooveThickness = QStyleHelper::dpiScaled(7, option);
if (slider->orientation == Qt::Horizontal) {
rect.setHeight(grooveThickness);
if (slider->tickPosition & QSlider::TicksAbove)
@@ -3436,7 +3441,7 @@ QRect QFusionStyle::subControlRect(ComplexControl control, const QStyleOptionCom
int center = spinbox->rect.height() / 2;
int fw = spinbox->frame ? 3 : 0; // Is drawn with 3 pixels width in drawComplexControl, independently from PM_SpinBoxFrameWidth
int y = fw;
- const int buttonWidth = QStyleHelper::dpiScaled(14);
+ const int buttonWidth = QStyleHelper::dpiScaled(14, option);
int x, lx, rx;
x = spinbox->rect.width() - y - buttonWidth + 2;
lx = fw;
@@ -3520,17 +3525,19 @@ QRect QFusionStyle::subControlRect(ComplexControl control, const QStyleOptionCom
case CC_ComboBox:
switch (subControl) {
- case SC_ComboBoxArrow:
+ case SC_ComboBoxArrow: {
+ const qreal dpi = QStyleHelper::dpi(option);
rect = visualRect(option->direction, option->rect, rect);
- rect.setRect(rect.right() - QStyleHelper::dpiScaled(18), rect.top() - 2,
- QStyleHelper::dpiScaled(19), rect.height() + 4);
+ rect.setRect(rect.right() - int(QStyleHelper::dpiScaled(18, dpi)), rect.top() - 2,
+ int(QStyleHelper::dpiScaled(19, dpi)), rect.height() + 4);
rect = visualRect(option->direction, option->rect, rect);
+ }
break;
case SC_ComboBoxEditField: {
int frameWidth = 2;
rect = visualRect(option->direction, option->rect, rect);
rect.setRect(option->rect.left() + frameWidth, option->rect.top() + frameWidth,
- option->rect.width() - int(QStyleHelper::dpiScaled(19)) - 2 * frameWidth,
+ option->rect.width() - int(QStyleHelper::dpiScaled(19, option)) - 2 * frameWidth,
option->rect.height() - 2 * frameWidth);
if (const QStyleOptionComboBox *box = qstyleoption_cast<const QStyleOptionComboBox *>(option)) {
if (!box->editable) {
diff --git a/src/widgets/styles/qpixmapstyle.cpp b/src/widgets/styles/qpixmapstyle.cpp
index 976bd2630e..05e8467528 100644
--- a/src/widgets/styles/qpixmapstyle.cpp
+++ b/src/widgets/styles/qpixmapstyle.cpp
@@ -122,9 +122,6 @@ QPixmapStyle::~QPixmapStyle()
void QPixmapStyle::polish(QApplication *application)
{
QCommonStyle::polish(application);
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- QApplication::setEffectEnabled(Qt::UI_AnimateCombo, false);
-#endif
}
/*!
@@ -188,11 +185,6 @@ void QPixmapStyle::polish(QWidget *widget)
frame->setContentsMargins(pix.margins.left(), desc.margins.top(),
pix.margins.right(), desc.margins.bottom());
frame->setAttribute(Qt::WA_TranslucentBackground);
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- // FramelessWindowHint is needed on windows to make
- // WA_TranslucentBackground work properly
- frame->setWindowFlags(widget->windowFlags() | Qt::FramelessWindowHint);
-#endif
}
}
#endif // QT_CONFIG(combobox)
diff --git a/src/widgets/styles/qstylehelper.cpp b/src/widgets/styles/qstylehelper.cpp
index 0b910d46df..4e61b2d1ec 100644
--- a/src/widgets/styles/qstylehelper.cpp
+++ b/src/widgets/styles/qstylehelper.cpp
@@ -40,6 +40,8 @@
#include <qstyleoption.h>
#include <qpainter.h>
#include <qpixmapcache.h>
+#include <private/qhighdpiscaling_p.h>
+#include <private/qguiapplication_p.h>
#include <private/qmath_p.h>
#include <private/qstyle_p.h>
#include <qmath.h>
@@ -49,6 +51,7 @@
#include <qabstractscrollarea.h>
#include <qwindow.h>
+#include <qmetaobject.h>
#include "qstylehelper_p.h"
#include <qstringbuilder.h>
@@ -79,15 +82,41 @@ QString uniqueName(const QString &key, const QStyleOption *option, const QSize &
return tmp;
}
-qreal dpiScaled(qreal value)
-{
-#ifdef Q_OS_MAC
- // On mac the DPI is always 72 so we should not scale it
- return value;
+#ifdef Q_OS_DARWIN
+static const qreal qstyleBaseDpi = 72;
#else
- static const qreal scale = qreal(qt_defaultDpiX()) / 96.0;
- return value * scale;
+static const qreal qstyleBaseDpi = 96;
+#endif
+
+Q_WIDGETS_EXPORT qreal dpi(const QStyleOption *option)
+{
+#ifndef Q_OS_DARWIN
+ // Prioritize the application override, except for on macOS where
+ // we have historically not supported the AA_Use96Dpi flag.
+ if (QCoreApplication::testAttribute(Qt::AA_Use96Dpi))
+ return 96;
#endif
+
+ // Expect that QStyleOption::QFontMetrics::QFont has the correct DPI set
+ if (option)
+ return option->fontMetrics.fontDpi();
+
+ return qstyleBaseDpi;
+}
+
+Q_WIDGETS_EXPORT qreal dpiScaled(qreal value, qreal dpi)
+{
+ return value * dpi / qstyleBaseDpi;
+}
+
+Q_WIDGETS_EXPORT qreal dpiScaled(qreal value, const QPaintDevice *device)
+{
+ return dpiScaled(value, device->logicalDpiX());
+}
+
+Q_WIDGETS_EXPORT qreal dpiScaled(qreal value, const QStyleOption *option)
+{
+ return dpiScaled(value, dpi(option));
}
#ifndef QT_NO_ACCESSIBILITY
diff --git a/src/widgets/styles/qstylehelper_p.h b/src/widgets/styles/qstylehelper_p.h
index fe052b8984..165608257a 100644
--- a/src/widgets/styles/qstylehelper_p.h
+++ b/src/widgets/styles/qstylehelper_p.h
@@ -40,6 +40,7 @@
#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include <QtCore/qpoint.h>
#include <QtCore/qstring.h>
+#include <QtGui/qpaintdevice.h>
#include <QtGui/qpolygon.h>
#include <QtCore/qstringbuilder.h>
#include <QtGui/qaccessible.h>
@@ -75,7 +76,13 @@ class QWindow;
namespace QStyleHelper
{
QString uniqueName(const QString &key, const QStyleOption *option, const QSize &size);
- Q_WIDGETS_EXPORT qreal dpiScaled(qreal value);
+
+ Q_WIDGETS_EXPORT qreal dpi(const QStyleOption *option);
+
+ Q_WIDGETS_EXPORT qreal dpiScaled(qreal value, qreal dpi);
+ Q_WIDGETS_EXPORT qreal dpiScaled(qreal value, const QPaintDevice *device);
+ Q_WIDGETS_EXPORT qreal dpiScaled(qreal value, const QStyleOption *option);
+
#if QT_CONFIG(dial)
qreal angle(const QPointF &p1, const QPointF &p2);
QPolygonF calcLines(const QStyleOptionSlider *dial);
diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp
index 4faf98a0a3..5b3efd598f 100644
--- a/src/widgets/styles/qstyleoption.cpp
+++ b/src/widgets/styles/qstyleoption.cpp
@@ -198,11 +198,6 @@ void QStyleOption::init(const QWidget *widget)
state |= QStyle::State_Active;
if (widget->isWindow())
state |= QStyle::State_Window;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- extern bool qt_mac_can_clickThrough(const QWidget *w); //qwidget_mac.cpp
- if (!(state & QStyle::State_Active) && !qt_mac_can_clickThrough(widget))
- state &= ~QStyle::State_Enabled;
-#endif
switch (QStyleHelper::widgetSizePolicy(widget)) {
case QStyleHelper::SizeSmall:
state |= QStyle::State_Small;
diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h
index 763575ff5b..7f5edf4279 100644
--- a/src/widgets/styles/qstyleoption.h
+++ b/src/widgets/styles/qstyleoption.h
@@ -118,7 +118,7 @@ public:
QStyleOptionFocusRect();
QStyleOptionFocusRect(const QStyleOptionFocusRect &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionFocusRect &operator=(const QStyleOptionFocusRect &other) = default;
+ QStyleOptionFocusRect &operator=(const QStyleOptionFocusRect &) = default;
protected:
QStyleOptionFocusRect(int version);
@@ -143,7 +143,7 @@ public:
QStyleOptionFrame();
QStyleOptionFrame(const QStyleOptionFrame &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionFrame &operator=(const QStyleOptionFrame &other) = default;
+ QStyleOptionFrame &operator=(const QStyleOptionFrame &) = default;
protected:
QStyleOptionFrame(int version);
@@ -173,7 +173,7 @@ public:
QStyleOptionTabWidgetFrame();
inline QStyleOptionTabWidgetFrame(const QStyleOptionTabWidgetFrame &other)
: QStyleOption(Version, Type) { *this = other; }
- QStyleOptionTabWidgetFrame &operator=(const QStyleOptionTabWidgetFrame &other) = default;
+ QStyleOptionTabWidgetFrame &operator=(const QStyleOptionTabWidgetFrame &) = default;
protected:
QStyleOptionTabWidgetFrame(int version);
@@ -197,7 +197,7 @@ public:
QStyleOptionTabBarBase();
QStyleOptionTabBarBase(const QStyleOptionTabBarBase &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionTabBarBase &operator=(const QStyleOptionTabBarBase &other) = default;
+ QStyleOptionTabBarBase &operator=(const QStyleOptionTabBarBase &) = default;
protected:
QStyleOptionTabBarBase(int version);
@@ -229,7 +229,7 @@ public:
QStyleOptionHeader();
QStyleOptionHeader(const QStyleOptionHeader &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionHeader &operator=(const QStyleOptionHeader &other) = default;
+ QStyleOptionHeader &operator=(const QStyleOptionHeader &) = default;
protected:
QStyleOptionHeader(int version);
@@ -252,7 +252,7 @@ public:
QStyleOptionButton();
QStyleOptionButton(const QStyleOptionButton &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionButton &operator=(const QStyleOptionButton &other) = default;
+ QStyleOptionButton &operator=(const QStyleOptionButton &) = default;
protected:
QStyleOptionButton(int version);
@@ -290,7 +290,7 @@ public:
QStyleOptionTab();
QStyleOptionTab(const QStyleOptionTab &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionTab &operator=(const QStyleOptionTab &other) = default;
+ QStyleOptionTab &operator=(const QStyleOptionTab &) = default;
protected:
QStyleOptionTab(int version);
@@ -321,7 +321,7 @@ public:
int midLineWidth;
QStyleOptionToolBar();
QStyleOptionToolBar(const QStyleOptionToolBar &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionToolBar &operator=(const QStyleOptionToolBar &other) = default;
+ QStyleOptionToolBar &operator=(const QStyleOptionToolBar &) = default;
protected:
QStyleOptionToolBar(int version);
@@ -349,7 +349,7 @@ public:
QStyleOptionProgressBar();
QStyleOptionProgressBar(const QStyleOptionProgressBar &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionProgressBar &operator=(const QStyleOptionProgressBar &other) = default;
+ QStyleOptionProgressBar &operator=(const QStyleOptionProgressBar &) = default;
protected:
QStyleOptionProgressBar(int version);
@@ -380,7 +380,7 @@ public:
QStyleOptionMenuItem();
QStyleOptionMenuItem(const QStyleOptionMenuItem &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionMenuItem &operator=(const QStyleOptionMenuItem &other) = default;
+ QStyleOptionMenuItem &operator=(const QStyleOptionMenuItem &) = default;
protected:
QStyleOptionMenuItem(int version);
@@ -400,7 +400,7 @@ public:
QStyleOptionDockWidget();
QStyleOptionDockWidget(const QStyleOptionDockWidget &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionDockWidget &operator=(const QStyleOptionDockWidget &other) = default;
+ QStyleOptionDockWidget &operator=(const QStyleOptionDockWidget &) = default;
protected:
QStyleOptionDockWidget(int version);
@@ -452,7 +452,7 @@ public:
QStyleOptionViewItem();
QStyleOptionViewItem(const QStyleOptionViewItem &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionViewItem &operator=(const QStyleOptionViewItem &other) = default;
+ QStyleOptionViewItem &operator=(const QStyleOptionViewItem &) = default;
protected:
QStyleOptionViewItem(int version);
@@ -483,7 +483,7 @@ public:
QStyleOptionToolBox();
QStyleOptionToolBox(const QStyleOptionToolBox &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionToolBox &operator=(const QStyleOptionToolBox &other) = default;
+ QStyleOptionToolBox &operator=(const QStyleOptionToolBox &) = default;
protected:
QStyleOptionToolBox(int version);
@@ -503,7 +503,7 @@ public:
QStyleOptionRubberBand();
QStyleOptionRubberBand(const QStyleOptionRubberBand &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionRubberBand &operator=(const QStyleOptionRubberBand &other) = default;
+ QStyleOptionRubberBand &operator=(const QStyleOptionRubberBand &) = default;
protected:
QStyleOptionRubberBand(int version);
@@ -522,7 +522,7 @@ public:
QStyleOptionComplex(int version = QStyleOptionComplex::Version, int type = SO_Complex);
QStyleOptionComplex(const QStyleOptionComplex &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionComplex &operator=(const QStyleOptionComplex &other) = default;
+ QStyleOptionComplex &operator=(const QStyleOptionComplex &) = default;
};
#if QT_CONFIG(slider)
@@ -547,7 +547,7 @@ public:
QStyleOptionSlider();
QStyleOptionSlider(const QStyleOptionSlider &other) : QStyleOptionComplex(Version, Type) { *this = other; }
- QStyleOptionSlider &operator=(const QStyleOptionSlider &other) = default;
+ QStyleOptionSlider &operator=(const QStyleOptionSlider &) = default;
protected:
QStyleOptionSlider(int version);
@@ -567,7 +567,7 @@ public:
QStyleOptionSpinBox();
QStyleOptionSpinBox(const QStyleOptionSpinBox &other) : QStyleOptionComplex(Version, Type) { *this = other; }
- QStyleOptionSpinBox &operator=(const QStyleOptionSpinBox &other) = default;
+ QStyleOptionSpinBox &operator=(const QStyleOptionSpinBox &) = default;
protected:
QStyleOptionSpinBox(int version);
@@ -595,7 +595,7 @@ public:
QStyleOptionToolButton();
QStyleOptionToolButton(const QStyleOptionToolButton &other) : QStyleOptionComplex(Version, Type) { *this = other; }
- QStyleOptionToolButton &operator=(const QStyleOptionToolButton &other) = default;
+ QStyleOptionToolButton &operator=(const QStyleOptionToolButton &) = default;
protected:
QStyleOptionToolButton(int version);
@@ -618,7 +618,7 @@ public:
QStyleOptionComboBox();
QStyleOptionComboBox(const QStyleOptionComboBox &other) : QStyleOptionComplex(Version, Type) { *this = other; }
- QStyleOptionComboBox &operator=(const QStyleOptionComboBox &other) = default;
+ QStyleOptionComboBox &operator=(const QStyleOptionComboBox &) = default;
protected:
QStyleOptionComboBox(int version);
@@ -637,7 +637,7 @@ public:
QStyleOptionTitleBar();
QStyleOptionTitleBar(const QStyleOptionTitleBar &other) : QStyleOptionComplex(Version, Type) { *this = other; }
- QStyleOptionTitleBar &operator=(const QStyleOptionTitleBar &other) = default;
+ QStyleOptionTitleBar &operator=(const QStyleOptionTitleBar &) = default;
protected:
QStyleOptionTitleBar(int version);
@@ -658,7 +658,7 @@ public:
QStyleOptionGroupBox();
QStyleOptionGroupBox(const QStyleOptionGroupBox &other) : QStyleOptionComplex(Version, Type) { *this = other; }
- QStyleOptionGroupBox &operator=(const QStyleOptionGroupBox &other) = default;
+ QStyleOptionGroupBox &operator=(const QStyleOptionGroupBox &) = default;
protected:
QStyleOptionGroupBox(int version);
};
@@ -673,7 +673,7 @@ public:
QStyleOptionSizeGrip();
QStyleOptionSizeGrip(const QStyleOptionSizeGrip &other) : QStyleOptionComplex(Version, Type) { *this = other; }
- QStyleOptionSizeGrip &operator=(const QStyleOptionSizeGrip &other) = default;
+ QStyleOptionSizeGrip &operator=(const QStyleOptionSizeGrip &) = default;
protected:
QStyleOptionSizeGrip(int version);
};
@@ -690,7 +690,7 @@ public:
QStyleOptionGraphicsItem();
QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem &other) : QStyleOption(Version, Type) { *this = other; }
- QStyleOptionGraphicsItem &operator=(const QStyleOptionGraphicsItem &other) = default;
+ QStyleOptionGraphicsItem &operator=(const QStyleOptionGraphicsItem &) = default;
static qreal levelOfDetailFromTransform(const QTransform &worldTransform);
protected:
QStyleOptionGraphicsItem(int version);
diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp
index ea653459d3..dd225fbec3 100644
--- a/src/widgets/styles/qstylesheetstyle.cpp
+++ b/src/widgets/styles/qstylesheetstyle.cpp
@@ -5153,13 +5153,6 @@ QSize QStyleSheetStyle::sizeFromContents(ContentsType ct, const QStyleOption *op
sz = csz + QSize(vertical ? 0 : spaceForIcon, vertical ? spaceForIcon : 0);
return subRule.boxSize(subRule.adjustSize(sz));
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (baseStyle()->inherits("QMacStyle")) {
- //adjust the size after the call to the style because the mac style ignore the size arguments anyway.
- //this might cause the (max-){width,height} property to include the native style border while they should not.
- return subRule.adjustSize(baseStyle()->sizeFromContents(ct, opt, csz, w));
- }
-#endif
sz = subRule.adjustSize(csz);
break;
}
diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp
index c13f6e637d..72c803cb99 100644
--- a/src/widgets/styles/qwindowsstyle.cpp
+++ b/src/widgets/styles/qwindowsstyle.cpp
@@ -423,7 +423,7 @@ int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QW
ret = QWindowsStylePrivate::fixedPixelMetric(pm);
if (ret != QWindowsStylePrivate::InvalidMetric)
- return int(QStyleHelper::dpiScaled(ret));
+ return int(QStyleHelper::dpiScaled(ret, opt));
ret = 0;
@@ -469,7 +469,7 @@ int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QW
break;
case PM_SplitterWidth:
- ret = qMax(int(QStyleHelper::dpiScaled(4)), QApplication::globalStrut().width());
+ ret = qMax(int(QStyleHelper::dpiScaled(4, opt)), QApplication::globalStrut().width());
break;
default:
@@ -793,8 +793,9 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt,
QPen oldPen = p->pen();
p->setPen(QPen(opt->palette.shadow().color(), 0));
QRectF rect = opt->rect;
- const qreal topLevelAdjustment = QStyleHelper::dpiScaled(0.5);
- const qreal bottomRightAdjustment = QStyleHelper::dpiScaled(-1.5);
+ const qreal dpi = QStyleHelper::dpi(opt);
+ const qreal topLevelAdjustment = QStyleHelper::dpiScaled(0.5, dpi);
+ const qreal bottomRightAdjustment = QStyleHelper::dpiScaled(-1.5, dpi);
rect.adjust(topLevelAdjustment, topLevelAdjustment,
bottomRightAdjustment, bottomRightAdjustment);
p->drawRect(rect);
@@ -2303,8 +2304,9 @@ QSize QWindowsStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
int defwidth = 0;
if (btn->features & QStyleOptionButton::AutoDefaultButton)
defwidth = 2 * proxy()->pixelMetric(PM_ButtonDefaultIndicator, btn, widget);
- int minwidth = int(QStyleHelper::dpiScaled(75.));
- int minheight = int(QStyleHelper::dpiScaled(23.));
+ const qreal dpi = QStyleHelper::dpi(opt);
+ int minwidth = int(QStyleHelper::dpiScaled(75, dpi));
+ int minheight = int(QStyleHelper::dpiScaled(23, dpi));
#ifndef QT_QWS_SMALL_PUSHBUTTON
if (w < minwidth + defwidth && !btn->text.isEmpty())
diff --git a/src/widgets/util/qcompleter.h b/src/widgets/util/qcompleter.h
index 5620b55589..5448fc313c 100644
--- a/src/widgets/util/qcompleter.h
+++ b/src/widgets/util/qcompleter.h
@@ -75,12 +75,14 @@ public:
UnfilteredPopupCompletion,
InlineCompletion
};
+ Q_ENUM(CompletionMode)
enum ModelSorting {
UnsortedModel = 0,
CaseSensitivelySortedModel,
CaseInsensitivelySortedModel
};
+ Q_ENUM(ModelSorting)
QCompleter(QObject *parent = nullptr);
QCompleter(QAbstractItemModel *model, QObject *parent = nullptr);
diff --git a/src/widgets/util/qflickgesture.cpp b/src/widgets/util/qflickgesture.cpp
index 55ec93c7d3..14a30ce7cf 100644
--- a/src/widgets/util/qflickgesture.cpp
+++ b/src/widgets/util/qflickgesture.cpp
@@ -462,21 +462,6 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
}
break;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // the only way to distinguish between real mouse wheels and wheel
- // events generated by the native 2 finger swipe gesture is to listen
- // for these events (according to Apple's Cocoa Event-Handling Guide)
-
- case QEvent::NativeGesture: {
- QNativeGestureEvent *nge = static_cast<QNativeGestureEvent *>(event);
- if (nge->gestureType == QNativeGestureEvent::GestureBegin)
- d->macIgnoreWheel = true;
- else if (nge->gestureType == QNativeGestureEvent::GestureEnd)
- d->macIgnoreWheel = false;
- break;
- }
-#endif
-
// consume all wheel events if the scroller is active
case QEvent::Wheel:
if (d->macIgnoreWheel || (scroller->state() != QScroller::Inactive))
diff --git a/src/widgets/util/qscrollerproperties.cpp b/src/widgets/util/qscrollerproperties.cpp
index c26fba2cd3..df6b899fe4 100644
--- a/src/widgets/util/qscrollerproperties.cpp
+++ b/src/widgets/util/qscrollerproperties.cpp
@@ -40,9 +40,6 @@
#include <QPointer>
#include <QObject>
#include <QtCore/qmath.h>
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
-# include <QLibrary>
-#endif
#include "qscrollerproperties.h"
#include "private/qscrollerproperties_p.h"
@@ -73,10 +70,6 @@ QScrollerPropertiesPrivate *QScrollerPropertiesPrivate::defaults()
spp.overshootDragDistanceFactor = qreal(1);
spp.overshootScrollDistanceFactor = qreal(0.5);
spp.overshootScrollTime = qreal(0.7);
-# if 0 // Used to be included in Qt4 for Q_WS_WIN
- if (QLibrary::resolve(QLatin1String("UxTheme"), "BeginPanningFeedback"))
- spp.overshootScrollTime = qreal(0.35);
-# endif
spp.hOvershootPolicy = QScrollerProperties::OvershootWhenScrollable;
spp.vOvershootPolicy = QScrollerProperties::OvershootWhenScrollable;
spp.frameRate = QScrollerProperties::Standard;
diff --git a/src/widgets/util/qsystemtrayicon.cpp b/src/widgets/util/qsystemtrayicon.cpp
index a38a50d3df..fd18888870 100644
--- a/src/widgets/util/qsystemtrayicon.cpp
+++ b/src/widgets/util/qsystemtrayicon.cpp
@@ -626,16 +626,6 @@ void QBalloonTip::balloon(const QPoint& pos, int msecs, bool showArrow)
}
QPainterPath path;
-#if defined(QT_NO_XSHAPE) && 0 /* Used to be included in Qt4 for Q_WS_X11 */
- // XShape is required for setting the mask, so we just
- // draw an ugly square when its not available
- path.moveTo(0, 0);
- path.lineTo(sz.width() - 1, 0);
- path.lineTo(sz.width() - 1, sz.height() - 1);
- path.lineTo(0, sz.height() - 1);
- path.lineTo(0, 0);
- move(qMax(pos.x() - sz.width(), scr.left()), pos.y());
-#else
path.moveTo(ml + rc, mt);
if (arrowAtTop && arrowAtLeft) {
if (showArrow) {
@@ -685,7 +675,6 @@ void QBalloonTip::balloon(const QPoint& pos, int msecs, bool showArrow)
painter1.setBrush(QBrush(Qt::color1));
painter1.drawPath(path);
setMask(bitmap);
-#endif
// Draw the border
pixmap = QPixmap(sz);
diff --git a/src/widgets/util/util.pri b/src/widgets/util/util.pri
index a3bd8897f1..363291528e 100644
--- a/src/widgets/util/util.pri
+++ b/src/widgets/util/util.pri
@@ -54,7 +54,3 @@ qtConfig(xcb) {
} else {
SOURCES += util/qsystemtrayicon_qpa.cpp
}
-
-mac {
- OBJECTIVE_SOURCES += util/qscroller_mac.mm
-}
diff --git a/src/widgets/widgets/qabstractscrollarea.cpp b/src/widgets/widgets/qabstractscrollarea.cpp
index 55b2dcd662..b295e66574 100644
--- a/src/widgets/widgets/qabstractscrollarea.cpp
+++ b/src/widgets/widgets/qabstractscrollarea.cpp
@@ -62,10 +62,6 @@
#include <private/qapplication_p.h>
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-#include <private/qt_mac_p.h>
-#include <private/qt_cocoa_helpers_mac_p.h>
-#endif
#ifdef Q_OS_WIN
# include <qt_windows.h>
#endif
@@ -169,9 +165,6 @@ QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate()
shownOnce(false), inResize(false), sizeAdjustPolicy(QAbstractScrollArea::AdjustIgnored),
viewport(0), cornerWidget(0), left(0), top(0), right(0), bottom(0),
xoffset(0), yoffset(0), viewportFilter(0)
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- , singleFingerPanEnabled(false)
-#endif
{
}
@@ -322,16 +315,6 @@ void QAbstractScrollAreaPrivate::init()
#endif
}
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
-void QAbstractScrollAreaPrivate::setSingleFingerPanEnabled(bool on)
-{
- singleFingerPanEnabled = on;
- QWidgetPrivate *dd = static_cast<QWidgetPrivate *>(QObjectPrivate::get(viewport));
- if (dd)
- dd->winSetupGestures();
-}
-#endif
-
void QAbstractScrollAreaPrivate::layoutChildren()
{
bool needH = false;
@@ -362,38 +345,6 @@ void QAbstractScrollAreaPrivate::layoutChildren_helper(bool *needHorizontalScrol
const int hscrollOverlap = hbar->style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarOverlap, &opt, hbar);
const int vscrollOverlap = vbar->style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarOverlap, &opt, vbar);
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- QWidget * const window = q->window();
-
- // Use small scroll bars for tool windows, to match the native size grip.
- bool hbarIsSmall = hbar->testAttribute(Qt::WA_MacSmallSize);
- bool vbarIsSmall = vbar->testAttribute(Qt::WA_MacSmallSize);
- const Qt::WindowType windowType = window->windowType();
- if (windowType == Qt::Tool) {
- if (!hbarIsSmall) {
- hbar->setAttribute(Qt::WA_MacMiniSize, false);
- hbar->setAttribute(Qt::WA_MacNormalSize, false);
- hbar->setAttribute(Qt::WA_MacSmallSize, true);
- }
- if (!vbarIsSmall) {
- vbar->setAttribute(Qt::WA_MacMiniSize, false);
- vbar->setAttribute(Qt::WA_MacNormalSize, false);
- vbar->setAttribute(Qt::WA_MacSmallSize, true);
- }
- } else {
- if (hbarIsSmall) {
- hbar->setAttribute(Qt::WA_MacMiniSize, false);
- hbar->setAttribute(Qt::WA_MacNormalSize, false);
- hbar->setAttribute(Qt::WA_MacSmallSize, false);
- }
- if (vbarIsSmall) {
- vbar->setAttribute(Qt::WA_MacMiniSize, false);
- vbar->setAttribute(Qt::WA_MacNormalSize, false);
- vbar->setAttribute(Qt::WA_MacSmallSize, false);
- }
- }
-#endif
-
const int hsbExt = hbar->sizeHint().height();
const int vsbExt = vbar->sizeHint().width();
const QPoint extPoint(vsbExt, hsbExt);
@@ -403,30 +354,6 @@ void QAbstractScrollAreaPrivate::layoutChildren_helper(bool *needHorizontalScrol
const bool hasCornerWidget = (cornerWidget != 0);
-// If the scroll bars are at the very right and bottom of the window we
-// move their positions to be aligned with the size grip.
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // Check if a native sizegrip is present.
- bool hasMacReverseSizeGrip = false;
- bool hasMacSizeGrip = false;
- bool nativeGripPresent = false;
- if (q->testAttribute(Qt::WA_WState_Created))
- nativeGripPresent = qt_mac_checkForNativeSizeGrip(q);
-
- if (nativeGripPresent) {
- // Look for a native size grip at the visual window bottom right and at the
- // absolute window bottom right. In reverse mode, the native size grip does not
- // swich side, so we need to check if it is on the "wrong side".
- const QPoint scrollAreaBottomRight = q->mapTo(window, widgetRect.bottomRight() - QPoint(frameWidth, frameWidth));
- const QPoint windowBottomRight = window->rect().bottomRight();
- const QPoint visualWindowBottomRight = QStyle::visualPos(opt.direction, opt.rect, windowBottomRight);
- const QPoint offset = windowBottomRight - scrollAreaBottomRight;
- const QPoint visualOffset = visualWindowBottomRight - scrollAreaBottomRight;
- hasMacSizeGrip = (visualOffset.manhattanLength() < vsbExt);
- hasMacReverseSizeGrip = (hasMacSizeGrip == false && (offset.manhattanLength() < hsbExt));
- }
-#endif
-
QPoint cornerOffset((needv && vscrollOverlap == 0) ? vsbExt : 0, (needh && hscrollOverlap == 0) ? hsbExt : 0);
QRect controlsRect;
QRect viewportRect;
@@ -458,12 +385,6 @@ void QAbstractScrollAreaPrivate::layoutChildren_helper(bool *needHorizontalScrol
if (hasCornerWidget && ((needv && vscrollOverlap == 0) || (needh && hscrollOverlap == 0)))
cornerOffset = extPoint;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- // Also move the scroll bars if they are covered by the native Mac size grip.
- if (hasMacSizeGrip)
- cornerOffset = extPoint;
-#endif
-
// The corner point is where the scroll bar rects, the corner widget rect and the
// viewport rect meets.
const QPoint cornerPoint(controlsRect.bottomRight() + QPoint(1, 1) - cornerOffset);
@@ -475,13 +396,6 @@ void QAbstractScrollAreaPrivate::layoutChildren_helper(bool *needHorizontalScrol
else
cornerPaintingRect = QRect();
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (hasMacReverseSizeGrip)
- reverseCornerPaintingRect = QRect(controlsRect.bottomRight() + QPoint(1, 1) - extPoint, extSize);
- else
- reverseCornerPaintingRect = QRect();
-#endif
-
// move the scrollbars away from top/left headers
int vHeaderRight = 0;
int hHeaderBottom = 0;
@@ -501,10 +415,7 @@ void QAbstractScrollAreaPrivate::layoutChildren_helper(bool *needHorizontalScrol
#endif // QT_CONFIG(itemviews)
if (needh) {
QRect horizontalScrollBarRect(QPoint(controlsRect.left() + vHeaderRight, cornerPoint.y()), QPoint(cornerPoint.x() - 1, controlsRect.bottom()));
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (hasMacReverseSizeGrip)
- horizontalScrollBarRect.adjust(vsbExt, 0, 0, 0);
-#endif
+
if (!hasCornerWidget && htransient)
horizontalScrollBarRect.adjust(0, 0, cornerOffset.x(), 0);
scrollBarContainers[Qt::Horizontal]->setGeometry(QStyle::visualRect(opt.direction, opt.rect, horizontalScrollBarRect));
@@ -617,11 +528,9 @@ void QAbstractScrollArea::setViewport(QWidget *widget)
d->viewport->setParent(this);
d->viewport->setFocusProxy(this);
d->viewport->installEventFilter(d->viewportFilter.data());
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
#ifndef QT_NO_GESTURES
d->viewport->grabGesture(Qt::PanGesture);
#endif
-#endif
d->layoutChildren();
#ifndef QT_NO_OPENGL
QWidgetPrivate::get(d->viewport)->initializeViewportFramebuffer();
@@ -1043,13 +952,6 @@ bool QAbstractScrollArea::event(QEvent *e)
QPainter p(this);
style()->drawPrimitive(QStyle::PE_PanelScrollAreaCorner, &option, &p, this);
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (d->reverseCornerPaintingRect.isValid()) {
- option.rect = d->reverseCornerPaintingRect;
- QPainter p(this);
- style()->drawPrimitive(QStyle::PE_PanelScrollAreaCorner, &option, &p, this);
- }
-#endif
}
QFrame::paintEvent((QPaintEvent*)e);
break;
@@ -1122,38 +1024,10 @@ bool QAbstractScrollArea::event(QEvent *e)
hBar->setValue(se->contentPos().x());
vBar->setValue(se->contentPos().y());
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- typedef BOOL (*PtrBeginPanningFeedback)(HWND);
- typedef BOOL (*PtrUpdatePanningFeedback)(HWND, LONG, LONG, BOOL);
- typedef BOOL (*PtrEndPanningFeedback)(HWND, BOOL);
-
- static PtrBeginPanningFeedback ptrBeginPanningFeedback = 0;
- static PtrUpdatePanningFeedback ptrUpdatePanningFeedback = 0;
- static PtrEndPanningFeedback ptrEndPanningFeedback = 0;
-
- if (!ptrBeginPanningFeedback)
- ptrBeginPanningFeedback = (PtrBeginPanningFeedback) QLibrary::resolve(QLatin1String("UxTheme"), "BeginPanningFeedback");
- if (!ptrUpdatePanningFeedback)
- ptrUpdatePanningFeedback = (PtrUpdatePanningFeedback) QLibrary::resolve(QLatin1String("UxTheme"), "UpdatePanningFeedback");
- if (!ptrEndPanningFeedback)
- ptrEndPanningFeedback = (PtrEndPanningFeedback) QLibrary::resolve(QLatin1String("UxTheme"), "EndPanningFeedback");
-
- if (ptrBeginPanningFeedback && ptrUpdatePanningFeedback && ptrEndPanningFeedback) {
- WId wid = window()->winId();
-
- if (!se->overshootDistance().isNull() && d->overshoot.isNull())
- ptrBeginPanningFeedback(wid);
- if (!se->overshootDistance().isNull())
- ptrUpdatePanningFeedback(wid, -se->overshootDistance().x(), -se->overshootDistance().y(), false);
- if (se->overshootDistance().isNull() && !d->overshoot.isNull())
- ptrEndPanningFeedback(wid, true);
- } else
-#endif
- {
- QPoint delta = d->overshoot - se->overshootDistance().toPoint();
- if (!delta.isNull())
- viewport()->move(viewport()->pos() + delta);
- }
+ QPoint delta = d->overshoot - se->overshootDistance().toPoint();
+ if (!delta.isNull())
+ viewport()->move(viewport()->pos() + delta);
+
d->overshoot = se->overshootDistance().toPoint();
return true;
@@ -1546,13 +1420,6 @@ void QAbstractScrollAreaPrivate::_q_vslide(int y)
void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars()
{
layoutChildren();
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- // Need to re-subscribe to gestures as the content changes to make sure we
- // enable/disable panning when needed.
- QWidgetPrivate *dd = static_cast<QWidgetPrivate *>(QObjectPrivate::get(viewport));
- if (dd)
- dd->winSetupGestures();
-#endif
}
QPoint QAbstractScrollAreaPrivate::contentsOffset() const
diff --git a/src/widgets/widgets/qabstractscrollarea_p.h b/src/widgets/widgets/qabstractscrollarea_p.h
index 732a2ab40d..6d78b9db6d 100644
--- a/src/widgets/widgets/qabstractscrollarea_p.h
+++ b/src/widgets/widgets/qabstractscrollarea_p.h
@@ -85,9 +85,7 @@ public:
QWidget *viewport;
QWidget *cornerWidget;
QRect cornerPaintingRect;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- QRect reverseCornerPaintingRect;
-#endif
+
int left, top, right, bottom; // viewport margin
int xoffset, yoffset;
@@ -112,11 +110,6 @@ public:
inline bool viewportEvent(QEvent *event)
{ return q_func()->viewportEvent(event); }
QScopedPointer<QObject> viewportFilter;
-
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- bool singleFingerPanEnabled;
- void setSingleFingerPanEnabled(bool on = true);
-#endif
};
class QAbstractScrollAreaFilter : public QObject
diff --git a/src/widgets/widgets/qabstractslider.cpp b/src/widgets/widgets/qabstractslider.cpp
index 129d540f50..dc325ab871 100644
--- a/src/widgets/widgets/qabstractslider.cpp
+++ b/src/widgets/widgets/qabstractslider.cpp
@@ -721,15 +721,10 @@ bool QAbstractSliderPrivate::scrollByDelta(Qt::Orientation orientation, Qt::Keyb
offset_accumulated = 0;
offset_accumulated += stepsToScrollF;
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
+
// Don't scroll more than one page in any case:
stepsToScroll = qBound(-pageStep, int(offset_accumulated), pageStep);
-#else
- // Native UI-elements on Mac can scroll hundreds of lines at a time as
- // a result of acceleration. So keep the same behaviour in Qt, and
- // don't restrict stepsToScroll to certain maximum (pageStep):
- stepsToScroll = int(offset_accumulated);
-#endif
+
offset_accumulated -= int(offset_accumulated);
if (stepsToScroll == 0) {
// We moved less than a line, but might still have accumulated partial scroll,
diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp
index f5708788b8..d49d9dbd66 100644
--- a/src/widgets/widgets/qabstractspinbox.cpp
+++ b/src/widgets/widgets/qabstractspinbox.cpp
@@ -1321,7 +1321,9 @@ void QAbstractSpinBox::contextMenuEvent(QContextMenuEvent *event)
d->reset();
QAction *selAll = new QAction(tr("&Select All"), menu);
+#if QT_CONFIG(shortcut)
selAll->setShortcut(QKeySequence::SelectAll);
+#endif
menu->insertAction(d->edit->d_func()->selectAllAction,
selAll);
menu->removeAction(d->edit->d_func()->selectAllAction);
diff --git a/src/widgets/widgets/qcalendarwidget.cpp b/src/widgets/widgets/qcalendarwidget.cpp
index 78706b1854..ec19b64d4a 100644
--- a/src/widgets/widgets/qcalendarwidget.cpp
+++ b/src/widgets/widgets/qcalendarwidget.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtWidgets module of the Qt Toolkit.
@@ -57,6 +57,7 @@
#include <private/qapplication_p.h>
#include <qbasictimer.h>
#include <qstylepainter.h>
+#include <qcalendar.h>
#include <vector>
@@ -90,16 +91,15 @@ public:
QCalendarDateSectionValidator() {}
virtual ~QCalendarDateSectionValidator() {}
virtual Section handleKey(int key) = 0;
- virtual QDate applyToDate(const QDate &date) const = 0;
- virtual void setDate(const QDate &date) = 0;
+ virtual QDate applyToDate(QDate date, QCalendar cal = QCalendar()) const = 0;
+ virtual void setDate(QDate date, QCalendar cal = QCalendar()) = 0;
virtual QString text() const = 0;
- virtual QString text(const QDate &date, int repeat) const = 0;
+ virtual QString text(QDate date, QCalendar cal, int repeat) const = 0;
QLocale m_locale;
protected:
static QString highlightString(const QString &str, int pos);
-private:
};
QString QCalendarDateSectionValidator::highlightString(const QString &str, int pos)
@@ -117,10 +117,10 @@ class QCalendarDayValidator : public QCalendarDateSectionValidator
public:
QCalendarDayValidator();
virtual Section handleKey(int key) override;
- virtual QDate applyToDate(const QDate &date) const override;
- virtual void setDate(const QDate &date) override;
+ virtual QDate applyToDate(QDate date, QCalendar cal) const override;
+ virtual void setDate(QDate date, QCalendar cal) override;
virtual QString text() const override;
- virtual QString text(const QDate &date, int repeat) const override;
+ virtual QString text(QDate date, QCalendar cal, int repeat) const override;
private:
int m_pos;
int m_day;
@@ -181,21 +181,18 @@ QCalendarDateSectionValidator::Section QCalendarDayValidator::handleKey(int key)
return QCalendarDateSectionValidator::ThisSection;
}
-QDate QCalendarDayValidator::applyToDate(const QDate &date) const
+QDate QCalendarDayValidator::applyToDate(QDate date, QCalendar cal) const
{
- int day = m_day;
- if (day < 1)
- day = 1;
- else if (day > 31)
- day = 31;
- if (day > date.daysInMonth())
- day = date.daysInMonth();
- return QDate(date.year(), date.month(), day);
+ auto parts = cal.partsFromDate(date);
+ if (!parts.isValid())
+ return QDate();
+ parts.day = qMin(qMax(1, m_day), cal.daysInMonth(parts.year, parts.month));
+ return cal.dateFromParts(parts);
}
-void QCalendarDayValidator::setDate(const QDate &date)
+void QCalendarDayValidator::setDate(QDate date, QCalendar cal)
{
- m_day = m_oldDay = date.day();
+ m_day = m_oldDay = date.day(cal);
m_pos = 0;
}
@@ -204,16 +201,16 @@ QString QCalendarDayValidator::text() const
return highlightString(formatNumber(m_day, 2), m_pos);
}
-QString QCalendarDayValidator::text(const QDate &date, int repeat) const
+QString QCalendarDayValidator::text(QDate date, QCalendar cal, int repeat) const
{
if (repeat <= 1) {
- return QString::number(date.day());
+ return QString::number(date.day(cal));
} else if (repeat == 2) {
- return formatNumber(date.day(), 2);
+ return formatNumber(date.day(cal), 2);
} else if (repeat == 3) {
- return m_locale.dayName(date.dayOfWeek(), QLocale::ShortFormat);
+ return m_locale.dayName(date.dayOfWeek(cal), QLocale::ShortFormat);
} else /* repeat >= 4 */ {
- return m_locale.dayName(date.dayOfWeek(), QLocale::LongFormat);
+ return m_locale.dayName(date.dayOfWeek(cal), QLocale::LongFormat);
}
}
@@ -225,10 +222,10 @@ class QCalendarMonthValidator : public QCalendarDateSectionValidator
public:
QCalendarMonthValidator();
virtual Section handleKey(int key) override;
- virtual QDate applyToDate(const QDate &date) const override;
- virtual void setDate(const QDate &date) override;
+ virtual QDate applyToDate(QDate date, QCalendar cal) const override;
+ virtual void setDate(QDate date, QCalendar cal) override;
virtual QString text() const override;
- virtual QString text(const QDate &date, int repeat) const override;
+ virtual QString text(QDate date, QCalendar cal, int repeat) const override;
private:
int m_pos;
int m_month;
@@ -289,23 +286,19 @@ QCalendarDateSectionValidator::Section QCalendarMonthValidator::handleKey(int ke
return QCalendarDateSectionValidator::ThisSection;
}
-QDate QCalendarMonthValidator::applyToDate(const QDate &date) const
+QDate QCalendarMonthValidator::applyToDate(QDate date, QCalendar cal) const
{
- int month = m_month;
- if (month < 1)
- month = 1;
- else if (month > 12)
- month = 12;
- QDate newDate(date.year(), m_month, 1);
- int day = date.day();
- if (day > newDate.daysInMonth())
- day = newDate.daysInMonth();
- return QDate(date.year(), month, day);
+ auto parts = cal.partsFromDate(date);
+ if (!parts.isValid())
+ return QDate();
+ parts.month = qMin(qMax(1, m_month), cal.monthsInYear(parts.year));
+ parts.day = qMin(parts.day, cal.daysInMonth(parts.year, m_month)); // m_month or parts.month ?
+ return cal.dateFromParts(parts);
}
-void QCalendarMonthValidator::setDate(const QDate &date)
+void QCalendarMonthValidator::setDate(QDate date, QCalendar cal)
{
- m_month = m_oldMonth = date.month();
+ m_month = m_oldMonth = date.month(cal);
m_pos = 0;
}
@@ -314,16 +307,16 @@ QString QCalendarMonthValidator::text() const
return highlightString(formatNumber(m_month, 2), m_pos);
}
-QString QCalendarMonthValidator::text(const QDate &date, int repeat) const
+QString QCalendarMonthValidator::text(QDate date, QCalendar cal, int repeat) const
{
if (repeat <= 1) {
- return QString::number(date.month());
+ return QString::number(date.month(cal));
} else if (repeat == 2) {
- return formatNumber(date.month(), 2);
+ return formatNumber(date.month(cal), 2);
} else if (repeat == 3) {
- return m_locale.standaloneMonthName(date.month(), QLocale::ShortFormat);
+ return cal.standaloneMonthName(m_locale, date.month(cal), QLocale::ShortFormat);
} else /*if (repeat >= 4)*/ {
- return m_locale.standaloneMonthName(date.month(), QLocale::LongFormat);
+ return cal.standaloneMonthName(m_locale, date.month(cal), QLocale::LongFormat);
}
}
@@ -335,10 +328,10 @@ class QCalendarYearValidator : public QCalendarDateSectionValidator
public:
QCalendarYearValidator();
virtual Section handleKey(int key) override;
- virtual QDate applyToDate(const QDate &date) const override;
- virtual void setDate(const QDate &date) override;
+ virtual QDate applyToDate(QDate date, QCalendar cal) const override;
+ virtual void setDate(QDate date, QCalendar cal) override;
virtual QString text() const override;
- virtual QString text(const QDate &date, int repeat) const override;
+ virtual QString text(QDate date, QCalendar cal, int repeat) const override;
private:
int pow10(int n);
int m_pos;
@@ -349,6 +342,8 @@ private:
QCalendarYearValidator::QCalendarYearValidator()
: QCalendarDateSectionValidator(), m_pos(0), m_year(2000), m_oldYear(2000)
{
+ // TODO: What to use (for non-Gregorian calendars) as default year?
+ // Maybe 1360 for Jalali, 1420 for Islamic, etc.
}
int QCalendarYearValidator::pow10(int n)
@@ -397,21 +392,20 @@ QCalendarDateSectionValidator::Section QCalendarYearValidator::handleKey(int key
return QCalendarDateSectionValidator::ThisSection;
}
-QDate QCalendarYearValidator::applyToDate(const QDate &date) const
+QDate QCalendarYearValidator::applyToDate(QDate date, QCalendar cal) const
{
- int year = m_year;
- if (year < 1)
- year = 1;
- QDate newDate(year, date.month(), 1);
- int day = date.day();
- if (day > newDate.daysInMonth())
- day = newDate.daysInMonth();
- return QDate(year, date.month(), day);
+ auto parts = cal.partsFromDate(date);
+ if (!parts.isValid())
+ return QDate();
+ // This widget does not support negative years (some calendars may support)
+ parts.year = qMax(1, m_year);
+ parts.day = qMin(parts.day, cal.daysInMonth(parts.year, parts.month));
+ return cal.dateFromParts(parts);
}
-void QCalendarYearValidator::setDate(const QDate &date)
+void QCalendarYearValidator::setDate(QDate date, QCalendar cal)
{
- m_year = m_oldYear = date.year();
+ m_year = m_oldYear = date.year(cal);
m_pos = 0;
}
@@ -420,11 +414,11 @@ QString QCalendarYearValidator::text() const
return highlightString(formatNumber(m_year, 4), m_pos);
}
-QString QCalendarYearValidator::text(const QDate &date, int repeat) const
+QString QCalendarYearValidator::text(QDate date, QCalendar cal, int repeat) const
{
if (repeat < 4)
- return formatNumber(date.year() % 100, 2);
- return QString::number(date.year());
+ return formatNumber(date.year(cal) % 100, 2);
+ return QString::number(date.year(cal));
}
///////////////////////////////////
@@ -446,18 +440,18 @@ public:
QCalendarDateValidator();
~QCalendarDateValidator();
- void handleKeyEvent(QKeyEvent *keyEvent);
- QString currentText() const;
+ void handleKeyEvent(QKeyEvent *keyEvent, QCalendar cal);
+ QString currentText(QCalendar cal) const;
QDate currentDate() const { return m_currentDate; }
void setFormat(const QString &format);
- void setInitialDate(const QDate &date);
+ void setInitialDate(QDate date, QCalendar cal);
void setLocale(const QLocale &locale);
private:
void toNextToken();
void toPreviousToken();
- void applyToDate();
+ void applyToDate(QCalendar cal);
int countRepeat(const QString &str, int index) const;
void clear();
@@ -507,17 +501,17 @@ int QCalendarDateValidator::countRepeat(const QString &str, int index) const
return count;
}
-void QCalendarDateValidator::setInitialDate(const QDate &date)
+void QCalendarDateValidator::setInitialDate(QDate date, QCalendar cal)
{
- m_yearValidator.setDate(date);
- m_monthValidator.setDate(date);
- m_dayValidator.setDate(date);
+ m_yearValidator.setDate(date, cal);
+ m_monthValidator.setDate(date, cal);
+ m_dayValidator.setDate(date, cal);
m_initialDate = date;
m_currentDate = date;
m_lastSectionMove = QCalendarDateSectionValidator::ThisSection;
}
-QString QCalendarDateValidator::currentText() const
+QString QCalendarDateValidator::currentText(QCalendar cal) const
{
QString str;
const int numSeps = m_separators.size();
@@ -529,7 +523,7 @@ QString QCalendarDateValidator::currentText() const
if (i == m_currentToken)
str += token.validator->text();
else
- str += token.validator->text(m_currentDate, token.repeat);
+ str += token.validator->text(m_currentDate, cal, token.repeat);
}
}
return str;
@@ -591,11 +585,11 @@ void QCalendarDateValidator::setFormat(const QString &format)
m_separators += separator;
}
-void QCalendarDateValidator::applyToDate()
+void QCalendarDateValidator::applyToDate(QCalendar cal)
{
- m_currentDate = m_yearValidator.applyToDate(m_currentDate);
- m_currentDate = m_monthValidator.applyToDate(m_currentDate);
- m_currentDate = m_dayValidator.applyToDate(m_currentDate);
+ m_currentDate = m_yearValidator.applyToDate(m_currentDate, cal);
+ m_currentDate = m_monthValidator.applyToDate(m_currentDate, cal);
+ m_currentDate = m_dayValidator.applyToDate(m_currentDate, cal);
}
void QCalendarDateValidator::toNextToken()
@@ -614,7 +608,7 @@ void QCalendarDateValidator::toPreviousToken()
m_currentToken %= m_tokens.size();
}
-void QCalendarDateValidator::handleKeyEvent(QKeyEvent *keyEvent)
+void QCalendarDateValidator::handleKeyEvent(QKeyEvent *keyEvent,QCalendar cal)
{
if (m_currentToken < 0)
return;
@@ -631,7 +625,7 @@ void QCalendarDateValidator::handleKeyEvent(QKeyEvent *keyEvent)
m_lastSectionMove = m_tokens[m_currentToken].validator->handleKey(key);
- applyToDate();
+ applyToDate(cal);
if (m_lastSectionMove == QCalendarDateSectionValidator::NextSection)
toNextToken();
else if (m_lastSectionMove == QCalendarDateSectionValidator::PrevSection)
@@ -645,7 +639,8 @@ class QCalendarTextNavigator: public QObject
Q_OBJECT
public:
QCalendarTextNavigator(QObject *parent = 0)
- : QObject(parent), m_dateText(0), m_dateFrame(0), m_dateValidator(0), m_widget(0), m_editDelay(1500), m_date(QDate::currentDate()) { }
+ : QObject(parent), m_dateText(0), m_dateFrame(0), m_dateValidator(0),
+ m_widget(0), m_editDelay(1500), m_date(QDate::currentDate()) {}
QWidget *widget() const;
void setWidget(QWidget *widget);
@@ -653,13 +648,13 @@ public:
int dateEditAcceptDelay() const;
void setDateEditAcceptDelay(int delay);
- void setDate(const QDate &date);
+ void setDate(QDate date);
bool eventFilter(QObject *o, QEvent *e) override;
void timerEvent(QTimerEvent *e) override;
signals:
- void dateChanged(const QDate &date);
+ void dateChanged(QDate date);
void editingFinished();
private:
@@ -676,6 +671,7 @@ private:
int m_editDelay;
QDate m_date;
+ const QCalendar m_calendar;
};
QWidget *QCalendarTextNavigator::widget() const
@@ -688,7 +684,7 @@ void QCalendarTextNavigator::setWidget(QWidget *widget)
m_widget = widget;
}
-void QCalendarTextNavigator::setDate(const QDate &date)
+void QCalendarTextNavigator::setDate(QDate date)
{
m_date = date;
}
@@ -700,7 +696,7 @@ void QCalendarTextNavigator::updateDateLabel()
m_acceptTimer.start(m_editDelay, this);
- m_dateText->setText(m_dateValidator->currentText());
+ m_dateText->setText(m_dateValidator->currentText(m_calendar));
QSize s = m_dateFrame->sizeHint();
QRect r = m_widget->geometry(); // later, just the table section
@@ -740,7 +736,7 @@ void QCalendarTextNavigator::createDateLabel()
m_dateValidator = new QCalendarDateValidator();
m_dateValidator->setLocale(m_widget->locale());
m_dateValidator->setFormat(m_widget->locale().dateFormat(QLocale::ShortFormat));
- m_dateValidator->setInitialDate(m_date);
+ m_dateValidator->setInitialDate(m_date, m_calendar);
m_dateFrame->setAutoFillBackground(true);
m_dateFrame->setBackgroundRole(QPalette::Window);
@@ -775,7 +771,7 @@ bool QCalendarTextNavigator::eventFilter(QObject *o, QEvent *e)
#endif
} else if (e->type() == QEvent::KeyPress) {
createDateLabel();
- m_dateValidator->handleKeyEvent(ke);
+ m_dateValidator->handleKeyEvent(ke, m_calendar);
updateDateLabel();
}
ke->accept();
@@ -895,12 +891,15 @@ public:
}
void showMonth(int year, int month);
- void setDate(const QDate &d);
+ void setDate(QDate d);
- void setMinimumDate(const QDate &date);
- void setMaximumDate(const QDate &date);
+ void setCalendar(QCalendar c);
+ QCalendar calendar() const;
- void setRange(const QDate &min, const QDate &max);
+ void setMinimumDate(QDate date);
+ void setMaximumDate(QDate date);
+
+ void setRange(QDate min, QDate max);
void setHorizontalHeaderFormat(QCalendarWidget::HorizontalHeaderFormat format);
@@ -914,7 +913,7 @@ public:
Qt::DayOfWeek dayOfWeekForColumn(int section) const;
int columnForDayOfWeek(Qt::DayOfWeek day) const;
QDate dateForCell(int row, int column) const;
- void cellForDate(const QDate &date, int *row, int *column) const;
+ void cellForDate(QDate date, int *row, int *column) const;
QString dayName(Qt::DayOfWeek day) const;
void setView(QCalendarView *view)
@@ -922,10 +921,11 @@ public:
void internalUpdate();
QDate referenceDate() const;
- int columnForFirstOfMonth(const QDate &date) const;
+ int columnForFirstOfMonth(QDate date) const;
int m_firstColumn;
int m_firstRow;
+ QCalendar m_calendar;
QDate m_date;
QDate m_minimumDate;
QDate m_maximumDate;
@@ -951,9 +951,9 @@ public:
virtual void keyboardSearch(const QString & search) override { Q_UNUSED(search) }
signals:
- void showDate(const QDate &date);
- void changeDate(const QDate &date, bool changeMonth);
- void clicked(const QDate &date);
+ void showDate(QDate date);
+ void changeDate(QDate date, bool changeMonth);
+ void clicked(QDate date);
void editingFinished();
protected:
QModelIndex moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override;
@@ -984,8 +984,8 @@ QCalendarModel::QCalendarModel(QObject *parent)
m_date(QDate::currentDate()),
m_minimumDate(QDate::fromJulianDay(1)),
m_maximumDate(9999, 12, 31),
- m_shownYear(m_date.year()),
- m_shownMonth(m_date.month()),
+ m_shownYear(m_date.year(m_calendar)),
+ m_shownMonth(m_date.month(m_calendar)),
m_firstDay(QLocale().firstDayOfWeek()),
m_horizontalHeaderFormat(QCalendarWidget::ShortDayNames),
m_weekNumbersShown(true),
@@ -1028,9 +1028,10 @@ will be rendered in 2nd or 3rd row, showing more dates from previous month.
*/
QDate QCalendarModel::referenceDate() const
{
+ // TODO: Check this
int refDay = 1;
while (refDay <= 31) {
- QDate refDate(m_shownYear, m_shownMonth, refDay);
+ QDate refDate(m_shownYear, m_shownMonth, refDay, m_calendar);
if (refDate.isValid())
return refDate;
refDay += 1;
@@ -1038,9 +1039,10 @@ QDate QCalendarModel::referenceDate() const
return QDate();
}
-int QCalendarModel::columnForFirstOfMonth(const QDate &date) const
+int QCalendarModel::columnForFirstOfMonth(QDate date) const
{
- return (columnForDayOfWeek(static_cast<Qt::DayOfWeek>(date.dayOfWeek())) - (date.day() % 7) + 8) % 7;
+ return (columnForDayOfWeek(static_cast<Qt::DayOfWeek>(m_calendar.dayOfWeek(date)))
+ - (date.day(m_calendar) % 7) + 8) % 7;
}
QDate QCalendarModel::dateForCell(int row, int column) const
@@ -1056,11 +1058,12 @@ QDate QCalendarModel::dateForCell(int row, int column) const
if (columnForFirstOfShownMonth - m_firstColumn < MinimumDayOffset)
row -= 1;
- const int requestedDay = 7 * (row - m_firstRow) + column - columnForFirstOfShownMonth - refDate.day() + 1;
+ const int requestedDay =
+ 7 * (row - m_firstRow) + column - columnForFirstOfShownMonth - refDate.day(m_calendar) + 1;
return refDate.addDays(requestedDay);
}
-void QCalendarModel::cellForDate(const QDate &date, int *row, int *column) const
+void QCalendarModel::cellForDate(QDate date, int *row, int *column) const
{
if (!row && !column)
return;
@@ -1075,7 +1078,8 @@ void QCalendarModel::cellForDate(const QDate &date, int *row, int *column) const
return;
const int columnForFirstOfShownMonth = columnForFirstOfMonth(refDate);
- const int requestedPosition = refDate.daysTo(date) - m_firstColumn + columnForFirstOfShownMonth + refDate.day() - 1;
+ const int requestedPosition = (refDate.daysTo(date) - m_firstColumn +
+ columnForFirstOfShownMonth + refDate.day(m_calendar) - 1);
int c = requestedPosition % 7;
int r = requestedPosition / 7;
@@ -1148,7 +1152,7 @@ QTextCharFormat QCalendarModel::formatForCell(int row, int col) const
format.merge(m_dateFormats.value(date));
if(date < m_minimumDate || date > m_maximumDate)
format.setBackground(pal.brush(cg, QPalette::Window));
- if (m_shownMonth != date.month())
+ if (m_shownMonth != date.month(m_calendar))
format.setForeground(pal.brush(QPalette::Disabled, QPalette::Text));
}
return format;
@@ -1174,7 +1178,7 @@ QVariant QCalendarModel::data(const QModelIndex &index, int role) const
return dayName(dayOfWeekForColumn(column));
QDate date = dateForCell(row, column);
if (date.isValid())
- return date.day();
+ return date.day(m_calendar);
return QString();
}
@@ -1202,7 +1206,7 @@ Qt::ItemFlags QCalendarModel::flags(const QModelIndex &index) const
return QAbstractTableModel::flags(index);
}
-void QCalendarModel::setDate(const QDate &d)
+void QCalendarModel::setDate(QDate d)
{
m_date = d;
if (m_date < m_minimumDate)
@@ -1211,6 +1215,20 @@ void QCalendarModel::setDate(const QDate &d)
m_date = m_maximumDate;
}
+void QCalendarModel::setCalendar(QCalendar c)
+{
+ m_calendar = c;
+ m_shownYear = m_date.year(c);
+ m_shownMonth = m_date.month(c);
+ internalUpdate();
+ m_view->internalUpdate();
+}
+
+QCalendar QCalendarModel::calendar() const
+{
+ return m_calendar;
+}
+
void QCalendarModel::showMonth(int year, int month)
{
if (m_shownYear == year && m_shownMonth == month)
@@ -1222,7 +1240,7 @@ void QCalendarModel::showMonth(int year, int month)
internalUpdate();
}
-void QCalendarModel::setMinimumDate(const QDate &d)
+void QCalendarModel::setMinimumDate(QDate d)
{
if (!d.isValid() || d == m_minimumDate)
return;
@@ -1235,7 +1253,7 @@ void QCalendarModel::setMinimumDate(const QDate &d)
internalUpdate();
}
-void QCalendarModel::setMaximumDate(const QDate &d)
+void QCalendarModel::setMaximumDate(QDate d)
{
if (!d.isValid() || d == m_maximumDate)
return;
@@ -1248,7 +1266,7 @@ void QCalendarModel::setMaximumDate(const QDate &d)
internalUpdate();
}
-void QCalendarModel::setRange(const QDate &min, const QDate &max)
+void QCalendarModel::setRange(QDate min, QDate max)
{
m_minimumDate = min;
m_maximumDate = max;
@@ -1341,6 +1359,8 @@ QModelIndex QCalendarView::moveCursor(CursorAction cursorAction, Qt::KeyboardMod
if (!calendarModel)
return QTableView::moveCursor(cursorAction, modifiers);
+ QCalendar cal = calendarModel->calendar();
+
if (readOnly)
return currentIndex();
@@ -1359,17 +1379,27 @@ QModelIndex QCalendarView::moveCursor(CursorAction cursorAction, Qt::KeyboardMod
case QAbstractItemView::MoveRight:
currentDate = currentDate.addDays(isRightToLeft() ? -1 : 1);
break;
- case QAbstractItemView::MoveHome:
- currentDate = QDate(currentDate.year(), currentDate.month(), 1);
+ case QAbstractItemView::MoveHome: {
+ auto parts = cal.partsFromDate(currentDate);
+ if (parts.isValid()) {
+ parts.day = 1;
+ currentDate = cal.dateFromParts(parts);
+ }
+ }
break;
- case QAbstractItemView::MoveEnd:
- currentDate = QDate(currentDate.year(), currentDate.month(), currentDate.daysInMonth());
+ case QAbstractItemView::MoveEnd: {
+ auto parts = cal.partsFromDate(currentDate);
+ if (parts.isValid()) {
+ parts.day = cal.daysInMonth(parts.year, parts.month);
+ currentDate = cal.dateFromParts(parts);
+ }
+ }
break;
case QAbstractItemView::MovePageUp:
- currentDate = currentDate.addMonths(-1);
+ currentDate = currentDate.addMonths(-1, cal);
break;
case QAbstractItemView::MovePageDown:
- currentDate = currentDate.addMonths(1);
+ currentDate = currentDate.addMonths(1, cal);
break;
case QAbstractItemView::MoveNext:
case QAbstractItemView::MovePrevious:
@@ -1422,8 +1452,9 @@ void QCalendarView::wheelEvent(QWheelEvent *event)
const int numDegrees = event->angleDelta().y() / 8;
const int numSteps = numDegrees / 15;
const QModelIndex index = currentIndex();
- QDate currentDate = static_cast<QCalendarModel*>(model())->dateForCell(index.row(), index.column());
- currentDate = currentDate.addMonths(-numSteps);
+ QCalendarModel *calendarModel = static_cast<QCalendarModel*>(model());
+ QDate currentDate = calendarModel->dateForCell(index.row(), index.column());
+ currentDate = currentDate.addMonths(-numSteps, calendarModel->calendar());
emit showDate(currentDate);
}
#endif
@@ -1566,7 +1597,7 @@ public:
{ }
virtual void paint(QPainter *painter, const QStyleOptionViewItem &option,
const QModelIndex &index) const override;
- void paintCell(QPainter *painter, const QRect &rect, const QDate &date) const;
+ void paintCell(QPainter *painter, const QRect &rect, QDate date) const;
private:
QCalendarWidgetPrivate *calendarWidgetPrivate;
@@ -1585,7 +1616,6 @@ protected:
{
Q_UNUSED(e)
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
QStyleOptionToolButton opt;
initStyleOption(&opt);
@@ -1598,7 +1628,7 @@ protected:
toolPalette.setColor(QPalette::ButtonText, toolPalette.color(QPalette::HighlightedText));
setPalette(toolPalette);
}
-#endif
+
QToolButton::paintEvent(e);
}
};
@@ -1628,11 +1658,11 @@ public:
void showMonth(int year, int month);
void update();
- void paintCell(QPainter *painter, const QRect &rect, const QDate &date) const;
+ void paintCell(QPainter *painter, const QRect &rect, QDate date) const;
- void _q_slotShowDate(const QDate &date);
- void _q_slotChangeDate(const QDate &date);
- void _q_slotChangeDate(const QDate &date, bool changeMonth);
+ void _q_slotShowDate(QDate date);
+ void _q_slotChangeDate(QDate date);
+ void _q_slotChangeDate(QDate date, bool changeMonth);
void _q_editingFinished();
void _q_monthChanged(QAction*);
void _q_prevMonthClicked();
@@ -1645,7 +1675,7 @@ public:
void updateMonthMenu();
void updateMonthMenuNames();
void updateNavigationBar();
- void updateCurrentPage(const QDate &newDate);
+ void updateCurrentPage(QDate newDate);
inline QDate getCurrentDate();
void setNavigatorEnabled(bool enable);
@@ -1684,7 +1714,7 @@ void QCalendarDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opt
}
}
-void QCalendarDelegate::paintCell(QPainter *painter, const QRect &rect, const QDate &date) const
+void QCalendarDelegate::paintCell(QPainter *painter, const QRect &rect, QDate date) const
{
storedOption.rect = rect;
int row = -1;
@@ -1757,7 +1787,7 @@ void QCalendarWidgetPrivate::createNavigationBar(QWidget *widget)
monthButton->setPopupMode(QToolButton::InstantPopup);
monthMenu = new QMenu(monthButton);
for (int i = 1; i <= 12; i++) {
- QString monthName(q->locale().standaloneMonthName(i, QLocale::LongFormat));
+ QString monthName(m_model->m_calendar.standaloneMonthName(q->locale(), i, QLocale::LongFormat));
QAction *act = monthMenu->addAction(monthName);
act->setData(i);
monthToAction[i] = act;
@@ -1773,8 +1803,8 @@ void QCalendarWidgetPrivate::createNavigationBar(QWidget *widget)
monthButton->setFont(font);
yearButton->setFont(font);
yearEdit->setFrame(false);
- yearEdit->setMinimum(m_model->m_minimumDate.year());
- yearEdit->setMaximum(m_model->m_maximumDate.year());
+ yearEdit->setMinimum(m_model->m_minimumDate.year(m_model->m_calendar));
+ yearEdit->setMaximum(m_model->m_maximumDate.year(m_model->m_calendar));
yearEdit->hide();
spaceHolder = new QSpacerItem(0,0);
@@ -1804,7 +1834,7 @@ void QCalendarWidgetPrivate::createNavigationBar(QWidget *widget)
yearEdit->setObjectName(QLatin1String("qt_calendar_yearedit"));
updateMonthMenu();
- showMonth(m_model->m_date.year(), m_model->m_date.month());
+ showMonth(m_model->m_date.year(m_model->m_calendar), m_model->m_date.month(m_model->m_calendar));
}
void QCalendarWidgetPrivate::updateButtonIcons()
@@ -1816,22 +1846,24 @@ void QCalendarWidgetPrivate::updateButtonIcons()
void QCalendarWidgetPrivate::updateMonthMenu()
{
- int beg = 1, end = 12;
+ int maxMonths = m_model->m_calendar.monthsInYear(m_model->m_shownYear);
+ int beg = 1, end = maxMonths;
bool prevEnabled = true;
bool nextEnabled = true;
- if (m_model->m_shownYear == m_model->m_minimumDate.year()) {
- beg = m_model->m_minimumDate.month();
- if (m_model->m_shownMonth == m_model->m_minimumDate.month())
+ QCalendar cal = m_model->calendar();
+ if (m_model->m_shownYear == m_model->m_minimumDate.year(cal)) {
+ beg = m_model->m_minimumDate.month(cal);
+ if (m_model->m_shownMonth == m_model->m_minimumDate.month(cal))
prevEnabled = false;
}
- if (m_model->m_shownYear == m_model->m_maximumDate.year()) {
- end = m_model->m_maximumDate.month();
- if (m_model->m_shownMonth == m_model->m_maximumDate.month())
+ if (m_model->m_shownYear == m_model->m_maximumDate.year(cal)) {
+ end = m_model->m_maximumDate.month(cal);
+ if (m_model->m_shownMonth == m_model->m_maximumDate.month(cal))
nextEnabled = false;
}
prevMonth->setEnabled(prevEnabled);
nextMonth->setEnabled(nextEnabled);
- for (int i = 1; i <= 12; i++) {
+ for (int i = 1; i <= maxMonths; i++) {
bool monthEnabled = true;
if (i < beg || i > end)
monthEnabled = false;
@@ -1844,14 +1876,15 @@ void QCalendarWidgetPrivate::updateMonthMenuNames()
Q_Q(QCalendarWidget);
for (int i = 1; i <= 12; i++) {
- QString monthName(q->locale().standaloneMonthName(i, QLocale::LongFormat));
+ QString monthName(m_model->m_calendar.standaloneMonthName(q->locale(), i, QLocale::LongFormat));
monthToAction[i]->setText(monthName);
}
}
-void QCalendarWidgetPrivate::updateCurrentPage(const QDate &date)
+void QCalendarWidgetPrivate::updateCurrentPage(QDate date)
{
Q_Q(QCalendarWidget);
+ QCalendar cal = m_model->calendar();
QDate newDate = date;
QDate minDate = q->minimumDate();
@@ -1860,7 +1893,7 @@ void QCalendarWidgetPrivate::updateCurrentPage(const QDate &date)
newDate = minDate;
if (maxDate.isValid()&& maxDate.daysTo(newDate) > 0)
newDate = maxDate;
- showMonth(newDate.year(), newDate.month());
+ showMonth(newDate.year(cal), newDate.month(cal));
int row = -1, col = -1;
m_model->cellForDate(newDate, &row, &col);
if (row != -1 && col != -1)
@@ -1874,7 +1907,7 @@ void QCalendarWidgetPrivate::_q_monthChanged(QAction *act)
{
monthButton->setText(act->text());
QDate currentDate = getCurrentDate();
- QDate newDate = currentDate.addMonths(act->data().toInt()-currentDate.month());
+ QDate newDate = currentDate.addMonths(act->data().toInt() - currentDate.month(m_model->m_calendar), m_model->m_calendar);
updateCurrentPage(newDate);
}
@@ -1886,27 +1919,28 @@ QDate QCalendarWidgetPrivate::getCurrentDate()
void QCalendarWidgetPrivate::_q_prevMonthClicked()
{
- QDate currentDate = getCurrentDate().addMonths(-1);
+ QDate currentDate = getCurrentDate().addMonths(-1, m_model->m_calendar);
updateCurrentPage(currentDate);
}
void QCalendarWidgetPrivate::_q_nextMonthClicked()
{
- QDate currentDate = getCurrentDate().addMonths(1);
+ QDate currentDate = getCurrentDate().addMonths(1, m_model->m_calendar);
updateCurrentPage(currentDate);
}
void QCalendarWidgetPrivate::_q_yearEditingFinished()
{
Q_Q(QCalendarWidget);
- yearButton->setText(yearEdit->text());
+ yearButton->setText(q->locale().toString(yearEdit->value()));
yearEdit->hide();
q->setFocusPolicy(oldFocusPolicy);
qApp->removeEventFilter(q);
spaceHolder->changeSize(0, 0);
yearButton->show();
QDate currentDate = getCurrentDate();
- currentDate = currentDate.addYears(yearEdit->text().toInt() - currentDate.year());
+ int newYear = q->locale().toInt(yearEdit->text());
+ currentDate = currentDate.addYears(newYear - currentDate.year(m_model->m_calendar), m_model->m_calendar);
updateCurrentPage(currentDate);
}
@@ -1945,7 +1979,7 @@ void QCalendarWidgetPrivate::updateNavigationBar()
{
Q_Q(QCalendarWidget);
- QString monthName = q->locale().standaloneMonthName(m_model->m_shownMonth, QLocale::LongFormat);
+ QString monthName = m_model->m_calendar.standaloneMonthName(q->locale(), m_model->m_shownMonth, QLocale::LongFormat);
monthButton->setText(monthName);
yearEdit->setValue(m_model->m_shownYear);
@@ -1965,29 +1999,29 @@ void QCalendarWidgetPrivate::update()
}
}
-void QCalendarWidgetPrivate::paintCell(QPainter *painter, const QRect &rect, const QDate &date) const
+void QCalendarWidgetPrivate::paintCell(QPainter *painter, const QRect &rect, QDate date) const
{
Q_Q(const QCalendarWidget);
q->paintCell(painter, rect, date);
}
-void QCalendarWidgetPrivate::_q_slotShowDate(const QDate &date)
+void QCalendarWidgetPrivate::_q_slotShowDate(QDate date)
{
updateCurrentPage(date);
}
-void QCalendarWidgetPrivate::_q_slotChangeDate(const QDate &date)
+void QCalendarWidgetPrivate::_q_slotChangeDate(QDate date)
{
_q_slotChangeDate(date, true);
}
-void QCalendarWidgetPrivate::_q_slotChangeDate(const QDate &date, bool changeMonth)
+void QCalendarWidgetPrivate::_q_slotChangeDate(QDate date, bool changeMonth)
{
QDate oldDate = m_model->m_date;
m_model->setDate(date);
QDate newDate = m_model->m_date;
if (changeMonth)
- showMonth(newDate.year(), newDate.month());
+ showMonth(newDate.year(m_model->m_calendar), newDate.month(m_model->m_calendar));
if (oldDate != newDate) {
update();
Q_Q(QCalendarWidget);
@@ -2243,7 +2277,7 @@ QSize QCalendarWidget::minimumSizeHint() const
QFontMetrics fm = d->monthButton->fontMetrics();
int monthW = 0;
for (int i = 1; i < 12; i++) {
- QString monthName = locale().standaloneMonthName(i, QLocale::LongFormat);
+ QString monthName = d->m_model->m_calendar.standaloneMonthName(locale(), i, QLocale::LongFormat);
monthW = qMax(monthW, fm.boundingRect(monthName).width());
}
const int buttonDecoMargin = d->monthButton->sizeHint().width() - fm.boundingRect(d->monthButton->text()).width();
@@ -2303,7 +2337,8 @@ void QCalendarWidget::setSelectedDate(const QDate &date)
d->m_model->setDate(date);
d->update();
QDate newDate = d->m_model->m_date;
- d->showMonth(newDate.year(), newDate.month());
+ QCalendar cal = d->m_model->m_calendar;
+ d->showMonth(newDate.year(cal), newDate.month(cal));
emit selectionChanged();
}
@@ -2349,14 +2384,15 @@ void QCalendarWidget::setCurrentPage(int year, int month)
{
Q_D(QCalendarWidget);
QDate currentDate = d->getCurrentDate();
- int day = currentDate.day();
- int daysInMonths = QDate(year, month, 1).daysInMonth();
+ QCalendar cal = d->m_model->m_calendar;
+ int day = currentDate.day(cal);
+ int daysInMonths = cal.daysInMonth(year, month);
if (day > daysInMonths)
day = daysInMonths;
d->showMonth(year, month);
- QDate newDate(year, month, day);
+ QDate newDate(year, month, day, d->m_model->m_calendar);
int row = -1, col = -1;
d->m_model->cellForDate(newDate, &row, &col);
if (row != -1 && col != -1) {
@@ -2374,9 +2410,10 @@ void QCalendarWidget::setCurrentPage(int year, int month)
void QCalendarWidget::showNextMonth()
{
+ Q_D(const QCalendarWidget);
int year = yearShown();
int month = monthShown();
- if (month == 12) {
+ if (month == d->m_model->m_calendar.maxMonthsInYear()) {
++year;
month = 1;
} else {
@@ -2394,11 +2431,13 @@ void QCalendarWidget::showNextMonth()
void QCalendarWidget::showPreviousMonth()
{
+ Q_D(const QCalendarWidget);
+
int year = yearShown();
int month = monthShown();
if (month == 1) {
--year;
- month = 12;
+ month = d->m_model->m_calendar.maxMonthsInYear();
} else {
--month;
}
@@ -2444,8 +2483,10 @@ void QCalendarWidget::showPreviousYear()
*/
void QCalendarWidget::showSelectedDate()
{
+ Q_D(const QCalendarWidget);
+
QDate currentDate = selectedDate();
- setCurrentPage(currentDate.year(), currentDate.month());
+ setCurrentPage(currentDate.year(d->m_model->m_calendar), currentDate.month(d->m_model->m_calendar));
}
/*!
@@ -2455,8 +2496,10 @@ void QCalendarWidget::showSelectedDate()
*/
void QCalendarWidget::showToday()
{
+ Q_D(const QCalendarWidget);
+
QDate currentDate = QDate::currentDate();
- setCurrentPage(currentDate.year(), currentDate.month());
+ setCurrentPage(currentDate.year(d->m_model->m_calendar), currentDate.month(d->m_model->m_calendar));
}
/*!
@@ -2499,12 +2542,12 @@ void QCalendarWidget::setMinimumDate(const QDate &date)
QDate oldDate = d->m_model->m_date;
d->m_model->setMinimumDate(date);
- d->yearEdit->setMinimum(d->m_model->m_minimumDate.year());
+ d->yearEdit->setMinimum(d->m_model->m_minimumDate.year(d->m_model->m_calendar));
d->updateMonthMenu();
QDate newDate = d->m_model->m_date;
if (oldDate != newDate) {
d->update();
- d->showMonth(newDate.year(), newDate.month());
+ d->showMonth(newDate.year(d->m_model->m_calendar), newDate.month(d->m_model->m_calendar));
d->m_navigator->setDate(newDate);
emit selectionChanged();
}
@@ -2550,12 +2593,12 @@ void QCalendarWidget::setMaximumDate(const QDate &date)
QDate oldDate = d->m_model->m_date;
d->m_model->setMaximumDate(date);
- d->yearEdit->setMaximum(d->m_model->m_maximumDate.year());
+ d->yearEdit->setMaximum(d->m_model->m_maximumDate.year(d->m_model->m_calendar));
d->updateMonthMenu();
QDate newDate = d->m_model->m_date;
if (oldDate != newDate) {
d->update();
- d->showMonth(newDate.year(), newDate.month());
+ d->showMonth(newDate.year(d->m_model->m_calendar), newDate.month(d->m_model->m_calendar));
d->m_navigator->setDate(newDate);
emit selectionChanged();
}
@@ -2590,13 +2633,13 @@ void QCalendarWidget::setDateRange(const QDate &min, const QDate &max)
QDate oldDate = d->m_model->m_date;
d->m_model->setRange(min, max);
- d->yearEdit->setMinimum(d->m_model->m_minimumDate.year());
- d->yearEdit->setMaximum(d->m_model->m_maximumDate.year());
+ d->yearEdit->setMinimum(d->m_model->m_minimumDate.year(d->m_model->m_calendar));
+ d->yearEdit->setMaximum(d->m_model->m_maximumDate.year(d->m_model->m_calendar));
d->updateMonthMenu();
QDate newDate = d->m_model->m_date;
if (oldDate != newDate) {
d->update();
- d->showMonth(newDate.year(), newDate.month());
+ d->showMonth(newDate.year(d->m_model->m_calendar), newDate.month(d->m_model->m_calendar));
d->m_navigator->setDate(newDate);
emit selectionChanged();
}
@@ -2703,6 +2746,22 @@ bool QCalendarWidget::isGridVisible() const
return d->m_view->showGrid();
}
+QCalendar QCalendarWidget::calendar() const
+{
+ Q_D(const QCalendarWidget);
+ return d->m_model->m_calendar;
+}
+
+void QCalendarWidget::setCalendar(QCalendar c)
+{
+ Q_D(QCalendarWidget);
+ d->m_model->setCalendar(c);
+ d->updateMonthMenuNames();
+ d->yearEdit->setMinimum(d->m_model->m_minimumDate.year(d->m_model->m_calendar));
+ d->yearEdit->setMaximum(d->m_model->m_maximumDate.year(d->m_model->m_calendar));
+ d->updateNavigationBar();
+}
+
void QCalendarWidget::setGridVisible(bool show)
{
Q_D(QCalendarWidget);
@@ -3043,6 +3102,9 @@ bool QCalendarWidget::event(QEvent *event)
d->updateMonthMenuNames();
d->updateNavigationBar();
d->m_view->updateGeometry();
+ // TODO: fix this known bug of calendaring API:
+ // Changing locale before calendar works, but reverse order causes
+ // invalid month names (in C Locale apparently).
break;
case QEvent::FontChange:
case QEvent::ApplicationFontChange:
diff --git a/src/widgets/widgets/qcalendarwidget.h b/src/widgets/widgets/qcalendarwidget.h
index 44ba340289..08825a0ff3 100644
--- a/src/widgets/widgets/qcalendarwidget.h
+++ b/src/widgets/widgets/qcalendarwidget.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtWidgets module of the Qt Toolkit.
@@ -112,6 +112,9 @@ public:
bool isNavigationBarVisible() const;
bool isGridVisible() const;
+ QCalendar calendar() const;
+ void setCalendar(QCalendar calendar);
+
SelectionMode selectionMode() const;
void setSelectionMode(SelectionMode mode);
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp
index 8b54d61e8e..e73c63f657 100644
--- a/src/widgets/widgets/qcombobox.cpp
+++ b/src/widgets/widgets/qcombobox.cpp
@@ -64,7 +64,9 @@
#include <qheaderview.h>
#include <qmath.h>
#include <qmetaobject.h>
+#if QT_CONFIG(proxymodel)
#include <qabstractproxymodel.h>
+#endif
#include <qstylehints.h>
#include <private/qguiapplication_p.h>
#include <private/qhighdpiscaling_p.h>
@@ -200,6 +202,7 @@ QStyleOptionMenuItem QComboMenuDelegate::getStyleOption(const QStyleOptionViewIt
void QComboBoxPrivate::_q_completerActivated(const QModelIndex &index)
{
Q_Q(QComboBox);
+#if QT_CONFIG(proxymodel)
if (index.isValid() && q->completer()) {
QAbstractProxyModel *proxy = qobject_cast<QAbstractProxyModel *>(q->completer()->completionModel());
if (proxy) {
@@ -221,6 +224,7 @@ void QComboBoxPrivate::_q_completerActivated(const QModelIndex &index)
emitActivated(currentIndex);
}
}
+#endif
# ifdef QT_KEYPAD_NAVIGATION
if ( QApplicationPrivate::keypadNavigationEnabled()
@@ -443,13 +447,6 @@ void QComboBoxPrivateContainer::paintEvent(QPaintEvent *e)
void QComboBoxPrivateContainer::leaveEvent(QEvent *)
{
-// On Mac using the Mac style we want to clear the selection
-// when the mouse moves outside the popup.
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- QStyleOptionComboBox opt = comboStyleOption();
- if (combo->style()->styleHint(QStyle::SH_ComboBox_Popup, &opt, combo))
- view->clearSelection();
-#endif
}
QComboBoxPrivateContainer::QComboBoxPrivateContainer(QAbstractItemView *itemView, QComboBox *parent)
diff --git a/src/widgets/widgets/qdatetimeedit.cpp b/src/widgets/widgets/qdatetimeedit.cpp
index 3c92d4be0e..e26993fb23 100644
--- a/src/widgets/widgets/qdatetimeedit.cpp
+++ b/src/widgets/widgets/qdatetimeedit.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtWidgets module of the Qt Toolkit.
@@ -312,6 +312,22 @@ void QDateTimeEdit::setTime(const QTime &time)
}
+QCalendar QDateTimeEdit::calendar() const
+{
+ Q_D(const QDateTimeEdit);
+ return d->calendar;
+}
+
+void QDateTimeEdit::setCalendar(QCalendar calendar)
+{
+ Q_D(QDateTimeEdit);
+ // Set invalid date time to prevent runtime crashes on calendar change
+ QDateTime previousValue = d->value.toDateTime();
+ setDateTime(QDateTime());
+ d->setCalendar(calendar);
+ setDateTime(previousValue);
+}
+
/*!
\property QDateTimeEdit::minimumDateTime
\since 4.4
@@ -1125,16 +1141,6 @@ void QDateTimeEdit::keyPressEvent(QKeyEvent *event)
select = false;
break;
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- else
-#ifdef QT_KEYPAD_NAVIGATION
- if (!QApplicationPrivate::keypadNavigationEnabled())
-#endif
- {
- select = (event->modifiers() & Qt::ShiftModifier);
- break;
- }
-#endif
}
Q_FALLTHROUGH();
case Qt::Key_Backtab:
@@ -1354,7 +1360,7 @@ void QDateTimeEdit::stepBy(int steps)
QString QDateTimeEdit::textFromDateTime(const QDateTime &dateTime) const
{
Q_D(const QDateTimeEdit);
- return locale().toString(dateTime, d->displayFormat);
+ return locale().toString(dateTime, d->displayFormat, d->calendar);
}
@@ -1646,7 +1652,7 @@ QDateEdit::~QDateEdit()
QDateTimeEditPrivate::QDateTimeEditPrivate()
- : QDateTimeParser(QVariant::DateTime, QDateTimeParser::DateTimeEdit)
+ : QDateTimeParser(QVariant::DateTime, QDateTimeParser::DateTimeEdit, QCalendar())
{
hasHadFocus = false;
formatExplicitlySet = false;
@@ -1671,10 +1677,6 @@ QDateTimeEditPrivate::QDateTimeEditPrivate()
#endif
}
-QDateTimeEditPrivate::~QDateTimeEditPrivate()
-{
-}
-
void QDateTimeEditPrivate::updateTimeSpec()
{
minimum = minimum.toDateTime().toTimeSpec(spec);
@@ -2018,8 +2020,7 @@ QDateTime QDateTimeEditPrivate::stepBy(int sectionIndex, int steps, bool test) c
val = (wrapping ? min + val - max - 1 : max);
}
-
- const int oldDay = v.date().day();
+ const int oldDay = v.date().day(calendar);
setDigit(v, sectionIndex, val);
// if this sets year or month it will make
@@ -2038,10 +2039,10 @@ QDateTime QDateTimeEditPrivate::stepBy(int sectionIndex, int steps, bool test) c
if (steps > 0) {
setDigit(v, sectionIndex, min);
if (!(sn.type & DaySectionMask) && sections & DateSectionMask) {
- const int daysInMonth = v.date().daysInMonth();
- if (v.date().day() < oldDay && v.date().day() < daysInMonth) {
+ const int daysInMonth = v.date().daysInMonth(calendar);
+ if (v.date().day(calendar) < oldDay && v.date().day(calendar) < daysInMonth) {
const int adds = qMin(oldDay, daysInMonth);
- v = v.addDays(adds - v.date().day());
+ v = v.addDays(adds - v.date().day(calendar));
}
}
@@ -2053,10 +2054,10 @@ QDateTime QDateTimeEditPrivate::stepBy(int sectionIndex, int steps, bool test) c
} else {
setDigit(v, sectionIndex, max);
if (!(sn.type & DaySectionMask) && sections & DateSectionMask) {
- const int daysInMonth = v.date().daysInMonth();
- if (v.date().day() < oldDay && v.date().day() < daysInMonth) {
+ const int daysInMonth = v.date().daysInMonth(calendar);
+ if (v.date().day(calendar) < oldDay && v.date().day(calendar) < daysInMonth) {
const int adds = qMin(oldDay, daysInMonth);
- v = v.addDays(adds - v.date().day());
+ v = v.addDays(adds - v.date().day(calendar));
}
}
@@ -2070,7 +2071,7 @@ QDateTime QDateTimeEditPrivate::stepBy(int sectionIndex, int steps, bool test) c
setDigit(v, sectionIndex, (steps > 0 ? localmax : localmin));
}
}
- if (!test && oldDay != v.date().day() && !(sn.type & DaySectionMask)) {
+ if (!test && oldDay != v.date().day(calendar) && !(sn.type & DaySectionMask)) {
// this should not happen when called from stepEnabled
cachedDay = qMax<int>(oldDay, cachedDay);
}
@@ -2523,7 +2524,7 @@ void QDateTimeEditPrivate::initCalendarPopup(QCalendarWidget *cw)
{
Q_Q(QDateTimeEdit);
if (!monthCalendar) {
- monthCalendar = new QCalendarPopup(q, cw);
+ monthCalendar = new QCalendarPopup(q, cw, calendar);
monthCalendar->setObjectName(QLatin1String("qt_datetimedit_calendar"));
QObject::connect(monthCalendar, SIGNAL(newDateSelected(QDate)), q, SLOT(setDate(QDate)));
QObject::connect(monthCalendar, SIGNAL(hidingCalendar(QDate)), q, SLOT(setDate(QDate)));
@@ -2584,8 +2585,8 @@ void QDateTimeEditPrivate::syncCalendarWidget()
}
}
-QCalendarPopup::QCalendarPopup(QWidget * parent, QCalendarWidget *cw)
- : QWidget(parent, Qt::Popup)
+QCalendarPopup::QCalendarPopup(QWidget *parent, QCalendarWidget *cw, QCalendar ca)
+ : QWidget(parent, Qt::Popup), calendarSystem(ca)
{
setAttribute(Qt::WA_WindowPropagation);
@@ -2601,6 +2602,7 @@ QCalendarWidget *QCalendarPopup::verifyCalendarInstance()
{
if (calendar.isNull()) {
QCalendarWidget *cw = new QCalendarWidget(this);
+ cw->setCalendar(calendarSystem);
cw->setVerticalHeaderFormat(QCalendarWidget::NoVerticalHeader);
#ifdef QT_KEYPAD_NAVIGATION
if (QApplicationPrivate::keypadNavigationEnabled())
@@ -2634,13 +2636,13 @@ void QCalendarPopup::setCalendarWidget(QCalendarWidget *cw)
}
-void QCalendarPopup::setDate(const QDate &date)
+void QCalendarPopup::setDate(QDate date)
{
oldDate = date;
verifyCalendarInstance()->setSelectedDate(date);
}
-void QCalendarPopup::setDateRange(const QDate &min, const QDate &max)
+void QCalendarPopup::setDateRange(QDate min, QDate max)
{
QCalendarWidget *cw = verifyCalendarInstance();
cw->setMinimumDate(min);
@@ -2684,7 +2686,7 @@ void QCalendarPopup::dateSelectionChanged()
dateChanged = true;
emit newDateSelected(verifyCalendarInstance()->selectedDate());
}
-void QCalendarPopup::dateSelected(const QDate &date)
+void QCalendarPopup::dateSelected(QDate date)
{
dateChanged = true;
emit activated(date);
diff --git a/src/widgets/widgets/qdatetimeedit.h b/src/widgets/widgets/qdatetimeedit.h
index b6fb35fc71..03994675ae 100644
--- a/src/widgets/widgets/qdatetimeedit.h
+++ b/src/widgets/widgets/qdatetimeedit.h
@@ -42,6 +42,7 @@
#include <QtWidgets/qtwidgetsglobal.h>
#include <QtCore/qdatetime.h>
+#include <QtCore/qcalendar.h>
#include <QtCore/qvariant.h>
#include <QtWidgets/qabstractspinbox.h>
@@ -102,6 +103,9 @@ public:
QDate date() const;
QTime time() const;
+ QCalendar calendar() const;
+ void setCalendar(QCalendar calendar);
+
QDateTime minimumDateTime() const;
void clearMinimumDateTime();
void setMinimumDateTime(const QDateTime &dt);
diff --git a/src/widgets/widgets/qdatetimeedit_p.h b/src/widgets/widgets/qdatetimeedit_p.h
index c05e7d9b48..dcf8863c8b 100644
--- a/src/widgets/widgets/qdatetimeedit_p.h
+++ b/src/widgets/widgets/qdatetimeedit_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtWidgets module of the Qt Toolkit.
@@ -52,6 +52,7 @@
//
#include <QtWidgets/private/qtwidgetsglobal_p.h>
+#include <QtCore/qcalendar.h>
#include "QtWidgets/qcalendarwidget.h"
#include "QtWidgets/qspinbox.h"
#include "QtWidgets/qtoolbutton.h"
@@ -70,7 +71,6 @@ class Q_AUTOTEST_EXPORT QDateTimeEditPrivate : public QAbstractSpinBoxPrivate, p
Q_DECLARE_PUBLIC(QDateTimeEdit)
public:
QDateTimeEditPrivate();
- ~QDateTimeEditPrivate();
void init(const QVariant &var);
void readLocaleSettings();
@@ -145,21 +145,22 @@ class QCalendarPopup : public QWidget
{
Q_OBJECT
public:
- explicit QCalendarPopup(QWidget *parent = nullptr, QCalendarWidget *cw = nullptr);
+ explicit QCalendarPopup(QWidget *parent = nullptr, QCalendarWidget *cw = nullptr,
+ QCalendar ca = QCalendar());
QDate selectedDate() { return verifyCalendarInstance()->selectedDate(); }
- void setDate(const QDate &date);
- void setDateRange(const QDate &min, const QDate &max);
+ void setDate(QDate date);
+ void setDateRange(QDate min, QDate max);
void setFirstDayOfWeek(Qt::DayOfWeek dow) { verifyCalendarInstance()->setFirstDayOfWeek(dow); }
QCalendarWidget *calendarWidget() const { return const_cast<QCalendarPopup*>(this)->verifyCalendarInstance(); }
void setCalendarWidget(QCalendarWidget *cw);
Q_SIGNALS:
- void activated(const QDate &date);
- void newDateSelected(const QDate &newDate);
- void hidingCalendar(const QDate &oldDate);
+ void activated(QDate date);
+ void newDateSelected(QDate newDate);
+ void hidingCalendar(QDate oldDate);
void resetButton();
private Q_SLOTS:
- void dateSelected(const QDate &date);
+ void dateSelected(QDate date);
void dateSelectionChanged();
protected:
@@ -174,6 +175,7 @@ private:
QPointer<QCalendarWidget> calendar;
QDate oldDate;
bool dateChanged;
+ QCalendar calendarSystem;
};
QT_END_NAMESPACE
diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp
index 55ae42db04..5900326087 100644
--- a/src/widgets/widgets/qdockarealayout.cpp
+++ b/src/widgets/widgets/qdockarealayout.cpp
@@ -138,11 +138,8 @@ bool QDockAreaLayoutItem::skip() const
QSize QDockAreaLayoutItem::minimumSize() const
{
- if (widgetItem != 0) {
- int left, top, right, bottom;
- widgetItem->widget()->getContentsMargins(&left, &top, &right, &bottom);
- return widgetItem->minimumSize() + QSize(left+right, top+bottom);
- }
+ if (widgetItem)
+ return widgetItem->minimumSize().grownBy(widgetItem->widget()->contentsMargins());
if (subinfo != 0)
return subinfo->minimumSize();
return QSize(0, 0);
@@ -150,11 +147,8 @@ QSize QDockAreaLayoutItem::minimumSize() const
QSize QDockAreaLayoutItem::maximumSize() const
{
- if (widgetItem != 0) {
- int left, top, right, bottom;
- widgetItem->widget()->getContentsMargins(&left, &top, &right, &bottom);
- return widgetItem->maximumSize()+ QSize(left+right, top+bottom);
- }
+ if (widgetItem)
+ return widgetItem->maximumSize().grownBy(widgetItem->widget()->contentsMargins());
if (subinfo != 0)
return subinfo->maximumSize();
return QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
@@ -180,11 +174,8 @@ QSize QDockAreaLayoutItem::sizeHint() const
{
if (placeHolderItem != 0)
return QSize(0, 0);
- if (widgetItem != 0) {
- int left, top, right, bottom;
- widgetItem->widget()->getContentsMargins(&left, &top, &right, &bottom);
- return widgetItem->sizeHint() + QSize(left+right, top+bottom);
- }
+ if (widgetItem)
+ return widgetItem->sizeHint().grownBy(widgetItem->widget()->contentsMargins());
if (subinfo != 0)
return subinfo->sizeHint();
return QSize(-1, -1);
@@ -1934,11 +1925,6 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList<QDockWidget*>
QDockAreaLayoutItem item(new QDockWidgetItem(widget));
if (flags & StateFlagFloating) {
bool drawer = false;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC // drawer support
- extern bool qt_mac_is_macdrawer(const QWidget *); //qwidget_mac.cpp
- extern bool qt_mac_set_drawer_preferred_edge(QWidget *, Qt::DockWidgetArea); //qwidget_mac.cpp
- drawer = qt_mac_is_macdrawer(widget);
-#endif
if (!testing) {
widget->hide();
@@ -1949,13 +1935,6 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList<QDockWidget*>
int x, y, w, h;
stream >> x >> y >> w >> h;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC // drawer support
- if (drawer) {
- mainWindow->window()->createWinId();
- widget->window()->createWinId();
- qt_mac_set_drawer_preferred_edge(widget, toDockWidgetArea(dockPos));
- } else
-#endif
if (!testing)
widget->setGeometry(QDockAreaLayout::constrainedRect(QRect(x, y, w, h), widget));
@@ -2049,9 +2028,8 @@ void QDockAreaLayoutInfo::updateSeparatorWidgets() const
}
j++;
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
sepWidget->raise();
-#endif
+
QRect sepRect = separatorRect(i).adjusted(-2, -2, 2, 2);
sepWidget->setGeometry(sepRect);
sepWidget->setMask( QRegion(separatorRect(i).translated( - sepRect.topLeft())));
@@ -3090,10 +3068,6 @@ bool QDockAreaLayout::restoreDockWidget(QDockWidget *dockWidget)
dockWidget->d_func()->setWindowState(true, true, r);
}
dockWidget->setVisible(!placeHolder->hidden);
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- if (placeHolder->window) // gets rid of the X11BypassWindowManager window flag
- dockWidget->d_func()->setWindowState(true);
-#endif
item->placeHolderItem = 0;
delete placeHolder;
@@ -3340,9 +3314,8 @@ void QDockAreaLayout::updateSeparatorWidgets() const
}
j++;
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
sepWidget->raise();
-#endif
+
QRect sepRect = separatorRect(i).adjusted(-2, -2, 2, 2);
sepWidget->setGeometry(sepRect);
sepWidget->setMask( QRegion(separatorRect(i).translated( - sepRect.topLeft())));
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
index 28a7cee2a0..05ec3aface 100644
--- a/src/widgets/widgets/qdockwidget.cpp
+++ b/src/widgets/widgets/qdockwidget.cpp
@@ -381,11 +381,10 @@ QSize QDockWidgetLayout::sizeFromContent(const QSize &content, bool floating) co
if (content.height() < 0)
result.setHeight(-1);
- int left, top, right, bottom;
- w->getContentsMargins(&left, &top, &right, &bottom);
+ const QMargins margins = w->contentsMargins();
//we need to subtract the contents margin (it will be added by the caller)
- QSize min = w->minimumSize() - QSize(left + right, top + bottom);
- QSize max = w->maximumSize() - QSize(left + right, top + bottom);
+ QSize min = w->minimumSize().shrunkBy(margins);
+ QSize max = w->maximumSize().shrunkBy(margins);
/* A floating dockwidget will automatically get its minimumSize set to the layout's
minimum size + deco. We're *not* interested in this, we only take minimumSize()
@@ -977,11 +976,7 @@ bool QDockWidgetPrivate::mouseMoveEvent(QMouseEvent *event)
&& (event->pos() - state->pressPos).manhattanLength()
> QApplication::startDragDistance()) {
startDrag();
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- grabMouseWhileInWindow();
-#else
q->grabMouse();
-#endif
ret = true;
}
}
@@ -1029,13 +1024,6 @@ void QDockWidgetPrivate::nonClientAreaMouseEvent(QMouseEvent *event)
QWidget *tl = q->topLevelWidget();
QRect geo = tl->geometry();
QRect titleRect = tl->frameGeometry();
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if ((features & QDockWidget::DockWidgetVerticalTitleBar)) {
- titleRect.setTop(geo.top());
- titleRect.setBottom(geo.bottom());
- titleRect.setRight(geo.left() - 1);
- } else
-#endif
{
titleRect.setLeft(geo.left());
titleRect.setRight(geo.right());
@@ -1588,17 +1576,6 @@ bool QDockWidget::event(QEvent *event)
if (d->mouseMoveEvent(static_cast<QMouseEvent *>(event)))
return true;
break;
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- case QEvent::Leave:
- if (d->state != 0 && d->state->dragging && !d->state->nca) {
- // This is a workaround for loosing the mouse on Vista.
- QPoint pos = QCursor::pos();
- QMouseEvent fake(QEvent::MouseMove, mapFromGlobal(pos), pos, Qt::NoButton,
- QGuiApplication::mouseButtons(), QGuiApplication::keyboardModifiers());
- d->mouseMoveEvent(&fake);
- }
- break;
-#endif
case QEvent::MouseButtonRelease:
if (d->mouseReleaseEvent(static_cast<QMouseEvent *>(event)))
return true;
diff --git a/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm b/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm
index 0b64b2a2bb..88baf0410b 100644
--- a/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm
+++ b/src/widgets/widgets/qmaccocoaviewcontainer_mac.mm
@@ -82,8 +82,32 @@
The following is a snippet showing how to subclass QMacCocoaViewContainer
to wrap an NSSearchField.
- \snippet macmainwindow.mm 0
+ \code
+ SearchWidget::SearchWidget(QWidget *parent)
+ : QMacCocoaViewContainer(0, parent)
+ {
+ // Many Cocoa objects create temporary autorelease objects,
+ // so create a pool to catch them.
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
+ // Create the NSSearchField, set it on the QCocoaViewContainer.
+ NSSearchField *search = [[NSSearchField alloc] init];
+ setCocoaView(search);
+
+ // Use a Qt menu for the search field menu.
+ QMenu *qtMenu = createMenu(this);
+ NSMenu *nsMenu = qtMenu->macMenu(0);
+ [[search cell] setSearchMenuTemplate:nsMenu];
+
+ // Release our reference, since our super class takes ownership and we
+ // don't need it anymore.
+ [search release];
+
+ // Clean up our pool as we no longer need it.
+ [pool release];
+ }
+ \endcode
*/
QT_BEGIN_NAMESPACE
diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp
index c7b7e5bf97..6e3de1b1ff 100644
--- a/src/widgets/widgets/qmdiarea.cpp
+++ b/src/widgets/widgets/qmdiarea.cpp
@@ -2493,13 +2493,6 @@ bool QMdiArea::event(QEvent *event)
{
Q_D(QMdiArea);
switch (event->type()) {
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- // QWidgetPrivate::hide_helper activates another sub-window when closing a
- // modal dialog on Windows (see activateWindow() inside the ifdef).
- case QEvent::WindowUnblocked:
- d->activateCurrentWindow();
- break;
-#endif
case QEvent::WindowActivate: {
d->isActivated = true;
if (d->childWindows.isEmpty())
@@ -2557,11 +2550,7 @@ bool QMdiArea::eventFilter(QObject *object, QEvent *event)
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
// Ingore key events without a Ctrl modifier (except for press/release on the modifier itself).
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (!(keyEvent->modifiers() & Qt::MetaModifier) && keyEvent->key() != Qt::Key_Meta)
-#else
if (!(keyEvent->modifiers() & Qt::ControlModifier) && keyEvent->key() != Qt::Key_Control)
-#endif
return QAbstractScrollArea::eventFilter(object, event);
// Find closest mdi area (in case we have a nested workspace).
@@ -2576,11 +2565,7 @@ bool QMdiArea::eventFilter(QObject *object, QEvent *event)
// 3) Ctrl-Shift-Tab (Tab, Tab, ...) -> iterate through all windows in the opposite
// direction (activatePreviousSubWindow())
switch (keyEvent->key()) {
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- case Qt::Key_Meta:
-#else
case Qt::Key_Control:
-#endif
if (keyPress)
area->d_func()->startTabToPreviousTimer();
else
diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp
index 474cce983c..d58a1d06db 100644
--- a/src/widgets/widgets/qmdisubwindow.cpp
+++ b/src/widgets/widgets/qmdisubwindow.cpp
@@ -288,13 +288,6 @@ static inline bool isHoverControl(QStyle::SubControl control)
return control != QStyle::SC_None && control != QStyle::SC_TitleBarLabel;
}
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
-static inline QRgb colorref2qrgb(COLORREF col)
-{
- return qRgb(GetRValue(col),GetGValue(col),GetBValue(col));
-}
-#endif
-
#ifndef QT_NO_TOOLTIP
static void showToolTip(QHelpEvent *helpEvent, QWidget *widget, const QStyleOptionComplex &opt,
QStyle::ComplexControl complexControl, QStyle::SubControl subControl)
@@ -1926,43 +1919,7 @@ QPalette QMdiSubWindowPrivate::desktopPalette() const
QPalette newPalette = q->palette();
bool colorsInitialized = false;
-#if 0 // Used to be included in Qt4 for Q_WS_WIN // ask system properties on windows
-#ifndef SPI_GETGRADIENTCAPTIONS
-#define SPI_GETGRADIENTCAPTIONS 0x1008
-#endif
-#ifndef COLOR_GRADIENTACTIVECAPTION
-#define COLOR_GRADIENTACTIVECAPTION 27
-#endif
-#ifndef COLOR_GRADIENTINACTIVECAPTION
-#define COLOR_GRADIENTINACTIVECAPTION 28
-#endif
- if (QGuiApplication::desktopSettingsAware()) {
- newPalette.setColor(QPalette::Active, QPalette::Highlight,
- colorref2qrgb(GetSysColor(COLOR_ACTIVECAPTION)));
- newPalette.setColor(QPalette::Inactive, QPalette::Highlight,
- colorref2qrgb(GetSysColor(COLOR_INACTIVECAPTION)));
- newPalette.setColor(QPalette::Active, QPalette::HighlightedText,
- colorref2qrgb(GetSysColor(COLOR_CAPTIONTEXT)));
- newPalette.setColor(QPalette::Inactive, QPalette::HighlightedText,
- colorref2qrgb(GetSysColor(COLOR_INACTIVECAPTIONTEXT)));
- colorsInitialized = true;
- BOOL hasGradient = false;
- SystemParametersInfo(SPI_GETGRADIENTCAPTIONS, 0, &hasGradient, 0);
-
- if (hasGradient) {
- newPalette.setColor(QPalette::Active, QPalette::Base,
- colorref2qrgb(GetSysColor(COLOR_GRADIENTACTIVECAPTION)));
- newPalette.setColor(QPalette::Inactive, QPalette::Base,
- colorref2qrgb(GetSysColor(COLOR_GRADIENTINACTIVECAPTION)));
- } else {
- newPalette.setColor(QPalette::Active, QPalette::Base,
- newPalette.color(QPalette::Active, QPalette::Highlight));
- newPalette.setColor(QPalette::Inactive, QPalette::Base,
- newPalette.color(QPalette::Inactive, QPalette::Highlight));
- }
- }
-#endif
if (!colorsInitialized) {
newPalette.setColor(QPalette::Active, QPalette::Highlight,
newPalette.color(QPalette::Active, QPalette::Highlight));
diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp
index 8843797430..0a81931b57 100644
--- a/src/widgets/widgets/qplaintextedit.cpp
+++ b/src/widgets/widgets/qplaintextedit.cpp
@@ -825,9 +825,6 @@ void QPlainTextEditPrivate::init(const QString &txt)
viewport->setCursor(Qt::IBeamCursor);
#endif
originalOffsetY = 0;
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- setSingleFingerPanEnabled(true);
-#endif
}
void QPlainTextEditPrivate::_q_textChanged()
diff --git a/src/widgets/widgets/qpushbutton.cpp b/src/widgets/widgets/qpushbutton.cpp
index b578aa0b18..f48b5706f7 100644
--- a/src/widgets/widgets/qpushbutton.cpp
+++ b/src/widgets/widgets/qpushbutton.cpp
@@ -684,38 +684,6 @@ bool QPushButton::event(QEvent *e)
return QAbstractButton::event(e);
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-/* \reimp */
-bool QPushButton::hitButton(const QPoint &pos) const
-{
- QStyleOptionButton opt;
- initStyleOption(&opt);
- if (qt_mac_buttonIsRenderedFlat(this, &opt))
- return QAbstractButton::hitButton(pos);
-
- // Now that we know we are using the native style, let's proceed.
- Q_D(const QPushButton);
- QPushButtonPrivate *nonConst = const_cast<QPushButtonPrivate *>(d);
- // In OSX buttons are round, which causes the hit method to be special.
- // We cannot simply relay on detecting if something is inside the rect or not,
- // we need to check if it is inside the "rounded area" or not. A point might
- // be inside the rect but not inside the rounded area.
- // Notice this method is only reimplemented for OSX.
- return nonConst->hitButton(pos);
-}
-
-bool QPushButtonPrivate::hitButton(const QPoint &pos)
-{
- Q_Q(QPushButton);
- QRect roundedRect(q->rect().left() + QMacStylePrivate::PushButtonLeftOffset,
- q->rect().top() + QMacStylePrivate::PushButtonContentPadding,
- q->rect().width() - QMacStylePrivate::PushButtonRightOffset,
- q->rect().height() - QMacStylePrivate::PushButtonBottomOffset);
- return roundedRect.contains(pos);
-}
-#endif
-
-
QT_END_NAMESPACE
#include "moc_qpushbutton.cpp"
diff --git a/src/widgets/widgets/qpushbutton_p.h b/src/widgets/widgets/qpushbutton_p.h
index a58675fe64..439b6e35d6 100644
--- a/src/widgets/widgets/qpushbutton_p.h
+++ b/src/widgets/widgets/qpushbutton_p.h
@@ -73,9 +73,6 @@ public:
inline void init() { resetLayoutItemMargins(); }
static QPushButtonPrivate* get(QPushButton *b) { return b->d_func(); }
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- bool hitButton(const QPoint &pos);
-#endif
#if QT_CONFIG(menu)
QPoint adjustedMenuPosition();
#endif
diff --git a/src/widgets/widgets/qrubberband.cpp b/src/widgets/widgets/qrubberband.cpp
index ade8675db8..af730f8023 100644
--- a/src/widgets/widgets/qrubberband.cpp
+++ b/src/widgets/widgets/qrubberband.cpp
@@ -45,10 +45,6 @@
#include "qstyle.h"
#include "qstyleoption.h"
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-# include <private/qt_mac_p.h>
-# include <private/qt_cocoa_helpers_mac_p.h>
-#endif
#include <qdebug.h>
@@ -140,18 +136,9 @@ QRubberBand::QRubberBand(Shape s, QWidget *p)
Q_D(QRubberBand);
d->shape = s;
setAttribute(Qt::WA_TransparentForMouseEvents);
-#if 1 // Used to be excluded in Qt4 for Q_WS_WIN
setAttribute(Qt::WA_NoSystemBackground);
-#endif
setAttribute(Qt::WA_WState_ExplicitShowHide);
setVisible(false);
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (isWindow()) {
- createWinId();
- extern OSWindowRef qt_mac_window_for(const QWidget *); //qwidget_mac.cpp
- macWindowSetHasShadow(qt_mac_window_for(this), false);
- }
-#endif
}
/*!
diff --git a/src/widgets/widgets/qsizegrip.cpp b/src/widgets/widgets/qsizegrip.cpp
index dc5a7158dd..835af9c7b8 100644
--- a/src/widgets/widgets/qsizegrip.cpp
+++ b/src/widgets/widgets/qsizegrip.cpp
@@ -50,10 +50,6 @@
#include "qdebug.h"
#include <QDesktopWidget>
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-#include <private/qt_mac_p.h>
-#endif
-
#include <private/qwidget_p.h>
#include <private/qdesktopwidget_p.h>
#include <QtWidgets/qabstractscrollarea.h>
@@ -81,9 +77,7 @@ public:
Qt::Corner m_corner;
bool gotMousePress;
QPointer<QWidget> tlw;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- void updateMacSizer(bool hide) const;
-#endif
+
Qt::Corner corner() const;
inline bool atBottom() const
{
@@ -119,9 +113,7 @@ public:
updateTopLevelWidget();
if (tlw && showSizeGrip) {
Qt::WindowStates sizeGripNotVisibleState = Qt::WindowFullScreen;
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
sizeGripNotVisibleState |= Qt::WindowMaximized;
-#endif
// Don't show the size grip if the tlw is maximized or in full screen mode.
showSizeGrip = !(tlw->windowState() & sizeGripNotVisibleState);
}
@@ -141,18 +133,6 @@ QSizeGripPrivate::QSizeGripPrivate()
{
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-void QSizeGripPrivate::updateMacSizer(bool hide) const
-{
- Q_Q(const QSizeGrip);
- if (QApplication::closingDown() || !parent)
- return;
- QWidget *topLevelWindow = qt_sizegrip_topLevelWidget(const_cast<QSizeGrip *>(q));
- if(topLevelWindow && topLevelWindow->isWindow())
- QWidgetPrivate::qt_mac_update_sizer(topLevelWindow, hide ? -1 : 1);
-}
-#endif
-
Qt::Corner QSizeGripPrivate::corner() const
{
Q_Q(const QSizeGrip);
@@ -227,7 +207,7 @@ void QSizeGripPrivate::init()
Q_Q(QSizeGrip);
m_corner = q->isLeftToRight() ? Qt::BottomRightCorner : Qt::BottomLeftCorner;
-#if !defined(QT_NO_CURSOR) && !0 /* Used to be included in Qt4 for Q_WS_MAC */
+#if !defined(QT_NO_CURSOR)
q->setCursor(m_corner == Qt::TopLeftCorner || m_corner == Qt::BottomRightCorner
? Qt::SizeFDiagCursor : Qt::SizeBDiagCursor);
#endif
@@ -440,7 +420,7 @@ void QSizeGrip::moveEvent(QMoveEvent * /*moveEvent*/)
return;
d->m_corner = d->corner();
-#if !defined(QT_NO_CURSOR) && !0 /* Used to be included in Qt4 for Q_WS_MAC */
+#if !defined(QT_NO_CURSOR)
setCursor(d->m_corner == Qt::TopLeftCorner || d->m_corner == Qt::BottomRightCorner
? Qt::SizeFDiagCursor : Qt::SizeBDiagCursor);
#endif
@@ -451,9 +431,6 @@ void QSizeGrip::moveEvent(QMoveEvent * /*moveEvent*/)
*/
void QSizeGrip::showEvent(QShowEvent *showEvent)
{
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- d_func()->updateMacSizer(false);
-#endif
QWidget::showEvent(showEvent);
}
@@ -462,9 +439,6 @@ void QSizeGrip::showEvent(QShowEvent *showEvent)
*/
void QSizeGrip::hideEvent(QHideEvent *hideEvent)
{
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- d_func()->updateMacSizer(true);
-#endif
QWidget::hideEvent(hideEvent);
}
@@ -486,9 +460,7 @@ bool QSizeGrip::eventFilter(QObject *o, QEvent *e)
return QWidget::eventFilter(o, e);
}
Qt::WindowStates sizeGripNotVisibleState = Qt::WindowFullScreen;
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
sizeGripNotVisibleState |= Qt::WindowMaximized;
-#endif
// Don't show the size grip if the tlw is maximized or in full screen mode.
setVisible(!(d->tlw->windowState() & sizeGripNotVisibleState));
setAttribute(Qt::WA_WState_ExplicitShowHide, false);
diff --git a/src/widgets/widgets/qstatusbar.cpp b/src/widgets/widgets/qstatusbar.cpp
index e9044e6cad..39f0f11daf 100644
--- a/src/widgets/widgets/qstatusbar.cpp
+++ b/src/widgets/widgets/qstatusbar.cpp
@@ -90,10 +90,6 @@ public:
int savedStrut;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- QPoint dragStart;
-#endif
-
int indexToLastNonPermanentWidget() const
{
int i = items.size() - 1;
@@ -747,44 +743,7 @@ bool QStatusBar::event(QEvent *e)
}
}
-// On Mac OS X Leopard it is possible to drag the window by clicking
-// on the tool bar on most applications.
-#if 1 // Used to be excluded in Qt4 for Q_WS_MAC
return QWidget::event(e);
-#else
- // Enable drag-click only if the status bar is the status bar for a
- // QMainWindow with a unifed toolbar.
- if (parent() == 0 || qobject_cast<QMainWindow *>(parent()) == 0 ||
- qobject_cast<QMainWindow *>(parent())->unifiedTitleAndToolBarOnMac() == false )
- return QWidget::event(e);
-
- // Check for mouse events.
- QMouseEvent *mouseEvent;
- if (e->type() == QEvent::MouseButtonPress ||
- e->type() == QEvent::MouseMove ||
- e->type() == QEvent::MouseButtonRelease) {
- mouseEvent = static_cast <QMouseEvent*>(e);
- } else {
- return QWidget::event(e);
- }
-
- // The following is a standard mouse drag handler.
- if (e->type() == QEvent::MouseButtonPress && (mouseEvent->button() == Qt::LeftButton)) {
- d->dragStart = mouseEvent->pos();
- } else if (e->type() == QEvent::MouseMove){
- if (d->dragStart == QPoint())
- return QWidget::event(e);
- QPoint pos = mouseEvent->pos();
- QPoint delta = (pos - d->dragStart);
- window()->move(window()->pos() + delta);
- } else if (e->type() == QEvent::MouseButtonRelease && (mouseEvent->button() == Qt::LeftButton)){
- d->dragStart = QPoint();
- } else {
- return QWidget::event(e);
- }
-
- return true;
-#endif
}
QT_END_NAMESPACE
diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp
index 18fda11ddf..7e1794efef 100644
--- a/src/widgets/widgets/qtabbar.cpp
+++ b/src/widgets/widgets/qtabbar.cpp
@@ -68,11 +68,6 @@
#include "private/qapplication_p.h"
#include "private/qtabbar_p.h"
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
-#include <private/qt_mac_p.h>
-#include <private/qt_cocoa_helpers_mac_p.h>
-#endif
-
QT_BEGIN_NAMESPACE
namespace {
@@ -1976,9 +1971,7 @@ void QTabBar::mousePressEvent(QMouseEvent *event)
d->moveTabFinished(d->pressedIndex);
d->pressedIndex = d->indexAtPos(event->pos());
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- d->previousPressedIndex = d->pressedIndex;
-#endif
+
if (d->validIndex(d->pressedIndex)) {
QStyleOptionTabBarBase optTabBase;
optTabBase.init(this);
@@ -2058,17 +2051,6 @@ void QTabBar::mouseMoveEvent(QMouseEvent *event)
update();
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- } else if (!d->documentMode && event->buttons() == Qt::LeftButton && d->previousPressedIndex != -1) {
- int newPressedIndex = d->indexAtPos(event->pos());
- if (d->pressedIndex == -1 && d->previousPressedIndex == newPressedIndex) {
- d->pressedIndex = d->previousPressedIndex;
- update(tabRect(d->pressedIndex));
- } else if(d->pressedIndex != newPressedIndex) {
- d->pressedIndex = -1;
- update(tabRect(d->previousPressedIndex));
- }
-#endif
}
if (event->buttons() != Qt::LeftButton) {
@@ -2162,9 +2144,7 @@ void QTabBar::mouseReleaseEvent(QMouseEvent *event)
event->ignore();
return;
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- d->previousPressedIndex = -1;
-#endif
+
if (d->movable && d->dragInProgress && d->validIndex(d->pressedIndex)) {
int length = d->tabList[d->pressedIndex].dragOffset;
int width = verticalTabs(d->shape)
diff --git a/src/widgets/widgets/qtabbar_p.h b/src/widgets/widgets/qtabbar_p.h
index 458d486b10..5552c43548 100644
--- a/src/widgets/widgets/qtabbar_p.h
+++ b/src/widgets/widgets/qtabbar_p.h
@@ -93,9 +93,6 @@ public:
selectionBehaviorOnRemove(QTabBar::SelectRightTab), paintWithOffsets(true), movable(false),
dragInProgress(false), documentMode(false), autoHide(false), changeCurrentOnDrag(false),
switchTabCurrentIndex(-1), switchTabTimerId(0), movingTab(nullptr)
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- , previousPressedIndex(-1)
-#endif
{}
int currentIndex;
@@ -232,9 +229,6 @@ public:
int switchTabTimerId;
QMovableTabWidget *movingTab;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- int previousPressedIndex;
-#endif
// shared by tabwidget and qtabbar
static void initStyleBaseOption(QStyleOptionTabBarBase *optTabBase, QTabBar *tabbar, QSize size)
{
diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp
index bd9e5f8159..0ccbad7eaa 100644
--- a/src/widgets/widgets/qtextedit.cpp
+++ b/src/widgets/widgets/qtextedit.cpp
@@ -200,9 +200,6 @@ void QTextEditPrivate::init(const QString &html)
#ifndef QT_NO_CURSOR
viewport->setCursor(Qt::IBeamCursor);
#endif
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- setSingleFingerPanEnabled(true);
-#endif
}
void QTextEditPrivate::_q_repaintContents(const QRectF &contentsRect)
diff --git a/src/widgets/widgets/qtoolbar.cpp b/src/widgets/widgets/qtoolbar.cpp
index d1a0f5ea78..58e9c4fd87 100644
--- a/src/widgets/widgets/qtoolbar.cpp
+++ b/src/widgets/widgets/qtoolbar.cpp
@@ -324,13 +324,8 @@ bool QToolBarPrivate::mouseMoveEvent(QMouseEvent *event)
event->y() >= 0 && event->y() < q->height());
startDrag(moving);
- if (!moving && !wasDragging) {
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- grabMouseWhileInWindow();
-#else
+ if (!moving && !wasDragging)
q->grabMouse();
-#endif
- }
}
if (state->dragging) {
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
index 46bc29eed7..9cdae4f28f 100644
--- a/src/widgets/widgets/qwidgetlinecontrol.cpp
+++ b/src/widgets/widgets/qwidgetlinecontrol.cpp
@@ -78,11 +78,6 @@ int QWidgetLineControl::redoTextLayout() const
QTextLine l = m_textLayout.createLine();
m_textLayout.endLayout();
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (m_threadChecks)
- m_textLayoutThread = QThread::currentThread();
-#endif
-
return qRound(l.ascent());
}
diff --git a/src/widgets/widgets/qwidgetlinecontrol_p.h b/src/widgets/widgets/qwidgetlinecontrol_p.h
index 940a17714f..8ebed25084 100644
--- a/src/widgets/widgets/qwidgetlinecontrol_p.h
+++ b/src/widgets/widgets/qwidgetlinecontrol_p.h
@@ -95,10 +95,6 @@ public:
m_selstart(0), m_selend(0), m_passwordEchoEditing(false)
, m_passwordEchoTimer(0)
, m_passwordMaskDelay(-1)
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- , m_threadChecks(false)
- , m_textLayoutThread(0)
- #endif
#if defined(QT_BUILD_INTERNAL)
, m_passwordMaskDelayOverride(-1)
#endif
@@ -404,25 +400,9 @@ public:
QTextLayout *textLayout() const
{
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- if (m_threadChecks && QThread::currentThread() != m_textLayoutThread)
- redoTextLayout();
-#endif
return &m_textLayout;
}
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- void setThreadChecks(bool threadChecks)
- {
- m_threadChecks = threadChecks;
- }
-
- bool threadChecks() const
- {
- return m_threadChecks;
- }
-#endif
-
private:
void init(const QString &txt);
void removeSelectedText();
@@ -534,10 +514,6 @@ private:
}
int redoTextLayout() const;
-#if 0 // Used to be included in Qt4 for Q_WS_MAC
- bool m_threadChecks;
- mutable QThread *m_textLayoutThread;
-#endif
public:
#if defined(QT_BUILD_INTERNAL)
diff --git a/src/widgets/widgets/qwidgetresizehandler.cpp b/src/widgets/widgets/qwidgetresizehandler.cpp
index e8d435429f..9dbba12aba 100644
--- a/src/widgets/widgets/qwidgetresizehandler.cpp
+++ b/src/widgets/widgets/qwidgetresizehandler.cpp
@@ -124,21 +124,6 @@ bool QWidgetResizeHandler::eventFilter(QObject *o, QEvent *ee)
if (!widgetRect.contains(cursorPoint))
return false;
if (e->button() == Qt::LeftButton) {
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- /*
- Implicit grabs do not stop the X server from changing
- the cursor in children, which looks *really* bad when
- doing resizingk, so we grab the cursor. Note that we do
- not do this on Windows since double clicks are lost due
- to the grab (see change 198463).
- */
- if (e->spontaneous())
-# if !defined(QT_NO_CURSOR)
- widget->grabMouse(widget->cursor());
-# else
- widget->grabMouse();
-# endif // QT_NO_CURSOR
-#endif
buttonDown = false;
emit activate();
bool me = movingEnabled;
diff --git a/sync.profile b/sync.profile
index e6fc285573..fd44197a00 100644
--- a/sync.profile
+++ b/sync.profile
@@ -37,6 +37,9 @@
"QtZlib" => "!>$basedir/src/corelib;$basedir/src/3rdparty/zlib",
"QtOpenGLExtensions" => "$basedir/src/openglextensions",
"QtEglFSDeviceIntegration" => "$basedir/src/plugins/platforms/eglfs",
+ "QtMockPlugins1" => "$basedir/tests/auto/cmake/mockplugins/mockplugins1",
+ "QtMockPlugins2" => "$basedir/tests/auto/cmake/mockplugins/mockplugins2",
+ "QtMockPlugins3" => "$basedir/tests/auto/cmake/mockplugins/mockplugins3",
);
%moduleheaders = ( # restrict the module headers to those found in relative path
"QtEglFSDeviceIntegration" => "api",
diff --git a/tests/auto/bic/data/QtConcurrent.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtConcurrent.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..30e00ed226
--- /dev/null
+++ b/tests/auto/bic/data/QtConcurrent.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,5029 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f05ecfb6c60) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f05ebc91420) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f05ebc91660) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f05ebc918a0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f05ebc91ae0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f05ebc91c60) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f05ebccd060) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7f05ebcfd180) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f05ebd53840) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f05ebd53900) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7f05ebd53cc0) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7f05ebd53d20) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7f05ebd53d80) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7f05ebd53de0) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7f05ebd53e40) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f05ebd53f00) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f05ebd82000) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f05ebd820c0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f05ebd82180) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f05ebd824e0) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7f05ebd82840) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f05ebd828a0) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7f05ebd82e40) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f05eb9d14e0) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7f05ebdb5410) 0 empty
+ std::__nonesuch (0x0x7f05eb9d19c0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f05eba4e360) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f05eba4e3c0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f05ebaad0c0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f05ebaad120) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f05ebdb58f0) 0 empty
+ std::input_iterator_tag (0x0x7f05ebaad180) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f05ebdb5958) 0 empty
+ std::forward_iterator_tag (0x0x7f05ebdb59c0) 0 empty
+ std::input_iterator_tag (0x0x7f05ebaad1e0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f05ebdb5a28) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f05ebdb5a90) 0 empty
+ std::forward_iterator_tag (0x0x7f05ebdb5af8) 0 empty
+ std::input_iterator_tag (0x0x7f05ebaad240) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f05ebb3dd20) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f05ebb3de40) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f05ebb5e180) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f05ebb5e480) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f05ebb5e5a0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f05eb7eb8a0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f05eb7ebba0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f05eb7ebc00) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7f05eb7ebcc0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f05eb7ebd20) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7f05eb7ebd80) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7f05eb7ebde0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f05eb82e0c0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f05eb82e360) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f05eb82e3c0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f05eb8e5180) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f05ebdb5e38) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7f05eb8e5360) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f05ebdb5e38)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f05eb8e5540) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f05ebdb5ea0) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7f05eb8e5900) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f05ebdb5ea0)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f05ebdb5f08) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7f05eb8e5ae0) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f05ebdb5f08)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f05eb8e5cc0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f05eb91c2a0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f05ebdb5f70) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7f05eb91c960) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f05ebdb5f70)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f05eb942000) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7f05eb942068) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f05eb942000)
+ std::exception (0x0x7f05eb91cb40) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f05eb942068)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f05eb91cd20) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7f05eb91cf00) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f05eb5c6420) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f05eb779ea0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f05eb779f60) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f05eb23e900) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f05eb23ea20) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f05eb23ed80) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f05eb27d300) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f05eb2b4a80) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f05eb351ea0) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f05eb2f2ea0) 0
+ std::__atomic_flag_base (0x0x7f05eb351f00) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f05eb08b618) 0
+ QAtomicInteger<int> (0x0x7f05eb08b680) 0
+ QBasicAtomicInteger<int> (0x0x7f05eae88ea0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f05eaab91e0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f05eaafd780) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f05eaafdea0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f05eab2f208) 0
+ QGenericArgument (0x0x7f05eab3f180) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f05eab3f5a0) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f05eab3f9c0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f05ea7f14e0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f05ea7f1780) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f05ea8bb5a0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f05ea8bb900) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f05ea917c00) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f05ea616480) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f05ea616540) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f05ea6c3660) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f05ea6c3720) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f05ea6c3780) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f05ea6c37e0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f05ea6c3840) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f05ea6c3960) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f05ea6c39c0) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f05ea403960) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f05ea4039c0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f05ea1bfa20) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f05ea1bfba0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f05ea332d20) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f05ea380120) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f05ea3803c0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f05ea3805a0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f05e9fcb5a0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f05e9fd61a0) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7f05e9fcb660) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f05e9fd61a0)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f05e9fd6208) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7f05e9fd6270) 0
+ primary-for std::domain_error (0x0x7f05e9fd6208)
+ std::exception (0x0x7f05e9fcb6c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f05e9fd6270)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f05e9fd62d8) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7f05e9fd6340) 0
+ primary-for std::invalid_argument (0x0x7f05e9fd62d8)
+ std::exception (0x0x7f05e9fcb720) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f05e9fd6340)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f05e9fd63a8) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7f05e9fd6410) 0
+ primary-for std::length_error (0x0x7f05e9fd63a8)
+ std::exception (0x0x7f05e9fcb780) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f05e9fd6410)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f05e9fd6478) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7f05e9fd64e0) 0
+ primary-for std::out_of_range (0x0x7f05e9fd6478)
+ std::exception (0x0x7f05e9fcb7e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f05e9fd64e0)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f05e9fd6548) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7f05e9fcb840) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f05e9fd6548)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f05e9fd65b0) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7f05e9fd6618) 0
+ primary-for std::range_error (0x0x7f05e9fd65b0)
+ std::exception (0x0x7f05e9fcb8a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f05e9fd6618)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f05e9fd6680) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7f05e9fd66e8) 0
+ primary-for std::overflow_error (0x0x7f05e9fd6680)
+ std::exception (0x0x7f05e9fcb900) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f05e9fd66e8)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f05e9fd6750) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7f05e9fd67b8) 0
+ primary-for std::underflow_error (0x0x7f05e9fd6750)
+ std::exception (0x0x7f05e9fcb960) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f05e9fd67b8)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f05e9fcbae0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f05e9fcbe40) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f05ea0276c0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f05e9fd6bc8) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7f05e9fd6c30) 0
+ primary-for std::system_error (0x0x7f05e9fd6bc8)
+ std::exception (0x0x7f05ea0512a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f05e9fd6c30)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f05e9fd6ea0) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7f05e9fd6f08) 0
+ primary-for std::ios_base::failure (0x0x7f05e9fd6ea0)
+ std::runtime_error (0x0x7f05e9fd6f70) 0
+ primary-for std::system_error (0x0x7f05e9fd6f08)
+ std::exception (0x0x7f05ea084840) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f05e9fd6f70)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f05ea0848a0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f05ea084900) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f05ea084960) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f05ea0847e0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f05ea1782a0) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f05e9e41480) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7f05e99db680 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7f05e99db750 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f05e9a1a410 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f05e9a1a4e0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f05e9a1bde0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f05e9a1be40) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f05e9b85240) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f05e98140c0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f05e9814540) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f05e98e5300) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f05e9968d20) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f05e9968cc0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f05e9737ea0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f05e94d6720) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f05e92eba20) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f05e92ebae0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f05e8fbe000) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f05e9577820) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f05e8fbe720) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f05e9577958) 0
+ std::_Bit_iterator_base (0x0x7f05e95779c0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f05e8fbed80) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f05e9577a28) 0
+ std::_Bit_iterator_base (0x0x7f05e9577a90) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f05e8ff45a0) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f05e8dabc00) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f05e8eac9c0) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f05e8eaca20) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f05e911a4e0) 0 empty
+ QListData::NotIndirectLayout (0x0x7f05e8eaca80) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f05e8e9e150) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f05e8eacae0) 0 empty
+ QListData::NotIndirectLayout (0x0x7f05e8eacb40) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f05e911a548) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f05e8eacba0) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f05e8eacc00) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f05e8eac960) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f05e8b9ade0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f05e8c92480) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f05e8c92420) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f05e8c96270) 0
+ QList<QString> (0x0x7f05e8c962d8) 0
+ QListSpecialMethods<QString> (0x0x7f05e8c926c0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f05e8d5d240) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f05e89e4360) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7f05e89e46c0) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7f05e87c5c60) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f05e87c5cc0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f05e87c5e40) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f05e87c5f00) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f05e8b5e618) 0
+ std::__uses_alloc_base (0x0x7f05e87c5ea0) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f05e89532a0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f05e8569720) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f05e8569a80) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f05e8591000) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f05e8591540) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f05e85f4720) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f05e85f4de0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f05e8628c60) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f05e8708360) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f05e83618a0) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f05e81a16c0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f05e7ed3180) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f05e7ed31e0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f05e7ed33c0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f05e7ed3360) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f05e7f991e0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f05e7f99360) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f05e7f99c00) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f05e7f71820) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7f05e7f99ba0) 0
+ primary-for QAbstractAnimation (0x0x7f05e7f71820)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f05e7fd7000) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f05e7f71888) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7f05e7f99f60) 0
+ primary-for QAnimationDriver (0x0x7f05e7f71888)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f05e7fd7240) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f05e7f718f0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7f05e7fd71e0) 0
+ primary-for QEventLoop (0x0x7f05e7f718f0)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f05e7fd7ae0) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f05e7fd7ba0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f05e7fd7c00) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f05e7f71a28) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7f05e7fd7b40) 0
+ primary-for QAbstractEventDispatcher (0x0x7f05e7f71a28)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f05e7ca43a8) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7f05e7cb32a0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f05e7ca43a8)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f05e7cb3360) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f05e7cb33c0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f05e7cb36c0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f05e7aac660) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f05e7ae4300) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f05e7badc60) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f05e7badc00) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f05e7badf00) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f05e78d94e0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f05e78d95a0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f05e78d9540) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f05e78d9600) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f05e78d9480) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f05e7a328a0) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f05e7a75f00) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f05e7a75ea0) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f05e76a0060) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f05e76a0000) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f05e775f1e0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f05e77b4de0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f05e7880c00) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f05e787df70) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7f05e7880ba0) 0
+ primary-for QAbstractItemModel (0x0x7f05e787df70)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f05e7562000) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f05e74c65b0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7f05e74c6618) 0
+ primary-for QAbstractTableModel (0x0x7f05e74c65b0)
+ QObject (0x0x7f05e74d9f60) 0
+ primary-for QAbstractItemModel (0x0x7f05e74c6618)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f05e7562180) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f05e74c6680) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7f05e74c66e8) 0
+ primary-for QAbstractListModel (0x0x7f05e74c6680)
+ QObject (0x0x7f05e7562120) 0
+ primary-for QAbstractItemModel (0x0x7f05e74c66e8)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f05e75628a0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f05e7562960) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f05e74c67b8) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7f05e74c6820) 0
+ primary-for QAbstractProxyModel (0x0x7f05e74c67b8)
+ QObject (0x0x7f05e7562900) 0
+ primary-for QAbstractItemModel (0x0x7f05e74c6820)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f05e7562ba0) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f05e74c6888) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7f05e7562b40) 0
+ primary-for QAbstractState (0x0x7f05e74c6888)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f05e7562de0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f05e74c68f0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7f05e7562d80) 0
+ primary-for QAbstractTransition (0x0x7f05e74c68f0)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f05e75fa120) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f05e74c6958) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7f05e74c69c0) 0
+ primary-for QAnimationGroup (0x0x7f05e74c6958)
+ QObject (0x0x7f05e75fa0c0) 0
+ primary-for QAbstractAnimation (0x0x7f05e74c69c0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f05e764a480) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f05e728c840) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f05e72dccc0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f05e734d0c0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f05e7336f08) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7f05e734d060) 0
+ primary-for QIODevice (0x0x7f05e7336f08)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f05e734da20) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f05e736d068) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7f05e736d0d0) 0
+ primary-for QBuffer (0x0x7f05e736d068)
+ QObject (0x0x7f05e734d9c0) 0
+ primary-for QIODevice (0x0x7f05e736d0d0)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f05e734dcc0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f05e734dc60) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f05e734de40) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f05e734dde0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f05e73b5d20) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f05e7411cc0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f05e747b5a0) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f05e70e7240) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f05e70e72a0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f05e70e71e0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f05e71ba960) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f05e6ea4f00) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f05e6f087e0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f05e6faf300) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f05e6fd5f60) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f05e7005120) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f05e6c8dd20) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f05e6c8dcc0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f05e6e36d80) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f05e6e36e40) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f05e6ae4180) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f05e6ae4900) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f05e6b8c7e0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f05e6bfc5a0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f05e6c6e000) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f05e6994f60) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f05e6a29ae0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f05e6a29ba0) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f05e649aba0) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f05e652f600) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f05e652f660) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f05e652f5a0) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f05e6645060) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f05e66450c0) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f05e6645000) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f05e643b7e0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f05e60f7780) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f05e612a4e0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f05e61af600) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f05e61af7e0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f05e5ea3d80) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f05e5f2f4e0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f05e5f12270) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7f05e5f2f8a0) 0
+ primary-for QTimerEvent (0x0x7f05e5f12270)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f05e5f122d8) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7f05e5f2f960) 0
+ primary-for QChildEvent (0x0x7f05e5f122d8)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f05e5f12820) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7f05e5f6d000) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f05e5f12820)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f05e5f12888) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7f05e5f6d0c0) 0
+ primary-for QDeferredDeleteEvent (0x0x7f05e5f12888)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f05e5f6d1e0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f05e5f128f0) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7f05e5f6d180) 0
+ primary-for QCoreApplication (0x0x7f05e5f128f0)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f05e5f6d420) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f05e5f6d5a0) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7f05e5f12958) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7f05e5f129c0) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7f05e5f12958)
+ QObject (0x0x7f05e5f6d540) 0
+ primary-for QAbstractItemModel (0x0x7f05e5f129c0)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f05e5f6d780) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f05e5f6d8a0) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f05e5f6da20) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f05e602c180) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f05e602c8a0) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f05e5d71600) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f05e5d61bc8) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7f05e5d61c30) 0
+ primary-for QFileDevice (0x0x7f05e5d61bc8)
+ QObject (0x0x7f05e5d715a0) 0
+ primary-for QIODevice (0x0x7f05e5d61c30)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f05e5d71f00) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f05e5d61d68) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7f05e5d61dd0) 0
+ primary-for QFile (0x0x7f05e5d61d68)
+ QIODevice (0x0x7f05e5d61e38) 0
+ primary-for QFileDevice (0x0x7f05e5d61dd0)
+ QObject (0x0x7f05e5d71ea0) 0
+ primary-for QIODevice (0x0x7f05e5d61e38)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f05e5dd55a0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f05e5e40960) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f05e5aabcc0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f05e5afa480) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f05e5c045a0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f05e5c0d0d0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7f05e5c0d138) 0
+ primary-for QEventTransition (0x0x7f05e5c0d0d0)
+ QObject (0x0x7f05e5c04540) 0
+ primary-for QAbstractTransition (0x0x7f05e5c0d138)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f05e5c0d1a0) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7f05e5c04780) 0 nearly-empty
+ primary-for QException (0x0x7f05e5c0d1a0)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f05e5c0d208) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7f05e5c0d270) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f05e5c0d208)
+ std::exception (0x0x7f05e5c047e0) 0 nearly-empty
+ primary-for QException (0x0x7f05e5c0d270)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f05e5c04840) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f05e5c04900) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f05e5c04960) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f05e5c04ba0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f05e5c0d2d8) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7f05e5c04b40) 0
+ primary-for QFileSelector (0x0x7f05e5c0d2d8)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f05e5c04de0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f05e5c0d340) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7f05e5c04d80) 0
+ primary-for QFileSystemWatcher (0x0x7f05e5c0d340)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f05e585c060) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f05e5c0d3a8) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7f05e5c0d410) 0
+ primary-for QFinalState (0x0x7f05e5c0d3a8)
+ QObject (0x0x7f05e585c000) 0
+ primary-for QAbstractState (0x0x7f05e5c0d410)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f05e585c240) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f05e585c4e0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f05e5c0d4e0) 0
+ QBasicMutex (0x0x7f05e58e1180) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f05e58e13c0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f05e58e1840) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f05e58e1e40) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f05e5935060) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f05e5982840) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f05e5a1eb40) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f05e59b0af8) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7f05e5a1eae0) 0
+ primary-for QFutureWatcherBase (0x0x7f05e59b0af8)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f05e5a47ea0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f05e5662340) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7f05e56623a8) 0
+ primary-for QHistoryState (0x0x7f05e5662340)
+ QObject (0x0x7f05e5a47e40) 0
+ primary-for QAbstractState (0x0x7f05e56623a8)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f05e567b1e0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f05e5662410) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f05e5662478) 0
+ primary-for QIdentityProxyModel (0x0x7f05e5662410)
+ QAbstractItemModel (0x0x7f05e56624e0) 0
+ primary-for QAbstractProxyModel (0x0x7f05e5662478)
+ QObject (0x0x7f05e567b180) 0
+ primary-for QAbstractItemModel (0x0x7f05e56624e0)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f05e567b3c0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f05e5733cc0) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f05e5731e38) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7f05e5733c60) 0
+ primary-for QItemSelectionModel (0x0x7f05e5731e38)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f05e57b3000) 0
+ QList<QItemSelectionRange> (0x0x7f05e57b3068) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f05e576d7e0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f05e5801120) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f05e555c300) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f05e55a52a0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f05e55a5540) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f05e55e68a0) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f05e55e6900) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f05e55e6840) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f05e53127e0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f05e5312840) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f05e5383060) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f05e53830c0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f05e5383000) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f05e5095420) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f05e50980d0) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7f05e50953c0) 0
+ primary-for QLibrary (0x0x7f05e50980d0)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f05e50e12a0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f05e5095d80) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f05e51769c0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f05e5176a20) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f05e51e5840) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f05e4e569c0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f05e4ec7d80) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f05e4f74060) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f05e50051e0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f05e5005420) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f05e50053c0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f05e5005840) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f05e4cbf780) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f05e4b06f60) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f05e4b2e000) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f05e4b8f840) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f05e4bcea80) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f05e4bceba0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f05e4c2c180) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f05e4c18d00) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7f05e4c2c120) 0
+ primary-for QMimeData (0x0x7f05e4c18d00)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f05e4c2c360) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f05e488f480) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f05e488f540) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f05e4896068) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7f05e488f4e0) 0
+ primary-for QObjectCleanupHandler (0x0x7f05e4896068)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f05e488f660) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f05e48fade0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f05e490b8f0) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f05e490b958) 0
+ primary-for QParallelAnimationGroup (0x0x7f05e490b8f0)
+ QAbstractAnimation (0x0x7f05e490b9c0) 0
+ primary-for QAnimationGroup (0x0x7f05e490b958)
+ QObject (0x0x7f05e48fad80) 0
+ primary-for QAbstractAnimation (0x0x7f05e490b9c0)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f05e4922060) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f05e490ba28) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7f05e490ba90) 0
+ primary-for QPauseAnimation (0x0x7f05e490ba28)
+ QObject (0x0x7f05e4922000) 0
+ primary-for QAbstractAnimation (0x0x7f05e490ba90)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f05e4922c60) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f05e4972de0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f05e4977dd0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7f05e4972d80) 0
+ primary-for QPluginLoader (0x0x7f05e4977dd0)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f05e4972f00) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f05e49e95a0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f05e49e3a28) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7f05e49e3a90) 0
+ primary-for QProcess (0x0x7f05e49e3a28)
+ QObject (0x0x7f05e49e9540) 0
+ primary-for QIODevice (0x0x7f05e49e3a90)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f05e49e9c60) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f05e49e3af8) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7f05e49e3b60) 0
+ primary-for QVariantAnimation (0x0x7f05e49e3af8)
+ QObject (0x0x7f05e49e9c00) 0
+ primary-for QAbstractAnimation (0x0x7f05e49e3b60)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f05e49e9f00) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f05e49e3c30) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7f05e49e3c98) 0
+ primary-for QPropertyAnimation (0x0x7f05e49e3c30)
+ QAbstractAnimation (0x0x7f05e49e3d00) 0
+ primary-for QVariantAnimation (0x0x7f05e49e3c98)
+ QObject (0x0x7f05e49e9ea0) 0
+ primary-for QAbstractAnimation (0x0x7f05e49e3d00)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f05e46b1660) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f05e47bd3c0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f05e47bd360) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f05e45a8120) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f05e43b1d80) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f05e43b1d20) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f05e44419c0) 0
+ QRandomGenerator (0x0x7f05e3fdb8a0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f05e4000480) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f05e4000720) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f05e4000c00) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f05e4088120) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f05e40cef00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f05e4148ea0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f05e3deff00) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f05e3ef8060) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f05e3ef8300) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f05e3e8e3a8) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7f05e3e8e410) 0
+ primary-for QSaveFile (0x0x7f05e3e8e3a8)
+ QIODevice (0x0x7f05e3e8e478) 0
+ primary-for QFileDevice (0x0x7f05e3e8e410)
+ QObject (0x0x7f05e3ef82a0) 0
+ primary-for QIODevice (0x0x7f05e3e8e478)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f05e3ef8900) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f05e3ef8a80) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f05e3c21d20) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f05e3c2f1a0) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f05e3c2f208) 0
+ primary-for QSequentialAnimationGroup (0x0x7f05e3c2f1a0)
+ QAbstractAnimation (0x0x7f05e3c2f270) 0
+ primary-for QAnimationGroup (0x0x7f05e3c2f208)
+ QObject (0x0x7f05e3c21cc0) 0
+ primary-for QAbstractAnimation (0x0x7f05e3c2f270)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f05e3c21f60) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f05e3c2f2d8) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7f05e3c21f00) 0
+ primary-for QSettings (0x0x7f05e3c2f2d8)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f05e3c61420) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f05e3c2f340) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7f05e3c613c0) 0
+ primary-for QSharedMemory (0x0x7f05e3c2f340)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f05e3c61660) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f05e3c2f3a8) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7f05e3c61600) 0
+ primary-for QSignalMapper (0x0x7f05e3c2f3a8)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f05e3c618a0) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f05e3c2f410) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7f05e3c2f478) 0
+ primary-for QSignalTransition (0x0x7f05e3c2f410)
+ QObject (0x0x7f05e3c61840) 0
+ primary-for QAbstractTransition (0x0x7f05e3c2f478)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f05e3c61b40) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f05e3c2f4e0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7f05e3c61ae0) 0
+ primary-for QSocketNotifier (0x0x7f05e3c2f4e0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f05e3c61d80) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f05e3c2f548) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f05e3c2f5b0) 0
+ primary-for QSortFilterProxyModel (0x0x7f05e3c2f548)
+ QAbstractItemModel (0x0x7f05e3c2f618) 0
+ primary-for QAbstractProxyModel (0x0x7f05e3c2f5b0)
+ QObject (0x0x7f05e3c61d20) 0
+ primary-for QAbstractItemModel (0x0x7f05e3c2f618)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f05e3cd01e0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f05e3cd0ae0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f05e3c2f7b8) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7f05e3c2f820) 0
+ primary-for QState (0x0x7f05e3c2f7b8)
+ QObject (0x0x7f05e3cd0a80) 0
+ primary-for QAbstractState (0x0x7f05e3c2f820)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f05e3cd0f60) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f05e3c2f9c0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7f05e3d20000) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f05e3c2f9c0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f05e3c2fa28) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7f05e3d20060) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f05e3c2fa28)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f05e3c2f888) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7f05e3c2f8f0) 0
+ primary-for QStateMachine (0x0x7f05e3c2f888)
+ QAbstractState (0x0x7f05e3c2f958) 0
+ primary-for QState (0x0x7f05e3c2f8f0)
+ QObject (0x0x7f05e3cd0f00) 0
+ primary-for QAbstractState (0x0x7f05e3c2f958)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f05e3d20420) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f05e3dc0420) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f05e3a4b780) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f05e3a31b60) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7f05e3a31bc8) 0
+ primary-for QStringListModel (0x0x7f05e3a31b60)
+ QAbstractItemModel (0x0x7f05e3a31c30) 0
+ primary-for QAbstractListModel (0x0x7f05e3a31bc8)
+ QObject (0x0x7f05e3a4b720) 0
+ primary-for QAbstractItemModel (0x0x7f05e3a31c30)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f05e3a4b8a0) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f05e3a4b960) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f05e3a4ba80) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f05e3a31c98) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7f05e3a31d00) 0
+ primary-for QTemporaryFile (0x0x7f05e3a31c98)
+ QFileDevice (0x0x7f05e3a31d68) 0
+ primary-for QFile (0x0x7f05e3a31d00)
+ QIODevice (0x0x7f05e3a31dd0) 0
+ primary-for QFileDevice (0x0x7f05e3a31d68)
+ QObject (0x0x7f05e3a4ba20) 0
+ primary-for QIODevice (0x0x7f05e3a31dd0)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f05e3a4bde0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f05e3ab1660) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f05e3ab1600) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f05e3b17060) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f05e3b17240) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f05e3b17420) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f05e3b30000) 0
+ std::__mutex_base (0x0x7f05e3b17480) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f05e3b17660) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f05e3b176c0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f05e3b17720) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f05e3b5b180) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f05e3b30068) 0
+ std::__recursive_mutex_base (0x0x7f05e3b5b1e0) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f05e3b0bf50) 0
+ std::__mutex_base (0x0x7f05e3b5b5a0) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f05e3b5b600) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f05e3b7b2a0) 0
+ std::__recursive_mutex_base (0x0x7f05e3b5b960) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f05e3b5b9c0) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f05e3ba1120) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f05e3b301a0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7f05e3ba1660) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f05e3b301a0)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f05e3b30208) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7f05e3ba1780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f05e3b30208)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f05e3b30270) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7f05e3ba18a0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f05e3b30270)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f05e3b30340) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7f05e3ba19c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f05e3b30340)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f05e37d1a20) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f05e37d1d20) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f05e37ef060) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f05e37ef3c0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f05e3b303a8) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7f05e386c5a0) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f05e3b303a8)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f05e38d5540) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7f05e38d5960) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f05e36217e0) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7f05e364dc60) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f05e364dcc0) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f05e364dc00) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f05e35100c0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f05e3510480) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f05e35104e0) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f05e32937e0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f05e328cc30) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7f05e328cc98) 0
+ primary-for std::future_error (0x0x7f05e328cc30)
+ std::exception (0x0x7f05e3293f00) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f05e328cc98)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f05e32c5660) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f05e32c5600) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f05e3088d80) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f05e30b44e0) 0
+ std::__at_thread_exit_elt (0x0x7f05e3088e40) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f05e32c57e0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f05e32c55a0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f05e286c208) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7f05e2841e40) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f05e286c208)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f05e287c720) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f05e286c548) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7f05e287c6c0) 0
+ primary-for QThread (0x0x7f05e286c548)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f05e287cae0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f05e286c5b0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7f05e287ca80) 0
+ primary-for QThreadPool (0x0x7f05e286c5b0)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f05e287ccc0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f05e28c03c0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f05e286c618) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7f05e28c0360) 0
+ primary-for QTimeLine (0x0x7f05e286c618)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f05e28c0600) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f05e286c680) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7f05e28c05a0) 0
+ primary-for QTimer (0x0x7f05e286c680)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f05e2903f60) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f05e2903f00) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f05e25cb060) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f05e29b2d68) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7f05e25cb000) 0
+ primary-for QTranslator (0x0x7f05e29b2d68)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7f05e25cb2a0) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7f05e29b2dd0) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f05e29b2e38) 0
+ primary-for QTransposeProxyModel (0x0x7f05e29b2dd0)
+ QAbstractItemModel (0x0x7f05e29b2ea0) 0
+ primary-for QAbstractProxyModel (0x0x7f05e29b2e38)
+ QObject (0x0x7f05e25cb240) 0
+ primary-for QAbstractItemModel (0x0x7f05e29b2ea0)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f05e25cb480) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f05e2651e40) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f05e2651f60) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f05e26fb360) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f05e2766548) 0
+ QVector<QXmlStreamAttribute> (0x0x7f05e2760a80) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f05e2760d80) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f05e22ddd20) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f05e233ad20) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f05e23a4de0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f05e23a4e40) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f05e23e2d20) 0
+
+Class QtConcurrent::MedianDouble
+ size=72 align=8
+ base size=70 base align=8
+QtConcurrent::MedianDouble (0x0x7f05e243a2a0) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ThreadEngineBarrier (0x0x7f05e243ac60) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 (int (*)(...))QtConcurrent::ThreadEngineBase::run
+24 0
+32 0
+40 (int (*)(...))QtConcurrent::ThreadEngineBase::start
+48 (int (*)(...))QtConcurrent::ThreadEngineBase::finish
+56 (int (*)(...))QtConcurrent::ThreadEngineBase::threadFunction
+64 (int (*)(...))QtConcurrent::ThreadEngineBase::shouldStartThread
+72 (int (*)(...))QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 (int (*)(...))__cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=56 align=8
+ base size=56 base align=8
+QtConcurrent::ThreadEngineBase (0x0x7f05e24166e8) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16)
+ QRunnable (0x0x7f05e243acc0) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x0x7f05e24166e8)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2 entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x0x7f05e24689c0) 0
+
+Class QtConcurrent::BlockSizeManagerV2
+ size=176 align=8
+ base size=172 base align=8
+QtConcurrent::BlockSizeManagerV2 (0x0x7f05e2468ba0) 0
+
+Class QtPrivate::PushBackWrapper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::PushBackWrapper (0x0x7f05e215e540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e2061de0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e2082180) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e2082360) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e20826c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e20828a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e2082c00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e2082de0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e20bd180) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e20bd360) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e20bd6c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e20bd8a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e20bdc00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e20bdde0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1cf5180) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e1cf5360) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1cf56c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e1d2aba0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1d2af00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e1d520c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1d52420) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e1d525a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1d52900) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e1d52a80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1d52de0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e1d52f60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1d87300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e1d87480) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1d877e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e1d87960) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1d87cc0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f05e1d87e40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f05e1db51e0) 0 empty
+
diff --git a/tests/auto/bic/data/QtCore.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtCore.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..037e280978
--- /dev/null
+++ b/tests/auto/bic/data/QtCore.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,4977 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7fcb24284c60) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7fcb22f51420) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7fcb22f51660) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7fcb22f518a0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7fcb22f51ae0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7fcb22f51c60) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7fcb22f8f060) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7fcb22fbe180) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7fcb23013840) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7fcb23013900) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7fcb23013cc0) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7fcb23013d20) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7fcb23013d80) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7fcb23013de0) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7fcb23013e40) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7fcb23013f00) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7fcb23044000) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7fcb230440c0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7fcb23044180) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7fcb230444e0) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7fcb23044840) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7fcb230448a0) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7fcb23044e40) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7fcb22c934e0) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7fcb23077410) 0 empty
+ std::__nonesuch (0x0x7fcb22c939c0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7fcb22d0e360) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7fcb22d0e3c0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7fcb22d6f0c0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7fcb22d6f120) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7fcb230778f0) 0 empty
+ std::input_iterator_tag (0x0x7fcb22d6f180) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7fcb23077958) 0 empty
+ std::forward_iterator_tag (0x0x7fcb230779c0) 0 empty
+ std::input_iterator_tag (0x0x7fcb22d6f1e0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7fcb23077a28) 0 empty
+ std::bidirectional_iterator_tag (0x0x7fcb23077a90) 0 empty
+ std::forward_iterator_tag (0x0x7fcb23077af8) 0 empty
+ std::input_iterator_tag (0x0x7fcb22d6f240) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7fcb22dfcd20) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7fcb22dfce40) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7fcb22e21180) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7fcb22e21480) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7fcb22e215a0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7fcb22aac8a0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7fcb22aacba0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7fcb22aacc00) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7fcb22aaccc0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7fcb22aacd20) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7fcb22aacd80) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7fcb22aacde0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7fcb22af00c0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7fcb22af0360) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7fcb22af03c0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7fcb22ba8180) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7fcb23077e38) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7fcb22ba8360) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7fcb23077e38)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7fcb22ba8540) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7fcb23077ea0) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7fcb22ba8900) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7fcb23077ea0)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7fcb23077f08) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7fcb22ba8ae0) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7fcb23077f08)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7fcb22ba8cc0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7fcb22bde2a0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7fcb23077f70) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7fcb22bde960) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fcb23077f70)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7fcb22c03000) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7fcb22c03068) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7fcb22c03000)
+ std::exception (0x0x7fcb22bdeb40) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fcb22c03068)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7fcb22bded20) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7fcb22bdef00) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7fcb22c88420) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7fcb22a3bea0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7fcb22a3bf60) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7fcb22500900) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7fcb22500a20) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7fcb22500d80) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7fcb2253f300) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7fcb22578a80) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7fcb2260fea0) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7fcb225b7ea0) 0
+ std::__atomic_flag_base (0x0x7fcb2260ff00) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7fcb2234c618) 0
+ QAtomicInteger<int> (0x0x7fcb2234c680) 0
+ QBasicAtomicInteger<int> (0x0x7fcb2214eea0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7fcb21d7d1e0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7fcb21dbe780) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7fcb21dbeea0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7fcb21df2208) 0
+ QGenericArgument (0x0x7fcb21e00180) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7fcb21e005a0) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7fcb21e009c0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7fcb21ab34e0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7fcb21ab3780) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7fcb21b7e5a0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7fcb21b7e900) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7fcb21bd9c00) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7fcb218d9480) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7fcb218d9540) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7fcb21984660) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7fcb21984720) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7fcb21984780) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7fcb219847e0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7fcb21984840) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7fcb21984960) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7fcb219849c0) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7fcb216c5960) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7fcb216c59c0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7fcb2187ea20) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7fcb2187eba0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7fcb215f0d20) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7fcb21641120) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7fcb216413c0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7fcb216415a0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7fcb2168b5a0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7fcb212981a0) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7fcb2168b660) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fcb212981a0)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7fcb21298208) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7fcb21298270) 0
+ primary-for std::domain_error (0x0x7fcb21298208)
+ std::exception (0x0x7fcb2168b6c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fcb21298270)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7fcb212982d8) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7fcb21298340) 0
+ primary-for std::invalid_argument (0x0x7fcb212982d8)
+ std::exception (0x0x7fcb2168b720) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fcb21298340)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7fcb212983a8) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7fcb21298410) 0
+ primary-for std::length_error (0x0x7fcb212983a8)
+ std::exception (0x0x7fcb2168b780) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fcb21298410)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7fcb21298478) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7fcb212984e0) 0
+ primary-for std::out_of_range (0x0x7fcb21298478)
+ std::exception (0x0x7fcb2168b7e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fcb212984e0)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7fcb21298548) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7fcb2168b840) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fcb21298548)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7fcb212985b0) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7fcb21298618) 0
+ primary-for std::range_error (0x0x7fcb212985b0)
+ std::exception (0x0x7fcb2168b8a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fcb21298618)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7fcb21298680) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7fcb212986e8) 0
+ primary-for std::overflow_error (0x0x7fcb21298680)
+ std::exception (0x0x7fcb2168b900) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fcb212986e8)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7fcb21298750) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7fcb212987b8) 0
+ primary-for std::underflow_error (0x0x7fcb21298750)
+ std::exception (0x0x7fcb2168b960) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fcb212987b8)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7fcb2168bae0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7fcb2168be40) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7fcb212ea6c0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7fcb21298bc8) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7fcb21298c30) 0
+ primary-for std::system_error (0x0x7fcb21298bc8)
+ std::exception (0x0x7fcb213142a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fcb21298c30)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7fcb21298ea0) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7fcb21298f08) 0
+ primary-for std::ios_base::failure (0x0x7fcb21298ea0)
+ std::runtime_error (0x0x7fcb21298f70) 0
+ primary-for std::system_error (0x0x7fcb21298f08)
+ std::exception (0x0x7fcb21345840) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fcb21298f70)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7fcb213458a0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7fcb21345900) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7fcb21345960) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7fcb213457e0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7fcb214362a0) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7fcb21100480) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7fcb20c9e680 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7fcb20c9e750 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7fcb20cda410 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7fcb20cda4e0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7fcb20cdcde0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7fcb20cdce40) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7fcb20e48240) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7fcb20ac40c0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7fcb20ac4540) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7fcb20b9b300) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7fcb20c1ad20) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7fcb20c1acc0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7fcb209f7ea0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7fcb20797720) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7fcb205ada20) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7fcb205adae0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7fcb20281000) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7fcb20839820) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fcb20281720) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7fcb20839958) 0
+ std::_Bit_iterator_base (0x0x7fcb208399c0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fcb20281d80) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7fcb20839a28) 0
+ std::_Bit_iterator_base (0x0x7fcb20839a90) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fcb202b55a0) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7fcb2006cc00) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7fcb2016e9c0) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7fcb2016ea20) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7fcb203db4e0) 0 empty
+ QListData::NotIndirectLayout (0x0x7fcb2016ea80) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7fcb201620e0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fcb2016eae0) 0 empty
+ QListData::NotIndirectLayout (0x0x7fcb2016eb40) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7fcb203db548) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fcb2016eba0) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7fcb2016ec00) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7fcb2016e960) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7fcb2025ade0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7fcb1ff56480) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7fcb1ff56420) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7fcb1ff59270) 0
+ QList<QString> (0x0x7fcb1ff592d8) 0
+ QListSpecialMethods<QString> (0x0x7fcb1ff566c0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7fcb20021240) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7fcb1fca5360) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7fcb1fca56c0) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7fcb1fa87c60) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7fcb1fa87cc0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7fcb1fa87e40) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7fcb1fa87f00) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7fcb1fe1f618) 0
+ std::__uses_alloc_base (0x0x7fcb1fa87ea0) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7fcb1fc162a0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7fcb1f82b720) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7fcb1f82ba80) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7fcb1f851000) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7fcb1f851540) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7fcb1f8b5720) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7fcb1f8b5de0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7fcb1f8e9c60) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7fcb1f9c9360) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7fcb1f6228a0) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7fcb1f4666c0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7fcb1f194180) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7fcb1f1941e0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7fcb1f1943c0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7fcb1f194360) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7fcb1f2591e0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7fcb1f259360) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7fcb1f259c00) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7fcb1f234820) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7fcb1f259ba0) 0
+ primary-for QAbstractAnimation (0x0x7fcb1f234820)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7fcb1f298000) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7fcb1f234888) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7fcb1f259f60) 0
+ primary-for QAnimationDriver (0x0x7fcb1f234888)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7fcb1f298240) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7fcb1f2348f0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7fcb1f2981e0) 0
+ primary-for QEventLoop (0x0x7fcb1f2348f0)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7fcb1f298ae0) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7fcb1f298ba0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7fcb1f298c00) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7fcb1f234a28) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7fcb1f298b40) 0
+ primary-for QAbstractEventDispatcher (0x0x7fcb1f234a28)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7fcb1ef673a8) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7fcb1ef772a0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7fcb1ef673a8)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7fcb1ef77360) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7fcb1ef773c0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7fcb1ef776c0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7fcb1ed6d660) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7fcb1eda6300) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7fcb1ee6fc60) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7fcb1ee6fc00) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7fcb1ee6ff00) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7fcb1eb9d4e0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7fcb1eb9d5a0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7fcb1eb9d540) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7fcb1eb9d600) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7fcb1eb9d480) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7fcb1ecf68a0) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7fcb1ed38f00) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7fcb1ed38ea0) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7fcb1e95f060) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7fcb1e95f000) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7fcb1ea1e1e0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7fcb1ea75de0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7fcb1eb42c00) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7fcb1eb3df70) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7fcb1eb42ba0) 0
+ primary-for QAbstractItemModel (0x0x7fcb1eb3df70)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7fcb1e822000) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7fcb1e7855b0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7fcb1e785618) 0
+ primary-for QAbstractTableModel (0x0x7fcb1e7855b0)
+ QObject (0x0x7fcb1e79af60) 0
+ primary-for QAbstractItemModel (0x0x7fcb1e785618)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7fcb1e822180) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7fcb1e785680) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7fcb1e7856e8) 0
+ primary-for QAbstractListModel (0x0x7fcb1e785680)
+ QObject (0x0x7fcb1e822120) 0
+ primary-for QAbstractItemModel (0x0x7fcb1e7856e8)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7fcb1e8228a0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7fcb1e822960) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7fcb1e7857b8) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7fcb1e785820) 0
+ primary-for QAbstractProxyModel (0x0x7fcb1e7857b8)
+ QObject (0x0x7fcb1e822900) 0
+ primary-for QAbstractItemModel (0x0x7fcb1e785820)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7fcb1e822ba0) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7fcb1e785888) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7fcb1e822b40) 0
+ primary-for QAbstractState (0x0x7fcb1e785888)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7fcb1e822de0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7fcb1e7858f0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7fcb1e822d80) 0
+ primary-for QAbstractTransition (0x0x7fcb1e7858f0)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7fcb1e8bb120) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7fcb1e785958) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7fcb1e7859c0) 0
+ primary-for QAnimationGroup (0x0x7fcb1e785958)
+ QObject (0x0x7fcb1e8bb0c0) 0
+ primary-for QAbstractAnimation (0x0x7fcb1e7859c0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7fcb1e90b480) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7fcb1e94d840) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7fcb1e59dcc0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7fcb1e60f0c0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7fcb1e5faf08) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7fcb1e60f060) 0
+ primary-for QIODevice (0x0x7fcb1e5faf08)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7fcb1e60fa20) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7fcb1e630068) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7fcb1e6300d0) 0
+ primary-for QBuffer (0x0x7fcb1e630068)
+ QObject (0x0x7fcb1e60f9c0) 0
+ primary-for QIODevice (0x0x7fcb1e6300d0)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7fcb1e60fcc0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7fcb1e60fc60) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7fcb1e60fe40) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7fcb1e60fde0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7fcb1e677d20) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7fcb1e6d2cc0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7fcb1e73d5a0) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7fcb1e3a9240) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7fcb1e3a92a0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7fcb1e3a91e0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7fcb1e47b960) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7fcb1e164f00) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7fcb1e1ca7e0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7fcb1e270300) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7fcb1e297f60) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7fcb1e2c7120) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7fcb1e34cd20) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7fcb1e34ccc0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7fcb1e0f7d80) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7fcb1e0f7e40) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7fcb1dda3180) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7fcb1dda3900) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7fcb1de4c7e0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7fcb1debc5a0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7fcb1df30000) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7fcb1dc57f60) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7fcb1dce9ae0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7fcb1dce9ba0) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7fcb1d75bba0) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7fcb1d7f1600) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7fcb1d7f1660) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7fcb1d7f15a0) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7fcb1d906060) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7fcb1d9060c0) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7fcb1d906000) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7fcb1d6fd7e0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7fcb1d3b7780) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7fcb1d3ea4e0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7fcb1d470600) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7fcb1d4707e0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7fcb1d167d80) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7fcb1d1ee4e0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7fcb1d1d2270) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7fcb1d1ee8a0) 0
+ primary-for QTimerEvent (0x0x7fcb1d1d2270)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7fcb1d1d22d8) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7fcb1d1ee960) 0
+ primary-for QChildEvent (0x0x7fcb1d1d22d8)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7fcb1d1d2820) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7fcb1d22e000) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7fcb1d1d2820)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7fcb1d1d2888) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7fcb1d22e0c0) 0
+ primary-for QDeferredDeleteEvent (0x0x7fcb1d1d2888)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7fcb1d22e1e0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7fcb1d1d28f0) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7fcb1d22e180) 0
+ primary-for QCoreApplication (0x0x7fcb1d1d28f0)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7fcb1d22e420) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7fcb1d22e5a0) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7fcb1d1d2958) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7fcb1d1d29c0) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7fcb1d1d2958)
+ QObject (0x0x7fcb1d22e540) 0
+ primary-for QAbstractItemModel (0x0x7fcb1d1d29c0)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7fcb1d22e780) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7fcb1d22e8a0) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7fcb1d22ea20) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7fcb1d2eb180) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7fcb1d2eb8a0) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7fcb1d033600) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7fcb1d023bc8) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7fcb1d023c30) 0
+ primary-for QFileDevice (0x0x7fcb1d023bc8)
+ QObject (0x0x7fcb1d0335a0) 0
+ primary-for QIODevice (0x0x7fcb1d023c30)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7fcb1d033f00) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7fcb1d023d68) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7fcb1d023dd0) 0
+ primary-for QFile (0x0x7fcb1d023d68)
+ QIODevice (0x0x7fcb1d023e38) 0
+ primary-for QFileDevice (0x0x7fcb1d023dd0)
+ QObject (0x0x7fcb1d033ea0) 0
+ primary-for QIODevice (0x0x7fcb1d023e38)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7fcb1d0955a0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7fcb1d102960) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7fcb1cd6ccc0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7fcb1cdbc480) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7fcb1cec45a0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7fcb1cecc0d0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7fcb1cecc138) 0
+ primary-for QEventTransition (0x0x7fcb1cecc0d0)
+ QObject (0x0x7fcb1cec4540) 0
+ primary-for QAbstractTransition (0x0x7fcb1cecc138)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7fcb1cecc1a0) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7fcb1cec4780) 0 nearly-empty
+ primary-for QException (0x0x7fcb1cecc1a0)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7fcb1cecc208) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7fcb1cecc270) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7fcb1cecc208)
+ std::exception (0x0x7fcb1cec47e0) 0 nearly-empty
+ primary-for QException (0x0x7fcb1cecc270)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7fcb1cec4840) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7fcb1cec4900) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7fcb1cec4960) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7fcb1cec4ba0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7fcb1cecc2d8) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7fcb1cec4b40) 0
+ primary-for QFileSelector (0x0x7fcb1cecc2d8)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7fcb1cec4de0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7fcb1cecc340) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7fcb1cec4d80) 0
+ primary-for QFileSystemWatcher (0x0x7fcb1cecc340)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7fcb1cb1c060) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7fcb1cecc3a8) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7fcb1cecc410) 0
+ primary-for QFinalState (0x0x7fcb1cecc3a8)
+ QObject (0x0x7fcb1cb1c000) 0
+ primary-for QAbstractState (0x0x7fcb1cecc410)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7fcb1cb1c240) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7fcb1cb1c4e0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7fcb1cecc4e0) 0
+ QBasicMutex (0x0x7fcb1cba1180) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7fcb1cba13c0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7fcb1cba1840) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7fcb1cba1e40) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7fcb1cbf6060) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7fcb1cc41840) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7fcb1cce0b40) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7fcb1cc71af8) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7fcb1cce0ae0) 0
+ primary-for QFutureWatcherBase (0x0x7fcb1cc71af8)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7fcb1cd08ea0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7fcb1c921340) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7fcb1c9213a8) 0
+ primary-for QHistoryState (0x0x7fcb1c921340)
+ QObject (0x0x7fcb1cd08e40) 0
+ primary-for QAbstractState (0x0x7fcb1c9213a8)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7fcb1c93b1e0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7fcb1c921410) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fcb1c921478) 0
+ primary-for QIdentityProxyModel (0x0x7fcb1c921410)
+ QAbstractItemModel (0x0x7fcb1c9214e0) 0
+ primary-for QAbstractProxyModel (0x0x7fcb1c921478)
+ QObject (0x0x7fcb1c93b180) 0
+ primary-for QAbstractItemModel (0x0x7fcb1c9214e0)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7fcb1c93b3c0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7fcb1c9f4cc0) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7fcb1c9f0e38) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7fcb1c9f4c60) 0
+ primary-for QItemSelectionModel (0x0x7fcb1c9f0e38)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7fcb1ca74000) 0
+ QList<QItemSelectionRange> (0x0x7fcb1ca74068) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7fcb1ca2c7e0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7fcb1cac3120) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7fcb1c81f300) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7fcb1c8642a0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7fcb1c864540) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7fcb1c8a78a0) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7fcb1c8a7900) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7fcb1c8a7840) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7fcb1c5d57e0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7fcb1c5d5840) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7fcb1c643060) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7fcb1c6430c0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7fcb1c643000) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7fcb1c353420) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7fcb1c3560d0) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7fcb1c3533c0) 0
+ primary-for QLibrary (0x0x7fcb1c3560d0)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7fcb1c3a02a0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7fcb1c353d80) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7fcb1c4369c0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7fcb1c436a20) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7fcb1c4a6840) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7fcb1c5169c0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7fcb1c188d80) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7fcb1c235060) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7fcb1c2c71e0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7fcb1c2c7420) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7fcb1c2c73c0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7fcb1c2c7840) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7fcb1bf82780) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7fcb1bdc8f60) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7fcb1bdef000) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7fcb1be52840) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7fcb1be92a80) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7fcb1be92ba0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7fcb1beee180) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7fcb1bedad00) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7fcb1beee120) 0
+ primary-for QMimeData (0x0x7fcb1bedad00)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7fcb1beee360) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7fcb1bb4e480) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7fcb1bb4e540) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7fcb1bb56068) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7fcb1bb4e4e0) 0
+ primary-for QObjectCleanupHandler (0x0x7fcb1bb56068)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7fcb1bb4e660) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7fcb1bbbcde0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7fcb1bbcd8f0) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7fcb1bbcd958) 0
+ primary-for QParallelAnimationGroup (0x0x7fcb1bbcd8f0)
+ QAbstractAnimation (0x0x7fcb1bbcd9c0) 0
+ primary-for QAnimationGroup (0x0x7fcb1bbcd958)
+ QObject (0x0x7fcb1bbbcd80) 0
+ primary-for QAbstractAnimation (0x0x7fcb1bbcd9c0)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7fcb1bbe5060) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7fcb1bbcda28) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7fcb1bbcda90) 0
+ primary-for QPauseAnimation (0x0x7fcb1bbcda28)
+ QObject (0x0x7fcb1bbe5000) 0
+ primary-for QAbstractAnimation (0x0x7fcb1bbcda90)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7fcb1bbe5c60) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7fcb1bc34de0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7fcb1bc37dd0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7fcb1bc34d80) 0
+ primary-for QPluginLoader (0x0x7fcb1bc37dd0)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7fcb1bc34f00) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7fcb1bcad5a0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7fcb1bca7a28) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7fcb1bca7a90) 0
+ primary-for QProcess (0x0x7fcb1bca7a28)
+ QObject (0x0x7fcb1bcad540) 0
+ primary-for QIODevice (0x0x7fcb1bca7a90)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7fcb1bcadc60) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7fcb1bca7af8) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7fcb1bca7b60) 0
+ primary-for QVariantAnimation (0x0x7fcb1bca7af8)
+ QObject (0x0x7fcb1bcadc00) 0
+ primary-for QAbstractAnimation (0x0x7fcb1bca7b60)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7fcb1bcadf00) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7fcb1bca7c30) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7fcb1bca7c98) 0
+ primary-for QPropertyAnimation (0x0x7fcb1bca7c30)
+ QAbstractAnimation (0x0x7fcb1bca7d00) 0
+ primary-for QVariantAnimation (0x0x7fcb1bca7c98)
+ QObject (0x0x7fcb1bcadea0) 0
+ primary-for QAbstractAnimation (0x0x7fcb1bca7d00)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7fcb1b973660) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7fcb1ba7e3c0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7fcb1ba7e360) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7fcb1b869120) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7fcb1b673d80) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7fcb1b673d20) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7fcb1b7049c0) 0
+ QRandomGenerator (0x0x7fcb1b29d8a0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7fcb1b2c3480) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7fcb1b2c3720) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7fcb1b2c3c00) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7fcb1b347120) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7fcb1b391f00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7fcb1b409ea0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7fcb1b0b0f00) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7fcb1b1b9060) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7fcb1b1b9300) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7fcb1b1503a8) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7fcb1b150410) 0
+ primary-for QSaveFile (0x0x7fcb1b1503a8)
+ QIODevice (0x0x7fcb1b150478) 0
+ primary-for QFileDevice (0x0x7fcb1b150410)
+ QObject (0x0x7fcb1b1b92a0) 0
+ primary-for QIODevice (0x0x7fcb1b150478)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7fcb1b1b9900) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7fcb1b1b9a80) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7fcb1aee3d20) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7fcb1aef41a0) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7fcb1aef4208) 0
+ primary-for QSequentialAnimationGroup (0x0x7fcb1aef41a0)
+ QAbstractAnimation (0x0x7fcb1aef4270) 0
+ primary-for QAnimationGroup (0x0x7fcb1aef4208)
+ QObject (0x0x7fcb1aee3cc0) 0
+ primary-for QAbstractAnimation (0x0x7fcb1aef4270)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7fcb1aee3f60) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7fcb1aef42d8) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7fcb1aee3f00) 0
+ primary-for QSettings (0x0x7fcb1aef42d8)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7fcb1af24420) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7fcb1aef4340) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7fcb1af243c0) 0
+ primary-for QSharedMemory (0x0x7fcb1aef4340)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7fcb1af24660) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7fcb1aef43a8) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7fcb1af24600) 0
+ primary-for QSignalMapper (0x0x7fcb1aef43a8)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7fcb1af248a0) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7fcb1aef4410) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7fcb1aef4478) 0
+ primary-for QSignalTransition (0x0x7fcb1aef4410)
+ QObject (0x0x7fcb1af24840) 0
+ primary-for QAbstractTransition (0x0x7fcb1aef4478)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7fcb1af24b40) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7fcb1aef44e0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7fcb1af24ae0) 0
+ primary-for QSocketNotifier (0x0x7fcb1aef44e0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7fcb1af24d80) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7fcb1aef4548) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fcb1aef45b0) 0
+ primary-for QSortFilterProxyModel (0x0x7fcb1aef4548)
+ QAbstractItemModel (0x0x7fcb1aef4618) 0
+ primary-for QAbstractProxyModel (0x0x7fcb1aef45b0)
+ QObject (0x0x7fcb1af24d20) 0
+ primary-for QAbstractItemModel (0x0x7fcb1aef4618)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7fcb1af931e0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7fcb1af93ae0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7fcb1aef47b8) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7fcb1aef4820) 0
+ primary-for QState (0x0x7fcb1aef47b8)
+ QObject (0x0x7fcb1af93a80) 0
+ primary-for QAbstractState (0x0x7fcb1aef4820)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7fcb1af93f60) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7fcb1aef49c0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7fcb1afdf000) 0
+ primary-for QStateMachine::SignalEvent (0x0x7fcb1aef49c0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7fcb1aef4a28) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7fcb1afdf060) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7fcb1aef4a28)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7fcb1aef4888) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7fcb1aef48f0) 0
+ primary-for QStateMachine (0x0x7fcb1aef4888)
+ QAbstractState (0x0x7fcb1aef4958) 0
+ primary-for QState (0x0x7fcb1aef48f0)
+ QObject (0x0x7fcb1af93f00) 0
+ primary-for QAbstractState (0x0x7fcb1aef4958)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7fcb1afdf420) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7fcb1b081420) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7fcb1ad0c780) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7fcb1acf3b60) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7fcb1acf3bc8) 0
+ primary-for QStringListModel (0x0x7fcb1acf3b60)
+ QAbstractItemModel (0x0x7fcb1acf3c30) 0
+ primary-for QAbstractListModel (0x0x7fcb1acf3bc8)
+ QObject (0x0x7fcb1ad0c720) 0
+ primary-for QAbstractItemModel (0x0x7fcb1acf3c30)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7fcb1ad0c8a0) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7fcb1ad0c960) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7fcb1ad0ca80) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7fcb1acf3c98) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7fcb1acf3d00) 0
+ primary-for QTemporaryFile (0x0x7fcb1acf3c98)
+ QFileDevice (0x0x7fcb1acf3d68) 0
+ primary-for QFile (0x0x7fcb1acf3d00)
+ QIODevice (0x0x7fcb1acf3dd0) 0
+ primary-for QFileDevice (0x0x7fcb1acf3d68)
+ QObject (0x0x7fcb1ad0ca20) 0
+ primary-for QIODevice (0x0x7fcb1acf3dd0)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7fcb1ad0cde0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7fcb1ad71660) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7fcb1ad71600) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7fcb1adda060) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7fcb1adda240) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7fcb1adda420) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7fcb1adf2000) 0
+ std::__mutex_base (0x0x7fcb1adda480) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7fcb1adda660) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7fcb1adda6c0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7fcb1adda720) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7fcb1ae1d180) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7fcb1adf2068) 0
+ std::__recursive_mutex_base (0x0x7fcb1ae1d1e0) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7fcb1add0ee0) 0
+ std::__mutex_base (0x0x7fcb1ae1d5a0) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7fcb1ae1d600) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7fcb1ae3f230) 0
+ std::__recursive_mutex_base (0x0x7fcb1ae1d960) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7fcb1ae1d9c0) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7fcb1ae60120) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7fcb1adf21a0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7fcb1ae60660) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7fcb1adf21a0)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7fcb1adf2208) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7fcb1ae60780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7fcb1adf2208)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7fcb1adf2270) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7fcb1ae608a0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7fcb1adf2270)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7fcb1adf2340) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7fcb1ae609c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7fcb1adf2340)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7fcb1ae92a20) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7fcb1ae92d20) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7fcb1aab4060) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7fcb1aab43c0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7fcb1adf23a8) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7fcb1ab2e5a0) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7fcb1adf23a8)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7fcb1ab97540) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7fcb1ab97960) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7fcb1a8e37e0) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7fcb1a910c60) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7fcb1a910cc0) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7fcb1a910c00) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7fcb1a7d20c0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7fcb1a7d2480) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7fcb1a7d24e0) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7fcb1a5537e0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7fcb1a54ec30) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7fcb1a54ec98) 0
+ primary-for std::future_error (0x0x7fcb1a54ec30)
+ std::exception (0x0x7fcb1a553f00) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fcb1a54ec98)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7fcb1a58a660) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7fcb1a58a600) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7fcb1a348d80) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7fcb1a3754e0) 0
+ std::__at_thread_exit_elt (0x0x7fcb1a348e40) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7fcb1a58a7e0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7fcb1a58a5a0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7fcb19b2e208) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7fcb19b00e40) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7fcb19b2e208)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7fcb19b3e720) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7fcb19b2e548) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7fcb19b3e6c0) 0
+ primary-for QThread (0x0x7fcb19b2e548)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7fcb19b3eae0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7fcb19b2e5b0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7fcb19b3ea80) 0
+ primary-for QThreadPool (0x0x7fcb19b2e5b0)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7fcb19b3ecc0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7fcb19b833c0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7fcb19b2e618) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7fcb19b83360) 0
+ primary-for QTimeLine (0x0x7fcb19b2e618)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7fcb19b83600) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7fcb19b2e680) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7fcb19b835a0) 0
+ primary-for QTimer (0x0x7fcb19b2e680)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7fcb19bc6f60) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7fcb19bc6f00) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7fcb19c8c060) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7fcb19c73d68) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7fcb19c8c000) 0
+ primary-for QTranslator (0x0x7fcb19c73d68)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7fcb19c8c2a0) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7fcb19c73dd0) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fcb19c73e38) 0
+ primary-for QTransposeProxyModel (0x0x7fcb19c73dd0)
+ QAbstractItemModel (0x0x7fcb19c73ea0) 0
+ primary-for QAbstractProxyModel (0x0x7fcb19c73e38)
+ QObject (0x0x7fcb19c8c240) 0
+ primary-for QAbstractItemModel (0x0x7fcb19c73ea0)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7fcb19c8c480) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7fcb19910e40) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7fcb19910f60) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7fcb199bc360) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7fcb19a28548) 0
+ QVector<QXmlStreamAttribute> (0x0x7fcb19a21a80) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7fcb19a21d80) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7fcb196a0d20) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7fcb196fcd20) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7fcb19765de0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7fcb19765e40) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7fcb197a5d20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb1982b1e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1982b540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb1982b720) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1982ba80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb1982bc60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb19864000) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb198641e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb19864540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb19864720) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb19864a80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb19864c60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1949a000) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb1949a1e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1949a540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb1949a720) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1949aa80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb194d2f60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb194ff300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb194ff480) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb194ff7e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb194ff960) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb194ffcc0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb194ffe40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1952e1e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb1952e360) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1952e6c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb1952e840) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1952eba0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb1952ed20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1955e0c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fcb1955e240) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fcb1955e5a0) 0 empty
+
diff --git a/tests/auto/bic/data/QtDBus.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtDBus.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..9c77964eeb
--- /dev/null
+++ b/tests/auto/bic/data/QtDBus.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,5316 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f36334d2f00) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f36321bf6c0) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f36321bf900) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f36321bfb40) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f36321bfd80) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f36321bff00) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f36321ee300) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7f3632229420) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f3632281ae0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f3632281ba0) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7f3632281f60) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7f36322b0000) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7f36322b0060) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7f36322b00c0) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7f36322b0120) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f36322b01e0) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f36322b02a0) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f36322b0360) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f36322b0420) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f36322b0780) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7f36322b0ae0) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f36322b0b40) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7f3631efa120) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f3631efa780) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7f36322d35b0) 0 empty
+ std::__nonesuch (0x0x7f3631efac60) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f3631f7c600) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f3631f7c660) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f3631fd4360) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f3631fd43c0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f36322d3a90) 0 empty
+ std::input_iterator_tag (0x0x7f3631fd4420) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f36322d3af8) 0 empty
+ std::forward_iterator_tag (0x0x7f36322d3b60) 0 empty
+ std::input_iterator_tag (0x0x7f3631fd4480) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f36322d3bc8) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f36322d3c30) 0 empty
+ std::forward_iterator_tag (0x0x7f36322d3c98) 0 empty
+ std::input_iterator_tag (0x0x7f3631fd44e0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f3632089000) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f3632089120) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f3632089420) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f3632089720) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f3632089840) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f3631d16b40) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f3631d16e40) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f3631d16ea0) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7f3631d16f60) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f3631d5c000) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7f3631d5c060) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7f3631d5c0c0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f3631d5c360) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f3631d5c600) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f3631d5c660) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f3631e12420) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f3631e22000) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7f3631e12600) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f3631e22000)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f3631e127e0) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f3631e22068) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7f3631e12ba0) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f3631e22068)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f3631e220d0) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7f3631e12d80) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f3631e220d0)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f3631e12f60) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f3631e4f540) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f3631e22138) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7f3631e4fc00) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f3631e22138)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f3631e221a0) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7f3631e22208) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f3631e221a0)
+ std::exception (0x0x7f3631e4fde0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f3631e22208)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f3631e7c000) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7f3631e7c1e0) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f3631af46c0) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f3631cd7180) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f3631cd7240) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f3631770ba0) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f3631770cc0) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f36317a1060) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f36317a15a0) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f36317e6d20) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f363189c180) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f3631841068) 0
+ std::__atomic_flag_base (0x0x7f363189c1e0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f36318417b8) 0
+ QAtomicInteger<int> (0x0x7f3631841820) 0
+ QBasicAtomicInteger<int> (0x0x7f36313ca180) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f3630fe9480) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f3631023a20) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f3631068180) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f36310373a8) 0
+ QGenericArgument (0x0x7f3631068420) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f3631068840) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f3631068c60) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f3630d1d780) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f3630d1da20) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f3630de8840) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f3630de8ba0) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f3630e45ea0) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f3630b27720) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f3630b277e0) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f3630bea900) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f3630bea9c0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f3630beaa20) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f3630beaa80) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f3630beaae0) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f3630beac00) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f3630beac60) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f3630930c00) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f3630930c60) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f36306efcc0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f36306efe40) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f363089b000) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f363089b3c0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f363089b660) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f363089b840) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f36304f6840) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f36304e2340) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7f36304f6900) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f36304e2340)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f36304e23a8) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7f36304e2410) 0
+ primary-for std::domain_error (0x0x7f36304e23a8)
+ std::exception (0x0x7f36304f6960) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f36304e2410)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f36304e2478) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7f36304e24e0) 0
+ primary-for std::invalid_argument (0x0x7f36304e2478)
+ std::exception (0x0x7f36304f69c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f36304e24e0)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f36304e2548) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7f36304e25b0) 0
+ primary-for std::length_error (0x0x7f36304e2548)
+ std::exception (0x0x7f36304f6a20) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f36304e25b0)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f36304e2618) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7f36304e2680) 0
+ primary-for std::out_of_range (0x0x7f36304e2618)
+ std::exception (0x0x7f36304f6a80) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f36304e2680)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f36304e26e8) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7f36304f6ae0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f36304e26e8)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f36304e2750) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7f36304e27b8) 0
+ primary-for std::range_error (0x0x7f36304e2750)
+ std::exception (0x0x7f36304f6b40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f36304e27b8)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f36304e2820) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7f36304e2888) 0
+ primary-for std::overflow_error (0x0x7f36304e2820)
+ std::exception (0x0x7f36304f6ba0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f36304e2888)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f36304e28f0) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7f36304e2958) 0
+ primary-for std::underflow_error (0x0x7f36304e28f0)
+ std::exception (0x0x7f36304f6c00) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f36304e2958)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f36304f6d80) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f3630550120) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f3630550960) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f36304e2d68) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7f36304e2dd0) 0
+ primary-for std::system_error (0x0x7f36304e2d68)
+ std::exception (0x0x7f363057c540) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f36304e2dd0)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f36305cb068) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7f36305cb0d0) 0
+ primary-for std::ios_base::failure (0x0x7f36305cb068)
+ std::runtime_error (0x0x7f36305cb138) 0
+ primary-for std::system_error (0x0x7f36305cb0d0)
+ std::exception (0x0x7f36305b2ae0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f36305cb138)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f36305b2b40) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f36305b2ba0) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f36305b2c00) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f36305b2a80) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f36306a9540) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f3630368720) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7f362ff0e820 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7f362ff0e8f0 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f362ff4c5b0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f362ff4c680 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f362ff8e0c0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f362ff8e120) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f36300b54e0) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f362fd45360) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f362fd457e0) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f362fe175a0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f362fb37000) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f362fe97f60) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f362fc9c180) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f362fa079c0) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f362f817cc0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f362f817d80) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f362f4ed2a0) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f362faa99c0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f362f4ed9c0) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f362faa9af8) 0
+ std::_Bit_iterator_base (0x0x7f362faa9b60) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f362f51e060) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f362faa9bc8) 0
+ std::_Bit_iterator_base (0x0x7f362faa9c30) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f362f51e840) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f362f2dbea0) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f362f3ddc60) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f362f3ddcc0) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f362f5bf680) 0 empty
+ QListData::NotIndirectLayout (0x0x7f362f3ddd20) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f362f35c540) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f362f3ddd80) 0 empty
+ QListData::NotIndirectLayout (0x0x7f362f3ddde0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f362f5bf6e8) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f362f3dde40) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f362f3ddea0) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f362f3ddc00) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f362f1150c0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f362f1c6720) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f362f1c66c0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f362f1c8410) 0
+ QList<QString> (0x0x7f362f1c8478) 0
+ QListSpecialMethods<QString> (0x0x7f362f1c6960) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f362f28e4e0) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f362ef16600) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7f362ef16960) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7f362ecfaf00) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f362ecfaf60) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f362ed1a120) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f362ed1a1e0) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f362f0917b8) 0
+ std::__uses_alloc_base (0x0x7f362ed1a180) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f362ee7c540) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f362ea9c9c0) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f362ea9cd20) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f362eac22a0) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f362eac27e0) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f362eb239c0) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f362eb470c0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f362eb47f00) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f362e838600) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f362e88db40) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f362e6ce960) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f362e3fc420) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f362e3fc480) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f362e3fc660) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f362e3fc600) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f362e4cb480) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f362e4cb600) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f362e4cbea0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f362e4a69c0) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7f362e4cbe40) 0
+ primary-for QAbstractAnimation (0x0x7f362e4a69c0)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f362e5072a0) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f362e4a6a28) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7f362e507240) 0
+ primary-for QAnimationDriver (0x0x7f362e4a6a28)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f362e5074e0) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f362e4a6a90) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7f362e507480) 0
+ primary-for QEventLoop (0x0x7f362e4a6a90)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f362e507d80) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f362e507e40) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f362e507ea0) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f362e4a6bc8) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7f362e507de0) 0
+ primary-for QAbstractEventDispatcher (0x0x7f362e4a6bc8)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f362e1d5548) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7f362e1df540) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f362e1d5548)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f362e1df600) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f362e1df660) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f362e1df960) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f362dfda900) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f362e0115a0) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f362e0d8f00) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f362e0d8ea0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f362e1031e0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f362de0b780) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f362de0b840) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f362de0b7e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f362de0b8a0) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f362de0b720) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f362df43b40) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f362dbc21e0) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f362dbc2180) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f362dbc2300) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f362dbc22a0) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f362dc8e480) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f362dd020c0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f362d9b3ea0) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f362d9cd138) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7f362d9b3e40) 0
+ primary-for QAbstractItemModel (0x0x7f362d9cd138)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f362da902a0) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f362d9cd750) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7f362d9cd7b8) 0
+ primary-for QAbstractTableModel (0x0x7f362d9cd750)
+ QObject (0x0x7f362da90240) 0
+ primary-for QAbstractItemModel (0x0x7f362d9cd7b8)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f362da90420) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f362d9cd820) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7f362d9cd888) 0
+ primary-for QAbstractListModel (0x0x7f362d9cd820)
+ QObject (0x0x7f362da903c0) 0
+ primary-for QAbstractItemModel (0x0x7f362d9cd888)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f362da90b40) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f362da90c00) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f362d9cd958) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7f362d9cd9c0) 0
+ primary-for QAbstractProxyModel (0x0x7f362d9cd958)
+ QObject (0x0x7f362da90ba0) 0
+ primary-for QAbstractItemModel (0x0x7f362d9cd9c0)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f362da90e40) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f362d9cda28) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7f362da90de0) 0
+ primary-for QAbstractState (0x0x7f362d9cda28)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f362db1d0c0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f362d9cda90) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7f362db1d060) 0
+ primary-for QAbstractTransition (0x0x7f362d9cda90)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f362db1d3c0) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f362d9cdaf8) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7f362d9cdb60) 0
+ primary-for QAnimationGroup (0x0x7f362d9cdaf8)
+ QObject (0x0x7f362db1d360) 0
+ primary-for QAbstractAnimation (0x0x7f362d9cdb60)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f362db7b720) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f362d7b8ae0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f362d809f60) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f362d87f360) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f362d8820d0) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7f362d87f300) 0
+ primary-for QIODevice (0x0x7f362d8820d0)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f362d87fcc0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f362d882208) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7f362d882270) 0
+ primary-for QBuffer (0x0x7f362d882208)
+ QObject (0x0x7f362d87fc60) 0
+ primary-for QIODevice (0x0x7f362d882270)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f362d87ff60) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f362d87ff00) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f362d8de120) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f362d8de0c0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f362d91d000) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f362d945f60) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f362d5af840) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f362d6194e0) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f362d619540) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f362d619480) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f362d6eac00) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f362d40b1e0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f362d40ba80) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f362d4e35a0) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f362d532240) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f362d5323c0) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f362d200000) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f362d1b6f60) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f362d384060) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f362d384120) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f362d009420) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f362d009ba0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f362d0c0a80) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f362d129840) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f362d1a12a0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f362cef4240) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f362cf55d80) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f362cf55e40) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f362c9c3e40) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f362ca618a0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f362ca61900) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f362ca61840) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f362cb75300) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f362cb75360) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f362cb752a0) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f362c96ca80) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f362c624a20) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f362c65b780) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f362c6e18a0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f362c6e1a80) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f362c3f2060) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f362c448780) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f362c443410) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7f362c448b40) 0
+ primary-for QTimerEvent (0x0x7f362c443410)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f362c443478) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7f362c448c00) 0
+ primary-for QChildEvent (0x0x7f362c443478)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f362c4439c0) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7f362c4972a0) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f362c4439c0)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f362c443a28) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7f362c497360) 0
+ primary-for QDeferredDeleteEvent (0x0x7f362c443a28)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f362c497480) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f362c443a90) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7f362c497420) 0
+ primary-for QCoreApplication (0x0x7f362c443a90)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f362c4976c0) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f362c497840) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7f362c443af8) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7f362c443b60) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7f362c443af8)
+ QObject (0x0x7f362c4977e0) 0
+ primary-for QAbstractItemModel (0x0x7f362c443b60)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f362c497a20) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f362c497b40) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f362c497cc0) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f362c55e420) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f362c55eb40) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f362c2a18a0) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f362c293d68) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7f362c293dd0) 0
+ primary-for QFileDevice (0x0x7f362c293d68)
+ QObject (0x0x7f362c2a1840) 0
+ primary-for QIODevice (0x0x7f362c293dd0)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f362c2ef1e0) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f362c293f08) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7f362c293f70) 0
+ primary-for QFile (0x0x7f362c293f08)
+ QIODevice (0x0x7f362c2f5000) 0
+ primary-for QFileDevice (0x0x7f362c293f70)
+ QObject (0x0x7f362c2ef180) 0
+ primary-for QIODevice (0x0x7f362c2f5000)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f362c2ef840) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f362c369c00) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f362bfd9f60) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f362c011720) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f362c139840) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f362c101270) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7f362c1012d8) 0
+ primary-for QEventTransition (0x0x7f362c101270)
+ QObject (0x0x7f362c1397e0) 0
+ primary-for QAbstractTransition (0x0x7f362c1012d8)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f362c101340) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7f362c139a20) 0 nearly-empty
+ primary-for QException (0x0x7f362c101340)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f362c1013a8) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7f362c101410) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f362c1013a8)
+ std::exception (0x0x7f362c139a80) 0 nearly-empty
+ primary-for QException (0x0x7f362c101410)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f362c139ae0) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f362c139ba0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f362c139c00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f362c139e40) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f362c101478) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7f362c139de0) 0
+ primary-for QFileSelector (0x0x7f362c101478)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f362bd820c0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f362c1014e0) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7f362bd82060) 0
+ primary-for QFileSystemWatcher (0x0x7f362c1014e0)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f362bd82300) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f362c101548) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7f362c1015b0) 0
+ primary-for QFinalState (0x0x7f362c101548)
+ QObject (0x0x7f362bd822a0) 0
+ primary-for QAbstractState (0x0x7f362c1015b0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f362bd824e0) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f362bd82780) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f362c101680) 0
+ QBasicMutex (0x0x7f362be0f420) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f362be0f660) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f362be0fae0) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f362be38120) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f362be38300) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f362beb1ae0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f362bf4fde0) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f362bed0c98) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7f362bf4fd80) 0
+ primary-for QFutureWatcherBase (0x0x7f362bed0c98)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f362bb9b180) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f362bb944e0) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7f362bb94548) 0
+ primary-for QHistoryState (0x0x7f362bb944e0)
+ QObject (0x0x7f362bb9b120) 0
+ primary-for QAbstractState (0x0x7f362bb94548)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f362bb9b480) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f362bb945b0) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f362bb94618) 0
+ primary-for QIdentityProxyModel (0x0x7f362bb945b0)
+ QAbstractItemModel (0x0x7f362bb94680) 0
+ primary-for QAbstractProxyModel (0x0x7f362bb94618)
+ QObject (0x0x7f362bb9b420) 0
+ primary-for QAbstractItemModel (0x0x7f362bb94680)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f362bb9b660) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f362bc63f60) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f362bc80000) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7f362bc63f00) 0
+ primary-for QItemSelectionModel (0x0x7f362bc80000)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f362bc801a0) 0
+ QList<QItemSelectionRange> (0x0x7f362bc80208) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f362bc91a80) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f362bd2e3c0) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f362ba825a0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f362bad2540) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f362bad27e0) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f362bb14b40) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f362bb14ba0) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f362bb14ae0) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f362b843a80) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f362b843ae0) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f362b8af300) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f362b8af360) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f362b8af2a0) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f362b5c36c0) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f362b5cb270) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7f362b5c3660) 0
+ primary-for QLibrary (0x0x7f362b5cb270)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f362b60e540) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f362b60e060) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f362b6a6c60) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f362b6a6cc0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f362b714ae0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f362b386c60) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f362b424060) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f362b499300) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f362b536480) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f362b5366c0) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f362b536660) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f362b536ae0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f362b1e8a20) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f362b059240) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f362b0592a0) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f362b0c1ae0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f362b0ffd20) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f362b0ffe40) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f362b15f420) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f362b14eea0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7f362b15f3c0) 0
+ primary-for QMimeData (0x0x7f362b14eea0)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f362b15f600) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f362adc0720) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f362adc07e0) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f362adc7208) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7f362adc0780) 0
+ primary-for QObjectCleanupHandler (0x0x7f362adc7208)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f362adc0900) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f362ae480c0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f362ae3ca90) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f362ae3caf8) 0
+ primary-for QParallelAnimationGroup (0x0x7f362ae3ca90)
+ QAbstractAnimation (0x0x7f362ae3cb60) 0
+ primary-for QAnimationGroup (0x0x7f362ae3caf8)
+ QObject (0x0x7f362ae48060) 0
+ primary-for QAbstractAnimation (0x0x7f362ae3cb60)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f362ae48300) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f362ae3cbc8) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7f362ae3cc30) 0
+ primary-for QPauseAnimation (0x0x7f362ae3cbc8)
+ QObject (0x0x7f362ae482a0) 0
+ primary-for QAbstractAnimation (0x0x7f362ae3cc30)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f362ae48f00) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f362aebf0c0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f362aeaaf70) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7f362aebf060) 0
+ primary-for QPluginLoader (0x0x7f362aeaaf70)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f362aebf1e0) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f362af1c840) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f362af15bc8) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7f362af15c30) 0
+ primary-for QProcess (0x0x7f362af15bc8)
+ QObject (0x0x7f362af1c7e0) 0
+ primary-for QIODevice (0x0x7f362af15c30)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f362af1cf00) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f362af15c98) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7f362af15d00) 0
+ primary-for QVariantAnimation (0x0x7f362af15c98)
+ QObject (0x0x7f362af1cea0) 0
+ primary-for QAbstractAnimation (0x0x7f362af15d00)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f362ab6d1e0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f362af15dd0) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7f362af15e38) 0
+ primary-for QPropertyAnimation (0x0x7f362af15dd0)
+ QAbstractAnimation (0x0x7f362af15ea0) 0
+ primary-for QVariantAnimation (0x0x7f362af15e38)
+ QObject (0x0x7f362ab6d180) 0
+ primary-for QAbstractAnimation (0x0x7f362af15ea0)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f362abe3900) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f362acee660) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f362acee600) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f362aadc3c0) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f362a913060) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f362a913000) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f362a4f3b60) 0
+ QRandomGenerator (0x0x7f362a50cb40) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f362a532720) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f362a5329c0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f362a532ea0) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f362a5b63c0) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f362a6291e0) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f362a69f180) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f362a35c1e0) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f362a416300) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f362a4165a0) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f362a3c1548) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7f362a3c15b0) 0
+ primary-for QSaveFile (0x0x7f362a3c1548)
+ QIODevice (0x0x7f362a3c1618) 0
+ primary-for QFileDevice (0x0x7f362a3c15b0)
+ QObject (0x0x7f362a416540) 0
+ primary-for QIODevice (0x0x7f362a3c1618)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f362a416ba0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f362a416d20) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f362a170000) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f362a165340) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f362a1653a8) 0
+ primary-for QSequentialAnimationGroup (0x0x7f362a165340)
+ QAbstractAnimation (0x0x7f362a165410) 0
+ primary-for QAnimationGroup (0x0x7f362a1653a8)
+ QObject (0x0x7f362a14ff60) 0
+ primary-for QAbstractAnimation (0x0x7f362a165410)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f362a170240) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f362a165478) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7f362a1701e0) 0
+ primary-for QSettings (0x0x7f362a165478)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f362a1706c0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f362a1654e0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7f362a170660) 0
+ primary-for QSharedMemory (0x0x7f362a1654e0)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f362a170900) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f362a165548) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7f362a1708a0) 0
+ primary-for QSignalMapper (0x0x7f362a165548)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f362a170b40) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f362a1655b0) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7f362a165618) 0
+ primary-for QSignalTransition (0x0x7f362a1655b0)
+ QObject (0x0x7f362a170ae0) 0
+ primary-for QAbstractTransition (0x0x7f362a165618)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f362a170de0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f362a165680) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7f362a170d80) 0
+ primary-for QSocketNotifier (0x0x7f362a165680)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f362a1dd060) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f362a1656e8) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f362a165750) 0
+ primary-for QSortFilterProxyModel (0x0x7f362a1656e8)
+ QAbstractItemModel (0x0x7f362a1657b8) 0
+ primary-for QAbstractProxyModel (0x0x7f362a165750)
+ QObject (0x0x7f362a1dd000) 0
+ primary-for QAbstractItemModel (0x0x7f362a1657b8)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f362a1dd480) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f362a1ddd80) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f362a165958) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7f362a1659c0) 0
+ primary-for QState (0x0x7f362a165958)
+ QObject (0x0x7f362a1ddd20) 0
+ primary-for QAbstractState (0x0x7f362a1659c0)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f362a251240) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f362a165b60) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7f362a2512a0) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f362a165b60)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f362a165bc8) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7f362a251300) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f362a165bc8)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f362a165a28) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7f362a165a90) 0
+ primary-for QStateMachine (0x0x7f362a165a28)
+ QAbstractState (0x0x7f362a165af8) 0
+ primary-for QState (0x0x7f362a165a90)
+ QObject (0x0x7f362a2511e0) 0
+ primary-for QAbstractState (0x0x7f362a165af8)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f362a2516c0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f3629ef06c0) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f3629f78a20) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f3629f5dd00) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7f3629f5dd68) 0
+ primary-for QStringListModel (0x0x7f3629f5dd00)
+ QAbstractItemModel (0x0x7f3629f5ddd0) 0
+ primary-for QAbstractListModel (0x0x7f3629f5dd68)
+ QObject (0x0x7f3629f789c0) 0
+ primary-for QAbstractItemModel (0x0x7f3629f5ddd0)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f3629f78b40) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f3629f78c00) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f3629f78d20) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f3629f5de38) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7f3629f5dea0) 0
+ primary-for QTemporaryFile (0x0x7f3629f5de38)
+ QFileDevice (0x0x7f3629f5df08) 0
+ primary-for QFile (0x0x7f3629f5dea0)
+ QIODevice (0x0x7f3629f5df70) 0
+ primary-for QFileDevice (0x0x7f3629f5df08)
+ QObject (0x0x7f3629f78cc0) 0
+ primary-for QIODevice (0x0x7f3629f5df70)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f3629fd70c0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f3629fd7900) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f3629fd78a0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f362a043300) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f362a0434e0) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f362a0436c0) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f3629fe41a0) 0
+ std::__mutex_base (0x0x7f362a043720) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f362a043900) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f362a043960) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f362a0439c0) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f362a08a420) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f3629fe4208) 0
+ std::__recursive_mutex_base (0x0x7f362a08a480) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f362a085380) 0
+ std::__mutex_base (0x0x7f362a08a840) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f362a08a8a0) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f362a085700) 0
+ std::__recursive_mutex_base (0x0x7f362a08ac00) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f362a08ac60) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f362a0ce3c0) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f3629fe4340) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7f362a0ce900) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f3629fe4340)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f3629fe43a8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7f362a0cea20) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f3629fe43a8)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f3629fe4410) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7f362a0ceb40) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f3629fe4410)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f3629fe44e0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7f362a0cec60) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f3629fe44e0)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f3629cfdcc0) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f3629d20000) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f3629d20300) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f3629d20660) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f3629fe4548) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7f3629d97840) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f3629fe4548)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f3629e037e0) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7f3629e03c00) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f3629b41a80) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7f3629b78f00) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f3629b78f60) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f3629b78ea0) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f3629a3a360) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f3629a3a720) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f3629a3a780) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f36297c5a80) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f36297bfdd0) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7f36297bfe38) 0
+ primary-for std::future_error (0x0x7f36297bfdd0)
+ std::exception (0x0x7f36297ef1e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f36297bfe38)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f36297ef900) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f36297ef8a0) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f362960d060) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f36295e5680) 0
+ std::__at_thread_exit_elt (0x0x7f362960d120) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f36297efa80) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f36297ef840) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f3628d673a8) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7f3628dab120) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f3628d673a8)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f3628dab9c0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f3628d676e8) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7f3628dab960) 0
+ primary-for QThread (0x0x7f3628d676e8)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f3628dabd80) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f3628d67750) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7f3628dabd20) 0
+ primary-for QThreadPool (0x0x7f3628d67750)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f3628dabf60) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f3628dee660) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f3628d677b8) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7f3628dee600) 0
+ primary-for QTimeLine (0x0x7f3628d677b8)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f3628dee8a0) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f3628d67820) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7f3628dee840) 0
+ primary-for QTimer (0x0x7f3628d67820)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f3628e5a240) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f3628e5a1e0) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f3628afb300) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f3628ee5f08) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7f3628afb2a0) 0
+ primary-for QTranslator (0x0x7f3628ee5f08)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7f3628afb540) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7f3628ee5f70) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f3628b0f000) 0
+ primary-for QTransposeProxyModel (0x0x7f3628ee5f70)
+ QAbstractItemModel (0x0x7f3628b0f068) 0
+ primary-for QAbstractProxyModel (0x0x7f3628b0f000)
+ QObject (0x0x7f3628afb4e0) 0
+ primary-for QAbstractItemModel (0x0x7f3628b0f068)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f3628afb720) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f3628b9d120) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f3628b9d240) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f3628c2d600) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f3628c996e8) 0
+ QVector<QXmlStreamAttribute> (0x0x7f3628c8ad20) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f3628cd7060) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f362892e000) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f362898e000) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f36289f50c0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f36289f5120) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f3628a54000) 0
+
+Class QDBusAbstractAdaptor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusAbstractAdaptor::QPrivateSignal (0x0x7f3628a54240) 0 empty
+
+Vtable for QDBusAbstractAdaptor
+QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDBusAbstractAdaptor)
+16 (int (*)(...))QDBusAbstractAdaptor::metaObject
+24 (int (*)(...))QDBusAbstractAdaptor::qt_metacast
+32 (int (*)(...))QDBusAbstractAdaptor::qt_metacall
+40 (int (*)(...))QDBusAbstractAdaptor::~QDBusAbstractAdaptor
+48 (int (*)(...))QDBusAbstractAdaptor::~QDBusAbstractAdaptor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusAbstractAdaptor
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractAdaptor (0x0x7f3628a4c3a8) 0
+ vptr=((& QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor) + 16)
+ QObject (0x0x7f3628a541e0) 0
+ primary-for QDBusAbstractAdaptor (0x0x7f3628a4c3a8)
+
+Class QDBusError
+ size=32 align=8
+ base size=32 base align=8
+QDBusError (0x0x7f3628a54420) 0
+
+Class QDBusMessage
+ size=8 align=8
+ base size=8 base align=8
+QDBusMessage (0x0x7f362871da20) 0
+
+Class QDBusObjectPath
+ size=8 align=8
+ base size=8 base align=8
+QDBusObjectPath (0x0x7f36287f3300) 0
+
+Class QDBusSignature
+ size=8 align=8
+ base size=8 base align=8
+QDBusSignature (0x0x7f3628858180) 0
+
+Class QDBusVariant
+ size=16 align=8
+ base size=16 base align=8
+QDBusVariant (0x0x7f362889df60) 0
+
+Class QDBusConnection
+ size=8 align=8
+ base size=8 base align=8
+QDBusConnection (0x0x7f3628431ba0) 0
+
+Vtable for QDBusAbstractInterfaceBase
+QDBusAbstractInterfaceBase::_ZTV26QDBusAbstractInterfaceBase: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QDBusAbstractInterfaceBase)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QDBusAbstractInterfaceBase::qt_metacall
+40 (int (*)(...))QDBusAbstractInterfaceBase::~QDBusAbstractInterfaceBase
+48 (int (*)(...))QDBusAbstractInterfaceBase::~QDBusAbstractInterfaceBase
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusAbstractInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractInterfaceBase (0x0x7f3628535a28) 0
+ vptr=((& QDBusAbstractInterfaceBase::_ZTV26QDBusAbstractInterfaceBase) + 16)
+ QObject (0x0x7f36285758a0) 0
+ primary-for QDBusAbstractInterfaceBase (0x0x7f3628535a28)
+
+Class QDBusAbstractInterface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusAbstractInterface::QPrivateSignal (0x0x7f3628575a20) 0 empty
+
+Vtable for QDBusAbstractInterface
+QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QDBusAbstractInterface)
+16 (int (*)(...))QDBusAbstractInterface::metaObject
+24 (int (*)(...))QDBusAbstractInterface::qt_metacast
+32 (int (*)(...))QDBusAbstractInterface::qt_metacall
+40 (int (*)(...))QDBusAbstractInterface::~QDBusAbstractInterface
+48 (int (*)(...))QDBusAbstractInterface::~QDBusAbstractInterface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QDBusAbstractInterface::connectNotify
+104 (int (*)(...))QDBusAbstractInterface::disconnectNotify
+
+Class QDBusAbstractInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractInterface (0x0x7f3628535a90) 0
+ vptr=((& QDBusAbstractInterface::_ZTV22QDBusAbstractInterface) + 16)
+ QDBusAbstractInterfaceBase (0x0x7f3628535af8) 0
+ primary-for QDBusAbstractInterface (0x0x7f3628535a90)
+ QObject (0x0x7f36285759c0) 0
+ primary-for QDBusAbstractInterfaceBase (0x0x7f3628535af8)
+
+Class QDBusArgument
+ size=8 align=8
+ base size=8 base align=8
+QDBusArgument (0x0x7f3628575c00) 0
+
+Class QDBusPendingCall
+ size=8 align=8
+ base size=8 base align=8
+QDBusPendingCall (0x0x7f36282d2f60) 0
+
+Class QDBusPendingCallWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusPendingCallWatcher::QPrivateSignal (0x0x7f3628370480) 0 empty
+
+Vtable for QDBusPendingCallWatcher
+QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QDBusPendingCallWatcher)
+16 (int (*)(...))QDBusPendingCallWatcher::metaObject
+24 (int (*)(...))QDBusPendingCallWatcher::qt_metacast
+32 (int (*)(...))QDBusPendingCallWatcher::qt_metacall
+40 (int (*)(...))QDBusPendingCallWatcher::~QDBusPendingCallWatcher
+48 (int (*)(...))QDBusPendingCallWatcher::~QDBusPendingCallWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusPendingCallWatcher
+ size=24 align=8
+ base size=24 base align=8
+QDBusPendingCallWatcher (0x0x7f3628371070) 0
+ vptr=((& QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher) + 16)
+ QObject (0x0x7f36283703c0) 0
+ primary-for QDBusPendingCallWatcher (0x0x7f3628371070)
+ QDBusPendingCall (0x0x7f3628370420) 16
+
+Class QDBusPendingReplyData
+ size=8 align=8
+ base size=8 base align=8
+QDBusPendingReplyData (0x0x7f3628369820) 0
+ QDBusPendingCall (0x0x7f3628370660) 0
+
+Class QDBusPendingReplyTypes::TypeIsVoid
+ size=1 align=1
+ base size=0 base align=1
+QDBusPendingReplyTypes::TypeIsVoid (0x0x7f3628370e40) 0 empty
+
+Class QDBusConnectionInterface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusConnectionInterface::QPrivateSignal (0x0x7f36283bc600) 0 empty
+
+Vtable for QDBusConnectionInterface
+QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QDBusConnectionInterface)
+16 (int (*)(...))QDBusConnectionInterface::metaObject
+24 (int (*)(...))QDBusConnectionInterface::qt_metacast
+32 (int (*)(...))QDBusConnectionInterface::qt_metacall
+40 (int (*)(...))QDBusConnectionInterface::~QDBusConnectionInterface
+48 (int (*)(...))QDBusConnectionInterface::~QDBusConnectionInterface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QDBusConnectionInterface::connectNotify
+104 (int (*)(...))QDBusConnectionInterface::disconnectNotify
+
+Class QDBusConnectionInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusConnectionInterface (0x0x7f3628369b60) 0
+ vptr=((& QDBusConnectionInterface::_ZTV24QDBusConnectionInterface) + 16)
+ QDBusAbstractInterface (0x0x7f3628369bc8) 0
+ primary-for QDBusConnectionInterface (0x0x7f3628369b60)
+ QDBusAbstractInterfaceBase (0x0x7f3628369c30) 0
+ primary-for QDBusAbstractInterface (0x0x7f3628369bc8)
+ QObject (0x0x7f36283bc5a0) 0
+ primary-for QDBusAbstractInterfaceBase (0x0x7f3628369c30)
+
+Class QDBusContext
+ size=8 align=8
+ base size=8 base align=8
+QDBusContext (0x0x7f36283bca20) 0
+
+Vtable for QDBusInterface
+QDBusInterface::_ZTV14QDBusInterface: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDBusInterface)
+16 (int (*)(...))QDBusInterface::metaObject
+24 (int (*)(...))QDBusInterface::qt_metacast
+32 (int (*)(...))QDBusInterface::qt_metacall
+40 (int (*)(...))QDBusInterface::~QDBusInterface
+48 (int (*)(...))QDBusInterface::~QDBusInterface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QDBusAbstractInterface::connectNotify
+104 (int (*)(...))QDBusAbstractInterface::disconnectNotify
+
+Class QDBusInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusInterface (0x0x7f3628369c98) 0
+ vptr=((& QDBusInterface::_ZTV14QDBusInterface) + 16)
+ QDBusAbstractInterface (0x0x7f3628369d00) 0
+ primary-for QDBusInterface (0x0x7f3628369c98)
+ QDBusAbstractInterfaceBase (0x0x7f3628369d68) 0
+ primary-for QDBusAbstractInterface (0x0x7f3628369d00)
+ QObject (0x0x7f36283bca80) 0
+ primary-for QDBusAbstractInterfaceBase (0x0x7f3628369d68)
+
+Class QDBusMetaType
+ size=1 align=1
+ base size=0 base align=1
+QDBusMetaType (0x0x7f36283bcba0) 0 empty
+
+Class QDBusServer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusServer::QPrivateSignal (0x0x7f36283bcd80) 0 empty
+
+Vtable for QDBusServer
+QDBusServer::_ZTV11QDBusServer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDBusServer)
+16 (int (*)(...))QDBusServer::metaObject
+24 (int (*)(...))QDBusServer::qt_metacast
+32 (int (*)(...))QDBusServer::qt_metacall
+40 (int (*)(...))QDBusServer::~QDBusServer
+48 (int (*)(...))QDBusServer::~QDBusServer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusServer
+ size=24 align=8
+ base size=24 base align=8
+QDBusServer (0x0x7f3628369e38) 0
+ vptr=((& QDBusServer::_ZTV11QDBusServer) + 16)
+ QObject (0x0x7f36283bcd20) 0
+ primary-for QDBusServer (0x0x7f3628369e38)
+
+Class QDBusServiceWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusServiceWatcher::QPrivateSignal (0x0x7f36283bcf00) 0 empty
+
+Vtable for QDBusServiceWatcher
+QDBusServiceWatcher::_ZTV19QDBusServiceWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QDBusServiceWatcher)
+16 (int (*)(...))QDBusServiceWatcher::metaObject
+24 (int (*)(...))QDBusServiceWatcher::qt_metacast
+32 (int (*)(...))QDBusServiceWatcher::qt_metacall
+40 (int (*)(...))QDBusServiceWatcher::~QDBusServiceWatcher
+48 (int (*)(...))QDBusServiceWatcher::~QDBusServiceWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusServiceWatcher
+ size=16 align=8
+ base size=16 base align=8
+QDBusServiceWatcher (0x0x7f3628369ea0) 0
+ vptr=((& QDBusServiceWatcher::_ZTV19QDBusServiceWatcher) + 16)
+ QObject (0x0x7f36283bcea0) 0
+ primary-for QDBusServiceWatcher (0x0x7f3628369ea0)
+
+Class QDBusUnixFileDescriptor
+ size=8 align=8
+ base size=8 base align=8
+QDBusUnixFileDescriptor (0x0x7f362800c8a0) 0
+
+Class QDBusVirtualObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusVirtualObject::QPrivateSignal (0x0x7f36280838a0) 0 empty
+
+Vtable for QDBusVirtualObject
+QDBusVirtualObject::_ZTV18QDBusVirtualObject: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDBusVirtualObject)
+16 (int (*)(...))QDBusVirtualObject::metaObject
+24 (int (*)(...))QDBusVirtualObject::qt_metacast
+32 (int (*)(...))QDBusVirtualObject::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QDBusVirtualObject
+ size=16 align=8
+ base size=16 base align=8
+QDBusVirtualObject (0x0x7f3628086478) 0
+ vptr=((& QDBusVirtualObject::_ZTV18QDBusVirtualObject) + 16)
+ QObject (0x0x7f3628083840) 0
+ primary-for QDBusVirtualObject (0x0x7f3628086478)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f36280c1c60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f36280e1000) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f36280e11e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f36280e1540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f36280e1720) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f36280e1a80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f36280e1c60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3628121000) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f36281211e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3628121540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f3628121720) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3628121a80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f3628121c60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3628156000) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f36281561e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3628156540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f3628187a20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3628187d80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f3628187f00) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f36281b92a0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f36281b9420) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f36281b9780) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f36281b9900) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f36281b9c60) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f36281b9de0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3627de7180) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f3627de7300) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3627de7660) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f3627de77e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3627de7b40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f3627de7cc0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f3627e15060) 0 empty
+
diff --git a/tests/auto/bic/data/QtGui.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtGui.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..155a5331d8
--- /dev/null
+++ b/tests/auto/bic/data/QtGui.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,8792 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7fdf11780b40) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7fdf10c75300) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7fdf10c75540) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7fdf10c75780) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7fdf10c759c0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7fdf10c75b40) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7fdf10c75f00) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7fdf10ce2060) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7fdf10d35720) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7fdf10d357e0) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7fdf10d35ba0) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7fdf10d35c00) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7fdf10d35c60) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7fdf10d35cc0) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7fdf10d35d20) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7fdf10d35de0) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7fdf10d35ea0) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7fdf10d35f60) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7fdf10d69060) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7fdf10d693c0) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7fdf10d69720) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7fdf10d69780) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7fdf10d69d20) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7fdf10db23c0) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7fdf10cf8f70) 0 empty
+ std::__nonesuch (0x0x7fdf10db28a0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7fdf10a31240) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7fdf10a312a0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7fdf10a65f60) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7fdf10a93000) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7fdf10dd9478) 0 empty
+ std::input_iterator_tag (0x0x7fdf10a93060) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7fdf10dd94e0) 0 empty
+ std::forward_iterator_tag (0x0x7fdf10dd9548) 0 empty
+ std::input_iterator_tag (0x0x7fdf10a930c0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7fdf10dd95b0) 0 empty
+ std::bidirectional_iterator_tag (0x0x7fdf10dd9618) 0 empty
+ std::forward_iterator_tag (0x0x7fdf10dd9680) 0 empty
+ std::input_iterator_tag (0x0x7fdf10a93120) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7fdf10b1fc00) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7fdf10b1fd20) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7fdf10b43060) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7fdf10b43360) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7fdf10b43480) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7fdf10bcd780) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7fdf10bcda80) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7fdf10bcdae0) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7fdf10bcdba0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7fdf10bcdc00) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7fdf10bcdc60) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7fdf10bcdcc0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7fdf10bcdf60) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7fdf10811240) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7fdf108112a0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7fdf108ca060) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7fdf10dd99c0) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7fdf108ca240) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7fdf10dd99c0)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7fdf108ca420) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7fdf10dd9a28) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7fdf108ca7e0) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7fdf10dd9a28)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7fdf10dd9a90) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7fdf108ca9c0) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7fdf10dd9a90)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7fdf108caba0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7fdf10900180) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7fdf10dd9af8) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7fdf10900840) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fdf10dd9af8)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7fdf10dd9b60) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7fdf10dd9bc8) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7fdf10dd9b60)
+ std::exception (0x0x7fdf10900a20) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fdf10dd9bc8)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7fdf10900c00) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7fdf10900de0) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7fdf109a7300) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7fdf1075dd80) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7fdf1075de40) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7fdf102227e0) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7fdf10222900) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7fdf10222c60) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7fdf1025f1e0) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7fdf1029f960) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7fdf10335d80) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7fdf102dfa28) 0
+ std::__atomic_flag_base (0x0x7fdf10335de0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7fdf101b61a0) 0
+ QAtomicInteger<int> (0x0x7fdf101b6208) 0
+ QBasicAtomicInteger<int> (0x0x7fdf0fe6ad80) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7fdf0fa9d0c0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7fdf0fae2660) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7fdf0fae2d80) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7fdf0fcbbd68) 0
+ QGenericArgument (0x0x7fdf0fb21060) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7fdf0fb21480) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7fdf0fb218a0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7fdf0fbd43c0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7fdf0fbd4660) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7fdf0f89e480) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7fdf0f89e7e0) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7fdf0f8fbae0) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7fdf0f9fa360) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7fdf0f9fa420) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7fdf0f6aa540) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7fdf0f6aa600) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7fdf0f6aa660) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7fdf0f6aa6c0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7fdf0f6aa720) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7fdf0f6aa840) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7fdf0f6aa8a0) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7fdf0f7e9840) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7fdf0f7e98a0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7fdf0f5a1900) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7fdf0f5a1a80) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7fdf0f315c00) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7fdf0f364000) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7fdf0f3642a0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7fdf0f364480) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7fdf0f3b1480) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7fdf0f5beea0) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7fdf0f3b1540) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fdf0f5beea0)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7fdf0f5bef08) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7fdf0f5bef70) 0
+ primary-for std::domain_error (0x0x7fdf0f5bef08)
+ std::exception (0x0x7fdf0f3b15a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fdf0f5bef70)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7fdf0f5be3a8) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7fdf0f5be410) 0
+ primary-for std::invalid_argument (0x0x7fdf0f5be3a8)
+ std::exception (0x0x7fdf0f3b1600) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fdf0f5be410)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7fdf0f5be750) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7fdf0f5be7b8) 0
+ primary-for std::length_error (0x0x7fdf0f5be750)
+ std::exception (0x0x7fdf0f3b1660) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fdf0f5be7b8)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7fdf0f3de000) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7fdf0f3de068) 0
+ primary-for std::out_of_range (0x0x7fdf0f3de000)
+ std::exception (0x0x7fdf0f3b16c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fdf0f3de068)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7fdf0f3de0d0) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7fdf0f3b1720) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fdf0f3de0d0)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7fdf0f3de138) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7fdf0f3de1a0) 0
+ primary-for std::range_error (0x0x7fdf0f3de138)
+ std::exception (0x0x7fdf0f3b1780) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fdf0f3de1a0)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7fdf0f3de208) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7fdf0f3de270) 0
+ primary-for std::overflow_error (0x0x7fdf0f3de208)
+ std::exception (0x0x7fdf0f3b17e0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fdf0f3de270)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7fdf0f3de2d8) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7fdf0f3de340) 0
+ primary-for std::underflow_error (0x0x7fdf0f3de2d8)
+ std::exception (0x0x7fdf0f3b1840) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fdf0f3de340)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7fdf0f3b19c0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7fdf0f3b1d20) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7fdf0f0095a0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7fdf0f3de750) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7fdf0f3de7b8) 0
+ primary-for std::system_error (0x0x7fdf0f3de750)
+ std::exception (0x0x7fdf0f035180) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fdf0f3de7b8)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7fdf0f3dea28) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7fdf0f3dea90) 0
+ primary-for std::ios_base::failure (0x0x7fdf0f3dea28)
+ std::runtime_error (0x0x7fdf0f3deaf8) 0
+ primary-for std::system_error (0x0x7fdf0f3dea90)
+ std::exception (0x0x7fdf0f069720) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fdf0f3deaf8)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7fdf0f069780) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7fdf0f0697e0) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7fdf0f069840) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7fdf0f0696c0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7fdf0f157180) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7fdf0ee32360) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7fdf0edc4208 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7fdf0edc42d8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7fdf0edc44e0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7fdf0ea11068 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7fdf0e9fecc0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7fdf0e9fed20) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7fdf0eb66120) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7fdf0ebe5f60) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7fdf0e811420) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7fdf0e8da1e0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7fdf0e95ec00) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7fdf0e95eba0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7fdf0e738d80) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7fdf0e4da600) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7fdf0e2f1900) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7fdf0e2f19c0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7fdf0e3b8ea0) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7fdf0e3043a8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fdf0e3d6600) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7fdf0e3044e0) 0
+ std::_Bit_iterator_base (0x0x7fdf0e304548) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fdf0e3d6c60) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7fdf0e3045b0) 0
+ std::_Bit_iterator_base (0x0x7fdf0e304618) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fdf0e009480) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7fdf0e1c0ae0) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7fdf0dec18a0) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7fdf0dec1900) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7fdf0de41068) 0 empty
+ QListData::NotIndirectLayout (0x0x7fdf0dec1960) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7fdf0e0e6ee0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fdf0dec19c0) 0 empty
+ QListData::NotIndirectLayout (0x0x7fdf0dec1a20) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7fdf0de410d0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fdf0dec1a80) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7fdf0dec1ae0) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7fdf0dec1840) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7fdf0dfaacc0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7fdf0dca8360) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7fdf0dca8300) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7fdf0dc92dd0) 0
+ QList<QString> (0x0x7fdf0dc92e38) 0
+ QListSpecialMethods<QString> (0x0x7fdf0dca85a0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7fdf0dd72120) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7fdf0ddf8240) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7fdf0ddf85a0) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7fdf0dbdab40) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7fdf0dbdaba0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7fdf0dbdad20) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7fdf0dbdade0) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7fdf0dbef1a0) 0
+ std::__uses_alloc_base (0x0x7fdf0dbdad80) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7fdf0d96b180) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7fdf0d600600) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7fdf0d600960) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7fdf0d600ea0) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7fdf0d625420) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7fdf0d68c600) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7fdf0d68ccc0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7fdf0d6dcb40) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7fdf0d79b240) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7fdf0d7f4780) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7fdf0d2b75a0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7fdf0d3e8060) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7fdf0d3e80c0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7fdf0d3e82a0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7fdf0d3e8240) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7fdf0d0b30c0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7fdf0d0b3240) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7fdf0d0b3ae0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7fdf0d0ad3a8) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7fdf0d0b3a80) 0
+ primary-for QAbstractAnimation (0x0x7fdf0d0ad3a8)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7fdf0d0b3ea0) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7fdf0d0ad410) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7fdf0d0b3e40) 0
+ primary-for QAnimationDriver (0x0x7fdf0d0ad410)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7fdf0d0f3120) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7fdf0d0ad478) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7fdf0d0f30c0) 0
+ primary-for QEventLoop (0x0x7fdf0d0ad478)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7fdf0d0f39c0) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7fdf0d0f3a80) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7fdf0d0f3ae0) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7fdf0d0ad5b0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7fdf0d0f3a20) 0
+ primary-for QAbstractEventDispatcher (0x0x7fdf0d0ad5b0)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7fdf0d173f08) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7fdf0d1cb180) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7fdf0d173f08)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7fdf0d1cb240) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7fdf0d1cb2a0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7fdf0d1cb5a0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7fdf0cfc1540) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7fdf0cffb1e0) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7fdf0ccc3b40) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7fdf0ccc3ae0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7fdf0ccc3de0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7fdf0cdf13c0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7fdf0cdf1480) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7fdf0cdf1420) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7fdf0cdf14e0) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7fdf0cdf1360) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7fdf0cb49780) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7fdf0cb8dde0) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7fdf0cb8dd80) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7fdf0cb8df00) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7fdf0cb8dea0) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7fdf0c8710c0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7fdf0c8c9cc0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7fdf0c996ae0) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7fdf0c999af8) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7fdf0c996a80) 0
+ primary-for QAbstractItemModel (0x0x7fdf0c999af8)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7fdf0c5feea0) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7fdf0c60f138) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7fdf0c60f1a0) 0
+ primary-for QAbstractTableModel (0x0x7fdf0c60f138)
+ QObject (0x0x7fdf0c5fee40) 0
+ primary-for QAbstractItemModel (0x0x7fdf0c60f1a0)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7fdf0c683060) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7fdf0c60f208) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7fdf0c60f270) 0
+ primary-for QAbstractListModel (0x0x7fdf0c60f208)
+ QObject (0x0x7fdf0c683000) 0
+ primary-for QAbstractItemModel (0x0x7fdf0c60f270)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7fdf0c683780) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7fdf0c683840) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7fdf0c60f340) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7fdf0c60f3a8) 0
+ primary-for QAbstractProxyModel (0x0x7fdf0c60f340)
+ QObject (0x0x7fdf0c6837e0) 0
+ primary-for QAbstractItemModel (0x0x7fdf0c60f3a8)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7fdf0c683a80) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7fdf0c60f410) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7fdf0c683a20) 0
+ primary-for QAbstractState (0x0x7fdf0c60f410)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7fdf0c683cc0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7fdf0c60f478) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7fdf0c683c60) 0
+ primary-for QAbstractTransition (0x0x7fdf0c60f478)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7fdf0c711000) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7fdf0c60f4e0) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7fdf0c60f548) 0
+ primary-for QAnimationGroup (0x0x7fdf0c60f4e0)
+ QObject (0x0x7fdf0c683f60) 0
+ primary-for QAbstractAnimation (0x0x7fdf0c60f548)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7fdf0c763360) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7fdf0c7a4720) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7fdf0c7f3ba0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7fdf0c447f60) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7fdf0c456a90) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7fdf0c447f00) 0
+ primary-for QIODevice (0x0x7fdf0c456a90)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7fdf0c47d900) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7fdf0c456bc8) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7fdf0c456c30) 0
+ primary-for QBuffer (0x0x7fdf0c456bc8)
+ QObject (0x0x7fdf0c47d8a0) 0
+ primary-for QIODevice (0x0x7fdf0c456c30)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7fdf0c47dba0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7fdf0c47db40) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7fdf0c47dd20) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7fdf0c47dcc0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7fdf0c4d7c00) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7fdf0c527ba0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7fdf0c594480) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7fdf0c5fb120) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7fdf0c5fb180) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7fdf0c5fb0c0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7fdf0c2cf840) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7fdf0c3bade0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7fdf0c0206c0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7fdf0c0c71e0) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7fdf0c0eee40) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7fdf0c11b000) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7fdf0c1a4c00) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7fdf0c1a4ba0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7fdf0bf4ac60) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7fdf0bf4ad20) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7fdf0bffa060) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7fdf0bffa7e0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7fdf0bcab6c0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7fdf0bd0f480) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7fdf0bd64ea0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7fdf0baa7e40) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7fdf0bb3f9c0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7fdf0bb3fa80) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7fdf0b9aea80) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7fdf0b64b4e0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7fdf0b64b540) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7fdf0b64b480) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7fdf0b73bf00) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7fdf0b73bf60) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7fdf0b73bea0) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7fdf0b5516c0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7fdf0b20c660) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7fdf0b2403c0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7fdf0b2c44e0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7fdf0b2c46c0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7fdf0b3b9c60) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7fdf0b0443c0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7fdf0b013dd0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7fdf0b044780) 0
+ primary-for QTimerEvent (0x0x7fdf0b013dd0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7fdf0b013e38) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7fdf0b044840) 0
+ primary-for QChildEvent (0x0x7fdf0b013e38)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7fdf0b0733a8) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7fdf0b044ea0) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7fdf0b0733a8)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7fdf0b073410) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7fdf0b044f60) 0
+ primary-for QDeferredDeleteEvent (0x0x7fdf0b073410)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7fdf0b08c0c0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7fdf0b073478) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7fdf0b08c060) 0
+ primary-for QCoreApplication (0x0x7fdf0b073478)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7fdf0b08c300) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7fdf0b08c480) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7fdf0b0734e0) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7fdf0b073548) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7fdf0b0734e0)
+ QObject (0x0x7fdf0b08c420) 0
+ primary-for QAbstractItemModel (0x0x7fdf0b073548)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7fdf0b08c660) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7fdf0b08c780) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7fdf0b08c900) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7fdf0b144060) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7fdf0b144780) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7fdf0ae874e0) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7fdf0ae80750) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7fdf0ae807b8) 0
+ primary-for QFileDevice (0x0x7fdf0ae80750)
+ QObject (0x0x7fdf0ae87480) 0
+ primary-for QIODevice (0x0x7fdf0ae807b8)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7fdf0ae87de0) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7fdf0ae808f0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7fdf0ae80958) 0
+ primary-for QFile (0x0x7fdf0ae808f0)
+ QIODevice (0x0x7fdf0ae809c0) 0
+ primary-for QFileDevice (0x0x7fdf0ae80958)
+ QObject (0x0x7fdf0ae87d80) 0
+ primary-for QIODevice (0x0x7fdf0ae809c0)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7fdf0aefc480) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7fdf0af53840) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7fdf0ac00ba0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7fdf0ac5d360) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7fdf0ad58480) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7fdf0ad0fc30) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7fdf0ad0fc98) 0
+ primary-for QEventTransition (0x0x7fdf0ad0fc30)
+ QObject (0x0x7fdf0ad58420) 0
+ primary-for QAbstractTransition (0x0x7fdf0ad0fc98)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7fdf0ad0fd00) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7fdf0ad58660) 0 nearly-empty
+ primary-for QException (0x0x7fdf0ad0fd00)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7fdf0ad0fd68) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7fdf0ad0fdd0) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7fdf0ad0fd68)
+ std::exception (0x0x7fdf0ad586c0) 0 nearly-empty
+ primary-for QException (0x0x7fdf0ad0fdd0)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7fdf0ad58720) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7fdf0ad587e0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7fdf0ad58840) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7fdf0ad58a80) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7fdf0ad0fe38) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7fdf0ad58a20) 0
+ primary-for QFileSelector (0x0x7fdf0ad0fe38)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7fdf0ad58cc0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7fdf0ad0fea0) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7fdf0ad58c60) 0
+ primary-for QFileSystemWatcher (0x0x7fdf0ad0fea0)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7fdf0ad58f00) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7fdf0ad0ff08) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7fdf0ad0ff70) 0
+ primary-for QFinalState (0x0x7fdf0ad0ff08)
+ QObject (0x0x7fdf0ad58ea0) 0
+ primary-for QAbstractState (0x0x7fdf0ad0ff70)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7fdf0adb8120) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7fdf0adb83c0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7fdf0adf1068) 0
+ QBasicMutex (0x0x7fdf0aa34060) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7fdf0aa342a0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7fdf0aa34720) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7fdf0aa34d20) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7fdf0aa34f00) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7fdf0aad5720) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7fdf0ab74a20) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7fdf0ab11680) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7fdf0ab749c0) 0
+ primary-for QFutureWatcherBase (0x0x7fdf0ab11680)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7fdf0aba5d80) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7fdf0ab11ea0) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7fdf0ab11f08) 0
+ primary-for QHistoryState (0x0x7fdf0ab11ea0)
+ QObject (0x0x7fdf0aba5d20) 0
+ primary-for QAbstractState (0x0x7fdf0ab11f08)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7fdf0abcf0c0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7fdf0ab11f70) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fdf0abd0000) 0
+ primary-for QIdentityProxyModel (0x0x7fdf0ab11f70)
+ QAbstractItemModel (0x0x7fdf0abd0068) 0
+ primary-for QAbstractProxyModel (0x0x7fdf0abd0000)
+ QObject (0x0x7fdf0abcf060) 0
+ primary-for QAbstractItemModel (0x0x7fdf0abd0068)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7fdf0abcf2a0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7fdf0a88dba0) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7fdf0a8919c0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7fdf0a88db40) 0
+ primary-for QItemSelectionModel (0x0x7fdf0a8919c0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7fdf0a891b60) 0
+ QList<QItemSelectionRange> (0x0x7fdf0a891bc8) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7fdf0a8cd6c0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7fdf0a95b000) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7fdf0a6bb1e0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7fdf0a6f8180) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7fdf0a6f8420) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7fdf0a73c780) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7fdf0a73c7e0) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7fdf0a73c720) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7fdf0a46b6c0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7fdf0a46b720) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7fdf0a4b8f00) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7fdf0a4b8f60) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7fdf0a4b8ea0) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7fdf0a5e8300) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7fdf0a5d5c30) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7fdf0a5e82a0) 0
+ primary-for QLibrary (0x0x7fdf0a5d5c30)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7fdf0a235180) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7fdf0a5e8c60) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7fdf0a2ca8a0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7fdf0a2ca900) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7fdf0a33b720) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7fdf0a3aa8a0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7fdf0a01cc60) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7fdf0a095f00) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7fdf0a1580c0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7fdf0a158300) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7fdf0a1582a0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7fdf0a158720) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7fdf09e15660) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7fdf09c59e40) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7fdf09c59ea0) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7fdf09ce6720) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7fdf09d28960) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7fdf09d28a80) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7fdf09d86060) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7fdf09d79888) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7fdf09d86000) 0
+ primary-for QMimeData (0x0x7fdf09d79888)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7fdf09d86240) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7fdf09de5360) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7fdf09de5420) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7fdf09dd3bc8) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7fdf09de53c0) 0
+ primary-for QObjectCleanupHandler (0x0x7fdf09dd3bc8)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7fdf09de5540) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7fdf09a4ecc0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7fdf09a60478) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7fdf09a604e0) 0
+ primary-for QParallelAnimationGroup (0x0x7fdf09a60478)
+ QAbstractAnimation (0x0x7fdf09a60548) 0
+ primary-for QAnimationGroup (0x0x7fdf09a604e0)
+ QObject (0x0x7fdf09a4ec60) 0
+ primary-for QAbstractAnimation (0x0x7fdf09a60548)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7fdf09a4ef00) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7fdf09a605b0) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7fdf09a60618) 0
+ primary-for QPauseAnimation (0x0x7fdf09a605b0)
+ QObject (0x0x7fdf09a4eea0) 0
+ primary-for QAbstractAnimation (0x0x7fdf09a60618)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7fdf09a83b40) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7fdf09ac6cc0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7fdf09ad2958) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7fdf09ac6c60) 0
+ primary-for QPluginLoader (0x0x7fdf09ad2958)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7fdf09ac6de0) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7fdf09b42480) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7fdf09b3d5b0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7fdf09b3d618) 0
+ primary-for QProcess (0x0x7fdf09b3d5b0)
+ QObject (0x0x7fdf09b42420) 0
+ primary-for QIODevice (0x0x7fdf09b3d618)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7fdf09b42b40) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7fdf09b3d680) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7fdf09b3d6e8) 0
+ primary-for QVariantAnimation (0x0x7fdf09b3d680)
+ QObject (0x0x7fdf09b42ae0) 0
+ primary-for QAbstractAnimation (0x0x7fdf09b3d6e8)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7fdf09b42de0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7fdf09b3d7b8) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7fdf09b3d820) 0
+ primary-for QPropertyAnimation (0x0x7fdf09b3d7b8)
+ QAbstractAnimation (0x0x7fdf09b3d888) 0
+ primary-for QVariantAnimation (0x0x7fdf09b3d820)
+ QObject (0x0x7fdf09b42d80) 0
+ primary-for QAbstractAnimation (0x0x7fdf09b3d888)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7fdf09810540) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7fdf0990e2a0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7fdf0990e240) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7fdf096fe000) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7fdf0950bc60) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7fdf0950bc00) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7fdf0959c548) 0
+ QRandomGenerator (0x0x7fdf095b5780) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7fdf095d2360) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7fdf095d2600) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7fdf095d2ae0) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7fdf0925b000) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7fdf092a6de0) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7fdf0931ed80) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7fdf093c6de0) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7fdf0908df00) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7fdf090db1e0) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7fdf09050f08) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7fdf09050f70) 0
+ primary-for QSaveFile (0x0x7fdf09050f08)
+ QIODevice (0x0x7fdf090df000) 0
+ primary-for QFileDevice (0x0x7fdf09050f70)
+ QObject (0x0x7fdf090db180) 0
+ primary-for QIODevice (0x0x7fdf090df000)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7fdf090db7e0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7fdf090db960) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7fdf091f8c00) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7fdf08dfed00) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7fdf08dfed68) 0
+ primary-for QSequentialAnimationGroup (0x0x7fdf08dfed00)
+ QAbstractAnimation (0x0x7fdf08dfedd0) 0
+ primary-for QAnimationGroup (0x0x7fdf08dfed68)
+ QObject (0x0x7fdf091f8ba0) 0
+ primary-for QAbstractAnimation (0x0x7fdf08dfedd0)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7fdf091f8e40) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7fdf08dfee38) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7fdf091f8de0) 0
+ primary-for QSettings (0x0x7fdf08dfee38)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7fdf08e39300) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7fdf08dfeea0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7fdf08e392a0) 0
+ primary-for QSharedMemory (0x0x7fdf08dfeea0)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7fdf08e39540) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7fdf08dfef08) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7fdf08e394e0) 0
+ primary-for QSignalMapper (0x0x7fdf08dfef08)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7fdf08e39780) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7fdf08dfef70) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7fdf08e5e000) 0
+ primary-for QSignalTransition (0x0x7fdf08dfef70)
+ QObject (0x0x7fdf08e39720) 0
+ primary-for QAbstractTransition (0x0x7fdf08e5e000)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7fdf08e39a20) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7fdf08e5e068) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7fdf08e399c0) 0
+ primary-for QSocketNotifier (0x0x7fdf08e5e068)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7fdf08e39c60) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7fdf08e5e0d0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fdf08e5e138) 0
+ primary-for QSortFilterProxyModel (0x0x7fdf08e5e0d0)
+ QAbstractItemModel (0x0x7fdf08e5e1a0) 0
+ primary-for QAbstractProxyModel (0x0x7fdf08e5e138)
+ QObject (0x0x7fdf08e39c00) 0
+ primary-for QAbstractItemModel (0x0x7fdf08e5e1a0)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7fdf08ea60c0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7fdf08ea69c0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7fdf08e5e340) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7fdf08e5e3a8) 0
+ primary-for QState (0x0x7fdf08e5e340)
+ QObject (0x0x7fdf08ea6960) 0
+ primary-for QAbstractState (0x0x7fdf08e5e3a8)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7fdf08ea6e40) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7fdf08e5e548) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7fdf08ea6ea0) 0
+ primary-for QStateMachine::SignalEvent (0x0x7fdf08e5e548)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7fdf08e5e5b0) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7fdf08ea6f00) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7fdf08e5e5b0)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7fdf08e5e410) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7fdf08e5e478) 0
+ primary-for QStateMachine (0x0x7fdf08e5e410)
+ QAbstractState (0x0x7fdf08e5e4e0) 0
+ primary-for QState (0x0x7fdf08e5e478)
+ QObject (0x0x7fdf08ea6de0) 0
+ primary-for QAbstractState (0x0x7fdf08e5e4e0)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7fdf08f11300) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7fdf08f99300) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7fdf08c23660) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7fdf08c146e8) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7fdf08c14750) 0
+ primary-for QStringListModel (0x0x7fdf08c146e8)
+ QAbstractItemModel (0x0x7fdf08c147b8) 0
+ primary-for QAbstractListModel (0x0x7fdf08c14750)
+ QObject (0x0x7fdf08c23600) 0
+ primary-for QAbstractItemModel (0x0x7fdf08c147b8)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7fdf08c23780) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7fdf08c23840) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7fdf08c23960) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7fdf08c14820) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7fdf08c14888) 0
+ primary-for QTemporaryFile (0x0x7fdf08c14820)
+ QFileDevice (0x0x7fdf08c148f0) 0
+ primary-for QFile (0x0x7fdf08c14888)
+ QIODevice (0x0x7fdf08c14958) 0
+ primary-for QFileDevice (0x0x7fdf08c148f0)
+ QObject (0x0x7fdf08c23900) 0
+ primary-for QIODevice (0x0x7fdf08c14958)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7fdf08c23cc0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7fdf08c9f540) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7fdf08c9f4e0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7fdf08c9ff00) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7fdf08cf5120) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7fdf08cf5300) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7fdf08c14b60) 0
+ std::__mutex_base (0x0x7fdf08cf5360) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7fdf08cf5540) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7fdf08cf55a0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7fdf08cf5600) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7fdf08d31060) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7fdf08c14bc8) 0
+ std::__recursive_mutex_base (0x0x7fdf08d310c0) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7fdf08cfcd20) 0
+ std::__mutex_base (0x0x7fdf08d31480) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7fdf08d314e0) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7fdf08d54070) 0
+ std::__recursive_mutex_base (0x0x7fdf08d31840) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7fdf08d318a0) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7fdf08d79000) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7fdf08c14d00) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7fdf08d79540) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7fdf08c14d00)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7fdf08c14d68) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7fdf08d79660) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7fdf08c14d68)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7fdf08c14dd0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7fdf08d79780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7fdf08c14dd0)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7fdf08c14ea0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7fdf08d798a0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7fdf08c14ea0)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7fdf08da5900) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7fdf08da5c00) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7fdf08da5f00) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7fdf08dc92a0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7fdf08c14f08) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7fdf08a44480) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7fdf08c14f08)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7fdf08ab3420) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7fdf08ab3840) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7fdf08bf86c0) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7fdf08825b40) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7fdf08825ba0) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7fdf08825ae0) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7fdf086bbf60) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7fdf086f4360) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7fdf086f43c0) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7fdf0846b6c0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7fdf084667b8) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7fdf08466820) 0
+ primary-for std::future_error (0x0x7fdf084667b8)
+ std::exception (0x0x7fdf0846bde0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fdf08466820)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7fdf0849c540) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7fdf0849c4e0) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7fdf08260c60) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7fdf08295068) 0
+ std::__at_thread_exit_elt (0x0x7fdf08260d20) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7fdf0849c6c0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7fdf0849c480) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7fdf07df2d68) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7fdf07a1bd20) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7fdf07df2d68)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7fdf07a54600) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7fdf07a5c0d0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7fdf07a545a0) 0
+ primary-for QThread (0x0x7fdf07a5c0d0)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7fdf07a549c0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7fdf07a5c138) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7fdf07a54960) 0
+ primary-for QThreadPool (0x0x7fdf07a5c138)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7fdf07a54ba0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7fdf07a9c2a0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7fdf07a5c1a0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7fdf07a9c240) 0
+ primary-for QTimeLine (0x0x7fdf07a5c1a0)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7fdf07a9c4e0) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7fdf07a5c208) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7fdf07a9c480) 0
+ primary-for QTimer (0x0x7fdf07a5c208)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7fdf07ae1e40) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7fdf07ae1de0) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7fdf07b83f00) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7fdf07b928f0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7fdf07b83ea0) 0
+ primary-for QTranslator (0x0x7fdf07b928f0)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7fdf07bab180) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7fdf07b92958) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fdf07b929c0) 0
+ primary-for QTransposeProxyModel (0x0x7fdf07b92958)
+ QAbstractItemModel (0x0x7fdf07b92a28) 0
+ primary-for QAbstractProxyModel (0x0x7fdf07b929c0)
+ QObject (0x0x7fdf07bab120) 0
+ primary-for QAbstractItemModel (0x0x7fdf07b92a28)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7fdf07bab360) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7fdf07823d20) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7fdf07823e40) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7fdf078d4240) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7fdf079520d0) 0
+ QVector<QXmlStreamAttribute> (0x0x7fdf07938960) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7fdf07938c60) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7fdf079b4c00) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7fdf07612c00) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7fdf0767dcc0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7fdf0767dd20) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7fdf076bac00) 0
+
+Class QRgba64
+ size=8 align=8
+ base size=8 base align=8
+QRgba64 (0x0x7fdf0770c240) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x0x7fdf077ac2a0) 0
+
+Class QRegion::QRegionData
+ size=16 align=8
+ base size=16 base align=8
+QRegion::QRegionData (0x0x7fdf07444720) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x0x7fdf074446c0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x0x7fdf07531360) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x0x7fdf07200ea0) 0
+
+Class QTouchDevice
+ size=8 align=8
+ base size=8 base align=8
+QTouchDevice (0x0x7fdf0726ff60) 0
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 (int (*)(...))QInputEvent::~QInputEvent
+24 (int (*)(...))QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputEvent (0x0x7fdf07267340) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16)
+ QEvent (0x0x7fdf072a0840) 0
+ primary-for QInputEvent (0x0x7fdf07267340)
+
+Vtable for QEnterEvent
+QEnterEvent::_ZTV11QEnterEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QEnterEvent)
+16 (int (*)(...))QEnterEvent::~QEnterEvent
+24 (int (*)(...))QEnterEvent::~QEnterEvent
+
+Class QEnterEvent
+ size=72 align=8
+ base size=72 base align=8
+QEnterEvent (0x0x7fdf072673a8) 0
+ vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16)
+ QEvent (0x0x7fdf072a0a20) 0
+ primary-for QEnterEvent (0x0x7fdf072673a8)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 (int (*)(...))QMouseEvent::~QMouseEvent
+24 (int (*)(...))QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=104 align=8
+ base size=100 base align=8
+QMouseEvent (0x0x7fdf07267410) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16)
+ QInputEvent (0x0x7fdf07267478) 0
+ primary-for QMouseEvent (0x0x7fdf07267410)
+ QEvent (0x0x7fdf072a0de0) 0
+ primary-for QInputEvent (0x0x7fdf07267478)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 (int (*)(...))QHoverEvent::~QHoverEvent
+24 (int (*)(...))QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=64 align=8
+ base size=64 base align=8
+QHoverEvent (0x0x7fdf072674e0) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16)
+ QInputEvent (0x0x7fdf07267548) 0
+ primary-for QHoverEvent (0x0x7fdf072674e0)
+ QEvent (0x0x7fdf072ee300) 0
+ primary-for QInputEvent (0x0x7fdf07267548)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 (int (*)(...))QWheelEvent::~QWheelEvent
+24 (int (*)(...))QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=96 align=8
+ base size=96 base align=8
+QWheelEvent (0x0x7fdf072675b0) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16)
+ QInputEvent (0x0x7fdf07267618) 0
+ primary-for QWheelEvent (0x0x7fdf072675b0)
+ QEvent (0x0x7fdf072ee4e0) 0
+ primary-for QInputEvent (0x0x7fdf07267618)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 (int (*)(...))QTabletEvent::~QTabletEvent
+24 (int (*)(...))QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=128 align=8
+ base size=128 base align=8
+QTabletEvent (0x0x7fdf07267680) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16)
+ QInputEvent (0x0x7fdf072676e8) 0
+ primary-for QTabletEvent (0x0x7fdf07267680)
+ QEvent (0x0x7fdf072eeb40) 0
+ primary-for QInputEvent (0x0x7fdf072676e8)
+
+Vtable for QNativeGestureEvent
+QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QNativeGestureEvent)
+16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+
+Class QNativeGestureEvent
+ size=112 align=8
+ base size=112 base align=8
+QNativeGestureEvent (0x0x7fdf07267750) 0
+ vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16)
+ QInputEvent (0x0x7fdf072677b8) 0
+ primary-for QNativeGestureEvent (0x0x7fdf07267750)
+ QEvent (0x0x7fdf0732f480) 0
+ primary-for QInputEvent (0x0x7fdf072677b8)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 (int (*)(...))QKeyEvent::~QKeyEvent
+24 (int (*)(...))QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=64 align=8
+ base size=59 base align=8
+QKeyEvent (0x0x7fdf07267820) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16)
+ QInputEvent (0x0x7fdf07267888) 0
+ primary-for QKeyEvent (0x0x7fdf07267820)
+ QEvent (0x0x7fdf0732f780) 0
+ primary-for QInputEvent (0x0x7fdf07267888)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 (int (*)(...))QFocusEvent::~QFocusEvent
+24 (int (*)(...))QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x0x7fdf072678f0) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16)
+ QEvent (0x0x7fdf0732fa80) 0
+ primary-for QFocusEvent (0x0x7fdf072678f0)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 (int (*)(...))QPaintEvent::~QPaintEvent
+24 (int (*)(...))QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x0x7fdf07267958) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16)
+ QEvent (0x0x7fdf0732fba0) 0
+ primary-for QPaintEvent (0x0x7fdf07267958)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 (int (*)(...))QMoveEvent::~QMoveEvent
+24 (int (*)(...))QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x0x7fdf072679c0) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16)
+ QEvent (0x0x7fdf0732fcc0) 0
+ primary-for QMoveEvent (0x0x7fdf072679c0)
+
+Vtable for QExposeEvent
+QExposeEvent::_ZTV12QExposeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QExposeEvent)
+16 (int (*)(...))QExposeEvent::~QExposeEvent
+24 (int (*)(...))QExposeEvent::~QExposeEvent
+
+Class QExposeEvent
+ size=32 align=8
+ base size=32 base align=8
+QExposeEvent (0x0x7fdf07267a28) 0
+ vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16)
+ QEvent (0x0x7fdf0732fde0) 0
+ primary-for QExposeEvent (0x0x7fdf07267a28)
+
+Vtable for QPlatformSurfaceEvent
+QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent)
+16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+
+Class QPlatformSurfaceEvent
+ size=24 align=8
+ base size=24 base align=8
+QPlatformSurfaceEvent (0x0x7fdf07267a90) 0
+ vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16)
+ QEvent (0x0x7fdf0732fea0) 0
+ primary-for QPlatformSurfaceEvent (0x0x7fdf07267a90)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 (int (*)(...))QResizeEvent::~QResizeEvent
+24 (int (*)(...))QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x0x7fdf07267af8) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16)
+ QEvent (0x0x7fdf0732ff60) 0
+ primary-for QResizeEvent (0x0x7fdf07267af8)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 (int (*)(...))QCloseEvent::~QCloseEvent
+24 (int (*)(...))QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x0x7fdf07267b60) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16)
+ QEvent (0x0x7fdf073730c0) 0
+ primary-for QCloseEvent (0x0x7fdf07267b60)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 (int (*)(...))QIconDragEvent::~QIconDragEvent
+24 (int (*)(...))QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x0x7fdf07267bc8) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16)
+ QEvent (0x0x7fdf07373120) 0
+ primary-for QIconDragEvent (0x0x7fdf07267bc8)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 (int (*)(...))QShowEvent::~QShowEvent
+24 (int (*)(...))QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x0x7fdf07267c30) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16)
+ QEvent (0x0x7fdf07373180) 0
+ primary-for QShowEvent (0x0x7fdf07267c30)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 (int (*)(...))QHideEvent::~QHideEvent
+24 (int (*)(...))QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x0x7fdf07267c98) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16)
+ QEvent (0x0x7fdf073731e0) 0
+ primary-for QHideEvent (0x0x7fdf07267c98)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=56 align=8
+ base size=49 base align=8
+QContextMenuEvent (0x0x7fdf07267d00) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16)
+ QInputEvent (0x0x7fdf07267d68) 0
+ primary-for QContextMenuEvent (0x0x7fdf07267d00)
+ QEvent (0x0x7fdf07373240) 0
+ primary-for QInputEvent (0x0x7fdf07267d68)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x0x7fdf073735a0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x0x7fdf07267dd0) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16)
+ QEvent (0x0x7fdf07373540) 0
+ primary-for QInputMethodEvent (0x0x7fdf07267dd0)
+
+Class QInputMethodQueryEvent::QueryPair
+ size=24 align=8
+ base size=24 base align=8
+QInputMethodQueryEvent::QueryPair (0x0x7fdf073fa900) 0
+
+Vtable for QInputMethodQueryEvent
+QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent)
+16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+
+Class QInputMethodQueryEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodQueryEvent (0x0x7fdf0700b000) 0
+ vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16)
+ QEvent (0x0x7fdf073fa8a0) 0
+ primary-for QInputMethodQueryEvent (0x0x7fdf0700b000)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 (int (*)(...))QDropEvent::~QDropEvent
+24 (int (*)(...))QDropEvent::~QDropEvent
+
+Class QDropEvent
+ size=72 align=8
+ base size=72 base align=8
+QDropEvent (0x0x7fdf0707a0d0) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16)
+ QEvent (0x0x7fdf0706f660) 0
+ primary-for QDropEvent (0x0x7fdf0707a0d0)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+
+Class QDragMoveEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragMoveEvent (0x0x7fdf0707a138) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16)
+ QDropEvent (0x0x7fdf0707a1a0) 0
+ primary-for QDragMoveEvent (0x0x7fdf0707a138)
+ QEvent (0x0x7fdf0706fa20) 0
+ primary-for QDropEvent (0x0x7fdf0707a1a0)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+
+Class QDragEnterEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragEnterEvent (0x0x7fdf0707a208) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16)
+ QDragMoveEvent (0x0x7fdf0707a270) 0
+ primary-for QDragEnterEvent (0x0x7fdf0707a208)
+ QDropEvent (0x0x7fdf0707a2d8) 0
+ primary-for QDragMoveEvent (0x0x7fdf0707a270)
+ QEvent (0x0x7fdf0706fc60) 0
+ primary-for QDropEvent (0x0x7fdf0707a2d8)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x0x7fdf0707a340) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16)
+ QEvent (0x0x7fdf0706fcc0) 0
+ primary-for QDragLeaveEvent (0x0x7fdf0707a340)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 (int (*)(...))QHelpEvent::~QHelpEvent
+24 (int (*)(...))QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x0x7fdf0707a3a8) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16)
+ QEvent (0x0x7fdf0706fd20) 0
+ primary-for QHelpEvent (0x0x7fdf0707a3a8)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x0x7fdf0707a410) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16)
+ QEvent (0x0x7fdf0709f000) 0
+ primary-for QStatusTipEvent (0x0x7fdf0707a410)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x0x7fdf0707a478) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16)
+ QEvent (0x0x7fdf0709f0c0) 0
+ primary-for QWhatsThisClickedEvent (0x0x7fdf0707a478)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 (int (*)(...))QActionEvent::~QActionEvent
+24 (int (*)(...))QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x0x7fdf0707a4e0) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16)
+ QEvent (0x0x7fdf0709f180) 0
+ primary-for QActionEvent (0x0x7fdf0707a4e0)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=40 align=8
+ base size=40 base align=8
+QFileOpenEvent (0x0x7fdf0707a548) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16)
+ QEvent (0x0x7fdf0709f2a0) 0
+ primary-for QFileOpenEvent (0x0x7fdf0707a548)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x0x7fdf0707a5b0) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16)
+ QEvent (0x0x7fdf0709f3c0) 0
+ primary-for QToolBarChangeEvent (0x0x7fdf0707a5b0)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 (int (*)(...))QShortcutEvent::~QShortcutEvent
+24 (int (*)(...))QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x0x7fdf0707a618) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16)
+ QEvent (0x0x7fdf0709f480) 0
+ primary-for QShortcutEvent (0x0x7fdf0707a618)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=32 align=8
+ base size=25 base align=8
+QWindowStateChangeEvent (0x0x7fdf0707a680) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16)
+ QEvent (0x0x7fdf0709f600) 0
+ primary-for QWindowStateChangeEvent (0x0x7fdf0707a680)
+
+Class QPointingDeviceUniqueId
+ size=8 align=8
+ base size=8 base align=8
+QPointingDeviceUniqueId (0x0x7fdf0709f780) 0
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x0x7fdf070ffb40) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 (int (*)(...))QTouchEvent::~QTouchEvent
+24 (int (*)(...))QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=72 align=8
+ base size=72 base align=8
+QTouchEvent (0x0x7fdf070fcea0) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16)
+ QInputEvent (0x0x7fdf070fcf08) 0
+ primary-for QTouchEvent (0x0x7fdf070fcea0)
+ QEvent (0x0x7fdf070ffae0) 0
+ primary-for QInputEvent (0x0x7fdf070fcf08)
+
+Vtable for QScrollPrepareEvent
+QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollPrepareEvent)
+16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+
+Class QScrollPrepareEvent
+ size=112 align=8
+ base size=112 base align=8
+QScrollPrepareEvent (0x0x7fdf06e10bc8) 0
+ vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16)
+ QEvent (0x0x7fdf06e3e120) 0
+ primary-for QScrollPrepareEvent (0x0x7fdf06e10bc8)
+
+Vtable for QScrollEvent
+QScrollEvent::_ZTV12QScrollEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScrollEvent)
+16 (int (*)(...))QScrollEvent::~QScrollEvent
+24 (int (*)(...))QScrollEvent::~QScrollEvent
+
+Class QScrollEvent
+ size=64 align=8
+ base size=60 base align=8
+QScrollEvent (0x0x7fdf06e10c30) 0
+ vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16)
+ QEvent (0x0x7fdf06e3e180) 0
+ primary-for QScrollEvent (0x0x7fdf06e10c30)
+
+Vtable for QScreenOrientationChangeEvent
+QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent)
+16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+
+Class QScreenOrientationChangeEvent
+ size=40 align=8
+ base size=36 base align=8
+QScreenOrientationChangeEvent (0x0x7fdf06e10c98) 0
+ vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16)
+ QEvent (0x0x7fdf06e3e1e0) 0
+ primary-for QScreenOrientationChangeEvent (0x0x7fdf06e10c98)
+
+Vtable for QApplicationStateChangeEvent
+QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent)
+16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+
+Class QApplicationStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QApplicationStateChangeEvent (0x0x7fdf06e10d00) 0
+ vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16)
+ QEvent (0x0x7fdf06e3e240) 0
+ primary-for QApplicationStateChangeEvent (0x0x7fdf06e10d00)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x0x7fdf06e3e2a0) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x0x7fdf06edc958) 0
+ QVector<QPoint> (0x0x7fdf06ee1720) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x0x7fdf06f6fc98) 0
+ QVector<QPointF> (0x0x7fdf06f7e7e0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x0x7fdf06c17660) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x0x7fdf06c80480) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x0x7fdf06c80420) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x0x7fdf06dbf7e0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x0x7fdf06dbfea0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 0
+24 0
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDevice
+ size=24 align=8
+ base size=24 base align=8
+QPaintDevice (0x0x7fdf06a7d960) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16)
+
+Class QPixelFormat
+ size=8 align=8
+ base size=8 base align=8
+QPixelFormat (0x0x7fdf06a7df60) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 (int (*)(...))QImage::~QImage
+24 (int (*)(...))QImage::~QImage
+32 (int (*)(...))QImage::devType
+40 (int (*)(...))QImage::paintEngine
+48 (int (*)(...))QImage::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QImage
+ size=32 align=8
+ base size=32 base align=8
+QImage (0x0x7fdf06b46af8) 0
+ vptr=((& QImage::_ZTV6QImage) + 16)
+ QPaintDevice (0x0x7fdf06b558a0) 0
+ primary-for QImage (0x0x7fdf06b46af8)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 (int (*)(...))QPixmap::~QPixmap
+24 (int (*)(...))QPixmap::~QPixmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPixmap
+ size=32 align=8
+ base size=32 base align=8
+QPixmap (0x0x7fdf06863548) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16)
+ QPaintDevice (0x0x7fdf06866660) 0
+ primary-for QPixmap (0x0x7fdf06863548)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x0x7fdf068d9b40) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x0x7fdf069b50c0) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x0x7fdf069b5300) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x0x7fdf069aa6e8) 0
+ QGradient (0x0x7fdf069b5a20) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x0x7fdf069aa750) 0
+ QGradient (0x0x7fdf069b5b40) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x0x7fdf069aa7b8) 0
+ QGradient (0x0x7fdf069b5c60) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x0x7fdf069b5d20) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x0x7fdf066546c0) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x0x7fdf06654660) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x0x7fdf0668cde0) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x0x7fdf06716780) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x0x7fdf06404888) 0
+ QTextFormat (0x0x7fdf06431360) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x0x7fdf064a3c98) 0
+ QTextFormat (0x0x7fdf064a5d20) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x0x7fdf06517208) 0
+ QTextFormat (0x0x7fdf0650ba20) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x0x7fdf06559618) 0
+ QTextCharFormat (0x0x7fdf06559680) 0
+ QTextFormat (0x0x7fdf065661e0) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x0x7fdf0619bbc8) 0
+ QTextFormat (0x0x7fdf061a5840) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x0x7fdf06204138) 0
+ QTextFrameFormat (0x0x7fdf062041a0) 0
+ QTextFormat (0x0x7fdf06206480) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x0x7fdf062556e8) 0
+ QTextCharFormat (0x0x7fdf06255750) 0
+ QTextFormat (0x0x7fdf0624cd20) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x0x7fdf062ad180) 0
+
+Class QRawFont
+ size=8 align=8
+ base size=8 base align=8
+QRawFont (0x0x7fdf062ad360) 0
+
+Class QGlyphRun
+ size=8 align=8
+ base size=8 base align=8
+QGlyphRun (0x0x7fdf0631ed20) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x0x7fdf05f94e40) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x0x7fdf06018000) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x0x7fdf06018420) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x0x7fdf060183c0) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x0x7fdf060a7ae0) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x0x7fdf060a7f60) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16)
+
+Class QTextDocument::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextDocument::QPrivateSignal (0x0x7fdf060d3240) 0 empty
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 (int (*)(...))QTextDocument::metaObject
+24 (int (*)(...))QTextDocument::qt_metacast
+32 (int (*)(...))QTextDocument::qt_metacall
+40 (int (*)(...))QTextDocument::~QTextDocument
+48 (int (*)(...))QTextDocument::~QTextDocument
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextDocument::clear
+120 (int (*)(...))QTextDocument::createObject
+128 (int (*)(...))QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x0x7fdf060be270) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16)
+ QObject (0x0x7fdf060d31e0) 0
+ primary-for QTextDocument (0x0x7fdf060be270)
+
+Class QPalette::Data
+ size=4 align=4
+ base size=4 base align=4
+QPalette::Data (0x0x7fdf060d3d20) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x0x7fdf060d3cc0) 0
+
+Class QAbstractTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTextDocumentLayout::QPrivateSignal (0x0x7fdf05e1f120) 0 empty
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x0x7fdf05e1f180) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x0x7fdf05e1f1e0) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 (int (*)(...))QAbstractTextDocumentLayout::metaObject
+24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast
+32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x0x7fdf05e04f70) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16)
+ QObject (0x0x7fdf05e1f0c0) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7fdf05e04f70)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x0x7fdf05ecad80) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16)
+
+Class QAccessible::State
+ size=8 align=8
+ base size=5 base align=8
+QAccessible::State (0x0x7fdf05ef6000) 0
+
+Vtable for QAccessible::ActivationObserver
+QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessible::ActivationObserver
+ size=8 align=8
+ base size=8 base align=8
+QAccessible::ActivationObserver (0x0x7fdf05ef6060) 0 nearly-empty
+ vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x0x7fdf05ecaf60) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x0x7fdf05ef6c00) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset
+104 (int (*)(...))QAccessibleTextInterface::textAfterOffset
+112 (int (*)(...))QAccessibleTextInterface::textAtOffset
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x0x7fdf05ef6f60) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x0x7fdf05f55000) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x0x7fdf05f55060) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16)
+
+Vtable for QAccessibleTableCellInterface
+QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableCellInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableCellInterface (0x0x7fdf05f550c0) 0 nearly-empty
+ vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x0x7fdf05f55120) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QAccessibleActionInterface::localizedActionName
+48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x0x7fdf05f55180) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x0x7fdf05f552a0) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16)
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=28 base align=8
+QAccessibleEvent (0x0x7fdf05f55300) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16)
+
+Vtable for QAccessibleStateChangeEvent
+QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent)
+16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleStateChangeEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleStateChangeEvent (0x0x7fdf05f125b0) 0
+ vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16)
+ QAccessibleEvent (0x0x7fdf05f55cc0) 0
+ primary-for QAccessibleStateChangeEvent (0x0x7fdf05f125b0)
+
+Vtable for QAccessibleTextCursorEvent
+QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent)
+16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextCursorEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleTextCursorEvent (0x0x7fdf05f12618) 0
+ vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16)
+ QAccessibleEvent (0x0x7fdf05bd50c0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fdf05f12618)
+
+Vtable for QAccessibleTextSelectionEvent
+QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent)
+16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextSelectionEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleTextSelectionEvent (0x0x7fdf05f12680) 0
+ vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7fdf05f126e8) 0
+ primary-for QAccessibleTextSelectionEvent (0x0x7fdf05f12680)
+ QAccessibleEvent (0x0x7fdf05bd54e0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fdf05f126e8)
+
+Vtable for QAccessibleTextInsertEvent
+QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent)
+16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextInsertEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextInsertEvent (0x0x7fdf05f12750) 0
+ vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7fdf05f127b8) 0
+ primary-for QAccessibleTextInsertEvent (0x0x7fdf05f12750)
+ QAccessibleEvent (0x0x7fdf05bd5960) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fdf05f127b8)
+
+Vtable for QAccessibleTextRemoveEvent
+QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent)
+16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextRemoveEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextRemoveEvent (0x0x7fdf05f12820) 0
+ vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7fdf05f12888) 0
+ primary-for QAccessibleTextRemoveEvent (0x0x7fdf05f12820)
+ QAccessibleEvent (0x0x7fdf05bd5d80) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fdf05f12888)
+
+Vtable for QAccessibleTextUpdateEvent
+QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent)
+16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextUpdateEvent
+ size=56 align=8
+ base size=56 base align=8
+QAccessibleTextUpdateEvent (0x0x7fdf05f128f0) 0
+ vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7fdf05f12958) 0
+ primary-for QAccessibleTextUpdateEvent (0x0x7fdf05f128f0)
+ QAccessibleEvent (0x0x7fdf05c041e0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fdf05f12958)
+
+Vtable for QAccessibleValueChangeEvent
+QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent)
+16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleValueChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleValueChangeEvent (0x0x7fdf05f129c0) 0
+ vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16)
+ QAccessibleEvent (0x0x7fdf05c04660) 0
+ primary-for QAccessibleValueChangeEvent (0x0x7fdf05f129c0)
+
+Vtable for QAccessibleTableModelChangeEvent
+QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent)
+16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTableModelChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTableModelChangeEvent (0x0x7fdf05f12a28) 0
+ vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16)
+ QAccessibleEvent (0x0x7fdf05c04a80) 0
+ primary-for QAccessibleTableModelChangeEvent (0x0x7fdf05f12a28)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x0x7fdf05c33360) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16)
+
+Class QAccessibleBridgePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessibleBridgePlugin::QPrivateSignal (0x0x7fdf05c33600) 0 empty
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 (int (*)(...))QAccessibleBridgePlugin::metaObject
+24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast
+32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleBridgePlugin (0x0x7fdf05f12a90) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16)
+ QObject (0x0x7fdf05c335a0) 0
+ primary-for QAccessibleBridgePlugin (0x0x7fdf05f12a90)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 0
+24 0
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x0x7fdf05f12af8) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16)
+ QAccessibleInterface (0x0x7fdf05c33720) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7fdf05f12af8)
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleApplication::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleApplication::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleApplication::parent
+88 (int (*)(...))QAccessibleApplication::child
+96 (int (*)(...))QAccessibleApplication::childCount
+104 (int (*)(...))QAccessibleApplication::indexOfChild
+112 (int (*)(...))QAccessibleApplication::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))QAccessibleApplication::role
+144 (int (*)(...))QAccessibleApplication::state
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x0x7fdf05f12b60) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16)
+ QAccessibleObject (0x0x7fdf05f12bc8) 0
+ primary-for QAccessibleApplication (0x0x7fdf05f12b60)
+ QAccessibleInterface (0x0x7fdf05c33780) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7fdf05f12bc8)
+
+Class QAccessiblePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessiblePlugin::QPrivateSignal (0x0x7fdf05c33840) 0 empty
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 (int (*)(...))QAccessiblePlugin::metaObject
+24 (int (*)(...))QAccessiblePlugin::qt_metacast
+32 (int (*)(...))QAccessiblePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessiblePlugin (0x0x7fdf05f12c30) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16)
+ QObject (0x0x7fdf05c337e0) 0
+ primary-for QAccessiblePlugin (0x0x7fdf05f12c30)
+
+Class QSurfaceFormat
+ size=8 align=8
+ base size=8 base align=8
+QSurfaceFormat (0x0x7fdf05c33960) 0
+
+Vtable for QSurface
+QSurface::_ZTV8QSurface: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSurface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QSurface
+ size=24 align=8
+ base size=24 base align=8
+QSurface (0x0x7fdf05c9c4e0) 0
+ vptr=((& QSurface::_ZTV8QSurface) + 16)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x0x7fdf05c9c8a0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x0x7fdf05981420) 0
+
+Class QWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWindow::QPrivateSignal (0x0x7fdf05a4c1e0) 0 empty
+
+Vtable for QWindow
+QWindow::_ZTV7QWindow: 45 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWindow)
+16 (int (*)(...))QWindow::metaObject
+24 (int (*)(...))QWindow::qt_metacast
+32 (int (*)(...))QWindow::qt_metacall
+40 (int (*)(...))QWindow::~QWindow
+48 (int (*)(...))QWindow::~QWindow
+56 (int (*)(...))QWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))-16
+304 (int (*)(...))(& _ZTI7QWindow)
+312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev
+320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev
+328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+
+Class QWindow
+ size=40 align=8
+ base size=40 base align=8
+QWindow (0x0x7fdf05a3bc40) 0
+ vptr=((& QWindow::_ZTV7QWindow) + 16)
+ QObject (0x0x7fdf05a4c120) 0
+ primary-for QWindow (0x0x7fdf05a3bc40)
+ QSurface (0x0x7fdf05a4c180) 16
+ vptr=((& QWindow::_ZTV7QWindow) + 312)
+
+Class QBackingStore
+ size=8 align=8
+ base size=8 base align=8
+QBackingStore (0x0x7fdf05a4ca80) 0
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 (int (*)(...))QBitmap::~QBitmap
+24 (int (*)(...))QBitmap::~QBitmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QBitmap
+ size=32 align=8
+ base size=32 base align=8
+QBitmap (0x0x7fdf05a2ef08) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16)
+ QPixmap (0x0x7fdf05a2ef70) 0
+ primary-for QBitmap (0x0x7fdf05a2ef08)
+ QPaintDevice (0x0x7fdf05a4cb40) 0
+ primary-for QPixmap (0x0x7fdf05a2ef70)
+
+Class QClipboard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QClipboard::QPrivateSignal (0x0x7fdf05af10c0) 0 empty
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 (int (*)(...))QClipboard::metaObject
+24 (int (*)(...))QClipboard::qt_metacast
+32 (int (*)(...))QClipboard::qt_metacall
+40 (int (*)(...))QClipboard::~QClipboard
+48 (int (*)(...))QClipboard::~QClipboard
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x0x7fdf05aea270) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16)
+ QObject (0x0x7fdf05af1060) 0
+ primary-for QClipboard (0x0x7fdf05aea270)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x0x7fdf05af11e0) 0 empty
+
+Class QDrag::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDrag::QPrivateSignal (0x0x7fdf05af12a0) 0 empty
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 (int (*)(...))QDrag::metaObject
+24 (int (*)(...))QDrag::qt_metacast
+32 (int (*)(...))QDrag::qt_metacall
+40 (int (*)(...))QDrag::~QDrag
+48 (int (*)(...))QDrag::~QDrag
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x0x7fdf05aea2d8) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16)
+ QObject (0x0x7fdf05af1240) 0
+ primary-for QDrag (0x0x7fdf05aea2d8)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x0x7fdf05af1480) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x0x7fdf05b554e0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x0x7fdf057a4840) 0
+
+Class QGenericPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGenericPlugin::QPrivateSignal (0x0x7fdf058d0900) 0 empty
+
+Vtable for QGenericPlugin
+QGenericPlugin::_ZTV14QGenericPlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGenericPlugin)
+16 (int (*)(...))QGenericPlugin::metaObject
+24 (int (*)(...))QGenericPlugin::qt_metacast
+32 (int (*)(...))QGenericPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGenericPlugin
+ size=16 align=8
+ base size=16 base align=8
+QGenericPlugin (0x0x7fdf057e8e38) 0
+ vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16)
+ QObject (0x0x7fdf058d08a0) 0
+ primary-for QGenericPlugin (0x0x7fdf057e8e38)
+
+Class QGenericPluginFactory
+ size=1 align=1
+ base size=0 base align=1
+QGenericPluginFactory (0x0x7fdf058d0a20) 0 empty
+
+Class QInputMethod::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputMethod::QPrivateSignal (0x0x7fdf058d0ae0) 0 empty
+
+Vtable for QInputMethod
+QInputMethod::_ZTV12QInputMethod: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputMethod)
+16 (int (*)(...))QInputMethod::metaObject
+24 (int (*)(...))QInputMethod::qt_metacast
+32 (int (*)(...))QInputMethod::qt_metacall
+40 (int (*)(...))QInputMethod::~QInputMethod
+48 (int (*)(...))QInputMethod::~QInputMethod
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QInputMethod
+ size=16 align=8
+ base size=16 base align=8
+QInputMethod (0x0x7fdf057e8ea0) 0
+ vptr=((& QInputMethod::_ZTV12QInputMethod) + 16)
+ QObject (0x0x7fdf058d0a80) 0
+ primary-for QInputMethod (0x0x7fdf057e8ea0)
+
+Class QGuiApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGuiApplication::QPrivateSignal (0x0x7fdf058d0de0) 0 empty
+
+Vtable for QGuiApplication
+QGuiApplication::_ZTV15QGuiApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGuiApplication)
+16 (int (*)(...))QGuiApplication::metaObject
+24 (int (*)(...))QGuiApplication::qt_metacast
+32 (int (*)(...))QGuiApplication::qt_metacall
+40 (int (*)(...))QGuiApplication::~QGuiApplication
+48 (int (*)(...))QGuiApplication::~QGuiApplication
+56 (int (*)(...))QGuiApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGuiApplication::notify
+120 (int (*)(...))QGuiApplication::compressEvent
+
+Class QGuiApplication
+ size=16 align=8
+ base size=16 base align=8
+QGuiApplication (0x0x7fdf057e8f08) 0
+ vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16)
+ QCoreApplication (0x0x7fdf057e8f70) 0
+ primary-for QGuiApplication (0x0x7fdf057e8f08)
+ QObject (0x0x7fdf058d0d80) 0
+ primary-for QCoreApplication (0x0x7fdf057e8f70)
+
+Class QIconEngine::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngine::AvailableSizesArgument (0x0x7fdf059615a0) 0
+
+Class QIconEngine::ScaledPixmapArgument
+ size=56 align=8
+ base size=56 base align=8
+QIconEngine::ScaledPixmapArgument (0x0x7fdf05961720) 0
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QIconEngine::actualSize
+48 (int (*)(...))QIconEngine::pixmap
+56 (int (*)(...))QIconEngine::addPixmap
+64 (int (*)(...))QIconEngine::addFile
+72 (int (*)(...))QIconEngine::key
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QIconEngine::read
+96 (int (*)(...))QIconEngine::write
+104 (int (*)(...))QIconEngine::availableSizes
+112 (int (*)(...))QIconEngine::iconName
+120 (int (*)(...))QIconEngine::virtual_hook
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x0x7fdf05961540) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16)
+
+Class QIconEnginePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIconEnginePlugin::QPrivateSignal (0x0x7fdf059617e0) 0 empty
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 (int (*)(...))QIconEnginePlugin::metaObject
+24 (int (*)(...))QIconEnginePlugin::qt_metacast
+32 (int (*)(...))QIconEnginePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=16 align=8
+ base size=16 base align=8
+QIconEnginePlugin (0x0x7fdf05962548) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16)
+ QObject (0x0x7fdf05961780) 0
+ primary-for QIconEnginePlugin (0x0x7fdf05962548)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 0
+24 0
+32 (int (*)(...))QImageIOHandler::name
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QImageIOHandler::write
+64 (int (*)(...))QImageIOHandler::option
+72 (int (*)(...))QImageIOHandler::setOption
+80 (int (*)(...))QImageIOHandler::supportsOption
+88 (int (*)(...))QImageIOHandler::jumpToNextImage
+96 (int (*)(...))QImageIOHandler::jumpToImage
+104 (int (*)(...))QImageIOHandler::loopCount
+112 (int (*)(...))QImageIOHandler::imageCount
+120 (int (*)(...))QImageIOHandler::nextImageDelay
+128 (int (*)(...))QImageIOHandler::currentImageNumber
+136 (int (*)(...))QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x0x7fdf05961900) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16)
+
+Class QImageIOPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QImageIOPlugin::QPrivateSignal (0x0x7fdf05961b40) 0 empty
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 (int (*)(...))QImageIOPlugin::metaObject
+24 (int (*)(...))QImageIOPlugin::qt_metacast
+32 (int (*)(...))QImageIOPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=16 align=8
+ base size=16 base align=8
+QImageIOPlugin (0x0x7fdf059625b0) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16)
+ QObject (0x0x7fdf05961ae0) 0
+ primary-for QImageIOPlugin (0x0x7fdf059625b0)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x0x7fdf055ef360) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x0x7fdf055ef480) 0
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x0x7fdf055ef5a0) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x0x7fdf05683720) 0
+
+Class QQuaternion
+ size=16 align=4
+ base size=16 base align=4
+QQuaternion (0x0x7fdf05705960) 0
+
+Class QMatrix4x4
+ size=68 align=4
+ base size=68 base align=4
+QMatrix4x4 (0x0x7fdf053d02a0) 0
+
+Class QMovie::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMovie::QPrivateSignal (0x0x7fdf0554c120) 0 empty
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 (int (*)(...))QMovie::metaObject
+24 (int (*)(...))QMovie::qt_metacast
+32 (int (*)(...))QMovie::qt_metacall
+40 (int (*)(...))QMovie::~QMovie
+48 (int (*)(...))QMovie::~QMovie
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x0x7fdf05438d00) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16)
+ QObject (0x0x7fdf0554c0c0) 0
+ primary-for QMovie (0x0x7fdf05438d00)
+
+Class QOffscreenSurface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOffscreenSurface::QPrivateSignal (0x0x7fdf0554c540) 0 empty
+
+Vtable for QOffscreenSurface
+QOffscreenSurface::_ZTV17QOffscreenSurface: 26 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOffscreenSurface)
+16 (int (*)(...))QOffscreenSurface::metaObject
+24 (int (*)(...))QOffscreenSurface::qt_metacast
+32 (int (*)(...))QOffscreenSurface::qt_metacall
+40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOffscreenSurface::surfaceType
+120 (int (*)(...))QOffscreenSurface::format
+128 (int (*)(...))QOffscreenSurface::size
+136 (int (*)(...))QOffscreenSurface::surfaceHandle
+144 (int (*)(...))-16
+152 (int (*)(...))(& _ZTI17QOffscreenSurface)
+160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev
+168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev
+176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv
+184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv
+192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv
+200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv
+
+Class QOffscreenSurface
+ size=40 align=8
+ base size=40 base align=8
+QOffscreenSurface (0x0x7fdf0544ba80) 0
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16)
+ QObject (0x0x7fdf0554c480) 0
+ primary-for QOffscreenSurface (0x0x7fdf0544ba80)
+ QSurface (0x0x7fdf0554c4e0) 16
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160)
+
+Class QOpenGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLBuffer (0x0x7fdf0554c780) 0
+
+Class QOpenGLVersionStatus
+ size=12 align=4
+ base size=12 base align=4
+QOpenGLVersionStatus (0x0x7fdf04dc9000) 0
+
+Class QOpenGLVersionFunctionsBackend
+ size=16 align=8
+ base size=12 base align=8
+QOpenGLVersionFunctionsBackend (0x0x7fdf04dfcba0) 0
+
+Class QOpenGLVersionFunctionsStorage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionFunctionsStorage (0x0x7fdf04dfcd80) 0
+
+Class QAbstractOpenGLFunctionsPrivate
+ size=16 align=8
+ base size=9 base align=8
+QAbstractOpenGLFunctionsPrivate (0x0x7fdf04dfcde0) 0
+
+Vtable for QAbstractOpenGLFunctions
+QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions)
+16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions
+
+Class QAbstractOpenGLFunctions
+ size=16 align=8
+ base size=16 base align=8
+QAbstractOpenGLFunctions (0x0x7fdf04e28000) 0
+ vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16)
+
+Class QOpenGLFunctions_1_0_CoreBackend::Functions
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7fdf04e281e0) 0
+
+Class QOpenGLFunctions_1_0_CoreBackend
+ size=400 align=8
+ base size=400 base align=8
+QOpenGLFunctions_1_0_CoreBackend (0x0x7fdf04dfebc8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e28180) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend::Functions
+ size=128 align=8
+ base size=128 base align=8
+QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7fdf04e284e0) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend
+ size=144 align=8
+ base size=144 base align=8
+QOpenGLFunctions_1_1_CoreBackend (0x0x7fdf04dfec30) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e28480) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7fdf04e287e0) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_1_2_CoreBackend (0x0x7fdf04dfec98) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e28780) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7fdf04e28ae0) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_1_3_CoreBackend (0x0x7fdf04dfed00) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e28a80) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend::Functions
+ size=56 align=8
+ base size=56 base align=8
+QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7fdf04e28e40) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_4_CoreBackend (0x0x7fdf04dfed68) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e28de0) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7fdf04e63180) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_1_5_CoreBackend (0x0x7fdf04dfedd0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e63120) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend::Functions
+ size=744 align=8
+ base size=744 base align=8
+QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7fdf04e63480) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend
+ size=760 align=8
+ base size=760 base align=8
+QOpenGLFunctions_2_0_CoreBackend (0x0x7fdf04dfee38) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e63420) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7fdf04e63780) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_2_1_CoreBackend (0x0x7fdf04dfeea0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e63720) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend::Functions
+ size=672 align=8
+ base size=672 base align=8
+QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7fdf04e63a80) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend
+ size=688 align=8
+ base size=688 base align=8
+QOpenGLFunctions_3_0_CoreBackend (0x0x7fdf04dfef08) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e63a20) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7fdf04e63d80) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_3_1_CoreBackend (0x0x7fdf04dfef70) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04e63d20) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7fdf04eb30c0) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_3_2_CoreBackend (0x0x7fdf04eb4000) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04eb3060) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend::Functions
+ size=464 align=8
+ base size=464 base align=8
+QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7fdf04eb33c0) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend
+ size=480 align=8
+ base size=480 base align=8
+QOpenGLFunctions_3_3_CoreBackend (0x0x7fdf04eb4068) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04eb3360) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend::Functions
+ size=368 align=8
+ base size=368 base align=8
+QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7fdf04eb36c0) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_4_0_CoreBackend (0x0x7fdf04eb40d0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04eb3660) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend::Functions
+ size=704 align=8
+ base size=704 base align=8
+QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7fdf04eb39c0) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend
+ size=720 align=8
+ base size=720 base align=8
+QOpenGLFunctions_4_1_CoreBackend (0x0x7fdf04eb4138) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04eb3960) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7fdf04eb3cc0) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_2_CoreBackend (0x0x7fdf04eb41a0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04eb3c60) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend::Functions
+ size=344 align=8
+ base size=344 base align=8
+QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7fdf04f0a000) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend
+ size=360 align=8
+ base size=360 base align=8
+QOpenGLFunctions_4_3_CoreBackend (0x0x7fdf04eb4208) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04eb3f60) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7fdf04f0a300) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_4_4_CoreBackend (0x0x7fdf04eb4270) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04f0a2a0) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend::Functions
+ size=848 align=8
+ base size=848 base align=8
+QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7fdf04f0a660) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend
+ size=864 align=8
+ base size=864 base align=8
+QOpenGLFunctions_4_5_CoreBackend (0x0x7fdf04eb42d8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04f0a600) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions
+ size=2064 align=8
+ base size=2064 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7fdf04f0a960) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend
+ size=2080 align=8
+ base size=2080 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7fdf04eb4340) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04f0a900) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions
+ size=136 align=8
+ base size=136 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7fdf04f0ac60) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7fdf04eb43a8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04f0ac00) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7fdf04f0af60) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend
+ size=272 align=8
+ base size=272 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7fdf04eb4410) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04f0af00) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions
+ size=296 align=8
+ base size=296 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7fdf04b9e2a0) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend
+ size=312 align=8
+ base size=312 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7fdf04eb4478) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04b9e240) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7fdf04b9e5a0) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend
+ size=320 align=8
+ base size=320 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7fdf04eb44e0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04b9e540) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions
+ size=288 align=8
+ base size=288 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7fdf04b9e8a0) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7fdf04eb4548) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04b9e840) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions
+ size=160 align=8
+ base size=160 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7fdf04b9eba0) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend
+ size=176 align=8
+ base size=176 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7fdf04eb45b0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04b9eb40) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions
+ size=240 align=8
+ base size=240 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7fdf04b9eea0) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7fdf04eb4618) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04b9ee40) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7fdf04bdf1e0) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7fdf04eb4680) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fdf04bdf180) 0
+
+Class QOpenGLVersionProfile
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionProfile (0x0x7fdf04bdf480) 0
+
+Class QOpenGLContextGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContextGroup::QPrivateSignal (0x0x7fdf04bdff60) 0 empty
+
+Vtable for QOpenGLContextGroup
+QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOpenGLContextGroup)
+16 (int (*)(...))QOpenGLContextGroup::metaObject
+24 (int (*)(...))QOpenGLContextGroup::qt_metacast
+32 (int (*)(...))QOpenGLContextGroup::qt_metacall
+40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContextGroup
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContextGroup (0x0x7fdf04c0c0d0) 0
+ vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16)
+ QObject (0x0x7fdf04bdff00) 0
+ primary-for QOpenGLContextGroup (0x0x7fdf04c0c0d0)
+
+Class QOpenGLContext::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContext::QPrivateSignal (0x0x7fdf04c1a1e0) 0 empty
+
+Vtable for QOpenGLContext
+QOpenGLContext::_ZTV14QOpenGLContext: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QOpenGLContext)
+16 (int (*)(...))QOpenGLContext::metaObject
+24 (int (*)(...))QOpenGLContext::qt_metacast
+32 (int (*)(...))QOpenGLContext::qt_metacall
+40 (int (*)(...))QOpenGLContext::~QOpenGLContext
+48 (int (*)(...))QOpenGLContext::~QOpenGLContext
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContext
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContext (0x0x7fdf04c0c138) 0
+ vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16)
+ QObject (0x0x7fdf04c1a180) 0
+ primary-for QOpenGLContext (0x0x7fdf04c0c138)
+
+Class QOpenGLDebugMessage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLDebugMessage (0x0x7fdf04c1a420) 0
+
+Class QOpenGLDebugLogger::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLDebugLogger::QPrivateSignal (0x0x7fdf04cd1ba0) 0 empty
+
+Vtable for QOpenGLDebugLogger
+QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger)
+16 (int (*)(...))QOpenGLDebugLogger::metaObject
+24 (int (*)(...))QOpenGLDebugLogger::qt_metacast
+32 (int (*)(...))QOpenGLDebugLogger::qt_metacall
+40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLDebugLogger
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLDebugLogger (0x0x7fdf04c81b60) 0
+ vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16)
+ QObject (0x0x7fdf04cd1b40) 0
+ primary-for QOpenGLDebugLogger (0x0x7fdf04c81b60)
+
+Class QOpenGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFunctions (0x0x7fdf04d2a060) 0
+
+Class QOpenGLFunctionsPrivate::Functions
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate::Functions (0x0x7fdf04d2a9c0) 0
+
+Class QOpenGLFunctionsPrivate
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate (0x0x7fdf04d2a960) 0
+
+Class QOpenGLExtraFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLExtraFunctions (0x0x7fdf04c81f08) 0
+ QOpenGLFunctions (0x0x7fdf04a75780) 0
+
+Class QOpenGLExtraFunctionsPrivate::Functions
+ size=1728 align=8
+ base size=1728 base align=8
+QOpenGLExtraFunctionsPrivate::Functions (0x0x7fdf04a75ae0) 0
+
+Class QOpenGLExtraFunctionsPrivate
+ size=2880 align=8
+ base size=2880 base align=8
+QOpenGLExtraFunctionsPrivate (0x0x7fdf04c81f70) 0
+ QOpenGLFunctionsPrivate (0x0x7fdf04a75a80) 0
+
+Vtable for QOpenGLFramebufferObject
+QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject)
+16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+
+Class QOpenGLFramebufferObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLFramebufferObject (0x0x7fdf048535a0) 0
+ vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16)
+
+Class QOpenGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFramebufferObjectFormat (0x0x7fdf04853840) 0
+
+Vtable for QOpenGLPaintDevice
+QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice)
+16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+32 (int (*)(...))QOpenGLPaintDevice::devType
+40 (int (*)(...))QOpenGLPaintDevice::paintEngine
+48 (int (*)(...))QOpenGLPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget
+
+Class QOpenGLPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QOpenGLPaintDevice (0x0x7fdf0483dd00) 0
+ vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16)
+ QPaintDevice (0x0x7fdf048538a0) 0
+ primary-for QOpenGLPaintDevice (0x0x7fdf0483dd00)
+
+Class QOpenGLPixelTransferOptions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLPixelTransferOptions (0x0x7fdf04853ae0) 0
+
+Class QOpenGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShader::QPrivateSignal (0x0x7fdf048e1900) 0 empty
+
+Vtable for QOpenGLShader
+QOpenGLShader::_ZTV13QOpenGLShader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLShader)
+16 (int (*)(...))QOpenGLShader::metaObject
+24 (int (*)(...))QOpenGLShader::qt_metacast
+32 (int (*)(...))QOpenGLShader::qt_metacall
+40 (int (*)(...))QOpenGLShader::~QOpenGLShader
+48 (int (*)(...))QOpenGLShader::~QOpenGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLShader
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShader (0x0x7fdf048d9e38) 0
+ vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16)
+ QObject (0x0x7fdf048e18a0) 0
+ primary-for QOpenGLShader (0x0x7fdf048d9e38)
+
+Class QOpenGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShaderProgram::QPrivateSignal (0x0x7fdf04923240) 0 empty
+
+Vtable for QOpenGLShaderProgram
+QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram)
+16 (int (*)(...))QOpenGLShaderProgram::metaObject
+24 (int (*)(...))QOpenGLShaderProgram::qt_metacast
+32 (int (*)(...))QOpenGLShaderProgram::qt_metacall
+40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOpenGLShaderProgram::link
+
+Class QOpenGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShaderProgram (0x0x7fdf048d9f70) 0
+ vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16)
+ QObject (0x0x7fdf049231e0) 0
+ primary-for QOpenGLShaderProgram (0x0x7fdf048d9f70)
+
+Class QOpenGLTexture
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTexture (0x0x7fdf04923420) 0
+
+Class QOpenGLTextureBlitter
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTextureBlitter (0x0x7fdf045d9900) 0
+
+Class QOpenGLTimerQuery::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimerQuery::QPrivateSignal (0x0x7fdf045d9b40) 0 empty
+
+Vtable for QOpenGLTimerQuery
+QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery)
+16 (int (*)(...))QOpenGLTimerQuery::metaObject
+24 (int (*)(...))QOpenGLTimerQuery::qt_metacast
+32 (int (*)(...))QOpenGLTimerQuery::qt_metacall
+40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimerQuery
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimerQuery (0x0x7fdf045e20d0) 0
+ vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16)
+ QObject (0x0x7fdf045d9ae0) 0
+ primary-for QOpenGLTimerQuery (0x0x7fdf045e20d0)
+
+Class QOpenGLTimeMonitor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimeMonitor::QPrivateSignal (0x0x7fdf045d9d80) 0 empty
+
+Vtable for QOpenGLTimeMonitor
+QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor)
+16 (int (*)(...))QOpenGLTimeMonitor::metaObject
+24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast
+32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall
+40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimeMonitor
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimeMonitor (0x0x7fdf045e2138) 0
+ vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16)
+ QObject (0x0x7fdf045d9d20) 0
+ primary-for QOpenGLTimeMonitor (0x0x7fdf045e2138)
+
+Class QOpenGLVertexArrayObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLVertexArrayObject::QPrivateSignal (0x0x7fdf0463a000) 0 empty
+
+Class QOpenGLVertexArrayObject::Binder
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVertexArrayObject::Binder (0x0x7fdf0463a060) 0
+
+Vtable for QOpenGLVertexArrayObject
+QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject)
+16 (int (*)(...))QOpenGLVertexArrayObject::metaObject
+24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast
+32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall
+40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLVertexArrayObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLVertexArrayObject (0x0x7fdf045e21a0) 0
+ vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16)
+ QObject (0x0x7fdf045d9f60) 0
+ primary-for QOpenGLVertexArrayObject (0x0x7fdf045e21a0)
+
+Class QPaintDeviceWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPaintDeviceWindow::QPrivateSignal (0x0x7fdf0463a720) 0 empty
+
+Vtable for QPaintDeviceWindow
+QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+16 (int (*)(...))QPaintDeviceWindow::metaObject
+24 (int (*)(...))QPaintDeviceWindow::qt_metacast
+32 (int (*)(...))QPaintDeviceWindow::qt_metacall
+40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QPaintDeviceWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev
+344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+384 (int (*)(...))-40
+392 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev
+408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev
+416 (int (*)(...))QPaintDevice::devType
+424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+440 (int (*)(...))QPaintDevice::initPainter
+448 (int (*)(...))QPaintDevice::redirected
+456 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDeviceWindow
+ size=64 align=8
+ base size=64 base align=8
+QPaintDeviceWindow (0x0x7fdf0464b0e0) 0
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16)
+ QWindow (0x0x7fdf0464b150) 0
+ primary-for QPaintDeviceWindow (0x0x7fdf0464b0e0)
+ QObject (0x0x7fdf0463a600) 0
+ primary-for QWindow (0x0x7fdf0464b150)
+ QSurface (0x0x7fdf0463a660) 16
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336)
+ QPaintDevice (0x0x7fdf0463a6c0) 40
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400)
+
+Class QOpenGLWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWindow::QPrivateSignal (0x0x7fdf0463aa20) 0 empty
+
+Vtable for QOpenGLWindow
+QOpenGLWindow::_ZTV13QOpenGLWindow: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWindow)
+16 (int (*)(...))QOpenGLWindow::metaObject
+24 (int (*)(...))QOpenGLWindow::qt_metacast
+32 (int (*)(...))QOpenGLWindow::qt_metacall
+40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QOpenGLWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QOpenGLWindow::paintEvent
+304 (int (*)(...))QOpenGLWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QOpenGLWindow::initializeGL
+328 (int (*)(...))QOpenGLWindow::resizeGL
+336 (int (*)(...))QOpenGLWindow::paintGL
+344 (int (*)(...))QOpenGLWindow::paintUnderGL
+352 (int (*)(...))QOpenGLWindow::paintOverGL
+360 (int (*)(...))QOpenGLWindow::redirected
+368 (int (*)(...))-16
+376 (int (*)(...))(& _ZTI13QOpenGLWindow)
+384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev
+392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev
+400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+432 (int (*)(...))-40
+440 (int (*)(...))(& _ZTI13QOpenGLWindow)
+448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev
+456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev
+464 (int (*)(...))QPaintDevice::devType
+472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QPaintDevice::initPainter
+496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint
+504 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QOpenGLWindow
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLWindow (0x0x7fdf045e2270) 0
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16)
+ QPaintDeviceWindow (0x0x7fdf0464b310) 0
+ primary-for QOpenGLWindow (0x0x7fdf045e2270)
+ QWindow (0x0x7fdf0464b380) 0
+ primary-for QPaintDeviceWindow (0x0x7fdf0464b310)
+ QObject (0x0x7fdf0463a900) 0
+ primary-for QWindow (0x0x7fdf0464b380)
+ QSurface (0x0x7fdf0463a960) 16
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384)
+ QPaintDevice (0x0x7fdf0463a9c0) 40
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448)
+
+Class QPageSize
+ size=8 align=8
+ base size=8 base align=8
+QPageSize (0x0x7fdf0463ac00) 0
+
+Class QPageLayout
+ size=8 align=8
+ base size=8 base align=8
+QPageLayout (0x0x7fdf046e3660) 0
+
+Class QPagedPaintDevice::Margins
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice::Margins (0x0x7fdf047771e0) 0
+
+Vtable for QPagedPaintDevice
+QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QPagedPaintDevice)
+16 0
+24 0
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QPagedPaintDevice::setPageSize
+96 (int (*)(...))QPagedPaintDevice::setPageSizeMM
+104 (int (*)(...))QPagedPaintDevice::setMargins
+
+Class QPagedPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice (0x0x7fdf04760208) 0
+ vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16)
+ QPaintDevice (0x0x7fdf04777180) 0
+ primary-for QPagedPaintDevice (0x0x7fdf04760208)
+
+Class QPainter::PixmapFragment
+ size=80 align=8
+ base size=80 base align=8
+QPainter::PixmapFragment (0x0x7fdf047772a0) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x0x7fdf04777240) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x0x7fdf04192600) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QPaintEngine::drawRects
+64 (int (*)(...))QPaintEngine::drawRects
+72 (int (*)(...))QPaintEngine::drawLines
+80 (int (*)(...))QPaintEngine::drawLines
+88 (int (*)(...))QPaintEngine::drawEllipse
+96 (int (*)(...))QPaintEngine::drawEllipse
+104 (int (*)(...))QPaintEngine::drawPath
+112 (int (*)(...))QPaintEngine::drawPoints
+120 (int (*)(...))QPaintEngine::drawPoints
+128 (int (*)(...))QPaintEngine::drawPolygon
+136 (int (*)(...))QPaintEngine::drawPolygon
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QPaintEngine::drawTextItem
+160 (int (*)(...))QPaintEngine::drawTiledPixmap
+168 (int (*)(...))QPaintEngine::drawImage
+176 (int (*)(...))QPaintEngine::coordinateOffset
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x0x7fdf041df540) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x0x7fdf041dfd20) 0
+
+Class QPdfWriter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPdfWriter::QPrivateSignal (0x0x7fdf042994e0) 0 empty
+
+Vtable for QPdfWriter
+QPdfWriter::_ZTV10QPdfWriter: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QPdfWriter)
+16 (int (*)(...))QPdfWriter::metaObject
+24 (int (*)(...))QPdfWriter::qt_metacast
+32 (int (*)(...))QPdfWriter::qt_metacall
+40 (int (*)(...))QPdfWriter::~QPdfWriter
+48 (int (*)(...))QPdfWriter::~QPdfWriter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPdfWriter::newPage
+120 (int (*)(...))QPdfWriter::setPageSize
+128 (int (*)(...))QPdfWriter::setPageSizeMM
+136 (int (*)(...))QPdfWriter::setMargins
+144 (int (*)(...))QPdfWriter::paintEngine
+152 (int (*)(...))QPdfWriter::metric
+160 (int (*)(...))-16
+168 (int (*)(...))(& _ZTI10QPdfWriter)
+176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev
+184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev
+192 (int (*)(...))QPaintDevice::devType
+200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv
+208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE
+216 (int (*)(...))QPaintDevice::initPainter
+224 (int (*)(...))QPaintDevice::redirected
+232 (int (*)(...))QPaintDevice::sharedPainter
+240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv
+248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE
+256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF
+264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE
+
+Class QPdfWriter
+ size=48 align=8
+ base size=48 base align=8
+QPdfWriter (0x0x7fdf042843f0) 0
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16)
+ QObject (0x0x7fdf04299420) 0
+ primary-for QPdfWriter (0x0x7fdf042843f0)
+ QPagedPaintDevice (0x0x7fdf041e25b0) 16
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176)
+ QPaintDevice (0x0x7fdf04299480) 16
+ primary-for QPagedPaintDevice (0x0x7fdf041e25b0)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 (int (*)(...))QPicture::~QPicture
+24 (int (*)(...))QPicture::~QPicture
+32 (int (*)(...))QPicture::devType
+40 (int (*)(...))QPicture::paintEngine
+48 (int (*)(...))QPicture::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPicture::setData
+
+Class QPicture
+ size=32 align=8
+ base size=32 base align=8
+QPicture (0x0x7fdf041e2618) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16)
+ QPaintDevice (0x0x7fdf042997e0) 0
+ primary-for QPicture (0x0x7fdf041e2618)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x0x7fdf04302a80) 0
+
+Class QPictureFormatPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPictureFormatPlugin::QPrivateSignal (0x0x7fdf04302b40) 0 empty
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 (int (*)(...))QPictureFormatPlugin::metaObject
+24 (int (*)(...))QPictureFormatPlugin::qt_metacast
+32 (int (*)(...))QPictureFormatPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPictureFormatPlugin::loadPicture
+120 (int (*)(...))QPictureFormatPlugin::savePicture
+128 (int (*)(...))__cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=16 align=8
+ base size=16 base align=8
+QPictureFormatPlugin (0x0x7fdf043067b8) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16)
+ QObject (0x0x7fdf04302ae0) 0
+ primary-for QPictureFormatPlugin (0x0x7fdf043067b8)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x0x7fdf04302cc0) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x0x7fdf04302c60) 0 empty
+
+Class QRasterWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRasterWindow::QPrivateSignal (0x0x7fdf03fdd480) 0 empty
+
+Vtable for QRasterWindow
+QRasterWindow::_ZTV13QRasterWindow: 59 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QRasterWindow)
+16 (int (*)(...))QRasterWindow::metaObject
+24 (int (*)(...))QRasterWindow::qt_metacast
+32 (int (*)(...))QRasterWindow::qt_metacall
+40 (int (*)(...))QRasterWindow::~QRasterWindow
+48 (int (*)(...))QRasterWindow::~QRasterWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QRasterWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QRasterWindow::redirected
+328 (int (*)(...))-16
+336 (int (*)(...))(& _ZTI13QRasterWindow)
+344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev
+352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+392 (int (*)(...))-40
+400 (int (*)(...))(& _ZTI13QRasterWindow)
+408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev
+416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev
+424 (int (*)(...))QPaintDevice::devType
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+448 (int (*)(...))QPaintDevice::initPainter
+456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint
+464 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QRasterWindow
+ size=64 align=8
+ base size=64 base align=8
+QRasterWindow (0x0x7fdf03fd9410) 0
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16)
+ QPaintDeviceWindow (0x0x7fdf03fde230) 0
+ primary-for QRasterWindow (0x0x7fdf03fd9410)
+ QWindow (0x0x7fdf03fde2a0) 0
+ primary-for QPaintDeviceWindow (0x0x7fdf03fde230)
+ QObject (0x0x7fdf03fdd360) 0
+ primary-for QWindow (0x0x7fdf03fde2a0)
+ QSurface (0x0x7fdf03fdd3c0) 16
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344)
+ QPaintDevice (0x0x7fdf03fdd420) 40
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408)
+
+Class QScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScreen::QPrivateSignal (0x0x7fdf03fdd6c0) 0 empty
+
+Vtable for QScreen
+QScreen::_ZTV7QScreen: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QScreen)
+16 (int (*)(...))QScreen::metaObject
+24 (int (*)(...))QScreen::qt_metacast
+32 (int (*)(...))QScreen::qt_metacall
+40 (int (*)(...))QScreen::~QScreen
+48 (int (*)(...))QScreen::~QScreen
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScreen
+ size=16 align=8
+ base size=16 base align=8
+QScreen (0x0x7fdf03fd94e0) 0
+ vptr=((& QScreen::_ZTV7QScreen) + 16)
+ QObject (0x0x7fdf03fdd660) 0
+ primary-for QScreen (0x0x7fdf03fd94e0)
+
+Class QSessionManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSessionManager::QPrivateSignal (0x0x7fdf03fdd900) 0 empty
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 (int (*)(...))QSessionManager::metaObject
+24 (int (*)(...))QSessionManager::qt_metacast
+32 (int (*)(...))QSessionManager::qt_metacall
+40 (int (*)(...))QSessionManager::~QSessionManager
+48 (int (*)(...))QSessionManager::~QSessionManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x0x7fdf03fd9548) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16)
+ QObject (0x0x7fdf03fdd8a0) 0
+ primary-for QSessionManager (0x0x7fdf03fd9548)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 (int (*)(...))QStandardItem::~QStandardItem
+24 (int (*)(...))QStandardItem::~QStandardItem
+32 (int (*)(...))QStandardItem::data
+40 (int (*)(...))QStandardItem::setData
+48 (int (*)(...))QStandardItem::clone
+56 (int (*)(...))QStandardItem::type
+64 (int (*)(...))QStandardItem::read
+72 (int (*)(...))QStandardItem::write
+80 (int (*)(...))QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x0x7fdf03fddae0) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16)
+
+Class QStandardItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStandardItemModel::QPrivateSignal (0x0x7fdf040b32a0) 0 empty
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 (int (*)(...))QStandardItemModel::metaObject
+24 (int (*)(...))QStandardItemModel::qt_metacast
+32 (int (*)(...))QStandardItemModel::qt_metacall
+40 (int (*)(...))QStandardItemModel::~QStandardItemModel
+48 (int (*)(...))QStandardItemModel::~QStandardItemModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStandardItemModel::index
+120 (int (*)(...))QStandardItemModel::parent
+128 (int (*)(...))QStandardItemModel::sibling
+136 (int (*)(...))QStandardItemModel::rowCount
+144 (int (*)(...))QStandardItemModel::columnCount
+152 (int (*)(...))QStandardItemModel::hasChildren
+160 (int (*)(...))QStandardItemModel::data
+168 (int (*)(...))QStandardItemModel::setData
+176 (int (*)(...))QStandardItemModel::headerData
+184 (int (*)(...))QStandardItemModel::setHeaderData
+192 (int (*)(...))QStandardItemModel::itemData
+200 (int (*)(...))QStandardItemModel::setItemData
+208 (int (*)(...))QStandardItemModel::mimeTypes
+216 (int (*)(...))QStandardItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QStandardItemModel::dropMimeData
+240 (int (*)(...))QStandardItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStandardItemModel::insertRows
+264 (int (*)(...))QStandardItemModel::insertColumns
+272 (int (*)(...))QStandardItemModel::removeRows
+280 (int (*)(...))QStandardItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStandardItemModel::flags
+328 (int (*)(...))QStandardItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x0x7fdf03fd9af8) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16)
+ QAbstractItemModel (0x0x7fdf03fd9b60) 0
+ primary-for QStandardItemModel (0x0x7fdf03fd9af8)
+ QObject (0x0x7fdf040b3240) 0
+ primary-for QAbstractItemModel (0x0x7fdf03fd9b60)
+
+Class QStaticText
+ size=8 align=8
+ base size=8 base align=8
+QStaticText (0x0x7fdf040b3660) 0
+
+Class QStyleHints::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyleHints::QPrivateSignal (0x0x7fdf04155a20) 0 empty
+
+Vtable for QStyleHints
+QStyleHints::_ZTV11QStyleHints: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QStyleHints)
+16 (int (*)(...))QStyleHints::metaObject
+24 (int (*)(...))QStyleHints::qt_metacast
+32 (int (*)(...))QStyleHints::qt_metacall
+40 (int (*)(...))QStyleHints::~QStyleHints
+48 (int (*)(...))QStyleHints::~QStyleHints
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QStyleHints
+ size=16 align=8
+ base size=16 base align=8
+QStyleHints (0x0x7fdf0414bea0) 0
+ vptr=((& QStyleHints::_ZTV11QStyleHints) + 16)
+ QObject (0x0x7fdf041559c0) 0
+ primary-for QStyleHints (0x0x7fdf0414bea0)
+
+Class QTextObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextObject::QPrivateSignal (0x0x7fdf04155c60) 0 empty
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 (int (*)(...))QTextObject::metaObject
+24 (int (*)(...))QTextObject::qt_metacast
+32 (int (*)(...))QTextObject::qt_metacall
+40 (int (*)(...))QTextObject::~QTextObject
+48 (int (*)(...))QTextObject::~QTextObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x0x7fdf0414bf08) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16)
+ QObject (0x0x7fdf04155c00) 0
+ primary-for QTextObject (0x0x7fdf0414bf08)
+
+Class QTextBlockGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBlockGroup::QPrivateSignal (0x0x7fdf04155ea0) 0 empty
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 (int (*)(...))QTextBlockGroup::metaObject
+24 (int (*)(...))QTextBlockGroup::qt_metacast
+32 (int (*)(...))QTextBlockGroup::qt_metacall
+40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x0x7fdf0414bf70) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16)
+ QTextObject (0x0x7fdf03d8a000) 0
+ primary-for QTextBlockGroup (0x0x7fdf0414bf70)
+ QObject (0x0x7fdf04155e40) 0
+ primary-for QTextObject (0x0x7fdf03d8a000)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x0x7fdf03d990c0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16)
+
+Class QTextFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextFrame::QPrivateSignal (0x0x7fdf03d99180) 0 empty
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x0x7fdf03d991e0) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 (int (*)(...))QTextFrame::metaObject
+24 (int (*)(...))QTextFrame::qt_metacast
+32 (int (*)(...))QTextFrame::qt_metacall
+40 (int (*)(...))QTextFrame::~QTextFrame
+48 (int (*)(...))QTextFrame::~QTextFrame
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x0x7fdf03d8a068) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16)
+ QTextObject (0x0x7fdf03d8a0d0) 0
+ primary-for QTextFrame (0x0x7fdf03d8a068)
+ QObject (0x0x7fdf03d99120) 0
+ primary-for QTextObject (0x0x7fdf03d8a0d0)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x0x7fdf03df1b40) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x0x7fdf03df1c00) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x0x7fdf03df1ba0) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x0x7fdf03e9b900) 0
+
+Class QSyntaxHighlighter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSyntaxHighlighter::QPrivateSignal (0x0x7fdf03ef3120) 0 empty
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 (int (*)(...))QSyntaxHighlighter::metaObject
+24 (int (*)(...))QSyntaxHighlighter::qt_metacast
+32 (int (*)(...))QSyntaxHighlighter::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x0x7fdf03ef0340) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16)
+ QObject (0x0x7fdf03ef30c0) 0
+ primary-for QSyntaxHighlighter (0x0x7fdf03ef0340)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x0x7fdf03ef3300) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x0x7fdf03ef3360) 0
+
+Class QTextList::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextList::QPrivateSignal (0x0x7fdf03ef3420) 0 empty
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 (int (*)(...))QTextList::metaObject
+24 (int (*)(...))QTextList::qt_metacast
+32 (int (*)(...))QTextList::qt_metacall
+40 (int (*)(...))QTextList::~QTextList
+48 (int (*)(...))QTextList::~QTextList
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x0x7fdf03ef03a8) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16)
+ QTextBlockGroup (0x0x7fdf03ef0410) 0
+ primary-for QTextList (0x0x7fdf03ef03a8)
+ QTextObject (0x0x7fdf03ef0478) 0
+ primary-for QTextBlockGroup (0x0x7fdf03ef0410)
+ QObject (0x0x7fdf03ef33c0) 0
+ primary-for QTextObject (0x0x7fdf03ef0478)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x0x7fdf03ef3a20) 0
+
+Class QTextTable::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextTable::QPrivateSignal (0x0x7fdf03f342a0) 0 empty
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 (int (*)(...))QTextTable::metaObject
+24 (int (*)(...))QTextTable::qt_metacast
+32 (int (*)(...))QTextTable::qt_metacall
+40 (int (*)(...))QTextTable::~QTextTable
+48 (int (*)(...))QTextTable::~QTextTable
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x0x7fdf03ef04e0) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16)
+ QTextFrame (0x0x7fdf03ef0548) 0
+ primary-for QTextTable (0x0x7fdf03ef04e0)
+ QTextObject (0x0x7fdf03ef05b0) 0
+ primary-for QTextFrame (0x0x7fdf03ef0548)
+ QObject (0x0x7fdf03f34240) 0
+ primary-for QTextObject (0x0x7fdf03ef05b0)
+
+Class QValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QValidator::QPrivateSignal (0x0x7fdf03f34840) 0 empty
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 (int (*)(...))QValidator::metaObject
+24 (int (*)(...))QValidator::qt_metacast
+32 (int (*)(...))QValidator::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x0x7fdf03ef0618) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16)
+ QObject (0x0x7fdf03f347e0) 0
+ primary-for QValidator (0x0x7fdf03ef0618)
+
+Class QIntValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIntValidator::QPrivateSignal (0x0x7fdf03f34a80) 0 empty
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 (int (*)(...))QIntValidator::metaObject
+24 (int (*)(...))QIntValidator::qt_metacast
+32 (int (*)(...))QIntValidator::qt_metacall
+40 (int (*)(...))QIntValidator::~QIntValidator
+48 (int (*)(...))QIntValidator::~QIntValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIntValidator::validate
+120 (int (*)(...))QIntValidator::fixup
+128 (int (*)(...))QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x0x7fdf03ef0680) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16)
+ QValidator (0x0x7fdf03ef06e8) 0
+ primary-for QIntValidator (0x0x7fdf03ef0680)
+ QObject (0x0x7fdf03f34a20) 0
+ primary-for QValidator (0x0x7fdf03ef06e8)
+
+Class QDoubleValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleValidator::QPrivateSignal (0x0x7fdf03f34cc0) 0 empty
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 (int (*)(...))QDoubleValidator::metaObject
+24 (int (*)(...))QDoubleValidator::qt_metacast
+32 (int (*)(...))QDoubleValidator::qt_metacall
+40 (int (*)(...))QDoubleValidator::~QDoubleValidator
+48 (int (*)(...))QDoubleValidator::~QDoubleValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDoubleValidator::validate
+120 (int (*)(...))QValidator::fixup
+128 (int (*)(...))QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x0x7fdf03ef0750) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16)
+ QValidator (0x0x7fdf03ef07b8) 0
+ primary-for QDoubleValidator (0x0x7fdf03ef0750)
+ QObject (0x0x7fdf03f34c60) 0
+ primary-for QValidator (0x0x7fdf03ef07b8)
+
+Class QRegExpValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegExpValidator::QPrivateSignal (0x0x7fdf03f7b180) 0 empty
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 (int (*)(...))QRegExpValidator::metaObject
+24 (int (*)(...))QRegExpValidator::qt_metacast
+32 (int (*)(...))QRegExpValidator::qt_metacall
+40 (int (*)(...))QRegExpValidator::~QRegExpValidator
+48 (int (*)(...))QRegExpValidator::~QRegExpValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegExpValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x0x7fdf03ef0820) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16)
+ QValidator (0x0x7fdf03ef0888) 0
+ primary-for QRegExpValidator (0x0x7fdf03ef0820)
+ QObject (0x0x7fdf03f7b120) 0
+ primary-for QValidator (0x0x7fdf03ef0888)
+
+Class QRegularExpressionValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegularExpressionValidator::QPrivateSignal (0x0x7fdf03f7b360) 0 empty
+
+Vtable for QRegularExpressionValidator
+QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QRegularExpressionValidator)
+16 (int (*)(...))QRegularExpressionValidator::metaObject
+24 (int (*)(...))QRegularExpressionValidator::qt_metacast
+32 (int (*)(...))QRegularExpressionValidator::qt_metacall
+40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegularExpressionValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegularExpressionValidator
+ size=16 align=8
+ base size=16 base align=8
+QRegularExpressionValidator (0x0x7fdf03ef08f0) 0
+ vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16)
+ QValidator (0x0x7fdf03ef0958) 0
+ primary-for QRegularExpressionValidator (0x0x7fdf03ef08f0)
+ QObject (0x0x7fdf03f7b300) 0
+ primary-for QValidator (0x0x7fdf03ef0958)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03bbf7e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03bbfb40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03bbfd20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03bf00c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03bf02a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03bf0600) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03bf07e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03bf0b40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03bf0d20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03c270c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03c272a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03c27600) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03c277e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03c27b40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03c27d20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03c600c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03c8a5a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03c8a900) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03c8aa80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03c8ade0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03c8af60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03cbf300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03cbf480) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03cbf7e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03cbf960) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03cbfcc0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03cbfe40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03cec1e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03cec360) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03cec6c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fdf03cec840) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fdf03cecba0) 0 empty
+
diff --git a/tests/auto/bic/data/QtNetwork.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtNetwork.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..6019796c38
--- /dev/null
+++ b/tests/auto/bic/data/QtNetwork.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,5884 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f7f946e93c0) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f7f94734b40) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f7f94734d80) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f7f94760000) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f7f94760240) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f7f947603c0) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f7f94760780) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7f7f9479e8a0) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f7f947f8f60) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f7f94425060) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7f7f94425420) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7f7f94425480) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7f7f944254e0) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7f7f94425540) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7f7f944255a0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f7f94425660) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f7f94425720) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f7f944257e0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f7f944258a0) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f7f94425c00) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7f7f94425f60) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f7f94469000) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7f7f944695a0) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f7f94469c00) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7f7f9448b068) 0 empty
+ std::__nonesuch (0x0x7f7f944aa120) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f7f944f1a80) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f7f944f1ae0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f7f9454b7e0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f7f9454b840) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f7f9448b548) 0 empty
+ std::input_iterator_tag (0x0x7f7f9454b8a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f7f9448b5b0) 0 empty
+ std::forward_iterator_tag (0x0x7f7f9448b618) 0 empty
+ std::input_iterator_tag (0x0x7f7f9454b900) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f7f9448b680) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f7f9448b6e8) 0 empty
+ std::forward_iterator_tag (0x0x7f7f9448b750) 0 empty
+ std::input_iterator_tag (0x0x7f7f9454b960) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f7f945fb480) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f7f945fb5a0) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f7f945fb8a0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f7f945fbba0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f7f945fbcc0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f7f942c7000) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f7f942c7300) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f7f942c7360) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7f7f942c7420) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f7f942c7480) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7f7f942c74e0) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7f7f942c7540) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f7f942c77e0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f7f942c7a80) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f7f942c7ae0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f7f943868a0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f7f9448ba90) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7f7f94386a80) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f7f9448ba90)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f7f94386c60) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f7f9448baf8) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7f7f943b9060) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f7f9448baf8)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f7f9448bb60) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7f7f943b9240) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f7f9448bb60)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f7f943b9420) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f7f943b99c0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f7f9448bbc8) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7f7f943f00c0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f7f9448bbc8)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f7f9448bc30) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7f7f9448bc98) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f7f9448bc30)
+ std::exception (0x0x7f7f943f02a0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f7f9448bc98)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f7f943f0480) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7f7f943f0660) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f7f94065b40) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f7f93e45600) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f7f93e456c0) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f7f93d03060) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f7f93d03180) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f7f93d034e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f7f93d03a20) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f7f93d7d1e0) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f7f93e11600) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f7f93dafaf8) 0
+ std::__atomic_flag_base (0x0x7f7f93e11660) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f7f9384f270) 0
+ QAtomicInteger<int> (0x0x7f7f9384f2d8) 0
+ QBasicAtomicInteger<int> (0x0x7f7f93944600) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f7f93560900) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f7f93590ea0) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f7f935dc600) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f7f9375ce38) 0
+ QGenericArgument (0x0x7f7f935dc8a0) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f7f935dccc0) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f7f9322f120) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f7f93293c00) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f7f93293ea0) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f7f93364cc0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f7f93389060) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f7f933e9360) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f7f9309bba0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f7f9309bc60) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f7f9315ed80) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f7f9315ee40) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f7f9315eea0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f7f9315ef00) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f7f9315ef60) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f7f931ba0c0) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f7f931ba120) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f7f92ed90c0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f7f92ed9120) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f7f92c84180) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f7f92c84300) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f7f92e06480) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f7f92e06840) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f7f92e06ae0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f7f92e06cc0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f7f92a56cc0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f7f92c92f70) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7f7f92a56d80) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7f92c92f70)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f7f92c92478) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7f7f92c924e0) 0
+ primary-for std::domain_error (0x0x7f7f92c92478)
+ std::exception (0x0x7f7f92a56de0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7f92c924e0)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f7f92c92820) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7f7f92c92888) 0
+ primary-for std::invalid_argument (0x0x7f7f92c92820)
+ std::exception (0x0x7f7f92a56e40) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7f92c92888)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f7f92aa9000) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7f7f92aa9068) 0
+ primary-for std::length_error (0x0x7f7f92aa9000)
+ std::exception (0x0x7f7f92a56ea0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7f92aa9068)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f7f92aa90d0) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7f7f92aa9138) 0
+ primary-for std::out_of_range (0x0x7f7f92aa90d0)
+ std::exception (0x0x7f7f92a56f00) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7f92aa9138)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f7f92aa91a0) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7f7f92a56f60) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7f92aa91a0)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f7f92aa9208) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7f7f92aa9270) 0
+ primary-for std::range_error (0x0x7f7f92aa9208)
+ std::exception (0x0x7f7f92ab4000) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7f92aa9270)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f7f92aa92d8) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7f7f92aa9340) 0
+ primary-for std::overflow_error (0x0x7f7f92aa92d8)
+ std::exception (0x0x7f7f92ab4060) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7f92aa9340)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f7f92aa93a8) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7f7f92aa9410) 0
+ primary-for std::underflow_error (0x0x7f7f92aa93a8)
+ std::exception (0x0x7f7f92ab40c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7f92aa9410)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f7f92ab4240) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f7f92ab45a0) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f7f92ab4de0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f7f92aa9820) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7f7f92aa9888) 0
+ primary-for std::system_error (0x0x7f7f92aa9820)
+ std::exception (0x0x7f7f92af29c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7f92aa9888)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f7f92aa9af8) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7f7f92aa9b60) 0
+ primary-for std::ios_base::failure (0x0x7f7f92aa9af8)
+ std::runtime_error (0x0x7f7f92aa9bc8) 0
+ primary-for std::system_error (0x0x7f7f92aa9b60)
+ std::exception (0x0x7f7f92b26f60) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7f92aa9bc8)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f7f92b58000) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f7f92b58060) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f7f92b580c0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f7f92b26f00) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f7f92c1a9c0) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f7f928c7ba0) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7f7f924972d8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7f7f924973a8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f7f924d8068 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f7f924d8138 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f7f924fd540) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f7f924fd5a0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f7f9222c960) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f7f922cb7e0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f7f922cbc60) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f7f923a0a20) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f7f9203d480) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f7f9203d420) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f7f91e24600) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f7f91fa4e40) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f7f91dda180) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f7f91dda240) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f7f91a98720) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f7f91dd3478) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f7f91a98e40) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f7f91dd35b0) 0
+ std::_Bit_iterator_base (0x0x7f7f91dd3618) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f7f91ac24e0) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f7f91dd3680) 0
+ std::_Bit_iterator_base (0x0x7f7f91dd36e8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f7f91ac2cc0) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f7f918d6360) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f7f9199b120) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f7f9199b180) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f7f918fb138) 0 empty
+ QListData::NotIndirectLayout (0x0x7f7f9199b1e0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f7f91829d20) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f7f9199b240) 0 empty
+ QListData::NotIndirectLayout (0x0x7f7f9199b2a0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f7f918fb1a0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f7f9199b300) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f7f9199b360) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f7f9199b0c0) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f7f91690540) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f7f9176aba0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f7f9176ab40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f7f91767ea0) 0
+ QList<QString> (0x0x7f7f91767f08) 0
+ QListSpecialMethods<QString> (0x0x7f7f9176ade0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f7f9142d960) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f7f914bda80) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7f7f914bdde0) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7f7f912ba3c0) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f7f912ba420) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f7f912ba5a0) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f7f912ba660) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f7f91244270) 0
+ std::__uses_alloc_base (0x0x7f7f912ba600) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f7f9141c9c0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f7f91048e40) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f7f910641e0) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f7f91064720) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f7f91064c60) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f7f910b8e40) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f7f910f1540) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f7f911883c0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f7f90de1a80) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f7f90e55000) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f7f90c66de0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f7f9099a8a0) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f7f9099a900) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f7f9099aae0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f7f9099aa80) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f7f90a77900) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f7f90a77a80) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f7f90a9b360) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f7f90a7a478) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7f7f90a9b300) 0
+ primary-for QAbstractAnimation (0x0x7f7f90a7a478)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f7f90a9b720) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f7f90a7a4e0) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7f7f90a9b6c0) 0
+ primary-for QAnimationDriver (0x0x7f7f90a7a4e0)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f7f90a9b960) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f7f90a7a548) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7f7f90a9b900) 0
+ primary-for QEventLoop (0x0x7f7f90a7a548)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f7f90af4240) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f7f90af4300) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f7f90af4360) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f7f90a7a680) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7f7f90af42a0) 0
+ primary-for QAbstractEventDispatcher (0x0x7f7f90a7a680)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f7f907a1000) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7f7f907829c0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f7f907a1000)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f7f90782a80) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f7f90782ae0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f7f90782de0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f7f90569d80) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f7f905b5a20) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f7f906a73c0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f7f906a7360) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f7f906a7660) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f7f903aec00) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f7f903aecc0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f7f903aec60) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f7f903aed20) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f7f903aeba0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f7f9012a000) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f7f9016c660) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f7f9016c600) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f7f9016c780) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f7f9016c720) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f7f90237900) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f7f902a9540) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f7f8ff79360) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f7f8ff6abc8) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7f7f8ff79300) 0
+ primary-for QAbstractItemModel (0x0x7f7f8ff6abc8)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f7f90037720) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f7f8ffbb208) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7f7f8ffbb270) 0
+ primary-for QAbstractTableModel (0x0x7f7f8ffbb208)
+ QObject (0x0x7f7f900376c0) 0
+ primary-for QAbstractItemModel (0x0x7f7f8ffbb270)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f7f900378a0) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f7f8ffbb2d8) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7f7f8ffbb340) 0
+ primary-for QAbstractListModel (0x0x7f7f8ffbb2d8)
+ QObject (0x0x7f7f90037840) 0
+ primary-for QAbstractItemModel (0x0x7f7f8ffbb340)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f7f900a1000) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f7f900a10c0) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f7f8ffbb410) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7f7f8ffbb478) 0
+ primary-for QAbstractProxyModel (0x0x7f7f8ffbb410)
+ QObject (0x0x7f7f900a1060) 0
+ primary-for QAbstractItemModel (0x0x7f7f8ffbb478)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f7f900a1300) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f7f8ffbb4e0) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7f7f900a12a0) 0
+ primary-for QAbstractState (0x0x7f7f8ffbb4e0)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f7f900a1540) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f7f8ffbb548) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7f7f900a14e0) 0
+ primary-for QAbstractTransition (0x0x7f7f8ffbb548)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f7f900a1840) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f7f8ffbb5b0) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7f7f8ffbb618) 0
+ primary-for QAnimationGroup (0x0x7f7f8ffbb5b0)
+ QObject (0x0x7f7f900a17e0) 0
+ primary-for QAbstractAnimation (0x0x7f7f8ffbb618)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f7f8fd21ba0) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f7f8fd5ff60) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f7f8fddf420) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f7f8fe2b7e0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f7f8fe20b60) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7f7f8fe2b780) 0
+ primary-for QIODevice (0x0x7f7f8fe20b60)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f7f8fe71180) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f7f8fe20c98) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7f7f8fe20d00) 0
+ primary-for QBuffer (0x0x7f7f8fe20c98)
+ QObject (0x0x7f7f8fe71120) 0
+ primary-for QIODevice (0x0x7f7f8fe20d00)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f7f8fe71420) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f7f8fe713c0) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f7f8fe715a0) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f7f8fe71540) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f7f8febe480) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f7f8ff03420) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f7f8fb53cc0) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f7f8fbc4960) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f7f8fbc49c0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f7f8fbc4900) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f7f8fcb10c0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f7f8f9ae660) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f7f8f9aef00) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f7f8fa89a20) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f7f8fad36c0) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f7f8fad3840) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f7f8f78d480) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f7f8f78d420) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f7f8f52a4e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f7f8f52a5a0) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f7f8f5ac8a0) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f7f8f5e0060) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f7f8f665f00) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f7f8f6cbcc0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f7f8f34c720) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f7f8f4976c0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f7f8f518240) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f7f8f518300) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f7f8ef97300) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f7f8f005d20) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f7f8f005d80) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f7f8f005cc0) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f7f8f118780) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f7f8f1187e0) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f7f8f118720) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f7f8ef11f00) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f7f8ebc7ea0) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f7f8ec04c00) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f7f8ec87d20) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f7f8ec87f00) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f7f8e99f4e0) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f7f8e9f0c00) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f7f8e9e2ea0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7f7f8ea35000) 0
+ primary-for QTimerEvent (0x0x7f7f8e9e2ea0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f7f8e9e2f08) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7f7f8ea350c0) 0
+ primary-for QChildEvent (0x0x7f7f8e9e2f08)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f7f8ea42478) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7f7f8ea35720) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f7f8ea42478)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f7f8ea424e0) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7f7f8ea357e0) 0
+ primary-for QDeferredDeleteEvent (0x0x7f7f8ea424e0)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f7f8ea35900) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f7f8ea42548) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7f7f8ea358a0) 0
+ primary-for QCoreApplication (0x0x7f7f8ea42548)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f7f8ea35b40) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f7f8ea35cc0) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7f7f8ea425b0) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7f7f8ea42618) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7f7f8ea425b0)
+ QObject (0x0x7f7f8ea35c60) 0
+ primary-for QAbstractItemModel (0x0x7f7f8ea42618)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f7f8ea35ea0) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f7f8eaa4000) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f7f8eaa4180) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f7f8eaf88a0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f7f8e72a000) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f7f8e84ad20) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f7f8e852820) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7f7f8e852888) 0
+ primary-for QFileDevice (0x0x7f7f8e852820)
+ QObject (0x0x7f7f8e84acc0) 0
+ primary-for QIODevice (0x0x7f7f8e852888)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f7f8e881660) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f7f8e8529c0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7f7f8e852a28) 0
+ primary-for QFile (0x0x7f7f8e8529c0)
+ QIODevice (0x0x7f7f8e852a90) 0
+ primary-for QFileDevice (0x0x7f7f8e852a28)
+ QObject (0x0x7f7f8e881600) 0
+ primary-for QIODevice (0x0x7f7f8e852a90)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f7f8e881cc0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f7f8e4f70c0) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f7f8e59e420) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f7f8e59eba0) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f7f8e6d8cc0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f7f8e69fd00) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7f7f8e69fd68) 0
+ primary-for QEventTransition (0x0x7f7f8e69fd00)
+ QObject (0x0x7f7f8e6d8c60) 0
+ primary-for QAbstractTransition (0x0x7f7f8e69fd68)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f7f8e69fdd0) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7f7f8e6d8ea0) 0 nearly-empty
+ primary-for QException (0x0x7f7f8e69fdd0)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f7f8e69fe38) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7f7f8e69fea0) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f7f8e69fe38)
+ std::exception (0x0x7f7f8e6d8f00) 0 nearly-empty
+ primary-for QException (0x0x7f7f8e69fea0)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f7f8e6d8f60) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f7f8e314060) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f7f8e3140c0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f7f8e314300) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f7f8e69ff08) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7f7f8e3142a0) 0
+ primary-for QFileSelector (0x0x7f7f8e69ff08)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f7f8e314540) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f7f8e69ff70) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7f7f8e3144e0) 0
+ primary-for QFileSystemWatcher (0x0x7f7f8e69ff70)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f7f8e314780) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f7f8e341000) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7f7f8e341068) 0
+ primary-for QFinalState (0x0x7f7f8e341000)
+ QObject (0x0x7f7f8e314720) 0
+ primary-for QAbstractState (0x0x7f7f8e341068)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f7f8e314960) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f7f8e314c00) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f7f8e341138) 0
+ QBasicMutex (0x0x7f7f8e3bb8a0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f7f8e3bbae0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f7f8e3bbf60) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f7f8e3e35a0) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f7f8e3e3780) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f7f8e457f60) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f7f8e1172a0) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f7f8e49e750) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7f7f8e117240) 0
+ primary-for QFutureWatcherBase (0x0x7f7f8e49e750)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f7f8e142600) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f7f8e49ef70) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7f7f8e14f000) 0
+ primary-for QHistoryState (0x0x7f7f8e49ef70)
+ QObject (0x0x7f7f8e1425a0) 0
+ primary-for QAbstractState (0x0x7f7f8e14f000)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f7f8e142900) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f7f8e14f068) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f7f8e14f0d0) 0
+ primary-for QIdentityProxyModel (0x0x7f7f8e14f068)
+ QAbstractItemModel (0x0x7f7f8e14f138) 0
+ primary-for QAbstractProxyModel (0x0x7f7f8e14f0d0)
+ QObject (0x0x7f7f8e1428a0) 0
+ primary-for QAbstractItemModel (0x0x7f7f8e14f138)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f7f8e142ae0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f7f8e229420) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f7f8e221a90) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7f7f8e2293c0) 0
+ primary-for QItemSelectionModel (0x0x7f7f8e221a90)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f7f8e221c30) 0
+ QList<QItemSelectionRange> (0x0x7f7f8e221c98) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f7f8e229f00) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f7f8e2d2840) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f7f8e027a20) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f7f8e06f9c0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f7f8e06fc60) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f7f8dce5000) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f7f8dce5060) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f7f8e0bef60) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f7f8ddedf00) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f7f8ddedf60) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f7f8de59780) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f7f8de597e0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f7f8de59720) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f7f8db6ab40) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f7f8db67d00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7f7f8db6aae0) 0
+ primary-for QLibrary (0x0x7f7f8db67d00)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f7f8dbb19c0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f7f8dbb14e0) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f7f8dc6d120) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f7f8dc6d180) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f7f8dcbdf60) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f7f8d956120) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f7f8d9be4e0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f7f8da36780) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f7f8dada900) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f7f8dadab40) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f7f8dadaae0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f7f8dadaf60) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f7f8d790ea0) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f7f8d5fc6c0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f7f8d5fc720) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f7f8d666f60) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f7f8d6c81e0) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f7f8d6c8300) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f7f8d3078a0) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f7f8d306958) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7f7f8d307840) 0
+ primary-for QMimeData (0x0x7f7f8d306958)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f7f8d307a80) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f7f8d362ba0) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f7f8d362c60) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f7f8d364c98) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7f7f8d362c00) 0
+ primary-for QObjectCleanupHandler (0x0x7f7f8d364c98)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f7f8d362d80) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f7f8d3f1540) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f7f8d3f0548) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f7f8d3f05b0) 0
+ primary-for QParallelAnimationGroup (0x0x7f7f8d3f0548)
+ QAbstractAnimation (0x0x7f7f8d3f0618) 0
+ primary-for QAnimationGroup (0x0x7f7f8d3f05b0)
+ QObject (0x0x7f7f8d3f14e0) 0
+ primary-for QAbstractAnimation (0x0x7f7f8d3f0618)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f7f8d3f1780) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f7f8d3f0680) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7f7f8d3f06e8) 0
+ primary-for QPauseAnimation (0x0x7f7f8d3f0680)
+ QObject (0x0x7f7f8d3f1720) 0
+ primary-for QAbstractAnimation (0x0x7f7f8d3f06e8)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f7f8d4273c0) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f7f8d468540) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f7f8d460a28) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7f7f8d4684e0) 0
+ primary-for QPluginLoader (0x0x7f7f8d460a28)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f7f8d468660) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f7f8d4c4cc0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f7f8d4ce680) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7f7f8d4ce6e8) 0
+ primary-for QProcess (0x0x7f7f8d4ce680)
+ QObject (0x0x7f7f8d4c4c60) 0
+ primary-for QIODevice (0x0x7f7f8d4ce6e8)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f7f8d1033c0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f7f8d4ce750) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7f7f8d4ce7b8) 0
+ primary-for QVariantAnimation (0x0x7f7f8d4ce750)
+ QObject (0x0x7f7f8d103360) 0
+ primary-for QAbstractAnimation (0x0x7f7f8d4ce7b8)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f7f8d103660) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f7f8d4ce888) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7f7f8d4ce8f0) 0
+ primary-for QPropertyAnimation (0x0x7f7f8d4ce888)
+ QAbstractAnimation (0x0x7f7f8d4ce958) 0
+ primary-for QVariantAnimation (0x0x7f7f8d4ce8f0)
+ QObject (0x0x7f7f8d103600) 0
+ primary-for QAbstractAnimation (0x0x7f7f8d4ce958)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f7f8d183d80) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f7f8d285ae0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f7f8d285a80) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f7f8d083840) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f7f8ceb04e0) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f7f8ceb0480) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f7f8caac618) 0
+ QRandomGenerator (0x0x7f7f8cad4000) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f7f8cad4ba0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f7f8cad4e40) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f7f8cb5a360) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f7f8cb5a840) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f7f8cbc9660) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f7f8cc3f600) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f7f8c8f5660) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f7f8c9b4780) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f7f8c9b4a20) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f7f8c9f1000) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7f7f8c9f1068) 0
+ primary-for QSaveFile (0x0x7f7f8c9f1000)
+ QIODevice (0x0x7f7f8c9f10d0) 0
+ primary-for QFileDevice (0x0x7f7f8c9f1068)
+ QObject (0x0x7f7f8c9b49c0) 0
+ primary-for QIODevice (0x0x7f7f8c9f10d0)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f7f8ca0b060) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f7f8ca0b1e0) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f7f8c715480) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f7f8c70ddd0) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f7f8c70de38) 0
+ primary-for QSequentialAnimationGroup (0x0x7f7f8c70ddd0)
+ QAbstractAnimation (0x0x7f7f8c70dea0) 0
+ primary-for QAnimationGroup (0x0x7f7f8c70de38)
+ QObject (0x0x7f7f8c715420) 0
+ primary-for QAbstractAnimation (0x0x7f7f8c70dea0)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f7f8c7156c0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f7f8c70df08) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7f7f8c715660) 0
+ primary-for QSettings (0x0x7f7f8c70df08)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f7f8c715b40) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f7f8c70df70) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7f7f8c715ae0) 0
+ primary-for QSharedMemory (0x0x7f7f8c70df70)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f7f8c715d80) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f7f8c75b000) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7f7f8c715d20) 0
+ primary-for QSignalMapper (0x0x7f7f8c75b000)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f7f8c770000) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f7f8c75b068) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7f7f8c75b0d0) 0
+ primary-for QSignalTransition (0x0x7f7f8c75b068)
+ QObject (0x0x7f7f8c715f60) 0
+ primary-for QAbstractTransition (0x0x7f7f8c75b0d0)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f7f8c7702a0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f7f8c75b138) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7f7f8c770240) 0
+ primary-for QSocketNotifier (0x0x7f7f8c75b138)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f7f8c7704e0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f7f8c75b1a0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f7f8c75b208) 0
+ primary-for QSortFilterProxyModel (0x0x7f7f8c75b1a0)
+ QAbstractItemModel (0x0x7f7f8c75b270) 0
+ primary-for QAbstractProxyModel (0x0x7f7f8c75b208)
+ QObject (0x0x7f7f8c770480) 0
+ primary-for QAbstractItemModel (0x0x7f7f8c75b270)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f7f8c770900) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f7f8c7e4240) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f7f8c75b410) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7f7f8c75b478) 0
+ primary-for QState (0x0x7f7f8c75b410)
+ QObject (0x0x7f7f8c7e41e0) 0
+ primary-for QAbstractState (0x0x7f7f8c75b478)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f7f8c7e46c0) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f7f8c75b618) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7f7f8c7e4720) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f7f8c75b618)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f7f8c75b680) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7f7f8c7e4780) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f7f8c75b680)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f7f8c75b4e0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7f7f8c75b548) 0
+ primary-for QStateMachine (0x0x7f7f8c75b4e0)
+ QAbstractState (0x0x7f7f8c75b5b0) 0
+ primary-for QState (0x0x7f7f8c75b548)
+ QObject (0x0x7f7f8c7e4660) 0
+ primary-for QAbstractState (0x0x7f7f8c75b5b0)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f7f8c7e4b40) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f7f8c499b40) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f7f8c51eea0) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f7f8c5227b8) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7f7f8c522820) 0
+ primary-for QStringListModel (0x0x7f7f8c5227b8)
+ QAbstractItemModel (0x0x7f7f8c522888) 0
+ primary-for QAbstractListModel (0x0x7f7f8c522820)
+ QObject (0x0x7f7f8c51ee40) 0
+ primary-for QAbstractItemModel (0x0x7f7f8c522888)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f7f8c55b000) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f7f8c55b0c0) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f7f8c55b1e0) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f7f8c5228f0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7f7f8c522958) 0
+ primary-for QTemporaryFile (0x0x7f7f8c5228f0)
+ QFileDevice (0x0x7f7f8c5229c0) 0
+ primary-for QFile (0x0x7f7f8c522958)
+ QIODevice (0x0x7f7f8c522a28) 0
+ primary-for QFileDevice (0x0x7f7f8c5229c0)
+ QObject (0x0x7f7f8c55b180) 0
+ primary-for QIODevice (0x0x7f7f8c522a28)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f7f8c55b540) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f7f8c55bd80) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f7f8c55bd20) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f7f8c5e1780) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f7f8c5e1960) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f7f8c5e1b40) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f7f8c522c30) 0
+ std::__mutex_base (0x0x7f7f8c5e1ba0) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f7f8c5e1d80) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f7f8c5e1de0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f7f8c5e1e40) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f7f8c62b8a0) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f7f8c522c98) 0
+ std::__recursive_mutex_base (0x0x7f7f8c62b900) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f7f8c612b60) 0
+ std::__mutex_base (0x0x7f7f8c62bcc0) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f7f8c62bd20) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f7f8c612ee0) 0
+ std::__recursive_mutex_base (0x0x7f7f8c1e40c0) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f7f8c1e4120) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f7f8c1e4840) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f7f8c522dd0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7f7f8c1e4d80) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f7f8c522dd0)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f7f8c522e38) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7f7f8c1e4ea0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f7f8c522e38)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f7f8c522ea0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7f7f8c21e000) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f7f8c522ea0)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f7f8c522f70) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7f7f8c21e120) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f7f8c522f70)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f7f8c245180) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f7f8c245480) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f7f8c245780) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f7f8c245ae0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f7f8c2df000) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7f7f8c2becc0) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f7f8c2df000)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f7f8c324c60) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7f7f8c3510c0) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f7f8c066f00) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7f7f8c0c53c0) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f7f8c0c5420) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f7f8c0c5360) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f7f8bf557e0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f7f8bf55ba0) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f7f8bf55c00) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f7f8bce9f00) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f7f8bcf5888) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7f7f8bcf58f0) 0
+ primary-for std::future_error (0x0x7f7f8bcf5888)
+ std::exception (0x0x7f7f8bd15660) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7f8bcf58f0)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f7f8bd15d80) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f7f8bd15d20) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f7f8bb194e0) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f7f8bb1e138) 0
+ std::__at_thread_exit_elt (0x0x7f7f8bb195a0) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f7f8bd15f00) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f7f8bd15cc0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f7f8b27be38) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7f7f8b2cc5a0) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f7f8b27be38)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f7f8b2cce40) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f7f8b2ea1a0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7f7f8b2ccde0) 0
+ primary-for QThread (0x0x7f7f8b2ea1a0)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f7f8b308240) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f7f8b2ea208) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7f7f8b3081e0) 0
+ primary-for QThreadPool (0x0x7f7f8b2ea208)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f7f8b308420) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f7f8b308ae0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f7f8b2ea270) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7f7f8b308a80) 0
+ primary-for QTimeLine (0x0x7f7f8b2ea270)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f7f8b308d20) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f7f8b2ea2d8) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7f7f8b308cc0) 0
+ primary-for QTimer (0x0x7f7f8b2ea2d8)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f7f8b3826c0) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f7f8b382660) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f7f8b020780) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f7f8b01d9c0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7f7f8b020720) 0
+ primary-for QTranslator (0x0x7f7f8b01d9c0)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7f7f8b0209c0) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7f7f8b01da28) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f7f8b01da90) 0
+ primary-for QTransposeProxyModel (0x0x7f7f8b01da28)
+ QAbstractItemModel (0x0x7f7f8b01daf8) 0
+ primary-for QAbstractProxyModel (0x0x7f7f8b01da90)
+ QObject (0x0x7f7f8b020960) 0
+ primary-for QAbstractItemModel (0x0x7f7f8b01daf8)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f7f8b020ba0) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f7f8b0c55a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f7f8b0c56c0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f7f8b154a80) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f7f8b1cd1a0) 0
+ QVector<QXmlStreamAttribute> (0x0x7f7f8b1cf1e0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f7f8b1cf4e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f7f8ae55480) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f7f8aeb2480) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f7f8af1d540) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f7f8af1d5a0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f7f8af7b480) 0
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x0x7f7f8af7b660) 0
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x0x7f7f8ac05000) 0
+
+Class QAbstractNetworkCache::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractNetworkCache::QPrivateSignal (0x0x7f7f8ac595a0) 0 empty
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 (int (*)(...))QAbstractNetworkCache::metaObject
+24 (int (*)(...))QAbstractNetworkCache::qt_metacast
+32 (int (*)(...))QAbstractNetworkCache::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x0x7f7f8ac49a28) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16)
+ QObject (0x0x7f7f8ac59540) 0
+ primary-for QAbstractNetworkCache (0x0x7f7f8ac49a28)
+
+Class QAbstractSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSocket::QPrivateSignal (0x0x7f7f8ac597e0) 0 empty
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 41 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 (int (*)(...))QAbstractSocket::metaObject
+24 (int (*)(...))QAbstractSocket::qt_metacast
+32 (int (*)(...))QAbstractSocket::qt_metacall
+40 (int (*)(...))QAbstractSocket::~QAbstractSocket
+48 (int (*)(...))QAbstractSocket::~QAbstractSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractSocket::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QAbstractSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QAbstractSocket::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QAbstractSocket::bytesAvailable
+184 (int (*)(...))QAbstractSocket::bytesToWrite
+192 (int (*)(...))QAbstractSocket::canReadLine
+200 (int (*)(...))QAbstractSocket::waitForReadyRead
+208 (int (*)(...))QAbstractSocket::waitForBytesWritten
+216 (int (*)(...))QAbstractSocket::readData
+224 (int (*)(...))QAbstractSocket::readLineData
+232 (int (*)(...))QAbstractSocket::writeData
+240 (int (*)(...))QAbstractSocket::resume
+248 (int (*)(...))QAbstractSocket::connectToHost
+256 (int (*)(...))QAbstractSocket::connectToHost
+264 (int (*)(...))QAbstractSocket::disconnectFromHost
+272 (int (*)(...))QAbstractSocket::setReadBufferSize
+280 (int (*)(...))QAbstractSocket::socketDescriptor
+288 (int (*)(...))QAbstractSocket::setSocketDescriptor
+296 (int (*)(...))QAbstractSocket::setSocketOption
+304 (int (*)(...))QAbstractSocket::socketOption
+312 (int (*)(...))QAbstractSocket::waitForConnected
+320 (int (*)(...))QAbstractSocket::waitForDisconnected
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x0x7f7f8ac49a90) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16)
+ QIODevice (0x0x7f7f8ac49af8) 0
+ primary-for QAbstractSocket (0x0x7f7f8ac49a90)
+ QObject (0x0x7f7f8ac59780) 0
+ primary-for QIODevice (0x0x7f7f8ac49af8)
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x0x7f7f8acb8f00) 0
+
+Class QDnsDomainNameRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsDomainNameRecord (0x0x7f7f8ad0c000) 0
+
+Class QDnsHostAddressRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsHostAddressRecord (0x0x7f7f8ad5a180) 0
+
+Class QDnsMailExchangeRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsMailExchangeRecord (0x0x7f7f8ada7300) 0
+
+Class QDnsServiceRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsServiceRecord (0x0x7f7f8a8f63c0) 0
+
+Class QDnsTextRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsTextRecord (0x0x7f7f8a93e660) 0
+
+Class QDnsLookup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDnsLookup::QPrivateSignal (0x0x7f7f8a97fba0) 0 empty
+
+Vtable for QDnsLookup
+QDnsLookup::_ZTV10QDnsLookup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDnsLookup)
+16 (int (*)(...))QDnsLookup::metaObject
+24 (int (*)(...))QDnsLookup::qt_metacast
+32 (int (*)(...))QDnsLookup::qt_metacall
+40 (int (*)(...))QDnsLookup::~QDnsLookup
+48 (int (*)(...))QDnsLookup::~QDnsLookup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDnsLookup
+ size=16 align=8
+ base size=16 base align=8
+QDnsLookup (0x0x7f7f8a9930d0) 0
+ vptr=((& QDnsLookup::_ZTV10QDnsLookup) + 16)
+ QObject (0x0x7f7f8a97fb40) 0
+ primary-for QDnsLookup (0x0x7f7f8a9930d0)
+
+Class QTcpSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTcpSocket::QPrivateSignal (0x0x7f7f8a97ff60) 0 empty
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 41 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 (int (*)(...))QTcpSocket::metaObject
+24 (int (*)(...))QTcpSocket::qt_metacast
+32 (int (*)(...))QTcpSocket::qt_metacall
+40 (int (*)(...))QTcpSocket::~QTcpSocket
+48 (int (*)(...))QTcpSocket::~QTcpSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractSocket::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QAbstractSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QAbstractSocket::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QAbstractSocket::bytesAvailable
+184 (int (*)(...))QAbstractSocket::bytesToWrite
+192 (int (*)(...))QAbstractSocket::canReadLine
+200 (int (*)(...))QAbstractSocket::waitForReadyRead
+208 (int (*)(...))QAbstractSocket::waitForBytesWritten
+216 (int (*)(...))QAbstractSocket::readData
+224 (int (*)(...))QAbstractSocket::readLineData
+232 (int (*)(...))QAbstractSocket::writeData
+240 (int (*)(...))QAbstractSocket::resume
+248 (int (*)(...))QAbstractSocket::connectToHost
+256 (int (*)(...))QAbstractSocket::connectToHost
+264 (int (*)(...))QAbstractSocket::disconnectFromHost
+272 (int (*)(...))QAbstractSocket::setReadBufferSize
+280 (int (*)(...))QAbstractSocket::socketDescriptor
+288 (int (*)(...))QAbstractSocket::setSocketDescriptor
+296 (int (*)(...))QAbstractSocket::setSocketOption
+304 (int (*)(...))QAbstractSocket::socketOption
+312 (int (*)(...))QAbstractSocket::waitForConnected
+320 (int (*)(...))QAbstractSocket::waitForDisconnected
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x0x7f7f8a993138) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16)
+ QAbstractSocket (0x0x7f7f8a9931a0) 0
+ primary-for QTcpSocket (0x0x7f7f8a993138)
+ QIODevice (0x0x7f7f8a993208) 0
+ primary-for QAbstractSocket (0x0x7f7f8a9931a0)
+ QObject (0x0x7f7f8a97ff00) 0
+ primary-for QIODevice (0x0x7f7f8a993208)
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x0x7f7f8a9bd840) 0
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x0x7f7f8aa55000) 0
+
+Class QSslSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSslSocket::QPrivateSignal (0x0x7f7f8a7201e0) 0 empty
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 41 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 (int (*)(...))QSslSocket::metaObject
+24 (int (*)(...))QSslSocket::qt_metacast
+32 (int (*)(...))QSslSocket::qt_metacall
+40 (int (*)(...))QSslSocket::~QSslSocket
+48 (int (*)(...))QSslSocket::~QSslSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractSocket::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QSslSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QSslSocket::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QSslSocket::bytesAvailable
+184 (int (*)(...))QSslSocket::bytesToWrite
+192 (int (*)(...))QSslSocket::canReadLine
+200 (int (*)(...))QSslSocket::waitForReadyRead
+208 (int (*)(...))QSslSocket::waitForBytesWritten
+216 (int (*)(...))QSslSocket::readData
+224 (int (*)(...))QAbstractSocket::readLineData
+232 (int (*)(...))QSslSocket::writeData
+240 (int (*)(...))QSslSocket::resume
+248 (int (*)(...))QSslSocket::connectToHost
+256 (int (*)(...))QAbstractSocket::connectToHost
+264 (int (*)(...))QSslSocket::disconnectFromHost
+272 (int (*)(...))QSslSocket::setReadBufferSize
+280 (int (*)(...))QAbstractSocket::socketDescriptor
+288 (int (*)(...))QSslSocket::setSocketDescriptor
+296 (int (*)(...))QSslSocket::setSocketOption
+304 (int (*)(...))QSslSocket::socketOption
+312 (int (*)(...))QSslSocket::waitForConnected
+320 (int (*)(...))QSslSocket::waitForDisconnected
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x0x7f7f8a70b548) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16)
+ QTcpSocket (0x0x7f7f8a70b5b0) 0
+ primary-for QSslSocket (0x0x7f7f8a70b548)
+ QAbstractSocket (0x0x7f7f8a70b618) 0
+ primary-for QTcpSocket (0x0x7f7f8a70b5b0)
+ QIODevice (0x0x7f7f8a70b680) 0
+ primary-for QAbstractSocket (0x0x7f7f8a70b618)
+ QObject (0x0x7f7f8a720180) 0
+ primary-for QIODevice (0x0x7f7f8a70b680)
+
+Class QDtlsClientVerifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDtlsClientVerifier::QPrivateSignal (0x0x7f7f8a720420) 0 empty
+
+Class QDtlsClientVerifier::GeneratorParameters
+ size=16 align=8
+ base size=16 base align=8
+QDtlsClientVerifier::GeneratorParameters (0x0x7f7f8a720480) 0
+
+Vtable for QDtlsClientVerifier
+QDtlsClientVerifier::_ZTV19QDtlsClientVerifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QDtlsClientVerifier)
+16 (int (*)(...))QDtlsClientVerifier::metaObject
+24 (int (*)(...))QDtlsClientVerifier::qt_metacast
+32 (int (*)(...))QDtlsClientVerifier::qt_metacall
+40 (int (*)(...))QDtlsClientVerifier::~QDtlsClientVerifier
+48 (int (*)(...))QDtlsClientVerifier::~QDtlsClientVerifier
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDtlsClientVerifier
+ size=16 align=8
+ base size=16 base align=8
+QDtlsClientVerifier (0x0x7f7f8a70b6e8) 0
+ vptr=((& QDtlsClientVerifier::_ZTV19QDtlsClientVerifier) + 16)
+ QObject (0x0x7f7f8a7203c0) 0
+ primary-for QDtlsClientVerifier (0x0x7f7f8a70b6e8)
+
+Class QDtls::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDtls::QPrivateSignal (0x0x7f7f8a7206c0) 0 empty
+
+Vtable for QDtls
+QDtls::_ZTV5QDtls: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDtls)
+16 (int (*)(...))QDtls::metaObject
+24 (int (*)(...))QDtls::qt_metacast
+32 (int (*)(...))QDtls::qt_metacall
+40 (int (*)(...))QDtls::~QDtls
+48 (int (*)(...))QDtls::~QDtls
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDtls
+ size=16 align=8
+ base size=16 base align=8
+QDtls (0x0x7f7f8a70b750) 0
+ vptr=((& QDtls::_ZTV5QDtls) + 16)
+ QObject (0x0x7f7f8a720660) 0
+ primary-for QDtls (0x0x7f7f8a70b750)
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x0x7f7f8a720900) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x0x7f7f8a720a20) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x0x7f7f8a81c7e0) 0
+
+Class QHstsPolicy
+ size=8 align=8
+ base size=8 base align=8
+QHstsPolicy (0x0x7f7f8a4ed600) 0
+
+Class QHttpPart
+ size=8 align=8
+ base size=8 base align=8
+QHttpPart (0x0x7f7f8a582240) 0
+
+Class QHttpMultiPart::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHttpMultiPart::QPrivateSignal (0x0x7f7f8a5d13c0) 0 empty
+
+Vtable for QHttpMultiPart
+QHttpMultiPart::_ZTV14QHttpMultiPart: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QHttpMultiPart)
+16 (int (*)(...))QHttpMultiPart::metaObject
+24 (int (*)(...))QHttpMultiPart::qt_metacast
+32 (int (*)(...))QHttpMultiPart::qt_metacall
+40 (int (*)(...))QHttpMultiPart::~QHttpMultiPart
+48 (int (*)(...))QHttpMultiPart::~QHttpMultiPart
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QHttpMultiPart
+ size=16 align=8
+ base size=16 base align=8
+QHttpMultiPart (0x0x7f7f8a5cd548) 0
+ vptr=((& QHttpMultiPart::_ZTV14QHttpMultiPart) + 16)
+ QObject (0x0x7f7f8a5d1360) 0
+ primary-for QHttpMultiPart (0x0x7f7f8a5cd548)
+
+Class QLocalServer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLocalServer::QPrivateSignal (0x0x7f7f8a5d1600) 0 empty
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 (int (*)(...))QLocalServer::metaObject
+24 (int (*)(...))QLocalServer::qt_metacast
+32 (int (*)(...))QLocalServer::qt_metacall
+40 (int (*)(...))QLocalServer::~QLocalServer
+48 (int (*)(...))QLocalServer::~QLocalServer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLocalServer::hasPendingConnections
+120 (int (*)(...))QLocalServer::nextPendingConnection
+128 (int (*)(...))QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x0x7f7f8a5cd5b0) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16)
+ QObject (0x0x7f7f8a5d15a0) 0
+ primary-for QLocalServer (0x0x7f7f8a5cd5b0)
+
+Class QLocalSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLocalSocket::QPrivateSignal (0x0x7f7f8a61f0c0) 0 empty
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 (int (*)(...))QLocalSocket::metaObject
+24 (int (*)(...))QLocalSocket::qt_metacast
+32 (int (*)(...))QLocalSocket::qt_metacall
+40 (int (*)(...))QLocalSocket::~QLocalSocket
+48 (int (*)(...))QLocalSocket::~QLocalSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLocalSocket::isSequential
+120 (int (*)(...))QLocalSocket::open
+128 (int (*)(...))QLocalSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QLocalSocket::bytesAvailable
+184 (int (*)(...))QLocalSocket::bytesToWrite
+192 (int (*)(...))QLocalSocket::canReadLine
+200 (int (*)(...))QLocalSocket::waitForReadyRead
+208 (int (*)(...))QLocalSocket::waitForBytesWritten
+216 (int (*)(...))QLocalSocket::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x0x7f7f8a5cd750) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16)
+ QIODevice (0x0x7f7f8a5cd7b8) 0
+ primary-for QLocalSocket (0x0x7f7f8a5cd750)
+ QObject (0x0x7f7f8a61f060) 0
+ primary-for QIODevice (0x0x7f7f8a5cd7b8)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x0x7f7f8a61f2a0) 0
+
+Class QSslPreSharedKeyAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QSslPreSharedKeyAuthenticator (0x0x7f7f8a6b2b40) 0
+
+Class QNetworkAccessManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkAccessManager::QPrivateSignal (0x0x7f7f8a32e120) 0 empty
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 (int (*)(...))QNetworkAccessManager::metaObject
+24 (int (*)(...))QNetworkAccessManager::qt_metacast
+32 (int (*)(...))QNetworkAccessManager::qt_metacall
+40 (int (*)(...))QNetworkAccessManager::~QNetworkAccessManager
+48 (int (*)(...))QNetworkAccessManager::~QNetworkAccessManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x0x7f7f8a3187b8) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16)
+ QObject (0x0x7f7f8a32e0c0) 0
+ primary-for QNetworkAccessManager (0x0x7f7f8a3187b8)
+
+Class QNetworkConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QNetworkConfiguration (0x0x7f7f8a32e3c0) 0
+
+Class QNetworkConfigurationManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkConfigurationManager::QPrivateSignal (0x0x7f7f8a3a07e0) 0 empty
+
+Vtable for QNetworkConfigurationManager
+QNetworkConfigurationManager::_ZTV28QNetworkConfigurationManager: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QNetworkConfigurationManager)
+16 (int (*)(...))QNetworkConfigurationManager::metaObject
+24 (int (*)(...))QNetworkConfigurationManager::qt_metacast
+32 (int (*)(...))QNetworkConfigurationManager::qt_metacall
+40 (int (*)(...))QNetworkConfigurationManager::~QNetworkConfigurationManager
+48 (int (*)(...))QNetworkConfigurationManager::~QNetworkConfigurationManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QNetworkConfigurationManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkConfigurationManager (0x0x7f7f8a391bc8) 0
+ vptr=((& QNetworkConfigurationManager::_ZTV28QNetworkConfigurationManager) + 16)
+ QObject (0x0x7f7f8a3a0780) 0
+ primary-for QNetworkConfigurationManager (0x0x7f7f8a391bc8)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x0x7f7f8a3fa360) 0
+
+Class QNetworkCookieJar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkCookieJar::QPrivateSignal (0x0x7f7f8a447e40) 0 empty
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 (int (*)(...))QNetworkCookieJar::metaObject
+24 (int (*)(...))QNetworkCookieJar::qt_metacast
+32 (int (*)(...))QNetworkCookieJar::qt_metacall
+40 (int (*)(...))QNetworkCookieJar::~QNetworkCookieJar
+48 (int (*)(...))QNetworkCookieJar::~QNetworkCookieJar
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QNetworkCookieJar::cookiesForUrl
+120 (int (*)(...))QNetworkCookieJar::setCookiesFromUrl
+128 (int (*)(...))QNetworkCookieJar::insertCookie
+136 (int (*)(...))QNetworkCookieJar::updateCookie
+144 (int (*)(...))QNetworkCookieJar::deleteCookie
+152 (int (*)(...))QNetworkCookieJar::validateCookie
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x0x7f7f8a454618) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16)
+ QObject (0x0x7f7f8a447de0) 0
+ primary-for QNetworkCookieJar (0x0x7f7f8a454618)
+
+Class QNetworkDatagram
+ size=8 align=8
+ base size=8 base align=8
+QNetworkDatagram (0x0x7f7f8a475060) 0
+
+Class QNetworkDiskCache::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkDiskCache::QPrivateSignal (0x0x7f7f8a127ba0) 0 empty
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 (int (*)(...))QNetworkDiskCache::metaObject
+24 (int (*)(...))QNetworkDiskCache::qt_metacast
+32 (int (*)(...))QNetworkDiskCache::qt_metacall
+40 (int (*)(...))QNetworkDiskCache::~QNetworkDiskCache
+48 (int (*)(...))QNetworkDiskCache::~QNetworkDiskCache
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QNetworkDiskCache::metaData
+120 (int (*)(...))QNetworkDiskCache::updateMetaData
+128 (int (*)(...))QNetworkDiskCache::data
+136 (int (*)(...))QNetworkDiskCache::remove
+144 (int (*)(...))QNetworkDiskCache::cacheSize
+152 (int (*)(...))QNetworkDiskCache::prepare
+160 (int (*)(...))QNetworkDiskCache::insert
+168 (int (*)(...))QNetworkDiskCache::clear
+176 (int (*)(...))QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x0x7f7f8a12e4e0) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16)
+ QAbstractNetworkCache (0x0x7f7f8a12e548) 0
+ primary-for QNetworkDiskCache (0x0x7f7f8a12e4e0)
+ QObject (0x0x7f7f8a127b40) 0
+ primary-for QAbstractNetworkCache (0x0x7f7f8a12e548)
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x0x7f7f8a127d80) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x0x7f7f8a1f9d20) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x0x7f7f8a278c00) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x0x7f7f89f08120) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x0x7f7f89f5fe40) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16)
+
+Class QNetworkReply::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkReply::QPrivateSignal (0x0x7f7f89fa1120) 0 empty
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 36 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 (int (*)(...))QNetworkReply::metaObject
+24 (int (*)(...))QNetworkReply::qt_metacast
+32 (int (*)(...))QNetworkReply::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QNetworkReply::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QNetworkReply::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QNetworkReply::writeData
+240 (int (*)(...))QNetworkReply::setReadBufferSize
+248 (int (*)(...))__cxa_pure_virtual
+256 (int (*)(...))QNetworkReply::ignoreSslErrors
+264 (int (*)(...))QNetworkReply::sslConfigurationImplementation
+272 (int (*)(...))QNetworkReply::setSslConfigurationImplementation
+280 (int (*)(...))QNetworkReply::ignoreSslErrorsImplementation
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x0x7f7f89f6c0d0) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16)
+ QIODevice (0x0x7f7f89f6c138) 0
+ primary-for QNetworkReply (0x0x7f7f89f6c0d0)
+ QObject (0x0x7f7f89fa10c0) 0
+ primary-for QIODevice (0x0x7f7f89f6c138)
+
+Class QNetworkSession::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkSession::QPrivateSignal (0x0x7f7f89fa1600) 0 empty
+
+Vtable for QNetworkSession
+QNetworkSession::_ZTV15QNetworkSession: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QNetworkSession)
+16 (int (*)(...))QNetworkSession::metaObject
+24 (int (*)(...))QNetworkSession::qt_metacast
+32 (int (*)(...))QNetworkSession::qt_metacall
+40 (int (*)(...))QNetworkSession::~QNetworkSession
+48 (int (*)(...))QNetworkSession::~QNetworkSession
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QNetworkSession::connectNotify
+104 (int (*)(...))QNetworkSession::disconnectNotify
+
+Class QNetworkSession
+ size=24 align=8
+ base size=24 base align=8
+QNetworkSession (0x0x7f7f89f6c1a0) 0
+ vptr=((& QNetworkSession::_ZTV15QNetworkSession) + 16)
+ QObject (0x0x7f7f89fa15a0) 0
+ primary-for QNetworkSession (0x0x7f7f89f6c1a0)
+
+Class QOcspResponse
+ size=8 align=8
+ base size=8 base align=8
+QOcspResponse (0x0x7f7f89fa1e40) 0
+
+Class QTcpServer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTcpServer::QPrivateSignal (0x0x7f7f8a0516c0) 0 empty
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 (int (*)(...))QTcpServer::metaObject
+24 (int (*)(...))QTcpServer::qt_metacast
+32 (int (*)(...))QTcpServer::qt_metacall
+40 (int (*)(...))QTcpServer::~QTcpServer
+48 (int (*)(...))QTcpServer::~QTcpServer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTcpServer::hasPendingConnections
+120 (int (*)(...))QTcpServer::nextPendingConnection
+128 (int (*)(...))QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x0x7f7f8a04aa28) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16)
+ QObject (0x0x7f7f8a051660) 0
+ primary-for QTcpServer (0x0x7f7f8a04aa28)
+
+Class QSslCertificateExtension
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificateExtension (0x0x7f7f8a0518a0) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x0x7f7f8a0bb660) 0
+
+Class QSslDiffieHellmanParameters
+ size=8 align=8
+ base size=8 base align=8
+QSslDiffieHellmanParameters (0x0x7f7f89d7a720) 0
+
+Class QSslEllipticCurve
+ size=4 align=4
+ base size=4 base align=4
+QSslEllipticCurve (0x0x7f7f89e3e480) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x0x7f7f89e7fde0) 0
+
+Class QUdpSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUdpSocket::QPrivateSignal (0x0x7f7f89afb120) 0 empty
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 41 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 (int (*)(...))QUdpSocket::metaObject
+24 (int (*)(...))QUdpSocket::qt_metacast
+32 (int (*)(...))QUdpSocket::qt_metacall
+40 (int (*)(...))QUdpSocket::~QUdpSocket
+48 (int (*)(...))QUdpSocket::~QUdpSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractSocket::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QAbstractSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QAbstractSocket::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QAbstractSocket::bytesAvailable
+184 (int (*)(...))QAbstractSocket::bytesToWrite
+192 (int (*)(...))QAbstractSocket::canReadLine
+200 (int (*)(...))QAbstractSocket::waitForReadyRead
+208 (int (*)(...))QAbstractSocket::waitForBytesWritten
+216 (int (*)(...))QAbstractSocket::readData
+224 (int (*)(...))QAbstractSocket::readLineData
+232 (int (*)(...))QAbstractSocket::writeData
+240 (int (*)(...))QAbstractSocket::resume
+248 (int (*)(...))QAbstractSocket::connectToHost
+256 (int (*)(...))QAbstractSocket::connectToHost
+264 (int (*)(...))QAbstractSocket::disconnectFromHost
+272 (int (*)(...))QAbstractSocket::setReadBufferSize
+280 (int (*)(...))QAbstractSocket::socketDescriptor
+288 (int (*)(...))QAbstractSocket::setSocketDescriptor
+296 (int (*)(...))QAbstractSocket::setSocketOption
+304 (int (*)(...))QAbstractSocket::socketOption
+312 (int (*)(...))QAbstractSocket::waitForConnected
+320 (int (*)(...))QAbstractSocket::waitForDisconnected
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x0x7f7f89ae4f70) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16)
+ QAbstractSocket (0x0x7f7f89afd000) 0
+ primary-for QUdpSocket (0x0x7f7f89ae4f70)
+ QIODevice (0x0x7f7f89afd068) 0
+ primary-for QAbstractSocket (0x0x7f7f89afd000)
+ QObject (0x0x7f7f89afb0c0) 0
+ primary-for QIODevice (0x0x7f7f89afd068)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89b39600) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89b39960) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89b39b40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89b39ea0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89b6e0c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89b6e420) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89b6e600) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89b6e960) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89b6eb40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89b6eea0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89ba40c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89ba4420) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89ba4600) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89ba4960) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89ba4b40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89ba4ea0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89c033c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89c03720) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89c038a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89c03c00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89c03d80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89c3a120) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89c3a2a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89c3a600) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89c3a780) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89c3aae0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89c3ac60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89c68000) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89c68180) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89c684e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7f89c68660) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7f89c689c0) 0 empty
+
diff --git a/tests/auto/bic/data/QtOpenGL.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtOpenGL.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..01179fd7da
--- /dev/null
+++ b/tests/auto/bic/data/QtOpenGL.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,19811 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7fad2fadaae0) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7fad2fb482a0) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7fad2fb484e0) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7fad2fb48720) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7fad2fb48960) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7fad2fb48ae0) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7fad2fb48ea0) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7fad2fbb3000) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7fad2fc0b6c0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7fad2fc0b780) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7fad2fc0bb40) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7fad2fc0bba0) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7fad2fc0bc00) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7fad2fc0bc60) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7fad2fc0bcc0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7fad2fc0bd80) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7fad2fc0be40) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7fad2fc0bf00) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7fad2fc3d000) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7fad2fc3d360) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7fad2fc3d6c0) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7fad2fc3d720) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7fad2fc3dcc0) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7fad2fc86360) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7fad2fc506e8) 0 empty
+ std::__nonesuch (0x0x7fad2fc86840) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7fad2fd091e0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7fad2fd09240) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7fad2f339f00) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7fad2f339f60) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7fad2fc50bc8) 0 empty
+ std::input_iterator_tag (0x0x7fad2f363000) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7fad2fc50c30) 0 empty
+ std::forward_iterator_tag (0x0x7fad2fc50c98) 0 empty
+ std::input_iterator_tag (0x0x7fad2f363060) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7fad2fc50d00) 0 empty
+ std::bidirectional_iterator_tag (0x0x7fad2fc50d68) 0 empty
+ std::forward_iterator_tag (0x0x7fad2fc50dd0) 0 empty
+ std::input_iterator_tag (0x0x7fad2f3630c0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7fad2f3f1ba0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7fad2f3f1cc0) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7fad2f417000) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7fad2f417300) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7fad2f417420) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7fad2f4a5720) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7fad2f4a5a20) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7fad2f4a5a80) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7fad2f4a5b40) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7fad2f4a5ba0) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7fad2f4a5c00) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7fad2f4a5c60) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7fad2f4a5f00) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7fad2f4e41e0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7fad2f4e4240) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7fad2f19c000) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7fad2f3b1138) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7fad2f19c1e0) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7fad2f3b1138)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7fad2f19c3c0) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7fad2f3b11a0) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7fad2f19c780) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7fad2f3b11a0)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7fad2f3b1208) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7fad2f19c960) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7fad2f3b1208)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7fad2f19cb40) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7fad2f1d5120) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7fad2f3b1270) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7fad2f1d57e0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fad2f3b1270)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7fad2f3b12d8) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7fad2f3b1340) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7fad2f3b12d8)
+ std::exception (0x0x7fad2f1d59c0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fad2f3b1340)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7fad2f1d5ba0) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7fad2f1d5d80) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7fad2f27a2a0) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7fad2f030d20) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7fad2f030de0) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7fad2eef3780) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7fad2eef38a0) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7fad2eef3c00) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7fad2eb33180) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7fad2eb70900) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7fad2ec04d20) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7fad2ebba1a0) 0
+ std::__atomic_flag_base (0x0x7fad2ec04d80) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7fad2ebba8f0) 0
+ QAtomicInteger<int> (0x0x7fad2ebba958) 0
+ QBasicAtomicInteger<int> (0x0x7fad2e73bd20) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7fad2e370060) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7fad2e3b3600) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7fad2e3b3d20) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7fad2e3914e0) 0
+ QGenericArgument (0x0x7fad2e3f1000) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7fad2e3f1420) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7fad2e3f1840) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7fad2e4a5360) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7fad2e4a5600) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7fad2e172420) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7fad2e172780) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7fad2e1d4a80) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7fad2e2cc300) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7fad2e2cc3c0) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7fad2df7b4e0) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7fad2df7b5a0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7fad2df7b600) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7fad2df7b660) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7fad2df7b6c0) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7fad2df7b7e0) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7fad2df7b840) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7fad2e0bb7e0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7fad2e0bb840) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7fad2de748a0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7fad2de74a20) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7fad2dbebba0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7fad2dbebf60) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7fad2dc39240) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7fad2dc39420) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7fad2dc82420) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7fad2dc55478) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7fad2dc824e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fad2dc55478)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7fad2dc554e0) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7fad2dc55548) 0
+ primary-for std::domain_error (0x0x7fad2dc554e0)
+ std::exception (0x0x7fad2dc82540) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fad2dc55548)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7fad2dc555b0) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7fad2dc55618) 0
+ primary-for std::invalid_argument (0x0x7fad2dc555b0)
+ std::exception (0x0x7fad2dc825a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fad2dc55618)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7fad2dc55680) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7fad2dc556e8) 0
+ primary-for std::length_error (0x0x7fad2dc55680)
+ std::exception (0x0x7fad2dc82600) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fad2dc556e8)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7fad2dc55750) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7fad2dc557b8) 0
+ primary-for std::out_of_range (0x0x7fad2dc55750)
+ std::exception (0x0x7fad2dc82660) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fad2dc557b8)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7fad2dc55820) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7fad2dc826c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fad2dc55820)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7fad2dc55888) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7fad2dc558f0) 0
+ primary-for std::range_error (0x0x7fad2dc55888)
+ std::exception (0x0x7fad2dc82720) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fad2dc558f0)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7fad2dc55958) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7fad2dc559c0) 0
+ primary-for std::overflow_error (0x0x7fad2dc55958)
+ std::exception (0x0x7fad2dc82780) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fad2dc559c0)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7fad2dc55a28) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7fad2dc55a90) 0
+ primary-for std::underflow_error (0x0x7fad2dc55a28)
+ std::exception (0x0x7fad2dc827e0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fad2dc55a90)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7fad2dc82960) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7fad2dc82cc0) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7fad2dcdd540) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7fad2dc55ea0) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7fad2dc55f08) 0
+ primary-for std::system_error (0x0x7fad2dc55ea0)
+ std::exception (0x0x7fad2dd08120) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fad2dc55f08)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7fad2d92d1a0) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7fad2d92d208) 0
+ primary-for std::ios_base::failure (0x0x7fad2d92d1a0)
+ std::runtime_error (0x0x7fad2d92d270) 0
+ primary-for std::system_error (0x0x7fad2d92d208)
+ std::exception (0x0x7fad2d93b6c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fad2d92d270)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7fad2d93b720) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7fad2d93b780) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7fad2d93b7e0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7fad2d93b660) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7fad2da2d120) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7fad2db06300) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7fad2d68c958 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7fad2d68ca28 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7fad2d6c96e8 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7fad2d6c97b8 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7fad2d6d3c60) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7fad2d6d3cc0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7fad2d43e0c0) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7fad2d4bdf00) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7fad2d4e43c0) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7fad2d1ab180) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7fad2d234ba0) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7fad2d234b40) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7fad2d00ed20) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7fad2cdab5a0) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7fad2cbc38a0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7fad2cbc3960) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7fad2cc8ce40) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7fad2ce48af8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fad2ccaa5a0) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7fad2ce48c30) 0
+ std::_Bit_iterator_base (0x0x7fad2ce48c98) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fad2ccaac00) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7fad2ce48d00) 0
+ std::_Bit_iterator_base (0x0x7fad2ce48d68) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fad2ccdd420) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7fad2ca90a80) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7fad2c792840) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7fad2c7928a0) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7fad2c95c820) 0 empty
+ QListData::NotIndirectLayout (0x0x7fad2c792900) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7fad2c791070) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fad2c792960) 0 empty
+ QListData::NotIndirectLayout (0x0x7fad2c7929c0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7fad2c95c888) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fad2c792a20) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7fad2c792a80) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7fad2c7927e0) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7fad2c87fc60) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7fad2c579300) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7fad2c5792a0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7fad2c574548) 0
+ QList<QString> (0x0x7fad2c5745b0) 0
+ QListSpecialMethods<QString> (0x0x7fad2c579540) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7fad2c6410c0) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7fad2c6ca1e0) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7fad2c6ca540) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7fad2c4acae0) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7fad2c4acb40) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7fad2c4accc0) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7fad2c4acd80) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7fad2c43e8f0) 0
+ std::__uses_alloc_base (0x0x7fad2c4acd20) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7fad2c242120) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7fad2c2cf5a0) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7fad2c2cf900) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7fad2c2cfe40) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7fad2c2f93c0) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7fad2bf5e5a0) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7fad2bf5ec60) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7fad2bfb0ae0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7fad2c06f1e0) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7fad2c0c5720) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7fad2bb8b540) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7fad2bcb6000) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7fad2bcb6060) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7fad2bcb6240) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7fad2bcb61e0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7fad2b984060) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7fad2b9841e0) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7fad2b984a80) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7fad2b953af8) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7fad2b984a20) 0
+ primary-for QAbstractAnimation (0x0x7fad2b953af8)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7fad2b984e40) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7fad2b953b60) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7fad2b984de0) 0
+ primary-for QAnimationDriver (0x0x7fad2b953b60)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7fad2b9c20c0) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7fad2b953bc8) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7fad2b9c2060) 0
+ primary-for QEventLoop (0x0x7fad2b953bc8)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7fad2b9c2960) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7fad2b9c2a20) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7fad2b9c2a80) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7fad2b953d00) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7fad2b9c29c0) 0
+ primary-for QAbstractEventDispatcher (0x0x7fad2b953d00)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7fad2ba80680) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7fad2ba9e120) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7fad2ba80680)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7fad2ba9e1e0) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7fad2ba9e240) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7fad2ba9e540) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7fad2b8934e0) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7fad2b8cb180) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7fad2b597ae0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7fad2b597a80) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7fad2b597d80) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7fad2b6bf360) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7fad2b6bf420) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7fad2b6bf3c0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7fad2b6bf480) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7fad2b6bf300) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7fad2b419720) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7fad2b45cd80) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7fad2b45cd20) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7fad2b45cea0) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7fad2b45ce40) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7fad2b14b060) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7fad2b196c60) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7fad2b269a80) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7fad2b279270) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7fad2b269a20) 0
+ primary-for QAbstractItemModel (0x0x7fad2b279270)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7fad2b2cfe40) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7fad2b279888) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7fad2b2798f0) 0
+ primary-for QAbstractTableModel (0x0x7fad2b279888)
+ QObject (0x0x7fad2b2cfde0) 0
+ primary-for QAbstractItemModel (0x0x7fad2b2798f0)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7fad2af55000) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7fad2b279958) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7fad2b2799c0) 0
+ primary-for QAbstractListModel (0x0x7fad2b279958)
+ QObject (0x0x7fad2b2cff60) 0
+ primary-for QAbstractItemModel (0x0x7fad2b2799c0)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7fad2af55720) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7fad2af557e0) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7fad2b279a90) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7fad2b279af8) 0
+ primary-for QAbstractProxyModel (0x0x7fad2b279a90)
+ QObject (0x0x7fad2af55780) 0
+ primary-for QAbstractItemModel (0x0x7fad2b279af8)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7fad2af55a20) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7fad2b279b60) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7fad2af559c0) 0
+ primary-for QAbstractState (0x0x7fad2b279b60)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7fad2af55c60) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7fad2b279bc8) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7fad2af55c00) 0
+ primary-for QAbstractTransition (0x0x7fad2b279bc8)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7fad2af55f60) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7fad2b279c30) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7fad2b279c98) 0
+ primary-for QAnimationGroup (0x0x7fad2b279c30)
+ QObject (0x0x7fad2af55f00) 0
+ primary-for QAbstractAnimation (0x0x7fad2b279c98)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7fad2b032300) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7fad2b0706c0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7fad2b0c2b40) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7fad2b11bf00) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7fad2ad2f208) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7fad2b11bea0) 0
+ primary-for QIODevice (0x0x7fad2ad2f208)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7fad2ad4e8a0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7fad2ad2f340) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7fad2ad2f3a8) 0
+ primary-for QBuffer (0x0x7fad2ad2f340)
+ QObject (0x0x7fad2ad4e840) 0
+ primary-for QIODevice (0x0x7fad2ad2f3a8)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7fad2ad4eb40) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7fad2ad4eae0) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7fad2ad4ecc0) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7fad2ad4ec60) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7fad2adaeba0) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7fad2adf8b40) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7fad2ae64420) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7fad2aecf0c0) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7fad2aecf120) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7fad2aecf060) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7fad2aba57e0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7fad2ac8dd80) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7fad2acf1660) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7fad2a998180) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7fad2a9c3de0) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7fad2a9c3f60) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7fad2aa76ba0) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7fad2aa76b40) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7fad2a81fc00) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7fad2a81fcc0) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7fad2a8cc000) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7fad2a8cc780) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7fad2a57b660) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7fad2a5e0420) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7fad2a636e40) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7fad2a37ade0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7fad2a40f960) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7fad2a40fa20) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7fad2a280a20) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7fad2a31d480) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7fad2a31d4e0) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7fad2a31d420) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7fad2a00dea0) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7fad2a00df00) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7fad2a00de40) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7fad29e23660) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7fad29edf600) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7fad29f13360) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7fad29b96480) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7fad29b96660) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7fad29c8ac00) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7fad29d19360) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7fad29cf4548) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7fad29d19720) 0
+ primary-for QTimerEvent (0x0x7fad29cf4548)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7fad29cf45b0) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7fad29d197e0) 0
+ primary-for QChildEvent (0x0x7fad29cf45b0)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7fad29cf4af8) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7fad29d19e40) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7fad29cf4af8)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7fad29cf4b60) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7fad29d19f00) 0
+ primary-for QDeferredDeleteEvent (0x0x7fad29cf4b60)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7fad2995a060) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7fad29cf4bc8) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7fad2995a000) 0
+ primary-for QCoreApplication (0x0x7fad29cf4bc8)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7fad2995a2a0) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7fad2995a420) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7fad29cf4c30) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7fad29cf4c98) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7fad29cf4c30)
+ QObject (0x0x7fad2995a3c0) 0
+ primary-for QAbstractItemModel (0x0x7fad29cf4c98)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7fad2995a600) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7fad2995a720) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7fad2995a8a0) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7fad29a16000) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7fad29a16720) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7fad29756480) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7fad29745ea0) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7fad29745f08) 0
+ primary-for QFileDevice (0x0x7fad29745ea0)
+ QObject (0x0x7fad29756420) 0
+ primary-for QIODevice (0x0x7fad29745f08)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7fad29756d80) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7fad29782068) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7fad297820d0) 0
+ primary-for QFile (0x0x7fad29782068)
+ QIODevice (0x0x7fad29782138) 0
+ primary-for QFileDevice (0x0x7fad297820d0)
+ QObject (0x0x7fad29756d20) 0
+ primary-for QIODevice (0x0x7fad29782138)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7fad297cd420) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7fad298267e0) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7fad298d2b40) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7fad29529300) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7fad2962d420) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7fad295f43a8) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7fad295f4410) 0
+ primary-for QEventTransition (0x0x7fad295f43a8)
+ QObject (0x0x7fad2962d3c0) 0
+ primary-for QAbstractTransition (0x0x7fad295f4410)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7fad295f4478) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7fad2962d600) 0 nearly-empty
+ primary-for QException (0x0x7fad295f4478)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7fad295f44e0) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7fad295f4548) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7fad295f44e0)
+ std::exception (0x0x7fad2962d660) 0 nearly-empty
+ primary-for QException (0x0x7fad295f4548)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7fad2962d6c0) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7fad2962d780) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7fad2962d7e0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7fad2962da20) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7fad295f45b0) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7fad2962d9c0) 0
+ primary-for QFileSelector (0x0x7fad295f45b0)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7fad2962dc60) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7fad295f4618) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7fad2962dc00) 0
+ primary-for QFileSystemWatcher (0x0x7fad295f4618)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7fad2962dea0) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7fad295f4680) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7fad295f46e8) 0
+ primary-for QFinalState (0x0x7fad295f4680)
+ QObject (0x0x7fad2962de40) 0
+ primary-for QAbstractState (0x0x7fad295f46e8)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7fad2968c0c0) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7fad2968c360) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7fad295f47b8) 0
+ QBasicMutex (0x0x7fad29708000) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7fad29708240) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7fad297086c0) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7fad29708cc0) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7fad29708ea0) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7fad293a76c0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7fad294489c0) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7fad293addd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7fad29448960) 0
+ primary-for QFutureWatcherBase (0x0x7fad293addd0)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7fad29477d20) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7fad2946f618) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7fad2946f680) 0
+ primary-for QHistoryState (0x0x7fad2946f618)
+ QObject (0x0x7fad29477cc0) 0
+ primary-for QAbstractState (0x0x7fad2946f680)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7fad294a0060) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7fad2946f6e8) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fad2946f750) 0
+ primary-for QIdentityProxyModel (0x0x7fad2946f6e8)
+ QAbstractItemModel (0x0x7fad2946f7b8) 0
+ primary-for QAbstractProxyModel (0x0x7fad2946f750)
+ QObject (0x0x7fad294a0000) 0
+ primary-for QAbstractItemModel (0x0x7fad2946f7b8)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7fad294a0240) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7fad29161b40) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7fad2916b138) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7fad29161ae0) 0
+ primary-for QItemSelectionModel (0x0x7fad2916b138)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7fad2916b2d8) 0
+ QList<QItemSelectionRange> (0x0x7fad2916b340) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7fad291a1660) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7fad29208f60) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7fad28f90180) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7fad28fcd120) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7fad28fcd3c0) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7fad2900e720) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7fad2900e780) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7fad2900e6c0) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7fad28d3f660) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7fad28d3f6c0) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7fad28d8bea0) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7fad28d8bf00) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7fad28d8be40) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7fad28eba2a0) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7fad28eb63a8) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7fad28eba240) 0
+ primary-for QLibrary (0x0x7fad28eb63a8)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7fad28f07120) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7fad28ebac00) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7fad28b9a840) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7fad28b9a8a0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7fad28c0d6c0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7fad28c7e840) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7fad28cedc00) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7fad28967ea0) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7fad28a2b060) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7fad28a2b2a0) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7fad28a2b240) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7fad28a2b6c0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7fad28aee600) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7fad2852dde0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7fad2852de40) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7fad285b76c0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7fad285fb900) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7fad285fba20) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7fad28656000) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7fad28653000) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7fad2863bf60) 0
+ primary-for QMimeData (0x0x7fad28653000)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7fad286561e0) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7fad286b8300) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7fad286b83c0) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7fad286b5340) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7fad286b8360) 0
+ primary-for QObjectCleanupHandler (0x0x7fad286b5340)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7fad286b84e0) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7fad28322c60) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7fad28326bc8) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7fad28326c30) 0
+ primary-for QParallelAnimationGroup (0x0x7fad28326bc8)
+ QAbstractAnimation (0x0x7fad28326c98) 0
+ primary-for QAnimationGroup (0x0x7fad28326c30)
+ QObject (0x0x7fad28322c00) 0
+ primary-for QAbstractAnimation (0x0x7fad28326c98)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7fad28322ea0) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7fad28326d00) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7fad28326d68) 0
+ primary-for QPauseAnimation (0x0x7fad28326d00)
+ QObject (0x0x7fad28322e40) 0
+ primary-for QAbstractAnimation (0x0x7fad28326d68)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7fad28354ae0) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7fad28399c60) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7fad283ae0d0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7fad28399c00) 0
+ primary-for QPluginLoader (0x0x7fad283ae0d0)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7fad28399d80) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7fad28414420) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7fad28401d00) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7fad28401d68) 0
+ primary-for QProcess (0x0x7fad28401d00)
+ QObject (0x0x7fad284143c0) 0
+ primary-for QIODevice (0x0x7fad28401d68)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7fad28414ae0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7fad28401dd0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7fad28401e38) 0
+ primary-for QVariantAnimation (0x0x7fad28401dd0)
+ QObject (0x0x7fad28414a80) 0
+ primary-for QAbstractAnimation (0x0x7fad28401e38)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7fad28414d80) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7fad28401f08) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7fad28401f70) 0
+ primary-for QPropertyAnimation (0x0x7fad28401f08)
+ QAbstractAnimation (0x0x7fad28461000) 0
+ primary-for QVariantAnimation (0x0x7fad28401f70)
+ QObject (0x0x7fad28414d20) 0
+ primary-for QAbstractAnimation (0x0x7fad28461000)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7fad284e64e0) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7fad281e4240) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7fad281e41e0) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7fad27fa3f60) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7fad27dddc00) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7fad27dddba0) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7fad27e61c98) 0
+ QRandomGenerator (0x0x7fad27e8a720) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7fad27eaa300) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7fad27eaa5a0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7fad27eaaa80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7fad27eaaf60) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7fad27b78d80) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7fad27bf0d20) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7fad27c9fd80) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7fad2795eea0) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7fad279b0180) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7fad27931680) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7fad279316e8) 0
+ primary-for QSaveFile (0x0x7fad27931680)
+ QIODevice (0x0x7fad27931750) 0
+ primary-for QFileDevice (0x0x7fad279316e8)
+ QObject (0x0x7fad279b0120) 0
+ primary-for QIODevice (0x0x7fad27931750)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7fad279b0780) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7fad279b0900) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7fad27acdba0) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7fad27ad5478) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7fad27ad54e0) 0
+ primary-for QSequentialAnimationGroup (0x0x7fad27ad5478)
+ QAbstractAnimation (0x0x7fad27ad5548) 0
+ primary-for QAnimationGroup (0x0x7fad27ad54e0)
+ QObject (0x0x7fad27acdb40) 0
+ primary-for QAbstractAnimation (0x0x7fad27ad5548)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7fad27acdde0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7fad27ad55b0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7fad27acdd80) 0
+ primary-for QSettings (0x0x7fad27ad55b0)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7fad27b0c2a0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7fad27ad5618) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7fad27b0c240) 0
+ primary-for QSharedMemory (0x0x7fad27ad5618)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7fad27b0c4e0) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7fad27ad5680) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7fad27b0c480) 0
+ primary-for QSignalMapper (0x0x7fad27ad5680)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7fad27b0c720) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7fad27ad56e8) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7fad27ad5750) 0
+ primary-for QSignalTransition (0x0x7fad27ad56e8)
+ QObject (0x0x7fad27b0c6c0) 0
+ primary-for QAbstractTransition (0x0x7fad27ad5750)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7fad27b0c9c0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7fad27ad57b8) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7fad27b0c960) 0
+ primary-for QSocketNotifier (0x0x7fad27ad57b8)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7fad27b0cc00) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7fad27ad5820) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fad27ad5888) 0
+ primary-for QSortFilterProxyModel (0x0x7fad27ad5820)
+ QAbstractItemModel (0x0x7fad27ad58f0) 0
+ primary-for QAbstractProxyModel (0x0x7fad27ad5888)
+ QObject (0x0x7fad27b0cba0) 0
+ primary-for QAbstractItemModel (0x0x7fad27ad58f0)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7fad27778060) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7fad27778960) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7fad27ad5a90) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7fad27ad5af8) 0
+ primary-for QState (0x0x7fad27ad5a90)
+ QObject (0x0x7fad27778900) 0
+ primary-for QAbstractState (0x0x7fad27ad5af8)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7fad27778de0) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7fad27ad5c98) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7fad27778e40) 0
+ primary-for QStateMachine::SignalEvent (0x0x7fad27ad5c98)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7fad27ad5d00) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7fad27778ea0) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7fad27ad5d00)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7fad27ad5b60) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7fad27ad5bc8) 0
+ primary-for QStateMachine (0x0x7fad27ad5b60)
+ QAbstractState (0x0x7fad27ad5c30) 0
+ primary-for QState (0x0x7fad27ad5bc8)
+ QObject (0x0x7fad27778d80) 0
+ primary-for QAbstractState (0x0x7fad27ad5c30)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7fad277e52a0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7fad278692a0) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7fad278f2600) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7fad278c6e38) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7fad278c6ea0) 0
+ primary-for QStringListModel (0x0x7fad278c6e38)
+ QAbstractItemModel (0x0x7fad278c6f08) 0
+ primary-for QAbstractListModel (0x0x7fad278c6ea0)
+ QObject (0x0x7fad278f25a0) 0
+ primary-for QAbstractItemModel (0x0x7fad278c6f08)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7fad278f2720) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7fad278f27e0) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7fad278f2900) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7fad278c6f70) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7fad27537000) 0
+ primary-for QTemporaryFile (0x0x7fad278c6f70)
+ QFileDevice (0x0x7fad27537068) 0
+ primary-for QFile (0x0x7fad27537000)
+ QIODevice (0x0x7fad275370d0) 0
+ primary-for QFileDevice (0x0x7fad27537068)
+ QObject (0x0x7fad278f28a0) 0
+ primary-for QIODevice (0x0x7fad275370d0)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7fad278f2c60) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7fad2756f4e0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7fad2756f480) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7fad2756fea0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7fad275c80c0) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7fad275c82a0) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7fad275372d8) 0
+ std::__mutex_base (0x0x7fad275c8300) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7fad275c84e0) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7fad275c8540) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7fad275c85a0) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7fad27605000) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7fad27537340) 0
+ std::__recursive_mutex_base (0x0x7fad27605060) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7fad275c6e70) 0
+ std::__mutex_base (0x0x7fad27605420) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7fad27605480) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7fad276231c0) 0
+ std::__recursive_mutex_base (0x0x7fad276057e0) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7fad27605840) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7fad27605f60) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7fad27537478) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7fad2764e4e0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7fad27537478)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7fad275374e0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7fad2764e600) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7fad275374e0)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7fad27537548) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7fad2764e720) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7fad27537548)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7fad27537618) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7fad2764e840) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7fad27537618)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7fad276758a0) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7fad27675ba0) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7fad27675ea0) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7fad2769b240) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7fad27537680) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7fad27715420) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7fad27537680)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7fad273843c0) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7fad273847e0) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7fad274c7660) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7fad274f6ae0) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7fad274f6b40) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7fad274f6a80) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7fad26f8af00) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7fad26fc6300) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7fad26fc6360) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7fad26d3e660) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7fad26d30f08) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7fad26d30f70) 0
+ primary-for std::future_error (0x0x7fad26d30f08)
+ std::exception (0x0x7fad26d3ed80) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fad26d30f70)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7fad26d6e4e0) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7fad26d6e480) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7fad26b30c00) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7fad26b557b8) 0
+ std::__at_thread_exit_elt (0x0x7fad26b30cc0) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7fad26d6e660) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7fad26d6e420) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7fad266d74e0) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7fad266f2cc0) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7fad266d74e0)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7fad253285a0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7fad266d7820) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7fad25328540) 0
+ primary-for QThread (0x0x7fad266d7820)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7fad25328960) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7fad266d7888) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7fad25328900) 0
+ primary-for QThreadPool (0x0x7fad266d7888)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7fad25328b40) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7fad2536c240) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7fad266d78f0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7fad2536c1e0) 0
+ primary-for QTimeLine (0x0x7fad266d78f0)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7fad2536c480) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7fad266d7958) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7fad2536c420) 0
+ primary-for QTimer (0x0x7fad266d7958)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7fad253b2de0) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7fad253b2d80) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7fad25451ea0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7fad2546b068) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7fad25451e40) 0
+ primary-for QTranslator (0x0x7fad2546b068)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7fad2547e120) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7fad2546b0d0) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fad2546b138) 0
+ primary-for QTransposeProxyModel (0x0x7fad2546b0d0)
+ QAbstractItemModel (0x0x7fad2546b1a0) 0
+ primary-for QAbstractProxyModel (0x0x7fad2546b138)
+ QObject (0x0x7fad2547e0c0) 0
+ primary-for QAbstractItemModel (0x0x7fad2546b1a0)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7fad2547e300) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7fad254f7cc0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7fad254f7de0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7fad251a31e0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7fad25206820) 0
+ QVector<QXmlStreamAttribute> (0x0x7fad25205900) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7fad25205c00) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7fad25284ba0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7fad252e3ba0) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7fad24f4fc60) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7fad24f4fcc0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7fad24f8bba0) 0
+
+Class QRgba64
+ size=8 align=8
+ base size=8 base align=8
+QRgba64 (0x0x7fad24fe31e0) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x0x7fad2507c240) 0
+
+Class QRegion::QRegionData
+ size=16 align=8
+ base size=16 base align=8
+QRegion::QRegionData (0x0x7fad251166c0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x0x7fad25116660) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x0x7fad24e03300) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x0x7fad24ed1e40) 0
+
+Class QTouchDevice
+ size=8 align=8
+ base size=8 base align=8
+QTouchDevice (0x0x7fad24b41f00) 0
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 (int (*)(...))QInputEvent::~QInputEvent
+24 (int (*)(...))QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputEvent (0x0x7fad24b33a90) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16)
+ QEvent (0x0x7fad24b737e0) 0
+ primary-for QInputEvent (0x0x7fad24b33a90)
+
+Vtable for QEnterEvent
+QEnterEvent::_ZTV11QEnterEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QEnterEvent)
+16 (int (*)(...))QEnterEvent::~QEnterEvent
+24 (int (*)(...))QEnterEvent::~QEnterEvent
+
+Class QEnterEvent
+ size=72 align=8
+ base size=72 base align=8
+QEnterEvent (0x0x7fad24b33af8) 0
+ vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16)
+ QEvent (0x0x7fad24b739c0) 0
+ primary-for QEnterEvent (0x0x7fad24b33af8)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 (int (*)(...))QMouseEvent::~QMouseEvent
+24 (int (*)(...))QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=104 align=8
+ base size=100 base align=8
+QMouseEvent (0x0x7fad24b33b60) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16)
+ QInputEvent (0x0x7fad24b33bc8) 0
+ primary-for QMouseEvent (0x0x7fad24b33b60)
+ QEvent (0x0x7fad24b73d80) 0
+ primary-for QInputEvent (0x0x7fad24b33bc8)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 (int (*)(...))QHoverEvent::~QHoverEvent
+24 (int (*)(...))QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=64 align=8
+ base size=64 base align=8
+QHoverEvent (0x0x7fad24b33c30) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16)
+ QInputEvent (0x0x7fad24b33c98) 0
+ primary-for QHoverEvent (0x0x7fad24b33c30)
+ QEvent (0x0x7fad24bc02a0) 0
+ primary-for QInputEvent (0x0x7fad24b33c98)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 (int (*)(...))QWheelEvent::~QWheelEvent
+24 (int (*)(...))QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=96 align=8
+ base size=96 base align=8
+QWheelEvent (0x0x7fad24b33d00) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16)
+ QInputEvent (0x0x7fad24b33d68) 0
+ primary-for QWheelEvent (0x0x7fad24b33d00)
+ QEvent (0x0x7fad24bc0480) 0
+ primary-for QInputEvent (0x0x7fad24b33d68)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 (int (*)(...))QTabletEvent::~QTabletEvent
+24 (int (*)(...))QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=128 align=8
+ base size=128 base align=8
+QTabletEvent (0x0x7fad24b33dd0) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16)
+ QInputEvent (0x0x7fad24b33e38) 0
+ primary-for QTabletEvent (0x0x7fad24b33dd0)
+ QEvent (0x0x7fad24bc0ae0) 0
+ primary-for QInputEvent (0x0x7fad24b33e38)
+
+Vtable for QNativeGestureEvent
+QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QNativeGestureEvent)
+16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+
+Class QNativeGestureEvent
+ size=112 align=8
+ base size=112 base align=8
+QNativeGestureEvent (0x0x7fad24b33ea0) 0
+ vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16)
+ QInputEvent (0x0x7fad24b33f08) 0
+ primary-for QNativeGestureEvent (0x0x7fad24b33ea0)
+ QEvent (0x0x7fad24c01420) 0
+ primary-for QInputEvent (0x0x7fad24b33f08)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 (int (*)(...))QKeyEvent::~QKeyEvent
+24 (int (*)(...))QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=64 align=8
+ base size=59 base align=8
+QKeyEvent (0x0x7fad24b33f70) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16)
+ QInputEvent (0x0x7fad24c13000) 0
+ primary-for QKeyEvent (0x0x7fad24b33f70)
+ QEvent (0x0x7fad24c01720) 0
+ primary-for QInputEvent (0x0x7fad24c13000)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 (int (*)(...))QFocusEvent::~QFocusEvent
+24 (int (*)(...))QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x0x7fad24c13068) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16)
+ QEvent (0x0x7fad24c01a20) 0
+ primary-for QFocusEvent (0x0x7fad24c13068)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 (int (*)(...))QPaintEvent::~QPaintEvent
+24 (int (*)(...))QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x0x7fad24c130d0) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16)
+ QEvent (0x0x7fad24c01b40) 0
+ primary-for QPaintEvent (0x0x7fad24c130d0)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 (int (*)(...))QMoveEvent::~QMoveEvent
+24 (int (*)(...))QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x0x7fad24c13138) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16)
+ QEvent (0x0x7fad24c01c60) 0
+ primary-for QMoveEvent (0x0x7fad24c13138)
+
+Vtable for QExposeEvent
+QExposeEvent::_ZTV12QExposeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QExposeEvent)
+16 (int (*)(...))QExposeEvent::~QExposeEvent
+24 (int (*)(...))QExposeEvent::~QExposeEvent
+
+Class QExposeEvent
+ size=32 align=8
+ base size=32 base align=8
+QExposeEvent (0x0x7fad24c131a0) 0
+ vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16)
+ QEvent (0x0x7fad24c01d80) 0
+ primary-for QExposeEvent (0x0x7fad24c131a0)
+
+Vtable for QPlatformSurfaceEvent
+QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent)
+16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+
+Class QPlatformSurfaceEvent
+ size=24 align=8
+ base size=24 base align=8
+QPlatformSurfaceEvent (0x0x7fad24c13208) 0
+ vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16)
+ QEvent (0x0x7fad24c01e40) 0
+ primary-for QPlatformSurfaceEvent (0x0x7fad24c13208)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 (int (*)(...))QResizeEvent::~QResizeEvent
+24 (int (*)(...))QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x0x7fad24c13270) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16)
+ QEvent (0x0x7fad24c01f00) 0
+ primary-for QResizeEvent (0x0x7fad24c13270)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 (int (*)(...))QCloseEvent::~QCloseEvent
+24 (int (*)(...))QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x0x7fad24c132d8) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16)
+ QEvent (0x0x7fad24c41060) 0
+ primary-for QCloseEvent (0x0x7fad24c132d8)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 (int (*)(...))QIconDragEvent::~QIconDragEvent
+24 (int (*)(...))QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x0x7fad24c13340) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16)
+ QEvent (0x0x7fad24c410c0) 0
+ primary-for QIconDragEvent (0x0x7fad24c13340)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 (int (*)(...))QShowEvent::~QShowEvent
+24 (int (*)(...))QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x0x7fad24c133a8) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16)
+ QEvent (0x0x7fad24c41120) 0
+ primary-for QShowEvent (0x0x7fad24c133a8)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 (int (*)(...))QHideEvent::~QHideEvent
+24 (int (*)(...))QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x0x7fad24c13410) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16)
+ QEvent (0x0x7fad24c41180) 0
+ primary-for QHideEvent (0x0x7fad24c13410)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=56 align=8
+ base size=49 base align=8
+QContextMenuEvent (0x0x7fad24c13478) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16)
+ QInputEvent (0x0x7fad24c134e0) 0
+ primary-for QContextMenuEvent (0x0x7fad24c13478)
+ QEvent (0x0x7fad24c411e0) 0
+ primary-for QInputEvent (0x0x7fad24c134e0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x0x7fad24c41540) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x0x7fad24c13548) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16)
+ QEvent (0x0x7fad24c414e0) 0
+ primary-for QInputMethodEvent (0x0x7fad24c13548)
+
+Class QInputMethodQueryEvent::QueryPair
+ size=24 align=8
+ base size=24 base align=8
+QInputMethodQueryEvent::QueryPair (0x0x7fad24ccb8a0) 0
+
+Vtable for QInputMethodQueryEvent
+QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent)
+16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+
+Class QInputMethodQueryEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodQueryEvent (0x0x7fad24ccf750) 0
+ vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16)
+ QEvent (0x0x7fad24ccb840) 0
+ primary-for QInputMethodQueryEvent (0x0x7fad24ccf750)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 (int (*)(...))QDropEvent::~QDropEvent
+24 (int (*)(...))QDropEvent::~QDropEvent
+
+Class QDropEvent
+ size=72 align=8
+ base size=72 base align=8
+QDropEvent (0x0x7fad2493f820) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16)
+ QEvent (0x0x7fad24945600) 0
+ primary-for QDropEvent (0x0x7fad2493f820)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+
+Class QDragMoveEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragMoveEvent (0x0x7fad2493f888) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16)
+ QDropEvent (0x0x7fad2493f8f0) 0
+ primary-for QDragMoveEvent (0x0x7fad2493f888)
+ QEvent (0x0x7fad249459c0) 0
+ primary-for QDropEvent (0x0x7fad2493f8f0)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+
+Class QDragEnterEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragEnterEvent (0x0x7fad2493f958) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16)
+ QDragMoveEvent (0x0x7fad2493f9c0) 0
+ primary-for QDragEnterEvent (0x0x7fad2493f958)
+ QDropEvent (0x0x7fad2493fa28) 0
+ primary-for QDragMoveEvent (0x0x7fad2493f9c0)
+ QEvent (0x0x7fad24945c00) 0
+ primary-for QDropEvent (0x0x7fad2493fa28)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x0x7fad2493fa90) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16)
+ QEvent (0x0x7fad24945c60) 0
+ primary-for QDragLeaveEvent (0x0x7fad2493fa90)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 (int (*)(...))QHelpEvent::~QHelpEvent
+24 (int (*)(...))QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x0x7fad2493faf8) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16)
+ QEvent (0x0x7fad24945cc0) 0
+ primary-for QHelpEvent (0x0x7fad2493faf8)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x0x7fad2493fb60) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16)
+ QEvent (0x0x7fad24945f60) 0
+ primary-for QStatusTipEvent (0x0x7fad2493fb60)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x0x7fad2493fbc8) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16)
+ QEvent (0x0x7fad24974060) 0
+ primary-for QWhatsThisClickedEvent (0x0x7fad2493fbc8)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 (int (*)(...))QActionEvent::~QActionEvent
+24 (int (*)(...))QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x0x7fad2493fc30) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16)
+ QEvent (0x0x7fad24974120) 0
+ primary-for QActionEvent (0x0x7fad2493fc30)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=40 align=8
+ base size=40 base align=8
+QFileOpenEvent (0x0x7fad2493fc98) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16)
+ QEvent (0x0x7fad24974240) 0
+ primary-for QFileOpenEvent (0x0x7fad2493fc98)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x0x7fad2493fd00) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16)
+ QEvent (0x0x7fad24974360) 0
+ primary-for QToolBarChangeEvent (0x0x7fad2493fd00)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 (int (*)(...))QShortcutEvent::~QShortcutEvent
+24 (int (*)(...))QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x0x7fad2493fd68) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16)
+ QEvent (0x0x7fad24974420) 0
+ primary-for QShortcutEvent (0x0x7fad2493fd68)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=32 align=8
+ base size=25 base align=8
+QWindowStateChangeEvent (0x0x7fad2493fdd0) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16)
+ QEvent (0x0x7fad249745a0) 0
+ primary-for QWindowStateChangeEvent (0x0x7fad2493fdd0)
+
+Class QPointingDeviceUniqueId
+ size=8 align=8
+ base size=8 base align=8
+QPointingDeviceUniqueId (0x0x7fad24974720) 0
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x0x7fad249d0ae0) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 (int (*)(...))QTouchEvent::~QTouchEvent
+24 (int (*)(...))QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=72 align=8
+ base size=72 base align=8
+QTouchEvent (0x0x7fad249d6618) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16)
+ QInputEvent (0x0x7fad249d6680) 0
+ primary-for QTouchEvent (0x0x7fad249d6618)
+ QEvent (0x0x7fad249d0a80) 0
+ primary-for QInputEvent (0x0x7fad249d6680)
+
+Vtable for QScrollPrepareEvent
+QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollPrepareEvent)
+16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+
+Class QScrollPrepareEvent
+ size=112 align=8
+ base size=112 base align=8
+QScrollPrepareEvent (0x0x7fad24ae9340) 0
+ vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16)
+ QEvent (0x0x7fad24b150c0) 0
+ primary-for QScrollPrepareEvent (0x0x7fad24ae9340)
+
+Vtable for QScrollEvent
+QScrollEvent::_ZTV12QScrollEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScrollEvent)
+16 (int (*)(...))QScrollEvent::~QScrollEvent
+24 (int (*)(...))QScrollEvent::~QScrollEvent
+
+Class QScrollEvent
+ size=64 align=8
+ base size=60 base align=8
+QScrollEvent (0x0x7fad24ae93a8) 0
+ vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16)
+ QEvent (0x0x7fad24b15120) 0
+ primary-for QScrollEvent (0x0x7fad24ae93a8)
+
+Vtable for QScreenOrientationChangeEvent
+QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent)
+16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+
+Class QScreenOrientationChangeEvent
+ size=40 align=8
+ base size=36 base align=8
+QScreenOrientationChangeEvent (0x0x7fad24ae9410) 0
+ vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16)
+ QEvent (0x0x7fad24b15180) 0
+ primary-for QScreenOrientationChangeEvent (0x0x7fad24ae9410)
+
+Vtable for QApplicationStateChangeEvent
+QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent)
+16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+
+Class QApplicationStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QApplicationStateChangeEvent (0x0x7fad24ae9478) 0
+ vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16)
+ QEvent (0x0x7fad24b151e0) 0
+ primary-for QApplicationStateChangeEvent (0x0x7fad24ae9478)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x0x7fad24b15240) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x0x7fad247d30d0) 0
+ QVector<QPoint> (0x0x7fad247b36c0) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x0x7fad24850410) 0
+ QVector<QPointF> (0x0x7fad24853780) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x0x7fad248ed600) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x0x7fad24556420) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x0x7fad245563c0) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x0x7fad24691780) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x0x7fad24691e40) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 0
+24 0
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDevice
+ size=24 align=8
+ base size=24 base align=8
+QPaintDevice (0x0x7fad24352900) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16)
+
+Class QPixelFormat
+ size=8 align=8
+ base size=8 base align=8
+QPixelFormat (0x0x7fad24352f00) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 (int (*)(...))QImage::~QImage
+24 (int (*)(...))QImage::~QImage
+32 (int (*)(...))QImage::devType
+40 (int (*)(...))QImage::paintEngine
+48 (int (*)(...))QImage::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QImage
+ size=32 align=8
+ base size=32 base align=8
+QImage (0x0x7fad2442c270) 0
+ vptr=((& QImage::_ZTV6QImage) + 16)
+ QPaintDevice (0x0x7fad24428840) 0
+ primary-for QImage (0x0x7fad2442c270)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 (int (*)(...))QPixmap::~QPixmap
+24 (int (*)(...))QPixmap::~QPixmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPixmap
+ size=32 align=8
+ base size=32 base align=8
+QPixmap (0x0x7fad24129c98) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16)
+ QPaintDevice (0x0x7fad2413c600) 0
+ primary-for QPixmap (0x0x7fad24129c98)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x0x7fad241abae0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x0x7fad24285060) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x0x7fad242852a0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x0x7fad2426fe38) 0
+ QGradient (0x0x7fad242859c0) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x0x7fad2426fea0) 0
+ QGradient (0x0x7fad24285ae0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x0x7fad2426ff08) 0
+ QGradient (0x0x7fad24285c00) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x0x7fad24285cc0) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x0x7fad23f24660) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x0x7fad23f24600) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x0x7fad23f5dd80) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x0x7fad23fe9720) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x0x7fad23d0d000) 0
+ QTextFormat (0x0x7fad23d04300) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x0x7fad23d82410) 0
+ QTextFormat (0x0x7fad23d76cc0) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x0x7fad23dda958) 0
+ QTextFormat (0x0x7fad23ddc9c0) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x0x7fad23e20d68) 0
+ QTextCharFormat (0x0x7fad23e20dd0) 0
+ QTextFormat (0x0x7fad23e39180) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x0x7fad23e7a340) 0
+ QTextFormat (0x0x7fad23e747e0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x0x7fad23acd888) 0
+ QTextFrameFormat (0x0x7fad23acd8f0) 0
+ QTextFormat (0x0x7fad23ada420) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x0x7fad23b1de38) 0
+ QTextCharFormat (0x0x7fad23b1dea0) 0
+ QTextFormat (0x0x7fad23b20cc0) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x0x7fad23b83120) 0
+
+Class QRawFont
+ size=8 align=8
+ base size=8 base align=8
+QRawFont (0x0x7fad23b83300) 0
+
+Class QGlyphRun
+ size=8 align=8
+ base size=8 base align=8
+QGlyphRun (0x0x7fad23bf1cc0) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x0x7fad23c69de0) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x0x7fad238cdf60) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x0x7fad238f03c0) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x0x7fad238f0360) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x0x7fad2397ba80) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x0x7fad2397bf00) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16)
+
+Class QTextDocument::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextDocument::QPrivateSignal (0x0x7fad239a61e0) 0 empty
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 (int (*)(...))QTextDocument::metaObject
+24 (int (*)(...))QTextDocument::qt_metacast
+32 (int (*)(...))QTextDocument::qt_metacall
+40 (int (*)(...))QTextDocument::~QTextDocument
+48 (int (*)(...))QTextDocument::~QTextDocument
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextDocument::clear
+120 (int (*)(...))QTextDocument::createObject
+128 (int (*)(...))QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x0x7fad239859c0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16)
+ QObject (0x0x7fad239a6180) 0
+ primary-for QTextDocument (0x0x7fad239859c0)
+
+Class QPalette::Data
+ size=4 align=4
+ base size=4 base align=4
+QPalette::Data (0x0x7fad239a6cc0) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x0x7fad239a6c60) 0
+
+Class QAbstractTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTextDocumentLayout::QPrivateSignal (0x0x7fad236f10c0) 0 empty
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x0x7fad236f1120) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x0x7fad236f1180) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 (int (*)(...))QAbstractTextDocumentLayout::metaObject
+24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast
+32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x0x7fad236e46e8) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16)
+ QObject (0x0x7fad236f1060) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7fad236e46e8)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x0x7fad2379dd20) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16)
+
+Class QAccessible::State
+ size=8 align=8
+ base size=5 base align=8
+QAccessible::State (0x0x7fad2379df60) 0
+
+Vtable for QAccessible::ActivationObserver
+QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessible::ActivationObserver
+ size=8 align=8
+ base size=8 base align=8
+QAccessible::ActivationObserver (0x0x7fad237d6000) 0 nearly-empty
+ vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x0x7fad2379df00) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x0x7fad237d6ba0) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset
+104 (int (*)(...))QAccessibleTextInterface::textAfterOffset
+112 (int (*)(...))QAccessibleTextInterface::textAtOffset
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x0x7fad237d6f00) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x0x7fad237d6f60) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x0x7fad2382a000) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16)
+
+Vtable for QAccessibleTableCellInterface
+QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableCellInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableCellInterface (0x0x7fad2382a060) 0 nearly-empty
+ vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x0x7fad2382a0c0) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QAccessibleActionInterface::localizedActionName
+48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x0x7fad2382a120) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x0x7fad2382a240) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16)
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=28 base align=8
+QAccessibleEvent (0x0x7fad2382a2a0) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16)
+
+Vtable for QAccessibleStateChangeEvent
+QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent)
+16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleStateChangeEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleStateChangeEvent (0x0x7fad237aed00) 0
+ vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16)
+ QAccessibleEvent (0x0x7fad2382ac60) 0
+ primary-for QAccessibleStateChangeEvent (0x0x7fad237aed00)
+
+Vtable for QAccessibleTextCursorEvent
+QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent)
+16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextCursorEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleTextCursorEvent (0x0x7fad237aed68) 0
+ vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16)
+ QAccessibleEvent (0x0x7fad234a5060) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fad237aed68)
+
+Vtable for QAccessibleTextSelectionEvent
+QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent)
+16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextSelectionEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleTextSelectionEvent (0x0x7fad237aedd0) 0
+ vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7fad237aee38) 0
+ primary-for QAccessibleTextSelectionEvent (0x0x7fad237aedd0)
+ QAccessibleEvent (0x0x7fad234a5480) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fad237aee38)
+
+Vtable for QAccessibleTextInsertEvent
+QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent)
+16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextInsertEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextInsertEvent (0x0x7fad237aeea0) 0
+ vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7fad237aef08) 0
+ primary-for QAccessibleTextInsertEvent (0x0x7fad237aeea0)
+ QAccessibleEvent (0x0x7fad234a5900) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fad237aef08)
+
+Vtable for QAccessibleTextRemoveEvent
+QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent)
+16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextRemoveEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextRemoveEvent (0x0x7fad237aef70) 0
+ vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7fad234cb000) 0
+ primary-for QAccessibleTextRemoveEvent (0x0x7fad237aef70)
+ QAccessibleEvent (0x0x7fad234a5d20) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fad234cb000)
+
+Vtable for QAccessibleTextUpdateEvent
+QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent)
+16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextUpdateEvent
+ size=56 align=8
+ base size=56 base align=8
+QAccessibleTextUpdateEvent (0x0x7fad234cb068) 0
+ vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7fad234cb0d0) 0
+ primary-for QAccessibleTextUpdateEvent (0x0x7fad234cb068)
+ QAccessibleEvent (0x0x7fad234d6180) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7fad234cb0d0)
+
+Vtable for QAccessibleValueChangeEvent
+QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent)
+16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleValueChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleValueChangeEvent (0x0x7fad234cb138) 0
+ vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16)
+ QAccessibleEvent (0x0x7fad234d6600) 0
+ primary-for QAccessibleValueChangeEvent (0x0x7fad234cb138)
+
+Vtable for QAccessibleTableModelChangeEvent
+QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent)
+16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTableModelChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTableModelChangeEvent (0x0x7fad234cb1a0) 0
+ vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16)
+ QAccessibleEvent (0x0x7fad234d6a20) 0
+ primary-for QAccessibleTableModelChangeEvent (0x0x7fad234cb1a0)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x0x7fad23506300) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16)
+
+Class QAccessibleBridgePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessibleBridgePlugin::QPrivateSignal (0x0x7fad235065a0) 0 empty
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 (int (*)(...))QAccessibleBridgePlugin::metaObject
+24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast
+32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleBridgePlugin (0x0x7fad234cb208) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16)
+ QObject (0x0x7fad23506540) 0
+ primary-for QAccessibleBridgePlugin (0x0x7fad234cb208)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 0
+24 0
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x0x7fad234cb270) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16)
+ QAccessibleInterface (0x0x7fad235066c0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7fad234cb270)
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleApplication::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleApplication::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleApplication::parent
+88 (int (*)(...))QAccessibleApplication::child
+96 (int (*)(...))QAccessibleApplication::childCount
+104 (int (*)(...))QAccessibleApplication::indexOfChild
+112 (int (*)(...))QAccessibleApplication::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))QAccessibleApplication::role
+144 (int (*)(...))QAccessibleApplication::state
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x0x7fad234cb2d8) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16)
+ QAccessibleObject (0x0x7fad234cb340) 0
+ primary-for QAccessibleApplication (0x0x7fad234cb2d8)
+ QAccessibleInterface (0x0x7fad23506720) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7fad234cb340)
+
+Class QAccessiblePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessiblePlugin::QPrivateSignal (0x0x7fad235067e0) 0 empty
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 (int (*)(...))QAccessiblePlugin::metaObject
+24 (int (*)(...))QAccessiblePlugin::qt_metacast
+32 (int (*)(...))QAccessiblePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessiblePlugin (0x0x7fad234cb3a8) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16)
+ QObject (0x0x7fad23506780) 0
+ primary-for QAccessiblePlugin (0x0x7fad234cb3a8)
+
+Class QSurfaceFormat
+ size=8 align=8
+ base size=8 base align=8
+QSurfaceFormat (0x0x7fad23506900) 0
+
+Vtable for QSurface
+QSurface::_ZTV8QSurface: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSurface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QSurface
+ size=24 align=8
+ base size=24 base align=8
+QSurface (0x0x7fad23573480) 0
+ vptr=((& QSurface::_ZTV8QSurface) + 16)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x0x7fad23573840) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x0x7fad236523c0) 0
+
+Class QWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWindow::QPrivateSignal (0x0x7fad2331e180) 0 empty
+
+Vtable for QWindow
+QWindow::_ZTV7QWindow: 45 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWindow)
+16 (int (*)(...))QWindow::metaObject
+24 (int (*)(...))QWindow::qt_metacast
+32 (int (*)(...))QWindow::qt_metacall
+40 (int (*)(...))QWindow::~QWindow
+48 (int (*)(...))QWindow::~QWindow
+56 (int (*)(...))QWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))-16
+304 (int (*)(...))(& _ZTI7QWindow)
+312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev
+320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev
+328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+
+Class QWindow
+ size=40 align=8
+ base size=40 base align=8
+QWindow (0x0x7fad2330cd90) 0
+ vptr=((& QWindow::_ZTV7QWindow) + 16)
+ QObject (0x0x7fad2331e0c0) 0
+ primary-for QWindow (0x0x7fad2330cd90)
+ QSurface (0x0x7fad2331e120) 16
+ vptr=((& QWindow::_ZTV7QWindow) + 312)
+
+Class QBackingStore
+ size=8 align=8
+ base size=8 base align=8
+QBackingStore (0x0x7fad2331ea20) 0
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 (int (*)(...))QBitmap::~QBitmap
+24 (int (*)(...))QBitmap::~QBitmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QBitmap
+ size=32 align=8
+ base size=32 base align=8
+QBitmap (0x0x7fad23314680) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16)
+ QPixmap (0x0x7fad233146e8) 0
+ primary-for QBitmap (0x0x7fad23314680)
+ QPaintDevice (0x0x7fad2331eae0) 0
+ primary-for QPixmap (0x0x7fad233146e8)
+
+Class QClipboard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QClipboard::QPrivateSignal (0x0x7fad233c3060) 0 empty
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 (int (*)(...))QClipboard::metaObject
+24 (int (*)(...))QClipboard::qt_metacast
+32 (int (*)(...))QClipboard::qt_metacall
+40 (int (*)(...))QClipboard::~QClipboard
+48 (int (*)(...))QClipboard::~QClipboard
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x0x7fad233ae9c0) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16)
+ QObject (0x0x7fad233c3000) 0
+ primary-for QClipboard (0x0x7fad233ae9c0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x0x7fad233c3180) 0 empty
+
+Class QDrag::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDrag::QPrivateSignal (0x0x7fad233c3240) 0 empty
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 (int (*)(...))QDrag::metaObject
+24 (int (*)(...))QDrag::qt_metacast
+32 (int (*)(...))QDrag::qt_metacall
+40 (int (*)(...))QDrag::~QDrag
+48 (int (*)(...))QDrag::~QDrag
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x0x7fad233aea28) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16)
+ QObject (0x0x7fad233c31e0) 0
+ primary-for QDrag (0x0x7fad233aea28)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x0x7fad233c3420) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x0x7fad23428480) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x0x7fad234767e0) 0
+
+Class QGenericPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGenericPlugin::QPrivateSignal (0x0x7fad231a48a0) 0 empty
+
+Vtable for QGenericPlugin
+QGenericPlugin::_ZTV14QGenericPlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGenericPlugin)
+16 (int (*)(...))QGenericPlugin::metaObject
+24 (int (*)(...))QGenericPlugin::qt_metacast
+32 (int (*)(...))QGenericPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGenericPlugin
+ size=16 align=8
+ base size=16 base align=8
+QGenericPlugin (0x0x7fad230cb5b0) 0
+ vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16)
+ QObject (0x0x7fad231a4840) 0
+ primary-for QGenericPlugin (0x0x7fad230cb5b0)
+
+Class QGenericPluginFactory
+ size=1 align=1
+ base size=0 base align=1
+QGenericPluginFactory (0x0x7fad231a49c0) 0 empty
+
+Class QInputMethod::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputMethod::QPrivateSignal (0x0x7fad231a4a80) 0 empty
+
+Vtable for QInputMethod
+QInputMethod::_ZTV12QInputMethod: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputMethod)
+16 (int (*)(...))QInputMethod::metaObject
+24 (int (*)(...))QInputMethod::qt_metacast
+32 (int (*)(...))QInputMethod::qt_metacall
+40 (int (*)(...))QInputMethod::~QInputMethod
+48 (int (*)(...))QInputMethod::~QInputMethod
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QInputMethod
+ size=16 align=8
+ base size=16 base align=8
+QInputMethod (0x0x7fad230cb618) 0
+ vptr=((& QInputMethod::_ZTV12QInputMethod) + 16)
+ QObject (0x0x7fad231a4a20) 0
+ primary-for QInputMethod (0x0x7fad230cb618)
+
+Class QGuiApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGuiApplication::QPrivateSignal (0x0x7fad231a4d80) 0 empty
+
+Vtable for QGuiApplication
+QGuiApplication::_ZTV15QGuiApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGuiApplication)
+16 (int (*)(...))QGuiApplication::metaObject
+24 (int (*)(...))QGuiApplication::qt_metacast
+32 (int (*)(...))QGuiApplication::qt_metacall
+40 (int (*)(...))QGuiApplication::~QGuiApplication
+48 (int (*)(...))QGuiApplication::~QGuiApplication
+56 (int (*)(...))QGuiApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGuiApplication::notify
+120 (int (*)(...))QGuiApplication::compressEvent
+
+Class QGuiApplication
+ size=16 align=8
+ base size=16 base align=8
+QGuiApplication (0x0x7fad230cb680) 0
+ vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16)
+ QCoreApplication (0x0x7fad230cb6e8) 0
+ primary-for QGuiApplication (0x0x7fad230cb680)
+ QObject (0x0x7fad231a4d20) 0
+ primary-for QCoreApplication (0x0x7fad230cb6e8)
+
+Class QIconEngine::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngine::AvailableSizesArgument (0x0x7fad23234540) 0
+
+Class QIconEngine::ScaledPixmapArgument
+ size=56 align=8
+ base size=56 base align=8
+QIconEngine::ScaledPixmapArgument (0x0x7fad232346c0) 0
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QIconEngine::actualSize
+48 (int (*)(...))QIconEngine::pixmap
+56 (int (*)(...))QIconEngine::addPixmap
+64 (int (*)(...))QIconEngine::addFile
+72 (int (*)(...))QIconEngine::key
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QIconEngine::read
+96 (int (*)(...))QIconEngine::write
+104 (int (*)(...))QIconEngine::availableSizes
+112 (int (*)(...))QIconEngine::iconName
+120 (int (*)(...))QIconEngine::virtual_hook
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x0x7fad232344e0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16)
+
+Class QIconEnginePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIconEnginePlugin::QPrivateSignal (0x0x7fad23234780) 0 empty
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 (int (*)(...))QIconEnginePlugin::metaObject
+24 (int (*)(...))QIconEnginePlugin::qt_metacast
+32 (int (*)(...))QIconEnginePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=16 align=8
+ base size=16 base align=8
+QIconEnginePlugin (0x0x7fad230cbc98) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16)
+ QObject (0x0x7fad23234720) 0
+ primary-for QIconEnginePlugin (0x0x7fad230cbc98)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 0
+24 0
+32 (int (*)(...))QImageIOHandler::name
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QImageIOHandler::write
+64 (int (*)(...))QImageIOHandler::option
+72 (int (*)(...))QImageIOHandler::setOption
+80 (int (*)(...))QImageIOHandler::supportsOption
+88 (int (*)(...))QImageIOHandler::jumpToNextImage
+96 (int (*)(...))QImageIOHandler::jumpToImage
+104 (int (*)(...))QImageIOHandler::loopCount
+112 (int (*)(...))QImageIOHandler::imageCount
+120 (int (*)(...))QImageIOHandler::nextImageDelay
+128 (int (*)(...))QImageIOHandler::currentImageNumber
+136 (int (*)(...))QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x0x7fad232348a0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16)
+
+Class QImageIOPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QImageIOPlugin::QPrivateSignal (0x0x7fad23234ae0) 0 empty
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 (int (*)(...))QImageIOPlugin::metaObject
+24 (int (*)(...))QImageIOPlugin::qt_metacast
+32 (int (*)(...))QImageIOPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=16 align=8
+ base size=16 base align=8
+QImageIOPlugin (0x0x7fad230cbd00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16)
+ QObject (0x0x7fad23234a80) 0
+ primary-for QImageIOPlugin (0x0x7fad230cbd00)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x0x7fad22ec2300) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x0x7fad22ec2420) 0
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x0x7fad22ec2540) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x0x7fad22f586c0) 0
+
+Class QQuaternion
+ size=16 align=4
+ base size=16 base align=4
+QQuaternion (0x0x7fad22fd8900) 0
+
+Class QMatrix4x4
+ size=68 align=4
+ base size=68 base align=4
+QMatrix4x4 (0x0x7fad22ca2240) 0
+
+Class QMovie::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMovie::QPrivateSignal (0x0x7fad22e220c0) 0 empty
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 (int (*)(...))QMovie::metaObject
+24 (int (*)(...))QMovie::qt_metacast
+32 (int (*)(...))QMovie::qt_metacall
+40 (int (*)(...))QMovie::~QMovie
+48 (int (*)(...))QMovie::~QMovie
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x0x7fad22d37478) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16)
+ QObject (0x0x7fad22e22060) 0
+ primary-for QMovie (0x0x7fad22d37478)
+
+Class QOffscreenSurface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOffscreenSurface::QPrivateSignal (0x0x7fad22e224e0) 0 empty
+
+Vtable for QOffscreenSurface
+QOffscreenSurface::_ZTV17QOffscreenSurface: 26 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOffscreenSurface)
+16 (int (*)(...))QOffscreenSurface::metaObject
+24 (int (*)(...))QOffscreenSurface::qt_metacast
+32 (int (*)(...))QOffscreenSurface::qt_metacall
+40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOffscreenSurface::surfaceType
+120 (int (*)(...))QOffscreenSurface::format
+128 (int (*)(...))QOffscreenSurface::size
+136 (int (*)(...))QOffscreenSurface::surfaceHandle
+144 (int (*)(...))-16
+152 (int (*)(...))(& _ZTI17QOffscreenSurface)
+160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev
+168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev
+176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv
+184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv
+192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv
+200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv
+
+Class QOffscreenSurface
+ size=40 align=8
+ base size=40 base align=8
+QOffscreenSurface (0x0x7fad22d1ebd0) 0
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16)
+ QObject (0x0x7fad22e22420) 0
+ primary-for QOffscreenSurface (0x0x7fad22d1ebd0)
+ QSurface (0x0x7fad22e22480) 16
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160)
+
+Class QOpenGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLBuffer (0x0x7fad22e22720) 0
+
+Class QOpenGLVersionStatus
+ size=12 align=4
+ base size=12 base align=4
+QOpenGLVersionStatus (0x0x7fad22e22f60) 0
+
+Class QOpenGLVersionFunctionsBackend
+ size=16 align=8
+ base size=12 base align=8
+QOpenGLVersionFunctionsBackend (0x0x7fad226cfb40) 0
+
+Class QOpenGLVersionFunctionsStorage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionFunctionsStorage (0x0x7fad226cfd20) 0
+
+Class QAbstractOpenGLFunctionsPrivate
+ size=16 align=8
+ base size=9 base align=8
+QAbstractOpenGLFunctionsPrivate (0x0x7fad226cfd80) 0
+
+Vtable for QAbstractOpenGLFunctions
+QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions)
+16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions
+
+Class QAbstractOpenGLFunctions
+ size=16 align=8
+ base size=16 base align=8
+QAbstractOpenGLFunctions (0x0x7fad226cff60) 0
+ vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16)
+
+Class QOpenGLFunctions_1_0_CoreBackend::Functions
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7fad22700180) 0
+
+Class QOpenGLFunctions_1_0_CoreBackend
+ size=400 align=8
+ base size=400 base align=8
+QOpenGLFunctions_1_0_CoreBackend (0x0x7fad226e9340) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22700120) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend::Functions
+ size=128 align=8
+ base size=128 base align=8
+QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7fad22700480) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend
+ size=144 align=8
+ base size=144 base align=8
+QOpenGLFunctions_1_1_CoreBackend (0x0x7fad226e93a8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22700420) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7fad22700780) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_1_2_CoreBackend (0x0x7fad226e9410) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22700720) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7fad22700a80) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_1_3_CoreBackend (0x0x7fad226e9478) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22700a20) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend::Functions
+ size=56 align=8
+ base size=56 base align=8
+QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7fad22700de0) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_4_CoreBackend (0x0x7fad226e94e0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22700d80) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7fad22736120) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_1_5_CoreBackend (0x0x7fad226e9548) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad227360c0) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend::Functions
+ size=744 align=8
+ base size=744 base align=8
+QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7fad22736420) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend
+ size=760 align=8
+ base size=760 base align=8
+QOpenGLFunctions_2_0_CoreBackend (0x0x7fad226e95b0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad227363c0) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7fad22736720) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_2_1_CoreBackend (0x0x7fad226e9618) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad227366c0) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend::Functions
+ size=672 align=8
+ base size=672 base align=8
+QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7fad22736a20) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend
+ size=688 align=8
+ base size=688 base align=8
+QOpenGLFunctions_3_0_CoreBackend (0x0x7fad226e9680) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad227369c0) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7fad22736d20) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_3_1_CoreBackend (0x0x7fad226e96e8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22736cc0) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7fad22786060) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_3_2_CoreBackend (0x0x7fad226e9750) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22786000) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend::Functions
+ size=464 align=8
+ base size=464 base align=8
+QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7fad22786360) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend
+ size=480 align=8
+ base size=480 base align=8
+QOpenGLFunctions_3_3_CoreBackend (0x0x7fad226e97b8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22786300) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend::Functions
+ size=368 align=8
+ base size=368 base align=8
+QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7fad22786660) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_4_0_CoreBackend (0x0x7fad226e9820) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22786600) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend::Functions
+ size=704 align=8
+ base size=704 base align=8
+QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7fad22786960) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend
+ size=720 align=8
+ base size=720 base align=8
+QOpenGLFunctions_4_1_CoreBackend (0x0x7fad226e9888) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22786900) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7fad22786c60) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_2_CoreBackend (0x0x7fad226e98f0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22786c00) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend::Functions
+ size=344 align=8
+ base size=344 base align=8
+QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7fad22786f60) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend
+ size=360 align=8
+ base size=360 base align=8
+QOpenGLFunctions_4_3_CoreBackend (0x0x7fad226e9958) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22786f00) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7fad227ea2a0) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_4_4_CoreBackend (0x0x7fad226e99c0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad227ea240) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend::Functions
+ size=848 align=8
+ base size=848 base align=8
+QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7fad227ea600) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend
+ size=864 align=8
+ base size=864 base align=8
+QOpenGLFunctions_4_5_CoreBackend (0x0x7fad226e9a28) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad227ea5a0) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions
+ size=2064 align=8
+ base size=2064 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7fad227ea900) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend
+ size=2080 align=8
+ base size=2080 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7fad226e9a90) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad227ea8a0) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions
+ size=136 align=8
+ base size=136 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7fad227eac00) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7fad226e9af8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad227eaba0) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7fad227eaf00) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend
+ size=272 align=8
+ base size=272 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7fad226e9b60) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad227eaea0) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions
+ size=296 align=8
+ base size=296 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7fad22875240) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend
+ size=312 align=8
+ base size=312 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7fad226e9bc8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad228751e0) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7fad22875540) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend
+ size=320 align=8
+ base size=320 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7fad226e9c30) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad228754e0) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions
+ size=288 align=8
+ base size=288 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7fad22875840) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7fad226e9c98) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad228757e0) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions
+ size=160 align=8
+ base size=160 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7fad22875b40) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend
+ size=176 align=8
+ base size=176 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7fad226e9d00) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22875ae0) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions
+ size=240 align=8
+ base size=240 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7fad22875e40) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7fad226e9d68) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad22875de0) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7fad224af180) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7fad226e9dd0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7fad224af120) 0
+
+Class QOpenGLVersionProfile
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionProfile (0x0x7fad224af420) 0
+
+Class QOpenGLContextGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContextGroup::QPrivateSignal (0x0x7fad224aff00) 0 empty
+
+Vtable for QOpenGLContextGroup
+QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOpenGLContextGroup)
+16 (int (*)(...))QOpenGLContextGroup::metaObject
+24 (int (*)(...))QOpenGLContextGroup::qt_metacast
+32 (int (*)(...))QOpenGLContextGroup::qt_metacall
+40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContextGroup
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContextGroup (0x0x7fad224cb820) 0
+ vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16)
+ QObject (0x0x7fad224afea0) 0
+ primary-for QOpenGLContextGroup (0x0x7fad224cb820)
+
+Class QOpenGLContext::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContext::QPrivateSignal (0x0x7fad224ea180) 0 empty
+
+Vtable for QOpenGLContext
+QOpenGLContext::_ZTV14QOpenGLContext: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QOpenGLContext)
+16 (int (*)(...))QOpenGLContext::metaObject
+24 (int (*)(...))QOpenGLContext::qt_metacast
+32 (int (*)(...))QOpenGLContext::qt_metacall
+40 (int (*)(...))QOpenGLContext::~QOpenGLContext
+48 (int (*)(...))QOpenGLContext::~QOpenGLContext
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContext
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContext (0x0x7fad224cb888) 0
+ vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16)
+ QObject (0x0x7fad224ea120) 0
+ primary-for QOpenGLContext (0x0x7fad224cb888)
+
+Class QOpenGLDebugMessage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLDebugMessage (0x0x7fad224ea3c0) 0
+
+Class QOpenGLDebugLogger::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLDebugLogger::QPrivateSignal (0x0x7fad225a4b40) 0 empty
+
+Vtable for QOpenGLDebugLogger
+QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger)
+16 (int (*)(...))QOpenGLDebugLogger::metaObject
+24 (int (*)(...))QOpenGLDebugLogger::qt_metacast
+32 (int (*)(...))QOpenGLDebugLogger::qt_metacall
+40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLDebugLogger
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLDebugLogger (0x0x7fad2255d2d8) 0
+ vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16)
+ QObject (0x0x7fad225a4ae0) 0
+ primary-for QOpenGLDebugLogger (0x0x7fad2255d2d8)
+
+Class QOpenGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFunctions (0x0x7fad225fb000) 0
+
+Class QOpenGLFunctionsPrivate::Functions
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate::Functions (0x0x7fad225fb960) 0
+
+Class QOpenGLFunctionsPrivate
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate (0x0x7fad225fb900) 0
+
+Class QOpenGLExtraFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLExtraFunctions (0x0x7fad2255d680) 0
+ QOpenGLFunctions (0x0x7fad22347720) 0
+
+Class QOpenGLExtraFunctionsPrivate::Functions
+ size=1728 align=8
+ base size=1728 base align=8
+QOpenGLExtraFunctionsPrivate::Functions (0x0x7fad22347a80) 0
+
+Class QOpenGLExtraFunctionsPrivate
+ size=2880 align=8
+ base size=2880 base align=8
+QOpenGLExtraFunctionsPrivate (0x0x7fad2255d6e8) 0
+ QOpenGLFunctionsPrivate (0x0x7fad22347a20) 0
+
+Vtable for QOpenGLFramebufferObject
+QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject)
+16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+
+Class QOpenGLFramebufferObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLFramebufferObject (0x0x7fad22124540) 0
+ vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16)
+
+Class QOpenGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFramebufferObjectFormat (0x0x7fad221247e0) 0
+
+Vtable for QOpenGLPaintDevice
+QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice)
+16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+32 (int (*)(...))QOpenGLPaintDevice::devType
+40 (int (*)(...))QOpenGLPaintDevice::paintEngine
+48 (int (*)(...))QOpenGLPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget
+
+Class QOpenGLPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QOpenGLPaintDevice (0x0x7fad2212e478) 0
+ vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16)
+ QPaintDevice (0x0x7fad22124840) 0
+ primary-for QOpenGLPaintDevice (0x0x7fad2212e478)
+
+Class QOpenGLPixelTransferOptions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLPixelTransferOptions (0x0x7fad22124a80) 0
+
+Class QOpenGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShader::QPrivateSignal (0x0x7fad221b38a0) 0 empty
+
+Vtable for QOpenGLShader
+QOpenGLShader::_ZTV13QOpenGLShader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLShader)
+16 (int (*)(...))QOpenGLShader::metaObject
+24 (int (*)(...))QOpenGLShader::qt_metacast
+32 (int (*)(...))QOpenGLShader::qt_metacall
+40 (int (*)(...))QOpenGLShader::~QOpenGLShader
+48 (int (*)(...))QOpenGLShader::~QOpenGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLShader
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShader (0x0x7fad221bc5b0) 0
+ vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16)
+ QObject (0x0x7fad221b3840) 0
+ primary-for QOpenGLShader (0x0x7fad221bc5b0)
+
+Class QOpenGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShaderProgram::QPrivateSignal (0x0x7fad221f71e0) 0 empty
+
+Vtable for QOpenGLShaderProgram
+QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram)
+16 (int (*)(...))QOpenGLShaderProgram::metaObject
+24 (int (*)(...))QOpenGLShaderProgram::qt_metacast
+32 (int (*)(...))QOpenGLShaderProgram::qt_metacall
+40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOpenGLShaderProgram::link
+
+Class QOpenGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShaderProgram (0x0x7fad221bc6e8) 0
+ vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16)
+ QObject (0x0x7fad221f7180) 0
+ primary-for QOpenGLShaderProgram (0x0x7fad221bc6e8)
+
+Class QOpenGLTexture
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTexture (0x0x7fad221f73c0) 0
+
+Class QOpenGLTextureBlitter
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTextureBlitter (0x0x7fad21eb08a0) 0
+
+Class QOpenGLTimerQuery::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimerQuery::QPrivateSignal (0x0x7fad21eb0ae0) 0 empty
+
+Vtable for QOpenGLTimerQuery
+QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery)
+16 (int (*)(...))QOpenGLTimerQuery::metaObject
+24 (int (*)(...))QOpenGLTimerQuery::qt_metacast
+32 (int (*)(...))QOpenGLTimerQuery::qt_metacall
+40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimerQuery
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimerQuery (0x0x7fad221bc820) 0
+ vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16)
+ QObject (0x0x7fad21eb0a80) 0
+ primary-for QOpenGLTimerQuery (0x0x7fad221bc820)
+
+Class QOpenGLTimeMonitor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimeMonitor::QPrivateSignal (0x0x7fad21eb0d20) 0 empty
+
+Vtable for QOpenGLTimeMonitor
+QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor)
+16 (int (*)(...))QOpenGLTimeMonitor::metaObject
+24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast
+32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall
+40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimeMonitor
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimeMonitor (0x0x7fad221bc888) 0
+ vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16)
+ QObject (0x0x7fad21eb0cc0) 0
+ primary-for QOpenGLTimeMonitor (0x0x7fad221bc888)
+
+Class QOpenGLVertexArrayObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLVertexArrayObject::QPrivateSignal (0x0x7fad21eb0f60) 0 empty
+
+Class QOpenGLVertexArrayObject::Binder
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVertexArrayObject::Binder (0x0x7fad21f0a000) 0
+
+Vtable for QOpenGLVertexArrayObject
+QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject)
+16 (int (*)(...))QOpenGLVertexArrayObject::metaObject
+24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast
+32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall
+40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLVertexArrayObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLVertexArrayObject (0x0x7fad221bc8f0) 0
+ vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16)
+ QObject (0x0x7fad21eb0f00) 0
+ primary-for QOpenGLVertexArrayObject (0x0x7fad221bc8f0)
+
+Class QPaintDeviceWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPaintDeviceWindow::QPrivateSignal (0x0x7fad21f0a6c0) 0 empty
+
+Vtable for QPaintDeviceWindow
+QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+16 (int (*)(...))QPaintDeviceWindow::metaObject
+24 (int (*)(...))QPaintDeviceWindow::qt_metacast
+32 (int (*)(...))QPaintDeviceWindow::qt_metacall
+40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QPaintDeviceWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev
+344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+384 (int (*)(...))-40
+392 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev
+408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev
+416 (int (*)(...))QPaintDevice::devType
+424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+440 (int (*)(...))QPaintDevice::initPainter
+448 (int (*)(...))QPaintDevice::redirected
+456 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDeviceWindow
+ size=64 align=8
+ base size=64 base align=8
+QPaintDeviceWindow (0x0x7fad21f1a230) 0
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16)
+ QWindow (0x0x7fad21f1a2a0) 0
+ primary-for QPaintDeviceWindow (0x0x7fad21f1a230)
+ QObject (0x0x7fad21f0a5a0) 0
+ primary-for QWindow (0x0x7fad21f1a2a0)
+ QSurface (0x0x7fad21f0a600) 16
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336)
+ QPaintDevice (0x0x7fad21f0a660) 40
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400)
+
+Class QOpenGLWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWindow::QPrivateSignal (0x0x7fad21f0a9c0) 0 empty
+
+Vtable for QOpenGLWindow
+QOpenGLWindow::_ZTV13QOpenGLWindow: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWindow)
+16 (int (*)(...))QOpenGLWindow::metaObject
+24 (int (*)(...))QOpenGLWindow::qt_metacast
+32 (int (*)(...))QOpenGLWindow::qt_metacall
+40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QOpenGLWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QOpenGLWindow::paintEvent
+304 (int (*)(...))QOpenGLWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QOpenGLWindow::initializeGL
+328 (int (*)(...))QOpenGLWindow::resizeGL
+336 (int (*)(...))QOpenGLWindow::paintGL
+344 (int (*)(...))QOpenGLWindow::paintUnderGL
+352 (int (*)(...))QOpenGLWindow::paintOverGL
+360 (int (*)(...))QOpenGLWindow::redirected
+368 (int (*)(...))-16
+376 (int (*)(...))(& _ZTI13QOpenGLWindow)
+384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev
+392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev
+400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+432 (int (*)(...))-40
+440 (int (*)(...))(& _ZTI13QOpenGLWindow)
+448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev
+456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev
+464 (int (*)(...))QPaintDevice::devType
+472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QPaintDevice::initPainter
+496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint
+504 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QOpenGLWindow
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLWindow (0x0x7fad221bc9c0) 0
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16)
+ QPaintDeviceWindow (0x0x7fad21f1a460) 0
+ primary-for QOpenGLWindow (0x0x7fad221bc9c0)
+ QWindow (0x0x7fad21f1a4d0) 0
+ primary-for QPaintDeviceWindow (0x0x7fad21f1a460)
+ QObject (0x0x7fad21f0a8a0) 0
+ primary-for QWindow (0x0x7fad21f1a4d0)
+ QSurface (0x0x7fad21f0a900) 16
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384)
+ QPaintDevice (0x0x7fad21f0a960) 40
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448)
+
+Class QPageSize
+ size=8 align=8
+ base size=8 base align=8
+QPageSize (0x0x7fad21f0aba0) 0
+
+Class QPageLayout
+ size=8 align=8
+ base size=8 base align=8
+QPageLayout (0x0x7fad21fbb600) 0
+
+Class QPagedPaintDevice::Margins
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice::Margins (0x0x7fad2204a180) 0
+
+Vtable for QPagedPaintDevice
+QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QPagedPaintDevice)
+16 0
+24 0
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QPagedPaintDevice::setPageSize
+96 (int (*)(...))QPagedPaintDevice::setPageSizeMM
+104 (int (*)(...))QPagedPaintDevice::setMargins
+
+Class QPagedPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice (0x0x7fad22020958) 0
+ vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16)
+ QPaintDevice (0x0x7fad2204a120) 0
+ primary-for QPagedPaintDevice (0x0x7fad22020958)
+
+Class QPainter::PixmapFragment
+ size=80 align=8
+ base size=80 base align=8
+QPainter::PixmapFragment (0x0x7fad2204a240) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x0x7fad2204a1e0) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x0x7fad21e6a5a0) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QPaintEngine::drawRects
+64 (int (*)(...))QPaintEngine::drawRects
+72 (int (*)(...))QPaintEngine::drawLines
+80 (int (*)(...))QPaintEngine::drawLines
+88 (int (*)(...))QPaintEngine::drawEllipse
+96 (int (*)(...))QPaintEngine::drawEllipse
+104 (int (*)(...))QPaintEngine::drawPath
+112 (int (*)(...))QPaintEngine::drawPoints
+120 (int (*)(...))QPaintEngine::drawPoints
+128 (int (*)(...))QPaintEngine::drawPolygon
+136 (int (*)(...))QPaintEngine::drawPolygon
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QPaintEngine::drawTextItem
+160 (int (*)(...))QPaintEngine::drawTiledPixmap
+168 (int (*)(...))QPaintEngine::drawImage
+176 (int (*)(...))QPaintEngine::coordinateOffset
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x0x7fad21ab14e0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x0x7fad21ab1cc0) 0
+
+Class QPdfWriter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPdfWriter::QPrivateSignal (0x0x7fad21b69480) 0 empty
+
+Vtable for QPdfWriter
+QPdfWriter::_ZTV10QPdfWriter: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QPdfWriter)
+16 (int (*)(...))QPdfWriter::metaObject
+24 (int (*)(...))QPdfWriter::qt_metacast
+32 (int (*)(...))QPdfWriter::qt_metacall
+40 (int (*)(...))QPdfWriter::~QPdfWriter
+48 (int (*)(...))QPdfWriter::~QPdfWriter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPdfWriter::newPage
+120 (int (*)(...))QPdfWriter::setPageSize
+128 (int (*)(...))QPdfWriter::setPageSizeMM
+136 (int (*)(...))QPdfWriter::setMargins
+144 (int (*)(...))QPdfWriter::paintEngine
+152 (int (*)(...))QPdfWriter::metric
+160 (int (*)(...))-16
+168 (int (*)(...))(& _ZTI10QPdfWriter)
+176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev
+184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev
+192 (int (*)(...))QPaintDevice::devType
+200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv
+208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE
+216 (int (*)(...))QPaintDevice::initPainter
+224 (int (*)(...))QPaintDevice::redirected
+232 (int (*)(...))QPaintDevice::sharedPainter
+240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv
+248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE
+256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF
+264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE
+
+Class QPdfWriter
+ size=48 align=8
+ base size=48 base align=8
+QPdfWriter (0x0x7fad21b53540) 0
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16)
+ QObject (0x0x7fad21b693c0) 0
+ primary-for QPdfWriter (0x0x7fad21b53540)
+ QPagedPaintDevice (0x0x7fad21aacd00) 16
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176)
+ QPaintDevice (0x0x7fad21b69420) 16
+ primary-for QPagedPaintDevice (0x0x7fad21aacd00)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 (int (*)(...))QPicture::~QPicture
+24 (int (*)(...))QPicture::~QPicture
+32 (int (*)(...))QPicture::devType
+40 (int (*)(...))QPicture::paintEngine
+48 (int (*)(...))QPicture::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPicture::setData
+
+Class QPicture
+ size=32 align=8
+ base size=32 base align=8
+QPicture (0x0x7fad21aacd68) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16)
+ QPaintDevice (0x0x7fad21b69780) 0
+ primary-for QPicture (0x0x7fad21aacd68)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x0x7fad21bd4a20) 0
+
+Class QPictureFormatPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPictureFormatPlugin::QPrivateSignal (0x0x7fad21bd4ae0) 0 empty
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 (int (*)(...))QPictureFormatPlugin::metaObject
+24 (int (*)(...))QPictureFormatPlugin::qt_metacast
+32 (int (*)(...))QPictureFormatPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPictureFormatPlugin::loadPicture
+120 (int (*)(...))QPictureFormatPlugin::savePicture
+128 (int (*)(...))__cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=16 align=8
+ base size=16 base align=8
+QPictureFormatPlugin (0x0x7fad21bc9f08) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16)
+ QObject (0x0x7fad21bd4a80) 0
+ primary-for QPictureFormatPlugin (0x0x7fad21bc9f08)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x0x7fad21bd4c60) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x0x7fad21bd4c00) 0 empty
+
+Class QRasterWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRasterWindow::QPrivateSignal (0x0x7fad218af420) 0 empty
+
+Vtable for QRasterWindow
+QRasterWindow::_ZTV13QRasterWindow: 59 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QRasterWindow)
+16 (int (*)(...))QRasterWindow::metaObject
+24 (int (*)(...))QRasterWindow::qt_metacast
+32 (int (*)(...))QRasterWindow::qt_metacall
+40 (int (*)(...))QRasterWindow::~QRasterWindow
+48 (int (*)(...))QRasterWindow::~QRasterWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QRasterWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QRasterWindow::redirected
+328 (int (*)(...))-16
+336 (int (*)(...))(& _ZTI13QRasterWindow)
+344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev
+352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+392 (int (*)(...))-40
+400 (int (*)(...))(& _ZTI13QRasterWindow)
+408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev
+416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev
+424 (int (*)(...))QPaintDevice::devType
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+448 (int (*)(...))QPaintDevice::initPainter
+456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint
+464 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QRasterWindow
+ size=64 align=8
+ base size=64 base align=8
+QRasterWindow (0x0x7fad218a7b60) 0
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16)
+ QPaintDeviceWindow (0x0x7fad218b0380) 0
+ primary-for QRasterWindow (0x0x7fad218a7b60)
+ QWindow (0x0x7fad218b03f0) 0
+ primary-for QPaintDeviceWindow (0x0x7fad218b0380)
+ QObject (0x0x7fad218af300) 0
+ primary-for QWindow (0x0x7fad218b03f0)
+ QSurface (0x0x7fad218af360) 16
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344)
+ QPaintDevice (0x0x7fad218af3c0) 40
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408)
+
+Class QScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScreen::QPrivateSignal (0x0x7fad218af660) 0 empty
+
+Vtable for QScreen
+QScreen::_ZTV7QScreen: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QScreen)
+16 (int (*)(...))QScreen::metaObject
+24 (int (*)(...))QScreen::qt_metacast
+32 (int (*)(...))QScreen::qt_metacall
+40 (int (*)(...))QScreen::~QScreen
+48 (int (*)(...))QScreen::~QScreen
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScreen
+ size=16 align=8
+ base size=16 base align=8
+QScreen (0x0x7fad218a7c30) 0
+ vptr=((& QScreen::_ZTV7QScreen) + 16)
+ QObject (0x0x7fad218af600) 0
+ primary-for QScreen (0x0x7fad218a7c30)
+
+Class QSessionManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSessionManager::QPrivateSignal (0x0x7fad218af8a0) 0 empty
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 (int (*)(...))QSessionManager::metaObject
+24 (int (*)(...))QSessionManager::qt_metacast
+32 (int (*)(...))QSessionManager::qt_metacall
+40 (int (*)(...))QSessionManager::~QSessionManager
+48 (int (*)(...))QSessionManager::~QSessionManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x0x7fad218a7c98) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16)
+ QObject (0x0x7fad218af840) 0
+ primary-for QSessionManager (0x0x7fad218a7c98)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 (int (*)(...))QStandardItem::~QStandardItem
+24 (int (*)(...))QStandardItem::~QStandardItem
+32 (int (*)(...))QStandardItem::data
+40 (int (*)(...))QStandardItem::setData
+48 (int (*)(...))QStandardItem::clone
+56 (int (*)(...))QStandardItem::type
+64 (int (*)(...))QStandardItem::read
+72 (int (*)(...))QStandardItem::write
+80 (int (*)(...))QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x0x7fad218afa80) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16)
+
+Class QStandardItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStandardItemModel::QPrivateSignal (0x0x7fad219a7240) 0 empty
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 (int (*)(...))QStandardItemModel::metaObject
+24 (int (*)(...))QStandardItemModel::qt_metacast
+32 (int (*)(...))QStandardItemModel::qt_metacall
+40 (int (*)(...))QStandardItemModel::~QStandardItemModel
+48 (int (*)(...))QStandardItemModel::~QStandardItemModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStandardItemModel::index
+120 (int (*)(...))QStandardItemModel::parent
+128 (int (*)(...))QStandardItemModel::sibling
+136 (int (*)(...))QStandardItemModel::rowCount
+144 (int (*)(...))QStandardItemModel::columnCount
+152 (int (*)(...))QStandardItemModel::hasChildren
+160 (int (*)(...))QStandardItemModel::data
+168 (int (*)(...))QStandardItemModel::setData
+176 (int (*)(...))QStandardItemModel::headerData
+184 (int (*)(...))QStandardItemModel::setHeaderData
+192 (int (*)(...))QStandardItemModel::itemData
+200 (int (*)(...))QStandardItemModel::setItemData
+208 (int (*)(...))QStandardItemModel::mimeTypes
+216 (int (*)(...))QStandardItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QStandardItemModel::dropMimeData
+240 (int (*)(...))QStandardItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStandardItemModel::insertRows
+264 (int (*)(...))QStandardItemModel::insertColumns
+272 (int (*)(...))QStandardItemModel::removeRows
+280 (int (*)(...))QStandardItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStandardItemModel::flags
+328 (int (*)(...))QStandardItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x0x7fad2192c270) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16)
+ QAbstractItemModel (0x0x7fad2192c2d8) 0
+ primary-for QStandardItemModel (0x0x7fad2192c270)
+ QObject (0x0x7fad219a71e0) 0
+ primary-for QAbstractItemModel (0x0x7fad2192c2d8)
+
+Class QStaticText
+ size=8 align=8
+ base size=8 base align=8
+QStaticText (0x0x7fad219a7600) 0
+
+Class QStyleHints::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyleHints::QPrivateSignal (0x0x7fad21a2a9c0) 0 empty
+
+Vtable for QStyleHints
+QStyleHints::_ZTV11QStyleHints: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QStyleHints)
+16 (int (*)(...))QStyleHints::metaObject
+24 (int (*)(...))QStyleHints::qt_metacast
+32 (int (*)(...))QStyleHints::qt_metacall
+40 (int (*)(...))QStyleHints::~QStyleHints
+48 (int (*)(...))QStyleHints::~QStyleHints
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QStyleHints
+ size=16 align=8
+ base size=16 base align=8
+QStyleHints (0x0x7fad21a2c618) 0
+ vptr=((& QStyleHints::_ZTV11QStyleHints) + 16)
+ QObject (0x0x7fad21a2a960) 0
+ primary-for QStyleHints (0x0x7fad21a2c618)
+
+Class QTextObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextObject::QPrivateSignal (0x0x7fad21a2ac00) 0 empty
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 (int (*)(...))QTextObject::metaObject
+24 (int (*)(...))QTextObject::qt_metacast
+32 (int (*)(...))QTextObject::qt_metacall
+40 (int (*)(...))QTextObject::~QTextObject
+48 (int (*)(...))QTextObject::~QTextObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x0x7fad21a2c680) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16)
+ QObject (0x0x7fad21a2aba0) 0
+ primary-for QTextObject (0x0x7fad21a2c680)
+
+Class QTextBlockGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBlockGroup::QPrivateSignal (0x0x7fad21a2ae40) 0 empty
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 (int (*)(...))QTextBlockGroup::metaObject
+24 (int (*)(...))QTextBlockGroup::qt_metacast
+32 (int (*)(...))QTextBlockGroup::qt_metacall
+40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x0x7fad21a2c6e8) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16)
+ QTextObject (0x0x7fad21a2c750) 0
+ primary-for QTextBlockGroup (0x0x7fad21a2c6e8)
+ QObject (0x0x7fad21a2ade0) 0
+ primary-for QTextObject (0x0x7fad21a2c750)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x0x7fad21a67060) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16)
+
+Class QTextFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextFrame::QPrivateSignal (0x0x7fad21a67120) 0 empty
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x0x7fad21a67180) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 (int (*)(...))QTextFrame::metaObject
+24 (int (*)(...))QTextFrame::qt_metacast
+32 (int (*)(...))QTextFrame::qt_metacall
+40 (int (*)(...))QTextFrame::~QTextFrame
+48 (int (*)(...))QTextFrame::~QTextFrame
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x0x7fad21a2c7b8) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16)
+ QTextObject (0x0x7fad21a2c820) 0
+ primary-for QTextFrame (0x0x7fad21a2c7b8)
+ QObject (0x0x7fad21a670c0) 0
+ primary-for QTextObject (0x0x7fad21a2c820)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x0x7fad216c2ae0) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x0x7fad216c2ba0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x0x7fad216c2b40) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x0x7fad2ee3f360) 0
+
+Class QSyntaxHighlighter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSyntaxHighlighter::QPrivateSignal (0x0x7fad2d9cb5a0) 0 empty
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 (int (*)(...))QSyntaxHighlighter::metaObject
+24 (int (*)(...))QSyntaxHighlighter::qt_metacast
+32 (int (*)(...))QSyntaxHighlighter::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x0x7fad2d208ea0) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16)
+ QObject (0x0x7fad2d9b4f60) 0
+ primary-for QSyntaxHighlighter (0x0x7fad2d208ea0)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x0x7fad2d9ed5a0) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x0x7fad2d9edde0) 0
+
+Class QTextList::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextList::QPrivateSignal (0x0x7fad2da0b180) 0 empty
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 (int (*)(...))QTextList::metaObject
+24 (int (*)(...))QTextList::qt_metacast
+32 (int (*)(...))QTextList::qt_metacall
+40 (int (*)(...))QTextList::~QTextList
+48 (int (*)(...))QTextList::~QTextList
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x0x7fad2d208f08) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16)
+ QTextBlockGroup (0x0x7fad2d225f70) 0
+ primary-for QTextList (0x0x7fad2d208f08)
+ QTextObject (0x0x7fad2d23e000) 0
+ primary-for QTextBlockGroup (0x0x7fad2d225f70)
+ QObject (0x0x7fad2d9ede40) 0
+ primary-for QTextObject (0x0x7fad2d23e000)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x0x7fad2d883660) 0
+
+Class QTextTable::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextTable::QPrivateSignal (0x0x7fad2d3d0960) 0 empty
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 (int (*)(...))QTextTable::metaObject
+24 (int (*)(...))QTextTable::qt_metacast
+32 (int (*)(...))QTextTable::qt_metacall
+40 (int (*)(...))QTextTable::~QTextTable
+48 (int (*)(...))QTextTable::~QTextTable
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x0x7fad2cf5b7b8) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16)
+ QTextFrame (0x0x7fad2cf5b820) 0
+ primary-for QTextTable (0x0x7fad2cf5b7b8)
+ QTextObject (0x0x7fad2cf5b958) 0
+ primary-for QTextFrame (0x0x7fad2cf5b820)
+ QObject (0x0x7fad2d3ab720) 0
+ primary-for QTextObject (0x0x7fad2cf5b958)
+
+Class QValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QValidator::QPrivateSignal (0x0x7fad2d13fc60) 0 empty
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 (int (*)(...))QValidator::metaObject
+24 (int (*)(...))QValidator::qt_metacast
+32 (int (*)(...))QValidator::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x0x7fad2cf5baf8) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16)
+ QObject (0x0x7fad2d13fba0) 0
+ primary-for QValidator (0x0x7fad2cf5baf8)
+
+Class QIntValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIntValidator::QPrivateSignal (0x0x7fad2d16fd80) 0 empty
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 (int (*)(...))QIntValidator::metaObject
+24 (int (*)(...))QIntValidator::qt_metacast
+32 (int (*)(...))QIntValidator::qt_metacall
+40 (int (*)(...))QIntValidator::~QIntValidator
+48 (int (*)(...))QIntValidator::~QIntValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIntValidator::validate
+120 (int (*)(...))QIntValidator::fixup
+128 (int (*)(...))QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x0x7fad2cf732d8) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16)
+ QValidator (0x0x7fad2cf73340) 0
+ primary-for QIntValidator (0x0x7fad2cf732d8)
+ QObject (0x0x7fad2d16fd20) 0
+ primary-for QValidator (0x0x7fad2cf73340)
+
+Class QDoubleValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleValidator::QPrivateSignal (0x0x7fad2d212060) 0 empty
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 (int (*)(...))QDoubleValidator::metaObject
+24 (int (*)(...))QDoubleValidator::qt_metacast
+32 (int (*)(...))QDoubleValidator::qt_metacall
+40 (int (*)(...))QDoubleValidator::~QDoubleValidator
+48 (int (*)(...))QDoubleValidator::~QDoubleValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDoubleValidator::validate
+120 (int (*)(...))QValidator::fixup
+128 (int (*)(...))QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x0x7fad2cf73478) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16)
+ QValidator (0x0x7fad2cf73618) 0
+ primary-for QDoubleValidator (0x0x7fad2cf73478)
+ QObject (0x0x7fad2d212000) 0
+ primary-for QValidator (0x0x7fad2cf73618)
+
+Class QRegExpValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegExpValidator::QPrivateSignal (0x0x7fad2d081360) 0 empty
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 (int (*)(...))QRegExpValidator::metaObject
+24 (int (*)(...))QRegExpValidator::qt_metacast
+32 (int (*)(...))QRegExpValidator::qt_metacall
+40 (int (*)(...))QRegExpValidator::~QRegExpValidator
+48 (int (*)(...))QRegExpValidator::~QRegExpValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegExpValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x0x7fad2cf73820) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16)
+ QValidator (0x0x7fad2cf73a90) 0
+ primary-for QRegExpValidator (0x0x7fad2cf73820)
+ QObject (0x0x7fad2d2345a0) 0
+ primary-for QValidator (0x0x7fad2cf73a90)
+
+Class QRegularExpressionValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegularExpressionValidator::QPrivateSignal (0x0x7fad2d09d000) 0 empty
+
+Vtable for QRegularExpressionValidator
+QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QRegularExpressionValidator)
+16 (int (*)(...))QRegularExpressionValidator::metaObject
+24 (int (*)(...))QRegularExpressionValidator::qt_metacast
+32 (int (*)(...))QRegularExpressionValidator::qt_metacall
+40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegularExpressionValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegularExpressionValidator
+ size=16 align=8
+ base size=16 base align=8
+QRegularExpressionValidator (0x0x7fad2cf82f70) 0
+ vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16)
+ QValidator (0x0x7fad2d031000) 0
+ primary-for QRegularExpressionValidator (0x0x7fad2cf82f70)
+ QObject (0x0x7fad2d081f60) 0
+ primary-for QValidator (0x0x7fad2d031000)
+
+Class QSizePolicy::Bits
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy::Bits (0x0x7fad2cd5d780) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x0x7fad2cd5d720) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x0x7fad2b779f60) 0
+
+Class QWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidget::QPrivateSignal (0x0x7fad2b7933c0) 0 empty
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 (int (*)(...))QWidget::metaObject
+24 (int (*)(...))QWidget::qt_metacast
+32 (int (*)(...))QWidget::qt_metacall
+40 (int (*)(...))QWidget::~QWidget
+48 (int (*)(...))QWidget::~QWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI7QWidget)
+448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev
+456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWidget
+ size=48 align=8
+ base size=48 base align=8
+QWidget (0x0x7fad2ddc61c0) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16)
+ QObject (0x0x7fad2b793240) 0
+ primary-for QWidget (0x0x7fad2ddc61c0)
+ QPaintDevice (0x0x7fad2b7932a0) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 448)
+
+Class QAbstractButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractButton::QPrivateSignal (0x0x7fad2b0a2540) 0 empty
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 (int (*)(...))QAbstractButton::metaObject
+24 (int (*)(...))QAbstractButton::qt_metacast
+32 (int (*)(...))QAbstractButton::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI15QAbstractButton)
+472 0
+480 0
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractButton
+ size=48 align=8
+ base size=48 base align=8
+QAbstractButton (0x0x7fad2b7b2548) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16)
+ QWidget (0x0x7fad2f0a81c0) 0
+ primary-for QAbstractButton (0x0x7fad2b7b2548)
+ QObject (0x0x7fad2b070480) 0
+ primary-for QWidget (0x0x7fad2f0a81c0)
+ QPaintDevice (0x0x7fad2b0704e0) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472)
+
+Class QAbstractSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSpinBox::QPrivateSignal (0x0x7fad2b0f9a80) 0 empty
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 (int (*)(...))QAbstractSpinBox::metaObject
+24 (int (*)(...))QAbstractSpinBox::qt_metacast
+32 (int (*)(...))QAbstractSpinBox::qt_metacall
+40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSpinBox::validate
+440 (int (*)(...))QAbstractSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+488 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSpinBox (0x0x7fad2b7b2888) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16)
+ QWidget (0x0x7fad2f0a8230) 0
+ primary-for QAbstractSpinBox (0x0x7fad2b7b2888)
+ QObject (0x0x7fad2b0f9420) 0
+ primary-for QWidget (0x0x7fad2f0a8230)
+ QPaintDevice (0x0x7fad2b0f9480) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 488)
+
+Class QAbstractSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSlider::QPrivateSignal (0x0x7fad2aecf840) 0 empty
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 (int (*)(...))QAbstractSlider::metaObject
+24 (int (*)(...))QAbstractSlider::qt_metacast
+32 (int (*)(...))QAbstractSlider::qt_metacall
+40 (int (*)(...))QAbstractSlider::~QAbstractSlider
+48 (int (*)(...))QAbstractSlider::~QAbstractSlider
+56 (int (*)(...))QAbstractSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QAbstractSlider)
+456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSlider
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSlider (0x0x7fad2b7b2d68) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16)
+ QWidget (0x0x7fad2fae1310) 0
+ primary-for QAbstractSlider (0x0x7fad2b7b2d68)
+ QObject (0x0x7fad2aeb3e40) 0
+ primary-for QWidget (0x0x7fad2fae1310)
+ QPaintDevice (0x0x7fad2aecf7e0) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456)
+
+Class QSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSlider::QPrivateSignal (0x0x7fad2ab33000) 0 empty
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 (int (*)(...))QSlider::metaObject
+24 (int (*)(...))QSlider::qt_metacast
+32 (int (*)(...))QSlider::qt_metacall
+40 (int (*)(...))QSlider::~QSlider
+48 (int (*)(...))QSlider::~QSlider
+56 (int (*)(...))QSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSlider::sizeHint
+136 (int (*)(...))QSlider::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSlider::mousePressEvent
+176 (int (*)(...))QSlider::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSlider::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSlider::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI7QSlider)
+456 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev
+464 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSlider
+ size=48 align=8
+ base size=48 base align=8
+QSlider (0x0x7fad2b8a0888) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16)
+ QAbstractSlider (0x0x7fad2b8a0bc8) 0
+ primary-for QSlider (0x0x7fad2b8a0888)
+ QWidget (0x0x7fad2fae18c0) 0
+ primary-for QAbstractSlider (0x0x7fad2b8a0bc8)
+ QObject (0x0x7fad2af123c0) 0
+ primary-for QWidget (0x0x7fad2fae18c0)
+ QPaintDevice (0x0x7fad2af12f60) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 456)
+
+Class QStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyle::QPrivateSignal (0x0x7fad2aba55a0) 0 empty
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 37 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 (int (*)(...))QStyle::metaObject
+24 (int (*)(...))QStyle::qt_metacast
+32 (int (*)(...))QStyle::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyle::polish
+120 (int (*)(...))QStyle::unpolish
+128 (int (*)(...))QStyle::polish
+136 (int (*)(...))QStyle::unpolish
+144 (int (*)(...))QStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))__cxa_pure_virtual
+232 (int (*)(...))__cxa_pure_virtual
+240 (int (*)(...))__cxa_pure_virtual
+248 (int (*)(...))__cxa_pure_virtual
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))__cxa_pure_virtual
+272 (int (*)(...))__cxa_pure_virtual
+280 (int (*)(...))__cxa_pure_virtual
+288 (int (*)(...))__cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x0x7fad2b5c52d8) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16)
+ QObject (0x0x7fad2aba5540) 0
+ primary-for QStyle (0x0x7fad2b5c52d8)
+
+Class QTabBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabBar::QPrivateSignal (0x0x7fad2a322900) 0 empty
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 (int (*)(...))QTabBar::metaObject
+24 (int (*)(...))QTabBar::qt_metacast
+32 (int (*)(...))QTabBar::qt_metacall
+40 (int (*)(...))QTabBar::~QTabBar
+48 (int (*)(...))QTabBar::~QTabBar
+56 (int (*)(...))QTabBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTabBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabBar::sizeHint
+136 (int (*)(...))QTabBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTabBar::mousePressEvent
+176 (int (*)(...))QTabBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QTabBar::mouseMoveEvent
+200 (int (*)(...))QTabBar::wheelEvent
+208 (int (*)(...))QTabBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabBar::showEvent
+352 (int (*)(...))QTabBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabBar::tabSizeHint
+440 (int (*)(...))QTabBar::minimumTabSizeHint
+448 (int (*)(...))QTabBar::tabInserted
+456 (int (*)(...))QTabBar::tabRemoved
+464 (int (*)(...))QTabBar::tabLayoutChange
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QTabBar)
+488 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev
+496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabBar
+ size=48 align=8
+ base size=48 base align=8
+QTabBar (0x0x7fad2b5dd410) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16)
+ QWidget (0x0x7fad2f0a07e0) 0
+ primary-for QTabBar (0x0x7fad2b5dd410)
+ QObject (0x0x7fad2a322540) 0
+ primary-for QWidget (0x0x7fad2f0a07e0)
+ QPaintDevice (0x0x7fad2a3225a0) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 488)
+
+Class QTabWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabWidget::QPrivateSignal (0x0x7fad2a35e480) 0 empty
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 (int (*)(...))QTabWidget::metaObject
+24 (int (*)(...))QTabWidget::qt_metacast
+32 (int (*)(...))QTabWidget::qt_metacall
+40 (int (*)(...))QTabWidget::~QTabWidget
+48 (int (*)(...))QTabWidget::~QTabWidget
+56 (int (*)(...))QTabWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabWidget::sizeHint
+136 (int (*)(...))QTabWidget::minimumSizeHint
+144 (int (*)(...))QTabWidget::heightForWidth
+152 (int (*)(...))QTabWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QTabWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabWidget::tabInserted
+440 (int (*)(...))QTabWidget::tabRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI10QTabWidget)
+464 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabWidget
+ size=48 align=8
+ base size=48 base align=8
+QTabWidget (0x0x7fad2b5dda90) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16)
+ QWidget (0x0x7fad2f0c7700) 0
+ primary-for QTabWidget (0x0x7fad2b5dda90)
+ QObject (0x0x7fad2a35e360) 0
+ primary-for QWidget (0x0x7fad2f0c7700)
+ QPaintDevice (0x0x7fad2a35e3c0) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 464)
+
+Class QRubberBand::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRubberBand::QPrivateSignal (0x0x7fad2a3f1ae0) 0 empty
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 (int (*)(...))QRubberBand::metaObject
+24 (int (*)(...))QRubberBand::qt_metacast
+32 (int (*)(...))QRubberBand::qt_metacall
+40 (int (*)(...))QRubberBand::~QRubberBand
+48 (int (*)(...))QRubberBand::~QRubberBand
+56 (int (*)(...))QRubberBand::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRubberBand::paintEvent
+264 (int (*)(...))QRubberBand::moveEvent
+272 (int (*)(...))QRubberBand::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QRubberBand::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QRubberBand::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QRubberBand)
+448 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev
+456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRubberBand
+ size=48 align=8
+ base size=48 base align=8
+QRubberBand (0x0x7fad2b5ddaf8) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16)
+ QWidget (0x0x7fad2f0c7af0) 0
+ primary-for QRubberBand (0x0x7fad2b5ddaf8)
+ QObject (0x0x7fad2a3f1120) 0
+ primary-for QWidget (0x0x7fad2f0c7af0)
+ QPaintDevice (0x0x7fad2a3f1a80) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 448)
+
+Class QFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFrame::QPrivateSignal (0x0x7fad2a4beb40) 0 empty
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 (int (*)(...))QFrame::metaObject
+24 (int (*)(...))QFrame::qt_metacast
+32 (int (*)(...))QFrame::qt_metacall
+40 (int (*)(...))QFrame::~QFrame
+48 (int (*)(...))QFrame::~QFrame
+56 (int (*)(...))QFrame::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QFrame)
+448 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev
+456 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFrame
+ size=48 align=8
+ base size=48 base align=8
+QFrame (0x0x7fad2b5ddd00) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16)
+ QWidget (0x0x7fad2f0c7d20) 0
+ primary-for QFrame (0x0x7fad2b5ddd00)
+ QObject (0x0x7fad2a4be5a0) 0
+ primary-for QWidget (0x0x7fad2f0c7d20)
+ QPaintDevice (0x0x7fad2a4beae0) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 448)
+
+Class QStyleOption
+ size=64 align=8
+ base size=64 base align=8
+QStyleOption (0x0x7fad2a123060) 0
+
+Class QStyleOptionFocusRect
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFocusRect (0x0x7fad2b327270) 0
+ QStyleOption (0x0x7fad2a123600) 0
+
+Class QStyleOptionFrame
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFrame (0x0x7fad2b3272d8) 0
+ QStyleOption (0x0x7fad2a145240) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=136 align=8
+ base size=132 base align=8
+QStyleOptionTabWidgetFrame (0x0x7fad2b327c98) 0
+ QStyleOption (0x0x7fad2a1cbea0) 0
+
+Class QStyleOptionTabBarBase
+ size=104 align=8
+ base size=101 base align=8
+QStyleOptionTabBarBase (0x0x7fad2b327d00) 0
+ QStyleOption (0x0x7fad2a20c6c0) 0
+
+Class QStyleOptionHeader
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionHeader (0x0x7fad2b327ea0) 0
+ QStyleOption (0x0x7fad29ff3780) 0
+
+Class QStyleOptionButton
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionButton (0x0x7fad2b327f08) 0
+ QStyleOption (0x0x7fad2a00d9c0) 0
+
+Class QStyleOptionTab
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionTab (0x0x7fad2b347f08) 0
+ QStyleOption (0x0x7fad2a0f7120) 0
+
+Class QStyleOptionToolBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBar (0x0x7fad2b360a28) 0
+ QStyleOption (0x0x7fad29bcca20) 0
+
+Class QStyleOptionProgressBar
+ size=104 align=8
+ base size=102 base align=8
+QStyleOptionProgressBar (0x0x7fad2b360e38) 0
+ QStyleOption (0x0x7fad29c6f840) 0
+
+Class QStyleOptionMenuItem
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionMenuItem (0x0x7fad2b377c98) 0
+ QStyleOption (0x0x7fad29cc3960) 0
+
+Class QStyleOptionDockWidget
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionDockWidget (0x0x7fad2b377d00) 0
+ QStyleOption (0x0x7fad29a5a300) 0
+
+Class QStyleOptionViewItem
+ size=192 align=8
+ base size=192 base align=8
+QStyleOptionViewItem (0x0x7fad2b443478) 0
+ QStyleOption (0x0x7fad29a5af00) 0
+
+Class QStyleOptionToolBox
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBox (0x0x7fad2b45d548) 0
+ QStyleOption (0x0x7fad2973f300) 0
+
+Class QStyleOptionRubberBand
+ size=72 align=8
+ base size=69 base align=8
+QStyleOptionRubberBand (0x0x7fad2b121410) 0
+ QStyleOption (0x0x7fad2973fa80) 0
+
+Class QStyleOptionComplex
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionComplex (0x0x7fad2b121478) 0
+ QStyleOption (0x0x7fad29803240) 0
+
+Class QStyleOptionSlider
+ size=128 align=8
+ base size=121 base align=8
+QStyleOptionSlider (0x0x7fad2b140f08) 0
+ QStyleOptionComplex (0x0x7fad2b140f70) 0
+ QStyleOption (0x0x7fad2988fea0) 0
+
+Class QStyleOptionSpinBox
+ size=88 align=8
+ base size=81 base align=8
+QStyleOptionSpinBox (0x0x7fad2b1822d8) 0
+ QStyleOptionComplex (0x0x7fad2b182340) 0
+ QStyleOption (0x0x7fad298d2600) 0
+
+Class QStyleOptionToolButton
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionToolButton (0x0x7fad2b182a28) 0
+ QStyleOptionComplex (0x0x7fad2b182a90) 0
+ QStyleOption (0x0x7fad29561cc0) 0
+
+Class QStyleOptionComboBox
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionComboBox (0x0x7fad2b1d1340) 0
+ QStyleOptionComplex (0x0x7fad2b1d13a8) 0
+ QStyleOption (0x0x7fad293675a0) 0
+
+Class QStyleOptionTitleBar
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTitleBar (0x0x7fad2b1d1548) 0
+ QStyleOptionComplex (0x0x7fad2b1d1750) 0
+ QStyleOption (0x0x7fad29387f00) 0
+
+Class QStyleOptionGroupBox
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionGroupBox (0x0x7fad2b1d17b8) 0
+ QStyleOptionComplex (0x0x7fad2b1ea618) 0
+ QStyleOption (0x0x7fad294a0f00) 0
+
+Class QStyleOptionSizeGrip
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionSizeGrip (0x0x7fad2b1ea680) 0
+ QStyleOptionComplex (0x0x7fad2b2041a0) 0
+ QStyleOption (0x0x7fad294e68a0) 0
+
+Class QStyleOptionGraphicsItem
+ size=152 align=8
+ base size=152 base align=8
+QStyleOptionGraphicsItem (0x0x7fad2b204208) 0
+ QStyleOption (0x0x7fad291612a0) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x0x7fad291eee40) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x0x7fad2b248d68) 0
+ QStyleHintReturn (0x0x7fad291eef00) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x0x7fad2b0483a8) 0
+ QStyleHintReturn (0x0x7fad292083c0) 0
+
+Class QAbstractItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemDelegate::QPrivateSignal (0x0x7fad29286f00) 0 empty
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 (int (*)(...))QAbstractItemDelegate::metaObject
+24 (int (*)(...))QAbstractItemDelegate::qt_metacast
+32 (int (*)(...))QAbstractItemDelegate::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QAbstractItemDelegate::setEditorData
+152 (int (*)(...))QAbstractItemDelegate::setModelData
+160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry
+168 (int (*)(...))QAbstractItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x0x7fad2b100410) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16)
+ QObject (0x0x7fad29286ea0) 0
+ primary-for QAbstractItemDelegate (0x0x7fad2b100410)
+
+Class QAbstractScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractScrollArea::QPrivateSignal (0x0x7fad292d0420) 0 empty
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 68 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 (int (*)(...))QAbstractScrollArea::metaObject
+24 (int (*)(...))QAbstractScrollArea::qt_metacast
+32 (int (*)(...))QAbstractScrollArea::qt_metacall
+40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+56 (int (*)(...))QAbstractScrollArea::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QAbstractScrollArea (0x0x7fad2b100750) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16)
+ QFrame (0x0x7fad2b1007b8) 0
+ primary-for QAbstractScrollArea (0x0x7fad2b100750)
+ QWidget (0x0x7fad2ee57d90) 0
+ primary-for QFrame (0x0x7fad2b1007b8)
+ QObject (0x0x7fad292d0180) 0
+ primary-for QWidget (0x0x7fad2ee57d90)
+ QPaintDevice (0x0x7fad292d0240) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480)
+
+Class QAbstractItemView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemView::QPrivateSignal (0x0x7fad293142a0) 0 empty
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 (int (*)(...))QAbstractItemView::metaObject
+24 (int (*)(...))QAbstractItemView::qt_metacast
+32 (int (*)(...))QAbstractItemView::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))__cxa_pure_virtual
+496 (int (*)(...))__cxa_pure_virtual
+504 (int (*)(...))__cxa_pure_virtual
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QAbstractItemView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))__cxa_pure_virtual
+688 (int (*)(...))__cxa_pure_virtual
+696 (int (*)(...))__cxa_pure_virtual
+704 (int (*)(...))__cxa_pure_virtual
+712 (int (*)(...))__cxa_pure_virtual
+720 (int (*)(...))__cxa_pure_virtual
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 0
+792 0
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractItemView
+ size=48 align=8
+ base size=48 base align=8
+QAbstractItemView (0x0x7fad2b11d7b8) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16)
+ QAbstractScrollArea (0x0x7fad2b11d820) 0
+ primary-for QAbstractItemView (0x0x7fad2b11d7b8)
+ QFrame (0x0x7fad2b11dbc8) 0
+ primary-for QAbstractScrollArea (0x0x7fad2b11d820)
+ QWidget (0x0x7fad2ee71000) 0
+ primary-for QFrame (0x0x7fad2b11dbc8)
+ QObject (0x0x7fad292eaf00) 0
+ primary-for QWidget (0x0x7fad2ee71000)
+ QPaintDevice (0x0x7fad292eaf60) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 35 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+32 (int (*)(...))QAccessibleWidget::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleWidget::window
+56 (int (*)(...))QAccessibleWidget::relations
+64 (int (*)(...))QAccessibleWidget::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleWidget::parent
+88 (int (*)(...))QAccessibleWidget::child
+96 (int (*)(...))QAccessibleWidget::childCount
+104 (int (*)(...))QAccessibleWidget::indexOfChild
+112 (int (*)(...))QAccessibleWidget::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleWidget::rect
+136 (int (*)(...))QAccessibleWidget::role
+144 (int (*)(...))QAccessibleWidget::state
+152 (int (*)(...))QAccessibleWidget::foregroundColor
+160 (int (*)(...))QAccessibleWidget::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleWidget::interface_cast
+184 (int (*)(...))QAccessibleWidget::actionNames
+192 (int (*)(...))QAccessibleWidget::doAction
+200 (int (*)(...))QAccessibleWidget::keyBindingsForAction
+208 (int (*)(...))-16
+216 (int (*)(...))(& _ZTI17QAccessibleWidget)
+224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev
+232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev
+240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv
+248 (int (*)(...))QAccessibleActionInterface::localizedActionName
+256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString
+272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString
+
+Class QAccessibleWidget
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleWidget (0x0x7fad2eea65b0) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16)
+ QAccessibleObject (0x0x7fad2ad2fc30) 0
+ primary-for QAccessibleWidget (0x0x7fad2eea65b0)
+ QAccessibleInterface (0x0x7fad290977e0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7fad2ad2fc30)
+ QAccessibleActionInterface (0x0x7fad290979c0) 16 nearly-empty
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224)
+
+Class QAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAction::QPrivateSignal (0x0x7fad290fdb40) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 (int (*)(...))QAction::metaObject
+24 (int (*)(...))QAction::qt_metacast
+32 (int (*)(...))QAction::qt_metacall
+40 (int (*)(...))QAction::~QAction
+48 (int (*)(...))QAction::~QAction
+56 (int (*)(...))QAction::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x0x7fad2ae61068) 0
+ vptr=((& QAction::_ZTV7QAction) + 16)
+ QObject (0x0x7fad290fdae0) 0
+ primary-for QAction (0x0x7fad2ae61068)
+
+Class QActionGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QActionGroup::QPrivateSignal (0x0x7fad28d6f720) 0 empty
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 (int (*)(...))QActionGroup::metaObject
+24 (int (*)(...))QActionGroup::qt_metacast
+32 (int (*)(...))QActionGroup::qt_metacall
+40 (int (*)(...))QActionGroup::~QActionGroup
+48 (int (*)(...))QActionGroup::~QActionGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x0x7fad2ae610d0) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16)
+ QObject (0x0x7fad28d6f6c0) 0
+ primary-for QActionGroup (0x0x7fad2ae610d0)
+
+Class QApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QApplication::QPrivateSignal (0x0x7fad28d8b900) 0 empty
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 (int (*)(...))QApplication::metaObject
+24 (int (*)(...))QApplication::qt_metacast
+32 (int (*)(...))QApplication::qt_metacall
+40 (int (*)(...))QApplication::~QApplication
+48 (int (*)(...))QApplication::~QApplication
+56 (int (*)(...))QApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QApplication::notify
+120 (int (*)(...))QApplication::compressEvent
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x0x7fad2aea3208) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16)
+ QGuiApplication (0x0x7fad2aea3270) 0
+ primary-for QApplication (0x0x7fad2aea3208)
+ QCoreApplication (0x0x7fad2aeba680) 0
+ primary-for QGuiApplication (0x0x7fad2aea3270)
+ QObject (0x0x7fad28d8b6c0) 0
+ primary-for QCoreApplication (0x0x7fad2aeba680)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x0x7fad28df7c60) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 (int (*)(...))QSpacerItem::~QSpacerItem
+24 (int (*)(...))QSpacerItem::~QSpacerItem
+32 (int (*)(...))QSpacerItem::sizeHint
+40 (int (*)(...))QSpacerItem::minimumSize
+48 (int (*)(...))QSpacerItem::maximumSize
+56 (int (*)(...))QSpacerItem::expandingDirections
+64 (int (*)(...))QSpacerItem::setGeometry
+72 (int (*)(...))QSpacerItem::geometry
+80 (int (*)(...))QSpacerItem::isEmpty
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QSpacerItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x0x7fad2aeba6e8) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16)
+ QLayoutItem (0x0x7fad28e7e720) 0
+ primary-for QSpacerItem (0x0x7fad2aeba6e8)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 (int (*)(...))QWidgetItem::~QWidgetItem
+24 (int (*)(...))QWidgetItem::~QWidgetItem
+32 (int (*)(...))QWidgetItem::sizeHint
+40 (int (*)(...))QWidgetItem::minimumSize
+48 (int (*)(...))QWidgetItem::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x0x7fad2af03000) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16)
+ QLayoutItem (0x0x7fad28e9d9c0) 0
+ primary-for QWidgetItem (0x0x7fad2af03000)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+32 (int (*)(...))QWidgetItemV2::sizeHint
+40 (int (*)(...))QWidgetItemV2::minimumSize
+48 (int (*)(...))QWidgetItemV2::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItemV2::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x0x7fad2af03068) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16)
+ QWidgetItem (0x0x7fad2af034e0) 0
+ primary-for QWidgetItemV2 (0x0x7fad2af03068)
+ QLayoutItem (0x0x7fad28b65720) 0
+ primary-for QWidgetItem (0x0x7fad2af034e0)
+
+Class QLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLayout::QPrivateSignal (0x0x7fad28b65ba0) 0 empty
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 47 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 (int (*)(...))QLayout::metaObject
+24 (int (*)(...))QLayout::qt_metacast
+32 (int (*)(...))QLayout::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QLayout::setGeometry
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))-16
+232 (int (*)(...))(& _ZTI7QLayout)
+240 0
+248 0
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+272 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 (int (*)(...))QLayoutItem::hasHeightForWidth
+320 (int (*)(...))QLayoutItem::heightForWidth
+328 (int (*)(...))QLayoutItem::minimumHeightForWidth
+336 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+344 (int (*)(...))QLayoutItem::widget
+352 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+360 (int (*)(...))QLayoutItem::spacerItem
+368 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x0x7fad2eebdcb0) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16)
+ QObject (0x0x7fad28b65900) 0
+ primary-for QLayout (0x0x7fad2eebdcb0)
+ QLayoutItem (0x0x7fad28b659c0) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 240)
+
+Class QGridLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGridLayout::QPrivateSignal (0x0x7fad28b9af60) 0 empty
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 (int (*)(...))QGridLayout::metaObject
+24 (int (*)(...))QGridLayout::qt_metacast
+32 (int (*)(...))QGridLayout::qt_metacall
+40 (int (*)(...))QGridLayout::~QGridLayout
+48 (int (*)(...))QGridLayout::~QGridLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGridLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QGridLayout::addItem
+136 (int (*)(...))QGridLayout::expandingDirections
+144 (int (*)(...))QGridLayout::minimumSize
+152 (int (*)(...))QGridLayout::maximumSize
+160 (int (*)(...))QGridLayout::setGeometry
+168 (int (*)(...))QGridLayout::itemAt
+176 (int (*)(...))QGridLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QGridLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QGridLayout::sizeHint
+232 (int (*)(...))QGridLayout::hasHeightForWidth
+240 (int (*)(...))QGridLayout::heightForWidth
+248 (int (*)(...))QGridLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QGridLayout)
+272 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+280 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+288 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+296 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+304 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+312 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+320 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+352 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+360 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+368 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x0x7fad2af03548) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16)
+ QLayout (0x0x7fad2eedd7e0) 0
+ primary-for QGridLayout (0x0x7fad2af03548)
+ QObject (0x0x7fad28b80f60) 0
+ primary-for QLayout (0x0x7fad2eedd7e0)
+ QLayoutItem (0x0x7fad28b9af00) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 272)
+
+Class QBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBoxLayout::QPrivateSignal (0x0x7fad28bf1720) 0 empty
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 (int (*)(...))QBoxLayout::metaObject
+24 (int (*)(...))QBoxLayout::qt_metacast
+32 (int (*)(...))QBoxLayout::qt_metacall
+40 (int (*)(...))QBoxLayout::~QBoxLayout
+48 (int (*)(...))QBoxLayout::~QBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI10QBoxLayout)
+272 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+280 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x0x7fad2af03a28) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16)
+ QLayout (0x0x7fad2eeddb60) 0
+ primary-for QBoxLayout (0x0x7fad2af03a28)
+ QObject (0x0x7fad28bf12a0) 0
+ primary-for QLayout (0x0x7fad2eeddb60)
+ QLayoutItem (0x0x7fad28bf16c0) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 272)
+
+Class QHBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHBoxLayout::QPrivateSignal (0x0x7fad28c45e40) 0 empty
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 (int (*)(...))QHBoxLayout::metaObject
+24 (int (*)(...))QHBoxLayout::qt_metacast
+32 (int (*)(...))QHBoxLayout::qt_metacall
+40 (int (*)(...))QHBoxLayout::~QHBoxLayout
+48 (int (*)(...))QHBoxLayout::~QHBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QHBoxLayout)
+272 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+280 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x0x7fad2af03c30) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16)
+ QBoxLayout (0x0x7fad2af03c98) 0
+ primary-for QHBoxLayout (0x0x7fad2af03c30)
+ QLayout (0x0x7fad2eef4070) 0
+ primary-for QBoxLayout (0x0x7fad2af03c98)
+ QObject (0x0x7fad28c45840) 0
+ primary-for QLayout (0x0x7fad2eef4070)
+ QLayoutItem (0x0x7fad28c458a0) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 272)
+
+Class QVBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVBoxLayout::QPrivateSignal (0x0x7fad28c62600) 0 empty
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 (int (*)(...))QVBoxLayout::metaObject
+24 (int (*)(...))QVBoxLayout::qt_metacast
+32 (int (*)(...))QVBoxLayout::qt_metacall
+40 (int (*)(...))QVBoxLayout::~QVBoxLayout
+48 (int (*)(...))QVBoxLayout::~QVBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QVBoxLayout)
+272 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+280 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x0x7fad2af03d00) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16)
+ QBoxLayout (0x0x7fad2af1ca28) 0
+ primary-for QVBoxLayout (0x0x7fad2af03d00)
+ QLayout (0x0x7fad2eef41c0) 0
+ primary-for QBoxLayout (0x0x7fad2af1ca28)
+ QObject (0x0x7fad28c62180) 0
+ primary-for QLayout (0x0x7fad2eef41c0)
+ QLayoutItem (0x0x7fad28c625a0) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 272)
+
+Class QButtonGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QButtonGroup::QPrivateSignal (0x0x7fad28cb1540) 0 empty
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 (int (*)(...))QButtonGroup::metaObject
+24 (int (*)(...))QButtonGroup::qt_metacast
+32 (int (*)(...))QButtonGroup::qt_metacall
+40 (int (*)(...))QButtonGroup::~QButtonGroup
+48 (int (*)(...))QButtonGroup::~QButtonGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x0x7fad2af1ca90) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16)
+ QObject (0x0x7fad28cb14e0) 0
+ primary-for QButtonGroup (0x0x7fad2af1ca90)
+
+Class QCalendarWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCalendarWidget::QPrivateSignal (0x0x7fad28ccda80) 0 empty
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 (int (*)(...))QCalendarWidget::metaObject
+24 (int (*)(...))QCalendarWidget::qt_metacast
+32 (int (*)(...))QCalendarWidget::qt_metacall
+40 (int (*)(...))QCalendarWidget::~QCalendarWidget
+48 (int (*)(...))QCalendarWidget::~QCalendarWidget
+56 (int (*)(...))QCalendarWidget::event
+64 (int (*)(...))QCalendarWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCalendarWidget::sizeHint
+136 (int (*)(...))QCalendarWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QCalendarWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QCalendarWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QCalendarWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCalendarWidget::paintCell
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QCalendarWidget)
+456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCalendarWidget
+ size=48 align=8
+ base size=48 base align=8
+QCalendarWidget (0x0x7fad2af1cdd0) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16)
+ QWidget (0x0x7fad2eef43f0) 0
+ primary-for QCalendarWidget (0x0x7fad2af1cdd0)
+ QObject (0x0x7fad28ccd420) 0
+ primary-for QWidget (0x0x7fad2eef43f0)
+ QPaintDevice (0x0x7fad28ccd480) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456)
+
+Class QCheckBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCheckBox::QPrivateSignal (0x0x7fad28a2bc00) 0 empty
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 (int (*)(...))QCheckBox::metaObject
+24 (int (*)(...))QCheckBox::qt_metacast
+32 (int (*)(...))QCheckBox::qt_metacall
+40 (int (*)(...))QCheckBox::~QCheckBox
+48 (int (*)(...))QCheckBox::~QCheckBox
+56 (int (*)(...))QCheckBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCheckBox::sizeHint
+136 (int (*)(...))QCheckBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QCheckBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCheckBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCheckBox::hitButton
+440 (int (*)(...))QCheckBox::checkStateSet
+448 (int (*)(...))QCheckBox::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI9QCheckBox)
+472 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCheckBox
+ size=48 align=8
+ base size=48 base align=8
+QCheckBox (0x0x7fad2af1ce38) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16)
+ QAbstractButton (0x0x7fad2ab369c0) 0
+ primary-for QCheckBox (0x0x7fad2af1ce38)
+ QWidget (0x0x7fad2ef0f690) 0
+ primary-for QAbstractButton (0x0x7fad2ab369c0)
+ QObject (0x0x7fad28949f60) 0
+ primary-for QWidget (0x0x7fad2ef0f690)
+ QPaintDevice (0x0x7fad28a2bba0) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 472)
+
+Class QDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialog::QPrivateSignal (0x0x7fad28ac2480) 0 empty
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 (int (*)(...))QDialog::metaObject
+24 (int (*)(...))QDialog::qt_metacast
+32 (int (*)(...))QDialog::qt_metacall
+40 (int (*)(...))QDialog::~QDialog
+48 (int (*)(...))QDialog::~QDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QDialog)
+488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev
+496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialog
+ size=48 align=8
+ base size=48 base align=8
+QDialog (0x0x7fad2ab36a28) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16)
+ QWidget (0x0x7fad2ef0f7e0) 0
+ primary-for QDialog (0x0x7fad2ab36a28)
+ QObject (0x0x7fad28ac2000) 0
+ primary-for QWidget (0x0x7fad2ef0f7e0)
+ QPaintDevice (0x0x7fad28ac2060) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488)
+
+Class QColorDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColorDialog::QPrivateSignal (0x0x7fad28722780) 0 empty
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 (int (*)(...))QColorDialog::metaObject
+24 (int (*)(...))QColorDialog::qt_metacast
+32 (int (*)(...))QColorDialog::qt_metacall
+40 (int (*)(...))QColorDialog::~QColorDialog
+48 (int (*)(...))QColorDialog::~QColorDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QColorDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QColorDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QColorDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColorDialog
+ size=48 align=8
+ base size=48 base align=8
+QColorDialog (0x0x7fad2ab36af8) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16)
+ QDialog (0x0x7fad2ab36b60) 0
+ primary-for QColorDialog (0x0x7fad2ab36af8)
+ QWidget (0x0x7fad2ef0fb60) 0
+ primary-for QDialog (0x0x7fad2ab36b60)
+ QObject (0x0x7fad287221e0) 0
+ primary-for QWidget (0x0x7fad2ef0fb60)
+ QPaintDevice (0x0x7fad28722720) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x0x7fad286201e0) 0
+
+Class QColumnView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColumnView::QPrivateSignal (0x0x7fad28620480) 0 empty
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 107 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 (int (*)(...))QColumnView::metaObject
+24 (int (*)(...))QColumnView::qt_metacast
+32 (int (*)(...))QColumnView::qt_metacall
+40 (int (*)(...))QColumnView::~QColumnView
+48 (int (*)(...))QColumnView::~QColumnView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QColumnView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QColumnView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QColumnView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QColumnView::setModel
+472 (int (*)(...))QColumnView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QColumnView::visualRect
+496 (int (*)(...))QColumnView::scrollTo
+504 (int (*)(...))QColumnView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QColumnView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QColumnView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QColumnView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QColumnView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QColumnView::moveCursor
+688 (int (*)(...))QColumnView::horizontalOffset
+696 (int (*)(...))QColumnView::verticalOffset
+704 (int (*)(...))QColumnView::isIndexHidden
+712 (int (*)(...))QColumnView::setSelection
+720 (int (*)(...))QColumnView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QColumnView::createColumn
+776 (int (*)(...))-16
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColumnView
+ size=48 align=8
+ base size=48 base align=8
+QColumnView (0x0x7fad2ab4c5b0) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16)
+ QAbstractItemView (0x0x7fad2ab4c618) 0
+ primary-for QColumnView (0x0x7fad2ab4c5b0)
+ QAbstractScrollArea (0x0x7fad2ab4c888) 0
+ primary-for QAbstractItemView (0x0x7fad2ab4c618)
+ QFrame (0x0x7fad2ab7e0d0) 0
+ primary-for QAbstractScrollArea (0x0x7fad2ab4c888)
+ QWidget (0x0x7fad2eb66af0) 0
+ primary-for QFrame (0x0x7fad2ab7e0d0)
+ QObject (0x0x7fad286202a0) 0
+ primary-for QWidget (0x0x7fad2eb66af0)
+ QPaintDevice (0x0x7fad28620420) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792)
+
+Class QComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QComboBox::QPrivateSignal (0x0x7fad2863b120) 0 empty
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 (int (*)(...))QComboBox::metaObject
+24 (int (*)(...))QComboBox::qt_metacast
+32 (int (*)(...))QComboBox::qt_metacall
+40 (int (*)(...))QComboBox::~QComboBox
+48 (int (*)(...))QComboBox::~QComboBox
+56 (int (*)(...))QComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI9QComboBox)
+464 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev
+472 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QComboBox
+ size=48 align=8
+ base size=48 base align=8
+QComboBox (0x0x7fad2ab7e138) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16)
+ QWidget (0x0x7fad2eb66b60) 0
+ primary-for QComboBox (0x0x7fad2ab7e138)
+ QObject (0x0x7fad28620900) 0
+ primary-for QWidget (0x0x7fad2eb66b60)
+ QPaintDevice (0x0x7fad2863b0c0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 464)
+
+Class QPushButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPushButton::QPrivateSignal (0x0x7fad283229c0) 0 empty
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 (int (*)(...))QPushButton::metaObject
+24 (int (*)(...))QPushButton::qt_metacast
+32 (int (*)(...))QPushButton::qt_metacall
+40 (int (*)(...))QPushButton::~QPushButton
+48 (int (*)(...))QPushButton::~QPushButton
+56 (int (*)(...))QPushButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QPushButton::sizeHint
+136 (int (*)(...))QPushButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPushButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QPushButton)
+472 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev
+480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPushButton
+ size=48 align=8
+ base size=48 base align=8
+QPushButton (0x0x7fad2ab7e478) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16)
+ QAbstractButton (0x0x7fad2ab7e4e0) 0
+ primary-for QPushButton (0x0x7fad2ab7e478)
+ QWidget (0x0x7fad2eb7b5b0) 0
+ primary-for QAbstractButton (0x0x7fad2ab7e4e0)
+ QObject (0x0x7fad286b8060) 0
+ primary-for QWidget (0x0x7fad2eb7b5b0)
+ QPaintDevice (0x0x7fad286b80c0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 472)
+
+Class QCommandLinkButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommandLinkButton::QPrivateSignal (0x0x7fad28380540) 0 empty
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 (int (*)(...))QCommandLinkButton::metaObject
+24 (int (*)(...))QCommandLinkButton::qt_metacast
+32 (int (*)(...))QCommandLinkButton::qt_metacall
+40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+56 (int (*)(...))QCommandLinkButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCommandLinkButton::sizeHint
+136 (int (*)(...))QCommandLinkButton::minimumSizeHint
+144 (int (*)(...))QCommandLinkButton::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCommandLinkButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI18QCommandLinkButton)
+472 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCommandLinkButton
+ size=48 align=8
+ base size=48 base align=8
+QCommandLinkButton (0x0x7fad2ab984e0) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16)
+ QPushButton (0x0x7fad2ab98548) 0
+ primary-for QCommandLinkButton (0x0x7fad2ab984e0)
+ QAbstractButton (0x0x7fad2ab988f0) 0
+ primary-for QPushButton (0x0x7fad2ab98548)
+ QWidget (0x0x7fad2eb7b700) 0
+ primary-for QAbstractButton (0x0x7fad2ab988f0)
+ QObject (0x0x7fad28380300) 0
+ primary-for QWidget (0x0x7fad2eb7b700)
+ QPaintDevice (0x0x7fad283804e0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 472)
+
+Class QCommonStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommonStyle::QPrivateSignal (0x0x7fad283994e0) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 37 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 (int (*)(...))QCommonStyle::metaObject
+24 (int (*)(...))QCommonStyle::qt_metacast
+32 (int (*)(...))QCommonStyle::qt_metacall
+40 (int (*)(...))QCommonStyle::~QCommonStyle
+48 (int (*)(...))QCommonStyle::~QCommonStyle
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCommonStyle::polish
+120 (int (*)(...))QCommonStyle::unpolish
+128 (int (*)(...))QCommonStyle::polish
+136 (int (*)(...))QCommonStyle::unpolish
+144 (int (*)(...))QCommonStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))QCommonStyle::drawPrimitive
+200 (int (*)(...))QCommonStyle::drawControl
+208 (int (*)(...))QCommonStyle::subElementRect
+216 (int (*)(...))QCommonStyle::drawComplexControl
+224 (int (*)(...))QCommonStyle::hitTestComplexControl
+232 (int (*)(...))QCommonStyle::subControlRect
+240 (int (*)(...))QCommonStyle::pixelMetric
+248 (int (*)(...))QCommonStyle::sizeFromContents
+256 (int (*)(...))QCommonStyle::styleHint
+264 (int (*)(...))QCommonStyle::standardPixmap
+272 (int (*)(...))QCommonStyle::standardIcon
+280 (int (*)(...))QCommonStyle::generatedIconPixmap
+288 (int (*)(...))QCommonStyle::layoutSpacing
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x0x7fad2ab98958) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16)
+ QStyle (0x0x7fad2ac546e8) 0
+ primary-for QCommonStyle (0x0x7fad2ab98958)
+ QObject (0x0x7fad28399480) 0
+ primary-for QStyle (0x0x7fad2ac546e8)
+
+Class QCompleter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompleter::QPrivateSignal (0x0x7fad283f6660) 0 empty
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 (int (*)(...))QCompleter::metaObject
+24 (int (*)(...))QCompleter::qt_metacast
+32 (int (*)(...))QCompleter::qt_metacall
+40 (int (*)(...))QCompleter::~QCompleter
+48 (int (*)(...))QCompleter::~QCompleter
+56 (int (*)(...))QCompleter::event
+64 (int (*)(...))QCompleter::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCompleter::pathFromIndex
+120 (int (*)(...))QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x0x7fad2ac54750) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16)
+ QObject (0x0x7fad283f6600) 0
+ primary-for QCompleter (0x0x7fad2ac54750)
+
+Class QDataWidgetMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDataWidgetMapper::QPrivateSignal (0x0x7fad28414120) 0 empty
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 (int (*)(...))QDataWidgetMapper::metaObject
+24 (int (*)(...))QDataWidgetMapper::qt_metacast
+32 (int (*)(...))QDataWidgetMapper::qt_metacall
+40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x0x7fad2ac761a0) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16)
+ QObject (0x0x7fad283f6de0) 0
+ primary-for QDataWidgetMapper (0x0x7fad2ac761a0)
+
+Class QDateTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateTimeEdit::QPrivateSignal (0x0x7fad27b5b240) 0 empty
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 (int (*)(...))QDateTimeEdit::metaObject
+24 (int (*)(...))QDateTimeEdit::qt_metacast
+32 (int (*)(...))QDateTimeEdit::qt_metacall
+40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QDateTimeEdit)
+504 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateTimeEdit (0x0x7fad2ac76208) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16)
+ QAbstractSpinBox (0x0x7fad2ac76410) 0
+ primary-for QDateTimeEdit (0x0x7fad2ac76208)
+ QWidget (0x0x7fad2eb7bee0) 0
+ primary-for QAbstractSpinBox (0x0x7fad2ac76410)
+ QObject (0x0x7fad27b3a840) 0
+ primary-for QWidget (0x0x7fad2eb7bee0)
+ QPaintDevice (0x0x7fad27b3a8a0) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 504)
+
+Class QTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeEdit::QPrivateSignal (0x0x7fad27bd3720) 0 empty
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 (int (*)(...))QTimeEdit::metaObject
+24 (int (*)(...))QTimeEdit::qt_metacast
+32 (int (*)(...))QTimeEdit::qt_metacall
+40 (int (*)(...))QTimeEdit::~QTimeEdit
+48 (int (*)(...))QTimeEdit::~QTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QTimeEdit)
+504 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QTimeEdit (0x0x7fad2ac8aaf8) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16)
+ QDateTimeEdit (0x0x7fad2aafd138) 0
+ primary-for QTimeEdit (0x0x7fad2ac8aaf8)
+ QAbstractSpinBox (0x0x7fad2aafd1a0) 0
+ primary-for QDateTimeEdit (0x0x7fad2aafd138)
+ QWidget (0x0x7fad2ebb1700) 0
+ primary-for QAbstractSpinBox (0x0x7fad2aafd1a0)
+ QObject (0x0x7fad27bd3480) 0
+ primary-for QWidget (0x0x7fad2ebb1700)
+ QPaintDevice (0x0x7fad27bd36c0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 504)
+
+Class QDateEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateEdit::QPrivateSignal (0x0x7fad27c33780) 0 empty
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 (int (*)(...))QDateEdit::metaObject
+24 (int (*)(...))QDateEdit::qt_metacast
+32 (int (*)(...))QDateEdit::qt_metacall
+40 (int (*)(...))QDateEdit::~QDateEdit
+48 (int (*)(...))QDateEdit::~QDateEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QDateEdit)
+504 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev
+512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateEdit (0x0x7fad2aafd6e8) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16)
+ QDateTimeEdit (0x0x7fad2aafd750) 0
+ primary-for QDateEdit (0x0x7fad2aafd6e8)
+ QAbstractSpinBox (0x0x7fad2ab1a340) 0
+ primary-for QDateTimeEdit (0x0x7fad2aafd750)
+ QWidget (0x0x7fad2ebb1af0) 0
+ primary-for QAbstractSpinBox (0x0x7fad2ab1a340)
+ QObject (0x0x7fad27c334e0) 0
+ primary-for QWidget (0x0x7fad2ebb1af0)
+ QPaintDevice (0x0x7fad27c33540) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 504)
+
+Class QDesktopWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDesktopWidget::QPrivateSignal (0x0x7fad27937120) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 (int (*)(...))QDesktopWidget::metaObject
+24 (int (*)(...))QDesktopWidget::qt_metacast
+32 (int (*)(...))QDesktopWidget::qt_metacall
+40 (int (*)(...))QDesktopWidget::~QDesktopWidget
+48 (int (*)(...))QDesktopWidget::~QDesktopWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDesktopWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QDesktopWidget)
+448 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+456 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDesktopWidget
+ size=48 align=8
+ base size=48 base align=8
+QDesktopWidget (0x0x7fad2ab1a3a8) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16)
+ QWidget (0x0x7fad2ebfa7e0) 0
+ primary-for QDesktopWidget (0x0x7fad2ab1a3a8)
+ QObject (0x0x7fad27d16c60) 0
+ primary-for QWidget (0x0x7fad2ebfa7e0)
+ QPaintDevice (0x0x7fad279370c0) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 448)
+
+Class QDial::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDial::QPrivateSignal (0x0x7fad27a48ea0) 0 empty
+
+Vtable for QDial
+QDial::_ZTV5QDial: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 (int (*)(...))QDial::metaObject
+24 (int (*)(...))QDial::qt_metacast
+32 (int (*)(...))QDial::qt_metacall
+40 (int (*)(...))QDial::~QDial
+48 (int (*)(...))QDial::~QDial
+56 (int (*)(...))QDial::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDial::sizeHint
+136 (int (*)(...))QDial::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDial::mousePressEvent
+176 (int (*)(...))QDial::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QDial::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDial::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDial::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDial::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI5QDial)
+456 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev
+464 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDial
+ size=48 align=8
+ base size=48 base align=8
+QDial (0x0x7fad2ab1a750) 0
+ vptr=((& QDial::_ZTV5QDial) + 16)
+ QAbstractSlider (0x0x7fad2ab1a7b8) 0
+ primary-for QDial (0x0x7fad2ab1a750)
+ QWidget (0x0x7fad2ebfa850) 0
+ primary-for QAbstractSlider (0x0x7fad2ab1a7b8)
+ QObject (0x0x7fad27a48b40) 0
+ primary-for QWidget (0x0x7fad2ebfa850)
+ QPaintDevice (0x0x7fad27a48e40) 16
+ vptr=((& QDial::_ZTV5QDial) + 456)
+
+Class QDialogButtonBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialogButtonBox::QPrivateSignal (0x0x7fad27a87780) 0 empty
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 (int (*)(...))QDialogButtonBox::metaObject
+24 (int (*)(...))QDialogButtonBox::qt_metacast
+32 (int (*)(...))QDialogButtonBox::qt_metacall
+40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+56 (int (*)(...))QDialogButtonBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDialogButtonBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QDialogButtonBox)
+448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialogButtonBox
+ size=48 align=8
+ base size=48 base align=8
+QDialogButtonBox (0x0x7fad2a72c340) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16)
+ QWidget (0x0x7fad2ebfa930) 0
+ primary-for QDialogButtonBox (0x0x7fad2a72c340)
+ QObject (0x0x7fad27a62de0) 0
+ primary-for QWidget (0x0x7fad2ebfa930)
+ QPaintDevice (0x0x7fad27a87720) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 (int (*)(...))QFileIconProvider::~QFileIconProvider
+24 (int (*)(...))QFileIconProvider::~QFileIconProvider
+32 (int (*)(...))QFileIconProvider::icon
+40 (int (*)(...))QFileIconProvider::icon
+48 (int (*)(...))QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x0x7fad277e5960) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16)
+
+Class QDirModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDirModel::QPrivateSignal (0x0x7fad2734f6c0) 0 empty
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 (int (*)(...))QDirModel::metaObject
+24 (int (*)(...))QDirModel::qt_metacast
+32 (int (*)(...))QDirModel::qt_metacall
+40 (int (*)(...))QDirModel::~QDirModel
+48 (int (*)(...))QDirModel::~QDirModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDirModel::index
+120 (int (*)(...))QDirModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QDirModel::rowCount
+144 (int (*)(...))QDirModel::columnCount
+152 (int (*)(...))QDirModel::hasChildren
+160 (int (*)(...))QDirModel::data
+168 (int (*)(...))QDirModel::setData
+176 (int (*)(...))QDirModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QDirModel::mimeTypes
+216 (int (*)(...))QDirModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QDirModel::dropMimeData
+240 (int (*)(...))QDirModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QDirModel::flags
+328 (int (*)(...))QDirModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x0x7fad2a7f18f0) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16)
+ QAbstractItemModel (0x0x7fad2a7f1958) 0
+ primary-for QDirModel (0x0x7fad2a7f18f0)
+ QObject (0x0x7fad2734f660) 0
+ primary-for QAbstractItemModel (0x0x7fad2a7f1958)
+
+Class QDockWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDockWidget::QPrivateSignal (0x0x7fad271339c0) 0 empty
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 (int (*)(...))QDockWidget::metaObject
+24 (int (*)(...))QDockWidget::qt_metacast
+32 (int (*)(...))QDockWidget::qt_metacall
+40 (int (*)(...))QDockWidget::~QDockWidget
+48 (int (*)(...))QDockWidget::~QDockWidget
+56 (int (*)(...))QDockWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDockWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QDockWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDockWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QDockWidget)
+448 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDockWidget
+ size=48 align=8
+ base size=48 base align=8
+QDockWidget (0x0x7fad2a8163a8) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16)
+ QWidget (0x0x7fad2e7ba0e0) 0
+ primary-for QDockWidget (0x0x7fad2a8163a8)
+ QObject (0x0x7fad2734fa20) 0
+ primary-for QWidget (0x0x7fad2e7ba0e0)
+ QPaintDevice (0x0x7fad2734fa80) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 448)
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x0x7fad26f8a660) 0
+
+Class QErrorMessage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QErrorMessage::QPrivateSignal (0x0x7fad26f11de0) 0 empty
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 (int (*)(...))QErrorMessage::metaObject
+24 (int (*)(...))QErrorMessage::qt_metacast
+32 (int (*)(...))QErrorMessage::qt_metacall
+40 (int (*)(...))QErrorMessage::~QErrorMessage
+48 (int (*)(...))QErrorMessage::~QErrorMessage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QErrorMessage::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QErrorMessage::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QErrorMessage
+ size=48 align=8
+ base size=48 base align=8
+QErrorMessage (0x0x7fad2a5591a0) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16)
+ QDialog (0x0x7fad2a559340) 0
+ primary-for QErrorMessage (0x0x7fad2a5591a0)
+ QWidget (0x0x7fad2e8439a0) 0
+ primary-for QDialog (0x0x7fad2a559340)
+ QObject (0x0x7fad26f11c60) 0
+ primary-for QWidget (0x0x7fad2e8439a0)
+ QPaintDevice (0x0x7fad26f11d20) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488)
+
+Class QFileDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDialog::QPrivateSignal (0x0x7fad26bf78a0) 0 empty
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 (int (*)(...))QFileDialog::metaObject
+24 (int (*)(...))QFileDialog::qt_metacast
+32 (int (*)(...))QFileDialog::qt_metacall
+40 (int (*)(...))QFileDialog::~QFileDialog
+48 (int (*)(...))QFileDialog::~QFileDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFileDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFileDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFileDialog::done
+456 (int (*)(...))QFileDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFileDialog
+ size=48 align=8
+ base size=48 base align=8
+QFileDialog (0x0x7fad2a559548) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16)
+ QDialog (0x0x7fad2a5597b8) 0
+ primary-for QFileDialog (0x0x7fad2a559548)
+ QWidget (0x0x7fad2e843d20) 0
+ primary-for QDialog (0x0x7fad2a5597b8)
+ QObject (0x0x7fad26bb8a20) 0
+ primary-for QWidget (0x0x7fad2e843d20)
+ QPaintDevice (0x0x7fad26bf7840) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488)
+
+Class QFileSystemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemModel::QPrivateSignal (0x0x7fad269fbc00) 0 empty
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 (int (*)(...))QFileSystemModel::metaObject
+24 (int (*)(...))QFileSystemModel::qt_metacast
+32 (int (*)(...))QFileSystemModel::qt_metacall
+40 (int (*)(...))QFileSystemModel::~QFileSystemModel
+48 (int (*)(...))QFileSystemModel::~QFileSystemModel
+56 (int (*)(...))QFileSystemModel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QFileSystemModel::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileSystemModel::index
+120 (int (*)(...))QFileSystemModel::parent
+128 (int (*)(...))QFileSystemModel::sibling
+136 (int (*)(...))QFileSystemModel::rowCount
+144 (int (*)(...))QFileSystemModel::columnCount
+152 (int (*)(...))QFileSystemModel::hasChildren
+160 (int (*)(...))QFileSystemModel::data
+168 (int (*)(...))QFileSystemModel::setData
+176 (int (*)(...))QFileSystemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QFileSystemModel::mimeTypes
+216 (int (*)(...))QFileSystemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QFileSystemModel::dropMimeData
+240 (int (*)(...))QFileSystemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QFileSystemModel::fetchMore
+312 (int (*)(...))QFileSystemModel::canFetchMore
+320 (int (*)(...))QFileSystemModel::flags
+328 (int (*)(...))QFileSystemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x0x7fad2a559f70) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16)
+ QAbstractItemModel (0x0x7fad2a56c000) 0
+ primary-for QFileSystemModel (0x0x7fad2a559f70)
+ QObject (0x0x7fad269fbba0) 0
+ primary-for QAbstractItemModel (0x0x7fad2a56c000)
+
+Class QFocusFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFocusFrame::QPrivateSignal (0x0x7fad26a461e0) 0 empty
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 (int (*)(...))QFocusFrame::metaObject
+24 (int (*)(...))QFocusFrame::qt_metacast
+32 (int (*)(...))QFocusFrame::qt_metacall
+40 (int (*)(...))QFocusFrame::~QFocusFrame
+48 (int (*)(...))QFocusFrame::~QFocusFrame
+56 (int (*)(...))QFocusFrame::event
+64 (int (*)(...))QFocusFrame::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFocusFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QFocusFrame)
+448 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFocusFrame
+ size=48 align=8
+ base size=48 base align=8
+QFocusFrame (0x0x7fad2a56c340) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16)
+ QWidget (0x0x7fad2e52e230) 0
+ primary-for QFocusFrame (0x0x7fad2a56c340)
+ QObject (0x0x7fad26a21ba0) 0
+ primary-for QWidget (0x0x7fad2e52e230)
+ QPaintDevice (0x0x7fad26a21c60) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 448)
+
+Class QFontComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontComboBox::QPrivateSignal (0x0x7fad268079c0) 0 empty
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 (int (*)(...))QFontComboBox::metaObject
+24 (int (*)(...))QFontComboBox::qt_metacast
+32 (int (*)(...))QFontComboBox::qt_metacall
+40 (int (*)(...))QFontComboBox::~QFontComboBox
+48 (int (*)(...))QFontComboBox::~QFontComboBox
+56 (int (*)(...))QFontComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFontComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI13QFontComboBox)
+464 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+472 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontComboBox
+ size=48 align=8
+ base size=48 base align=8
+QFontComboBox (0x0x7fad2a56c3a8) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16)
+ QComboBox (0x0x7fad2a5c3138) 0
+ primary-for QFontComboBox (0x0x7fad2a56c3a8)
+ QWidget (0x0x7fad2e52e310) 0
+ primary-for QComboBox (0x0x7fad2a5c3138)
+ QObject (0x0x7fad26a89cc0) 0
+ primary-for QWidget (0x0x7fad2e52e310)
+ QPaintDevice (0x0x7fad26a89d20) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 464)
+
+Class QFontDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontDialog::QPrivateSignal (0x0x7fad254171e0) 0 empty
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 (int (*)(...))QFontDialog::metaObject
+24 (int (*)(...))QFontDialog::qt_metacast
+32 (int (*)(...))QFontDialog::qt_metacall
+40 (int (*)(...))QFontDialog::~QFontDialog
+48 (int (*)(...))QFontDialog::~QFontDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QFontDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFontDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFontDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFontDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontDialog
+ size=48 align=8
+ base size=48 base align=8
+QFontDialog (0x0x7fad2a5dc068) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16)
+ QDialog (0x0x7fad2a5dc0d0) 0
+ primary-for QFontDialog (0x0x7fad2a5dc068)
+ QWidget (0x0x7fad2e5868c0) 0
+ primary-for QDialog (0x0x7fad2a5dc0d0)
+ QObject (0x0x7fad2536ce40) 0
+ primary-for QWidget (0x0x7fad2e5868c0)
+ QPaintDevice (0x0x7fad2536cea0) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488)
+
+Class QFormLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFormLayout::QPrivateSignal (0x0x7fad25168c60) 0 empty
+
+Class QFormLayout::TakeRowResult
+ size=16 align=8
+ base size=16 base align=8
+QFormLayout::TakeRowResult (0x0x7fad25168cc0) 0
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 50 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 (int (*)(...))QFormLayout::metaObject
+24 (int (*)(...))QFormLayout::qt_metacast
+32 (int (*)(...))QFormLayout::qt_metacall
+40 (int (*)(...))QFormLayout::~QFormLayout
+48 (int (*)(...))QFormLayout::~QFormLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFormLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QFormLayout::addItem
+136 (int (*)(...))QFormLayout::expandingDirections
+144 (int (*)(...))QFormLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QFormLayout::setGeometry
+168 (int (*)(...))QFormLayout::itemAt
+176 (int (*)(...))QFormLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QFormLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QFormLayout::sizeHint
+232 (int (*)(...))QFormLayout::hasHeightForWidth
+240 (int (*)(...))QFormLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI11QFormLayout)
+264 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+272 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+280 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+288 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+312 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+344 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x0x7fad2a5dc4e0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16)
+ QLayout (0x0x7fad2e5d5d90) 0
+ primary-for QFormLayout (0x0x7fad2a5dc4e0)
+ QObject (0x0x7fad25143ba0) 0
+ primary-for QLayout (0x0x7fad2e5d5d90)
+ QLayoutItem (0x0x7fad25143c00) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 264)
+
+Class QGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGesture::QPrivateSignal (0x0x7fad24eb4780) 0 empty
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 (int (*)(...))QGesture::metaObject
+24 (int (*)(...))QGesture::qt_metacast
+32 (int (*)(...))QGesture::qt_metacall
+40 (int (*)(...))QGesture::~QGesture
+48 (int (*)(...))QGesture::~QGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x0x7fad2a0cd3a8) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16)
+ QObject (0x0x7fad24eb45a0) 0
+ primary-for QGesture (0x0x7fad2a0cd3a8)
+
+Class QPanGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPanGesture::QPrivateSignal (0x0x7fad24ed1900) 0 empty
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 (int (*)(...))QPanGesture::metaObject
+24 (int (*)(...))QPanGesture::qt_metacast
+32 (int (*)(...))QPanGesture::qt_metacall
+40 (int (*)(...))QPanGesture::~QPanGesture
+48 (int (*)(...))QPanGesture::~QPanGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x0x7fad2a0cd410) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16)
+ QGesture (0x0x7fad2a0cd8f0) 0
+ primary-for QPanGesture (0x0x7fad2a0cd410)
+ QObject (0x0x7fad24ed1600) 0
+ primary-for QGesture (0x0x7fad2a0cd8f0)
+
+Class QPinchGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPinchGesture::QPrivateSignal (0x0x7fad24b23120) 0 empty
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 (int (*)(...))QPinchGesture::metaObject
+24 (int (*)(...))QPinchGesture::qt_metacast
+32 (int (*)(...))QPinchGesture::qt_metacall
+40 (int (*)(...))QPinchGesture::~QPinchGesture
+48 (int (*)(...))QPinchGesture::~QPinchGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x0x7fad2a0cd958) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16)
+ QGesture (0x0x7fad2a0cdc98) 0
+ primary-for QPinchGesture (0x0x7fad2a0cd958)
+ QObject (0x0x7fad24f01ba0) 0
+ primary-for QGesture (0x0x7fad2a0cdc98)
+
+Class QSwipeGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSwipeGesture::QPrivateSignal (0x0x7fad24a9d540) 0 empty
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 (int (*)(...))QSwipeGesture::metaObject
+24 (int (*)(...))QSwipeGesture::qt_metacast
+32 (int (*)(...))QSwipeGesture::qt_metacall
+40 (int (*)(...))QSwipeGesture::~QSwipeGesture
+48 (int (*)(...))QSwipeGesture::~QSwipeGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x0x7fad29d45f70) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16)
+ QGesture (0x0x7fad29dfef70) 0
+ primary-for QSwipeGesture (0x0x7fad29d45f70)
+ QObject (0x0x7fad24a9d4e0) 0
+ primary-for QGesture (0x0x7fad29dfef70)
+
+Class QTapGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapGesture::QPrivateSignal (0x0x7fad24777de0) 0 empty
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 (int (*)(...))QTapGesture::metaObject
+24 (int (*)(...))QTapGesture::qt_metacast
+32 (int (*)(...))QTapGesture::qt_metacall
+40 (int (*)(...))QTapGesture::~QTapGesture
+48 (int (*)(...))QTapGesture::~QTapGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x0x7fad29e19000) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16)
+ QGesture (0x0x7fad29e4b068) 0
+ primary-for QTapGesture (0x0x7fad29e19000)
+ QObject (0x0x7fad24777d20) 0
+ primary-for QGesture (0x0x7fad29e4b068)
+
+Class QTapAndHoldGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapAndHoldGesture::QPrivateSignal (0x0x7fad248147e0) 0 empty
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 (int (*)(...))QTapAndHoldGesture::metaObject
+24 (int (*)(...))QTapAndHoldGesture::qt_metacast
+32 (int (*)(...))QTapAndHoldGesture::qt_metacall
+40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x0x7fad29e4b0d0) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16)
+ QGesture (0x0x7fad29e650d0) 0
+ primary-for QTapAndHoldGesture (0x0x7fad29e4b0d0)
+ QObject (0x0x7fad24794900) 0
+ primary-for QGesture (0x0x7fad29e650d0)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 (int (*)(...))QGestureEvent::~QGestureEvent
+24 (int (*)(...))QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=56 align=8
+ base size=56 base align=8
+QGestureEvent (0x0x7fad29e65138) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16)
+ QEvent (0x0x7fad24831480) 0
+ primary-for QGestureEvent (0x0x7fad29e65138)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 0
+24 0
+32 (int (*)(...))QGestureRecognizer::create
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x0x7fad248ed180) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 0
+24 0
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItem::isObscuredBy
+88 (int (*)(...))QGraphicsItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x0x7fad245c1360) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16)
+
+Class QGraphicsObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsObject::QPrivateSignal (0x0x7fad246915a0) 0 empty
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 (int (*)(...))QGraphicsObject::metaObject
+24 (int (*)(...))QGraphicsObject::qt_metacast
+32 (int (*)(...))QGraphicsObject::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))-16
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 0
+136 0
+144 (int (*)(...))QGraphicsItem::advance
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))QGraphicsItem::shape
+168 (int (*)(...))QGraphicsItem::contains
+176 (int (*)(...))QGraphicsItem::collidesWithItem
+184 (int (*)(...))QGraphicsItem::collidesWithPath
+192 (int (*)(...))QGraphicsItem::isObscuredBy
+200 (int (*)(...))QGraphicsItem::opaqueArea
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))QGraphicsItem::type
+224 (int (*)(...))QGraphicsItem::sceneEventFilter
+232 (int (*)(...))QGraphicsItem::sceneEvent
+240 (int (*)(...))QGraphicsItem::contextMenuEvent
+248 (int (*)(...))QGraphicsItem::dragEnterEvent
+256 (int (*)(...))QGraphicsItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsItem::dragMoveEvent
+272 (int (*)(...))QGraphicsItem::dropEvent
+280 (int (*)(...))QGraphicsItem::focusInEvent
+288 (int (*)(...))QGraphicsItem::focusOutEvent
+296 (int (*)(...))QGraphicsItem::hoverEnterEvent
+304 (int (*)(...))QGraphicsItem::hoverMoveEvent
+312 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+320 (int (*)(...))QGraphicsItem::keyPressEvent
+328 (int (*)(...))QGraphicsItem::keyReleaseEvent
+336 (int (*)(...))QGraphicsItem::mousePressEvent
+344 (int (*)(...))QGraphicsItem::mouseMoveEvent
+352 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+368 (int (*)(...))QGraphicsItem::wheelEvent
+376 (int (*)(...))QGraphicsItem::inputMethodEvent
+384 (int (*)(...))QGraphicsItem::inputMethodQuery
+392 (int (*)(...))QGraphicsItem::itemChange
+400 (int (*)(...))QGraphicsItem::supportsExtension
+408 (int (*)(...))QGraphicsItem::setExtension
+416 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x0x7fad2e1d2a80) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16)
+ QObject (0x0x7fad24691240) 0
+ primary-for QGraphicsObject (0x0x7fad2e1d2a80)
+ QGraphicsItem (0x0x7fad24691540) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 0
+24 0
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy
+88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x0x7fad29bcd750) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16)
+ QGraphicsItem (0x0x7fad246e0ba0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7fad29bcd750)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPathItem::boundingRect
+48 (int (*)(...))QGraphicsPathItem::shape
+56 (int (*)(...))QGraphicsPathItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPathItem::isObscuredBy
+88 (int (*)(...))QGraphicsPathItem::opaqueArea
+96 (int (*)(...))QGraphicsPathItem::paint
+104 (int (*)(...))QGraphicsPathItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPathItem::supportsExtension
+296 (int (*)(...))QGraphicsPathItem::setExtension
+304 (int (*)(...))QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x0x7fad29bcd8f0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7fad29bcd958) 0
+ primary-for QGraphicsPathItem (0x0x7fad29bcd8f0)
+ QGraphicsItem (0x0x7fad24701780) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7fad29bcd958)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsRectItem::boundingRect
+48 (int (*)(...))QGraphicsRectItem::shape
+56 (int (*)(...))QGraphicsRectItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsRectItem::isObscuredBy
+88 (int (*)(...))QGraphicsRectItem::opaqueArea
+96 (int (*)(...))QGraphicsRectItem::paint
+104 (int (*)(...))QGraphicsRectItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsRectItem::supportsExtension
+296 (int (*)(...))QGraphicsRectItem::setExtension
+304 (int (*)(...))QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x0x7fad29bcd9c0) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7fad29bec6e8) 0
+ primary-for QGraphicsRectItem (0x0x7fad29bcd9c0)
+ QGraphicsItem (0x0x7fad24701e40) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7fad29bec6e8)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsEllipseItem::boundingRect
+48 (int (*)(...))QGraphicsEllipseItem::shape
+56 (int (*)(...))QGraphicsEllipseItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy
+88 (int (*)(...))QGraphicsEllipseItem::opaqueArea
+96 (int (*)(...))QGraphicsEllipseItem::paint
+104 (int (*)(...))QGraphicsEllipseItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsEllipseItem::supportsExtension
+296 (int (*)(...))QGraphicsEllipseItem::setExtension
+304 (int (*)(...))QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x0x7fad29bec750) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7fad29beca90) 0
+ primary-for QGraphicsEllipseItem (0x0x7fad29bec750)
+ QGraphicsItem (0x0x7fad243e6a20) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7fad29beca90)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPolygonItem::boundingRect
+48 (int (*)(...))QGraphicsPolygonItem::shape
+56 (int (*)(...))QGraphicsPolygonItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy
+88 (int (*)(...))QGraphicsPolygonItem::opaqueArea
+96 (int (*)(...))QGraphicsPolygonItem::paint
+104 (int (*)(...))QGraphicsPolygonItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPolygonItem::supportsExtension
+296 (int (*)(...))QGraphicsPolygonItem::setExtension
+304 (int (*)(...))QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x0x7fad29becaf8) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7fad29c01680) 0
+ primary-for QGraphicsPolygonItem (0x0x7fad29becaf8)
+ QGraphicsItem (0x0x7fad243e6f60) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7fad29c01680)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsLineItem::boundingRect
+48 (int (*)(...))QGraphicsLineItem::shape
+56 (int (*)(...))QGraphicsLineItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsLineItem::isObscuredBy
+88 (int (*)(...))QGraphicsLineItem::opaqueArea
+96 (int (*)(...))QGraphicsLineItem::paint
+104 (int (*)(...))QGraphicsLineItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsLineItem::supportsExtension
+296 (int (*)(...))QGraphicsLineItem::setExtension
+304 (int (*)(...))QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x0x7fad29c016e8) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16)
+ QGraphicsItem (0x0x7fad2440cb40) 0
+ primary-for QGraphicsLineItem (0x0x7fad29c016e8)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPixmapItem::boundingRect
+48 (int (*)(...))QGraphicsPixmapItem::shape
+56 (int (*)(...))QGraphicsPixmapItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy
+88 (int (*)(...))QGraphicsPixmapItem::opaqueArea
+96 (int (*)(...))QGraphicsPixmapItem::paint
+104 (int (*)(...))QGraphicsPixmapItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPixmapItem::supportsExtension
+296 (int (*)(...))QGraphicsPixmapItem::setExtension
+304 (int (*)(...))QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x0x7fad29c017b8) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16)
+ QGraphicsItem (0x0x7fad24428240) 0
+ primary-for QGraphicsPixmapItem (0x0x7fad29c017b8)
+
+Class QGraphicsTextItem::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTextItem::QPrivateSignal (0x0x7fad244999c0) 0 empty
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 (int (*)(...))QGraphicsTextItem::metaObject
+24 (int (*)(...))QGraphicsTextItem::qt_metacast
+32 (int (*)(...))QGraphicsTextItem::qt_metacall
+40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsTextItem::boundingRect
+120 (int (*)(...))QGraphicsTextItem::shape
+128 (int (*)(...))QGraphicsTextItem::contains
+136 (int (*)(...))QGraphicsTextItem::paint
+144 (int (*)(...))QGraphicsTextItem::isObscuredBy
+152 (int (*)(...))QGraphicsTextItem::opaqueArea
+160 (int (*)(...))QGraphicsTextItem::type
+168 (int (*)(...))QGraphicsTextItem::sceneEvent
+176 (int (*)(...))QGraphicsTextItem::mousePressEvent
+184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent
+192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent
+200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent
+208 (int (*)(...))QGraphicsTextItem::contextMenuEvent
+216 (int (*)(...))QGraphicsTextItem::keyPressEvent
+224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent
+232 (int (*)(...))QGraphicsTextItem::focusInEvent
+240 (int (*)(...))QGraphicsTextItem::focusOutEvent
+248 (int (*)(...))QGraphicsTextItem::dragEnterEvent
+256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsTextItem::dragMoveEvent
+272 (int (*)(...))QGraphicsTextItem::dropEvent
+280 (int (*)(...))QGraphicsTextItem::inputMethodEvent
+288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent
+296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent
+304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent
+312 (int (*)(...))QGraphicsTextItem::inputMethodQuery
+320 (int (*)(...))QGraphicsTextItem::supportsExtension
+328 (int (*)(...))QGraphicsTextItem::setExtension
+336 (int (*)(...))QGraphicsTextItem::extension
+344 (int (*)(...))-16
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 (int (*)(...))QGraphicsItem::advance
+384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 (int (*)(...))QGraphicsItem::collidesWithItem
+416 (int (*)(...))QGraphicsItem::collidesWithPath
+424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 (int (*)(...))QGraphicsItem::sceneEventFilter
+464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 (int (*)(...))QGraphicsItem::wheelEvent
+608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 (int (*)(...))QGraphicsItem::itemChange
+632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x0x7fad29c01820) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16)
+ QGraphicsObject (0x0x7fad2e2cbcb0) 0
+ primary-for QGraphicsTextItem (0x0x7fad29c01820)
+ QObject (0x0x7fad244995a0) 0
+ primary-for QGraphicsObject (0x0x7fad2e2cbcb0)
+ QGraphicsItem (0x0x7fad24499960) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect
+48 (int (*)(...))QGraphicsSimpleTextItem::shape
+56 (int (*)(...))QGraphicsSimpleTextItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy
+88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea
+96 (int (*)(...))QGraphicsSimpleTextItem::paint
+104 (int (*)(...))QGraphicsSimpleTextItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension
+296 (int (*)(...))QGraphicsSimpleTextItem::setExtension
+304 (int (*)(...))QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x0x7fad29c19270) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7fad29c192d8) 0
+ primary-for QGraphicsSimpleTextItem (0x0x7fad29c19270)
+ QGraphicsItem (0x0x7fad244da600) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7fad29c192d8)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsItemGroup::boundingRect
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItemGroup::isObscuredBy
+88 (int (*)(...))QGraphicsItemGroup::opaqueArea
+96 (int (*)(...))QGraphicsItemGroup::paint
+104 (int (*)(...))QGraphicsItemGroup::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x0x7fad29c19548) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16)
+ QGraphicsItem (0x0x7fad244f99c0) 0
+ primary-for QGraphicsItemGroup (0x0x7fad29c19548)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 0
+24 0
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins
+48 (int (*)(...))QGraphicsLayoutItem::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x0x7fad2413cf00) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 0
+24 0
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))QGraphicsLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x0x7fad29c26a28) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16)
+ QGraphicsLayoutItem (0x0x7fad2422d660) 0
+ primary-for QGraphicsLayout (0x0x7fad29c26a28)
+
+Class QGraphicsAnchor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsAnchor::QPrivateSignal (0x0x7fad2424c900) 0 empty
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 (int (*)(...))QGraphicsAnchor::metaObject
+24 (int (*)(...))QGraphicsAnchor::qt_metacast
+32 (int (*)(...))QGraphicsAnchor::qt_metacall
+40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x0x7fad29c26a90) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16)
+ QObject (0x0x7fad2424c8a0) 0
+ primary-for QGraphicsAnchor (0x0x7fad29c26a90)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 (int (*)(...))QGraphicsAnchorLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsAnchorLayout::sizeHint
+64 (int (*)(...))QGraphicsAnchorLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsAnchorLayout::count
+88 (int (*)(...))QGraphicsAnchorLayout::itemAt
+96 (int (*)(...))QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x0x7fad29c26c30) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16)
+ QGraphicsLayout (0x0x7fad29c26e38) 0
+ primary-for QGraphicsAnchorLayout (0x0x7fad29c26c30)
+ QGraphicsLayoutItem (0x0x7fad24269d80) 0
+ primary-for QGraphicsLayout (0x0x7fad29c26e38)
+
+Class QGraphicsEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsEffect::QPrivateSignal (0x0x7fad2430bc00) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 (int (*)(...))QGraphicsEffect::metaObject
+24 (int (*)(...))QGraphicsEffect::qt_metacast
+32 (int (*)(...))QGraphicsEffect::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x0x7fad29c26ea0) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16)
+ QObject (0x0x7fad2430b480) 0
+ primary-for QGraphicsEffect (0x0x7fad29c26ea0)
+
+Class QGraphicsColorizeEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsColorizeEffect::QPrivateSignal (0x0x7fad23f09cc0) 0 empty
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 (int (*)(...))QGraphicsColorizeEffect::metaObject
+24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast
+32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall
+40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsColorizeEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x0x7fad29c43f08) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16)
+ QGraphicsEffect (0x0x7fad29c43f70) 0
+ primary-for QGraphicsColorizeEffect (0x0x7fad29c43f08)
+ QObject (0x0x7fad23f09960) 0
+ primary-for QGraphicsEffect (0x0x7fad29c43f70)
+
+Class QGraphicsBlurEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsBlurEffect::QPrivateSignal (0x0x7fad23fa0f00) 0 empty
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 (int (*)(...))QGraphicsBlurEffect::metaObject
+24 (int (*)(...))QGraphicsBlurEffect::qt_metacast
+32 (int (*)(...))QGraphicsBlurEffect::qt_metacall
+40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor
+120 (int (*)(...))QGraphicsBlurEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x0x7fad29c5a340) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16)
+ QGraphicsEffect (0x0x7fad29c5a3a8) 0
+ primary-for QGraphicsBlurEffect (0x0x7fad29c5a340)
+ QObject (0x0x7fad23fa0ae0) 0
+ primary-for QGraphicsEffect (0x0x7fad29c5a3a8)
+
+Class QGraphicsDropShadowEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsDropShadowEffect::QPrivateSignal (0x0x7fad23d5ccc0) 0 empty
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 (int (*)(...))QGraphicsDropShadowEffect::metaObject
+24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast
+32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall
+40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor
+120 (int (*)(...))QGraphicsDropShadowEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x0x7fad29c5add0) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16)
+ QGraphicsEffect (0x0x7fad29c5ae38) 0
+ primary-for QGraphicsDropShadowEffect (0x0x7fad29c5add0)
+ QObject (0x0x7fad23d5cc00) 0
+ primary-for QGraphicsEffect (0x0x7fad29c5ae38)
+
+Class QGraphicsOpacityEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsOpacityEffect::QPrivateSignal (0x0x7fad23d9ec00) 0 empty
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 (int (*)(...))QGraphicsOpacityEffect::metaObject
+24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast
+32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall
+40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsOpacityEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x0x7fad29c761a0) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16)
+ QGraphicsEffect (0x0x7fad29c76208) 0
+ primary-for QGraphicsOpacityEffect (0x0x7fad29c761a0)
+ QObject (0x0x7fad23d9eb40) 0
+ primary-for QGraphicsEffect (0x0x7fad29c76208)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+32 (int (*)(...))QGraphicsGridLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsGridLayout::sizeHint
+64 (int (*)(...))QGraphicsGridLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsGridLayout::count
+88 (int (*)(...))QGraphicsGridLayout::itemAt
+96 (int (*)(...))QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x0x7fad29c8d208) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16)
+ QGraphicsLayout (0x0x7fad29c8d270) 0
+ primary-for QGraphicsGridLayout (0x0x7fad29c8d208)
+ QGraphicsLayoutItem (0x0x7fad23dbd900) 0
+ primary-for QGraphicsLayout (0x0x7fad29c8d270)
+
+Class QGraphicsItemAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsItemAnimation::QPrivateSignal (0x0x7fad23ddc060) 0 empty
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 (int (*)(...))QGraphicsItemAnimation::metaObject
+24 (int (*)(...))QGraphicsItemAnimation::qt_metacast
+32 (int (*)(...))QGraphicsItemAnimation::qt_metacall
+40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep
+120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x0x7fad29c8df70) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16)
+ QObject (0x0x7fad23dbdba0) 0
+ primary-for QGraphicsItemAnimation (0x0x7fad29c8df70)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 (int (*)(...))QGraphicsLinearLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsLinearLayout::sizeHint
+64 (int (*)(...))QGraphicsLinearLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsLinearLayout::count
+88 (int (*)(...))QGraphicsLinearLayout::itemAt
+96 (int (*)(...))QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x0x7fad29cca000) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16)
+ QGraphicsLayout (0x0x7fad29cca1a0) 0
+ primary-for QGraphicsLinearLayout (0x0x7fad29cca000)
+ QGraphicsLayoutItem (0x0x7fad23ddc660) 0
+ primary-for QGraphicsLayout (0x0x7fad29cca1a0)
+
+Class QGraphicsWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsWidget::QPrivateSignal (0x0x7fad23e04780) 0 empty
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 (int (*)(...))QGraphicsWidget::metaObject
+24 (int (*)(...))QGraphicsWidget::qt_metacast
+32 (int (*)(...))QGraphicsWidget::qt_metacall
+40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+56 (int (*)(...))QGraphicsWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsWidget::type
+136 (int (*)(...))QGraphicsWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsWidget::focusInEvent
+256 (int (*)(...))QGraphicsWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsWidget::focusOutEvent
+272 (int (*)(...))QGraphicsWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsWidget::resizeEvent
+304 (int (*)(...))QGraphicsWidget::showEvent
+312 (int (*)(...))QGraphicsWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-16
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 (int (*)(...))QGraphicsItem::advance
+400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 (int (*)(...))QGraphicsItem::contains
+424 (int (*)(...))QGraphicsItem::collidesWithItem
+432 (int (*)(...))QGraphicsItem::collidesWithPath
+440 (int (*)(...))QGraphicsItem::isObscuredBy
+448 (int (*)(...))QGraphicsItem::opaqueArea
+456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 (int (*)(...))QGraphicsItem::sceneEventFilter
+480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 (int (*)(...))QGraphicsItem::contextMenuEvent
+496 (int (*)(...))QGraphicsItem::dragEnterEvent
+504 (int (*)(...))QGraphicsItem::dragLeaveEvent
+512 (int (*)(...))QGraphicsItem::dragMoveEvent
+520 (int (*)(...))QGraphicsItem::dropEvent
+528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 (int (*)(...))QGraphicsItem::hoverEnterEvent
+552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 (int (*)(...))QGraphicsItem::keyPressEvent
+576 (int (*)(...))QGraphicsItem::keyReleaseEvent
+584 (int (*)(...))QGraphicsItem::mousePressEvent
+592 (int (*)(...))QGraphicsItem::mouseMoveEvent
+600 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+616 (int (*)(...))QGraphicsItem::wheelEvent
+624 (int (*)(...))QGraphicsItem::inputMethodEvent
+632 (int (*)(...))QGraphicsItem::inputMethodQuery
+640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 (int (*)(...))QGraphicsItem::supportsExtension
+656 (int (*)(...))QGraphicsItem::setExtension
+664 (int (*)(...))QGraphicsItem::extension
+672 (int (*)(...))-32
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x0x7fad2dd29690) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16)
+ QGraphicsObject (0x0x7fad2dd29770) 0
+ primary-for QGraphicsWidget (0x0x7fad2dd29690)
+ QObject (0x0x7fad23e043c0) 0
+ primary-for QGraphicsObject (0x0x7fad2dd29770)
+ QGraphicsItem (0x0x7fad23e04420) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376)
+ QGraphicsLayoutItem (0x0x7fad23e044e0) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688)
+
+Class QGraphicsProxyWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsProxyWidget::QPrivateSignal (0x0x7fad23e1ee40) 0 empty
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 107 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 (int (*)(...))QGraphicsProxyWidget::metaObject
+24 (int (*)(...))QGraphicsProxyWidget::qt_metacast
+32 (int (*)(...))QGraphicsProxyWidget::qt_metacall
+40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 (int (*)(...))QGraphicsProxyWidget::event
+64 (int (*)(...))QGraphicsProxyWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsProxyWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsProxyWidget::type
+136 (int (*)(...))QGraphicsProxyWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsProxyWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsProxyWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsProxyWidget::focusInEvent
+256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent
+272 (int (*)(...))QGraphicsProxyWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsProxyWidget::resizeEvent
+304 (int (*)(...))QGraphicsProxyWidget::showEvent
+312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent
+368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent
+376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent
+384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent
+392 (int (*)(...))QGraphicsProxyWidget::dropEvent
+400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent
+408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent
+416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent
+424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent
+432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent
+440 (int (*)(...))QGraphicsProxyWidget::wheelEvent
+448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent
+456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery
+472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent
+480 (int (*)(...))-16
+488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+512 (int (*)(...))QGraphicsItem::advance
+520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+536 (int (*)(...))QGraphicsItem::contains
+544 (int (*)(...))QGraphicsItem::collidesWithItem
+552 (int (*)(...))QGraphicsItem::collidesWithPath
+560 (int (*)(...))QGraphicsItem::isObscuredBy
+568 (int (*)(...))QGraphicsItem::opaqueArea
+576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+592 (int (*)(...))QGraphicsItem::sceneEventFilter
+600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent
+752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE
+760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+768 (int (*)(...))QGraphicsItem::supportsExtension
+776 (int (*)(...))QGraphicsItem::setExtension
+784 (int (*)(...))QGraphicsItem::extension
+792 (int (*)(...))-32
+800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+848 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x0x7fad29cca548) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16)
+ QGraphicsWidget (0x0x7fad2dd29e00) 0
+ primary-for QGraphicsProxyWidget (0x0x7fad29cca548)
+ QGraphicsObject (0x0x7fad2dd29ee0) 0
+ primary-for QGraphicsWidget (0x0x7fad2dd29e00)
+ QObject (0x0x7fad23e1e9c0) 0
+ primary-for QGraphicsObject (0x0x7fad2dd29ee0)
+ QGraphicsItem (0x0x7fad23e1ed20) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496)
+ QGraphicsLayoutItem (0x0x7fad23e1ed80) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808)
+
+Class QGraphicsScene::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScene::QPrivateSignal (0x0x7fad23e5b7e0) 0 empty
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 (int (*)(...))QGraphicsScene::metaObject
+24 (int (*)(...))QGraphicsScene::qt_metacast
+32 (int (*)(...))QGraphicsScene::qt_metacall
+40 (int (*)(...))QGraphicsScene::~QGraphicsScene
+48 (int (*)(...))QGraphicsScene::~QGraphicsScene
+56 (int (*)(...))QGraphicsScene::event
+64 (int (*)(...))QGraphicsScene::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScene::inputMethodQuery
+120 (int (*)(...))QGraphicsScene::contextMenuEvent
+128 (int (*)(...))QGraphicsScene::dragEnterEvent
+136 (int (*)(...))QGraphicsScene::dragMoveEvent
+144 (int (*)(...))QGraphicsScene::dragLeaveEvent
+152 (int (*)(...))QGraphicsScene::dropEvent
+160 (int (*)(...))QGraphicsScene::focusInEvent
+168 (int (*)(...))QGraphicsScene::focusOutEvent
+176 (int (*)(...))QGraphicsScene::helpEvent
+184 (int (*)(...))QGraphicsScene::keyPressEvent
+192 (int (*)(...))QGraphicsScene::keyReleaseEvent
+200 (int (*)(...))QGraphicsScene::mousePressEvent
+208 (int (*)(...))QGraphicsScene::mouseMoveEvent
+216 (int (*)(...))QGraphicsScene::mouseReleaseEvent
+224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent
+232 (int (*)(...))QGraphicsScene::wheelEvent
+240 (int (*)(...))QGraphicsScene::inputMethodEvent
+248 (int (*)(...))QGraphicsScene::drawBackground
+256 (int (*)(...))QGraphicsScene::drawForeground
+264 (int (*)(...))QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x0x7fad29ce0000) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16)
+ QObject (0x0x7fad23e5b720) 0
+ primary-for QGraphicsScene (0x0x7fad29ce0000)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x0x7fad29ce0680) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16)
+ QEvent (0x0x7fad23b20360) 0
+ primary-for QGraphicsSceneEvent (0x0x7fad29ce0680)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x0x7fad29ce0a90) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16)
+ QGraphicsSceneEvent (0x0x7fad29ce0af8) 0
+ primary-for QGraphicsSceneMouseEvent (0x0x7fad29ce0a90)
+ QEvent (0x0x7fad23b66000) 0
+ primary-for QGraphicsSceneEvent (0x0x7fad29ce0af8)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x0x7fad29ce0e38) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16)
+ QGraphicsSceneEvent (0x0x7fad29ce0ea0) 0
+ primary-for QGraphicsSceneWheelEvent (0x0x7fad29ce0e38)
+ QEvent (0x0x7fad23b664e0) 0
+ primary-for QGraphicsSceneEvent (0x0x7fad29ce0ea0)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x0x7fad29cf4208) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16)
+ QGraphicsSceneEvent (0x0x7fad29cf4270) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x0x7fad29cf4208)
+ QEvent (0x0x7fad23b667e0) 0
+ primary-for QGraphicsSceneEvent (0x0x7fad29cf4270)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x0x7fad29a93f08) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16)
+ QGraphicsSceneEvent (0x0x7fad29a93f70) 0
+ primary-for QGraphicsSceneHoverEvent (0x0x7fad29a93f08)
+ QEvent (0x0x7fad23b66c00) 0
+ primary-for QGraphicsSceneEvent (0x0x7fad29a93f70)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x0x7fad29ad0208) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16)
+ QGraphicsSceneEvent (0x0x7fad29ad0270) 0
+ primary-for QGraphicsSceneHelpEvent (0x0x7fad29ad0208)
+ QEvent (0x0x7fad23b83ba0) 0
+ primary-for QGraphicsSceneEvent (0x0x7fad29ad0270)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x0x7fad29ad05b0) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16)
+ QGraphicsSceneEvent (0x0x7fad29ad0618) 0
+ primary-for QGraphicsSceneDragDropEvent (0x0x7fad29ad05b0)
+ QEvent (0x0x7fad23bd3660) 0
+ primary-for QGraphicsSceneEvent (0x0x7fad29ad0618)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x0x7fad29af7958) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16)
+ QGraphicsSceneEvent (0x0x7fad29af79c0) 0
+ primary-for QGraphicsSceneResizeEvent (0x0x7fad29af7958)
+ QEvent (0x0x7fad23bf12a0) 0
+ primary-for QGraphicsSceneEvent (0x0x7fad29af79c0)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x0x7fad29af7d00) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16)
+ QGraphicsSceneEvent (0x0x7fad29af7d68) 0
+ primary-for QGraphicsSceneMoveEvent (0x0x7fad29af7d00)
+ QEvent (0x0x7fad23c483c0) 0
+ primary-for QGraphicsSceneEvent (0x0x7fad29af7d68)
+
+Class QGraphicsTransform::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTransform::QPrivateSignal (0x0x7fad23c69000) 0 empty
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 (int (*)(...))QGraphicsTransform::metaObject
+24 (int (*)(...))QGraphicsTransform::qt_metacast
+32 (int (*)(...))QGraphicsTransform::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x0x7fad29b14d68) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16)
+ QObject (0x0x7fad23c48f60) 0
+ primary-for QGraphicsTransform (0x0x7fad29b14d68)
+
+Class QGraphicsScale::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScale::QPrivateSignal (0x0x7fad238af900) 0 empty
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 (int (*)(...))QGraphicsScale::metaObject
+24 (int (*)(...))QGraphicsScale::qt_metacast
+32 (int (*)(...))QGraphicsScale::qt_metacall
+40 (int (*)(...))QGraphicsScale::~QGraphicsScale
+48 (int (*)(...))QGraphicsScale::~QGraphicsScale
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x0x7fad29b14dd0) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16)
+ QGraphicsTransform (0x0x7fad2972b5b0) 0
+ primary-for QGraphicsScale (0x0x7fad29b14dd0)
+ QObject (0x0x7fad238af8a0) 0
+ primary-for QGraphicsTransform (0x0x7fad2972b5b0)
+
+Class QGraphicsRotation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsRotation::QPrivateSignal (0x0x7fad238cdd20) 0 empty
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 (int (*)(...))QGraphicsRotation::metaObject
+24 (int (*)(...))QGraphicsRotation::qt_metacast
+32 (int (*)(...))QGraphicsRotation::qt_metacall
+40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x0x7fad2972b618) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16)
+ QGraphicsTransform (0x0x7fad2972ba90) 0
+ primary-for QGraphicsRotation (0x0x7fad2972b618)
+ QObject (0x0x7fad238cdcc0) 0
+ primary-for QGraphicsTransform (0x0x7fad2972ba90)
+
+Class QScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollArea::QPrivateSignal (0x0x7fad23a31d20) 0 empty
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 68 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 (int (*)(...))QScrollArea::metaObject
+24 (int (*)(...))QScrollArea::qt_metacast
+32 (int (*)(...))QScrollArea::qt_metacall
+40 (int (*)(...))QScrollArea::~QScrollArea
+48 (int (*)(...))QScrollArea::~QScrollArea
+56 (int (*)(...))QScrollArea::event
+64 (int (*)(...))QScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QScrollArea::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QScrollArea::scrollContentsBy
+456 (int (*)(...))QScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QScrollArea (0x0x7fad2972baf8) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16)
+ QAbstractScrollArea (0x0x7fad29745548) 0
+ primary-for QScrollArea (0x0x7fad2972baf8)
+ QFrame (0x0x7fad297455b0) 0
+ primary-for QAbstractScrollArea (0x0x7fad29745548)
+ QWidget (0x0x7fad2db5bd20) 0
+ primary-for QFrame (0x0x7fad297455b0)
+ QObject (0x0x7fad23a31c00) 0
+ primary-for QWidget (0x0x7fad2db5bd20)
+ QPaintDevice (0x0x7fad23a31c60) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480)
+
+Class QGraphicsView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsView::QPrivateSignal (0x0x7fad236b43c0) 0 empty
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 (int (*)(...))QGraphicsView::metaObject
+24 (int (*)(...))QGraphicsView::qt_metacast
+32 (int (*)(...))QGraphicsView::qt_metacall
+40 (int (*)(...))QGraphicsView::~QGraphicsView
+48 (int (*)(...))QGraphicsView::~QGraphicsView
+56 (int (*)(...))QGraphicsView::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QGraphicsView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGraphicsView::mousePressEvent
+176 (int (*)(...))QGraphicsView::mouseReleaseEvent
+184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent
+192 (int (*)(...))QGraphicsView::mouseMoveEvent
+200 (int (*)(...))QGraphicsView::wheelEvent
+208 (int (*)(...))QGraphicsView::keyPressEvent
+216 (int (*)(...))QGraphicsView::keyReleaseEvent
+224 (int (*)(...))QGraphicsView::focusInEvent
+232 (int (*)(...))QGraphicsView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGraphicsView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGraphicsView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QGraphicsView::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QGraphicsView::dragEnterEvent
+320 (int (*)(...))QGraphicsView::dragMoveEvent
+328 (int (*)(...))QGraphicsView::dragLeaveEvent
+336 (int (*)(...))QGraphicsView::dropEvent
+344 (int (*)(...))QGraphicsView::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QGraphicsView::inputMethodEvent
+416 (int (*)(...))QGraphicsView::inputMethodQuery
+424 (int (*)(...))QGraphicsView::focusNextPrevChild
+432 (int (*)(...))QGraphicsView::setupViewport
+440 (int (*)(...))QGraphicsView::viewportEvent
+448 (int (*)(...))QGraphicsView::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QGraphicsView::drawBackground
+472 (int (*)(...))QGraphicsView::drawForeground
+480 (int (*)(...))QGraphicsView::drawItems
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGraphicsView
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsView (0x0x7fad29745c30) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16)
+ QAbstractScrollArea (0x0x7fad29745c98) 0
+ primary-for QGraphicsView (0x0x7fad29745c30)
+ QFrame (0x0x7fad297826e8) 0
+ primary-for QAbstractScrollArea (0x0x7fad29745c98)
+ QWidget (0x0x7fad2dc70000) 0
+ primary-for QFrame (0x0x7fad297826e8)
+ QObject (0x0x7fad23a72600) 0
+ primary-for QWidget (0x0x7fad2dc70000)
+ QPaintDevice (0x0x7fad23a72660) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504)
+
+Class QGroupBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGroupBox::QPrivateSignal (0x0x7fad232c1060) 0 empty
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 (int (*)(...))QGroupBox::metaObject
+24 (int (*)(...))QGroupBox::qt_metacast
+32 (int (*)(...))QGroupBox::qt_metacall
+40 (int (*)(...))QGroupBox::~QGroupBox
+48 (int (*)(...))QGroupBox::~QGroupBox
+56 (int (*)(...))QGroupBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QGroupBox::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QGroupBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGroupBox::mousePressEvent
+176 (int (*)(...))QGroupBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QGroupBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QGroupBox::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGroupBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGroupBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QGroupBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QGroupBox)
+448 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGroupBox
+ size=48 align=8
+ base size=48 base align=8
+QGroupBox (0x0x7fad29810b60) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16)
+ QWidget (0x0x7fad2dccb930) 0
+ primary-for QGroupBox (0x0x7fad29810b60)
+ QObject (0x0x7fad232a9cc0) 0
+ primary-for QWidget (0x0x7fad2dccb930)
+ QPaintDevice (0x0x7fad232a9d20) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 448)
+
+Class QHeaderView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHeaderView::QPrivateSignal (0x0x7fad232e3480) 0 empty
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 108 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 (int (*)(...))QHeaderView::metaObject
+24 (int (*)(...))QHeaderView::qt_metacast
+32 (int (*)(...))QHeaderView::qt_metacall
+40 (int (*)(...))QHeaderView::~QHeaderView
+48 (int (*)(...))QHeaderView::~QHeaderView
+56 (int (*)(...))QHeaderView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QHeaderView::setVisible
+128 (int (*)(...))QHeaderView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QHeaderView::mousePressEvent
+176 (int (*)(...))QHeaderView::mouseReleaseEvent
+184 (int (*)(...))QHeaderView::mouseDoubleClickEvent
+192 (int (*)(...))QHeaderView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QHeaderView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QHeaderView::viewportEvent
+448 (int (*)(...))QHeaderView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QHeaderView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QHeaderView::visualRect
+496 (int (*)(...))QHeaderView::scrollTo
+504 (int (*)(...))QHeaderView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QHeaderView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QHeaderView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QHeaderView::dataChanged
+568 (int (*)(...))QHeaderView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QHeaderView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QHeaderView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QHeaderView::moveCursor
+688 (int (*)(...))QHeaderView::horizontalOffset
+696 (int (*)(...))QHeaderView::verticalOffset
+704 (int (*)(...))QHeaderView::isIndexHidden
+712 (int (*)(...))QHeaderView::setSelection
+720 (int (*)(...))QHeaderView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QHeaderView::paintSection
+776 (int (*)(...))QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QHeaderView
+ size=48 align=8
+ base size=48 base align=8
+QHeaderView (0x0x7fad29810f08) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16)
+ QAbstractItemView (0x0x7fad29810f70) 0
+ primary-for QHeaderView (0x0x7fad29810f08)
+ QAbstractScrollArea (0x0x7fad298d61a0) 0
+ primary-for QAbstractItemView (0x0x7fad29810f70)
+ QFrame (0x0x7fad298d6208) 0
+ primary-for QAbstractScrollArea (0x0x7fad298d61a0)
+ QWidget (0x0x7fad2dccb9a0) 0
+ primary-for QFrame (0x0x7fad298d6208)
+ QObject (0x0x7fad232e31e0) 0
+ primary-for QWidget (0x0x7fad2dccb9a0)
+ QPaintDevice (0x0x7fad232e3240) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800)
+
+Class QLineEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLineEdit::QPrivateSignal (0x0x7fad2340b600) 0 empty
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 (int (*)(...))QLineEdit::metaObject
+24 (int (*)(...))QLineEdit::qt_metacast
+32 (int (*)(...))QLineEdit::qt_metacall
+40 (int (*)(...))QLineEdit::~QLineEdit
+48 (int (*)(...))QLineEdit::~QLineEdit
+56 (int (*)(...))QLineEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLineEdit::sizeHint
+136 (int (*)(...))QLineEdit::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLineEdit::mousePressEvent
+176 (int (*)(...))QLineEdit::mouseReleaseEvent
+184 (int (*)(...))QLineEdit::mouseDoubleClickEvent
+192 (int (*)(...))QLineEdit::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLineEdit::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLineEdit::focusInEvent
+232 (int (*)(...))QLineEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLineEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLineEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QLineEdit::dragEnterEvent
+320 (int (*)(...))QLineEdit::dragMoveEvent
+328 (int (*)(...))QLineEdit::dragLeaveEvent
+336 (int (*)(...))QLineEdit::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLineEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QLineEdit::inputMethodEvent
+416 (int (*)(...))QLineEdit::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QLineEdit)
+448 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev
+456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLineEdit
+ size=48 align=8
+ base size=48 base align=8
+QLineEdit (0x0x7fad295915b0) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16)
+ QWidget (0x0x7fad2d945700) 0
+ primary-for QLineEdit (0x0x7fad295915b0)
+ QObject (0x0x7fad2340b060) 0
+ primary-for QWidget (0x0x7fad2d945700)
+ QPaintDevice (0x0x7fad2340b0c0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 448)
+
+Class QInputDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputDialog::QPrivateSignal (0x0x7fad23457420) 0 empty
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 (int (*)(...))QInputDialog::metaObject
+24 (int (*)(...))QInputDialog::qt_metacast
+32 (int (*)(...))QInputDialog::qt_metacall
+40 (int (*)(...))QInputDialog::~QInputDialog
+48 (int (*)(...))QInputDialog::~QInputDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QInputDialog::setVisible
+128 (int (*)(...))QInputDialog::sizeHint
+136 (int (*)(...))QInputDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QInputDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QInputDialog
+ size=48 align=8
+ base size=48 base align=8
+QInputDialog (0x0x7fad295bc270) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16)
+ QDialog (0x0x7fad295bc2d8) 0
+ primary-for QInputDialog (0x0x7fad295bc270)
+ QWidget (0x0x7fad2d945af0) 0
+ primary-for QDialog (0x0x7fad295bc2d8)
+ QObject (0x0x7fad23457180) 0
+ primary-for QWidget (0x0x7fad2d945af0)
+ QPaintDevice (0x0x7fad234573c0) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488)
+
+Class QItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemDelegate::QPrivateSignal (0x0x7fad22f39540) 0 empty
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 (int (*)(...))QItemDelegate::metaObject
+24 (int (*)(...))QItemDelegate::qt_metacast
+32 (int (*)(...))QItemDelegate::qt_metacall
+40 (int (*)(...))QItemDelegate::~QItemDelegate
+48 (int (*)(...))QItemDelegate::~QItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemDelegate::paint
+120 (int (*)(...))QItemDelegate::sizeHint
+128 (int (*)(...))QItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QItemDelegate::setEditorData
+152 (int (*)(...))QItemDelegate::setModelData
+160 (int (*)(...))QItemDelegate::updateEditorGeometry
+168 (int (*)(...))QItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QItemDelegate::drawDisplay
+200 (int (*)(...))QItemDelegate::drawDecoration
+208 (int (*)(...))QItemDelegate::drawFocus
+216 (int (*)(...))QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x0x7fad295bcf70) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16)
+ QAbstractItemDelegate (0x0x7fad295de000) 0
+ primary-for QItemDelegate (0x0x7fad295bcf70)
+ QObject (0x0x7fad22f169c0) 0
+ primary-for QAbstractItemDelegate (0x0x7fad295de000)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x0x7fad22f9e420) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+32 (int (*)(...))QItemEditorFactory::createEditor
+40 (int (*)(...))QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x0x7fad230276c0) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16)
+
+Class QKeyEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeyEventTransition::QPrivateSignal (0x0x7fad22ce7300) 0 empty
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 (int (*)(...))QKeyEventTransition::metaObject
+24 (int (*)(...))QKeyEventTransition::qt_metacast
+32 (int (*)(...))QKeyEventTransition::qt_metacall
+40 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+48 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QKeyEventTransition::eventTest
+120 (int (*)(...))QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x0x7fad2937e068) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16)
+ QEventTransition (0x0x7fad2937e0d0) 0
+ primary-for QKeyEventTransition (0x0x7fad2937e068)
+ QAbstractTransition (0x0x7fad2937e270) 0
+ primary-for QEventTransition (0x0x7fad2937e0d0)
+ QObject (0x0x7fad22ca2cc0) 0
+ primary-for QAbstractTransition (0x0x7fad2937e270)
+
+Class QKeySequenceEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeySequenceEdit::QPrivateSignal (0x0x7fad22d085a0) 0 empty
+
+Vtable for QKeySequenceEdit
+QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+16 (int (*)(...))QKeySequenceEdit::metaObject
+24 (int (*)(...))QKeySequenceEdit::qt_metacast
+32 (int (*)(...))QKeySequenceEdit::qt_metacall
+40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+56 (int (*)(...))QKeySequenceEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QKeySequenceEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QKeySequenceEdit::keyPressEvent
+216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev
+456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QKeySequenceEdit
+ size=48 align=8
+ base size=48 base align=8
+QKeySequenceEdit (0x0x7fad2937e9c0) 0
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16)
+ QWidget (0x0x7fad2da73a10) 0
+ primary-for QKeySequenceEdit (0x0x7fad2937e9c0)
+ QObject (0x0x7fad22ce7f60) 0
+ primary-for QWidget (0x0x7fad2da73a10)
+ QPaintDevice (0x0x7fad22d08540) 16
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448)
+
+Class QLabel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLabel::QPrivateSignal (0x0x7fad225388a0) 0 empty
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 (int (*)(...))QLabel::metaObject
+24 (int (*)(...))QLabel::qt_metacast
+32 (int (*)(...))QLabel::qt_metacall
+40 (int (*)(...))QLabel::~QLabel
+48 (int (*)(...))QLabel::~QLabel
+56 (int (*)(...))QLabel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLabel::sizeHint
+136 (int (*)(...))QLabel::minimumSizeHint
+144 (int (*)(...))QLabel::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLabel::mousePressEvent
+176 (int (*)(...))QLabel::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QLabel::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLabel::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLabel::focusInEvent
+232 (int (*)(...))QLabel::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLabel::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLabel::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLabel::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QLabel::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QLabel)
+448 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev
+456 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLabel
+ size=48 align=8
+ base size=48 base align=8
+QLabel (0x0x7fad2937ea28) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16)
+ QFrame (0x0x7fad2937eea0) 0
+ primary-for QLabel (0x0x7fad2937ea28)
+ QWidget (0x0x7fad2da73cb0) 0
+ primary-for QFrame (0x0x7fad2937eea0)
+ QObject (0x0x7fad22538120) 0
+ primary-for QWidget (0x0x7fad2da73cb0)
+ QPaintDevice (0x0x7fad22538180) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 448)
+
+Class QLCDNumber::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLCDNumber::QPrivateSignal (0x0x7fad225533c0) 0 empty
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 (int (*)(...))QLCDNumber::metaObject
+24 (int (*)(...))QLCDNumber::qt_metacast
+32 (int (*)(...))QLCDNumber::qt_metacall
+40 (int (*)(...))QLCDNumber::~QLCDNumber
+48 (int (*)(...))QLCDNumber::~QLCDNumber
+56 (int (*)(...))QLCDNumber::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLCDNumber::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLCDNumber::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QLCDNumber)
+448 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLCDNumber
+ size=48 align=8
+ base size=48 base align=8
+QLCDNumber (0x0x7fad2937ef08) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16)
+ QFrame (0x0x7fad293960d0) 0
+ primary-for QLCDNumber (0x0x7fad2937ef08)
+ QWidget (0x0x7fad2db05bd0) 0
+ primary-for QFrame (0x0x7fad293960d0)
+ QObject (0x0x7fad22553060) 0
+ primary-for QWidget (0x0x7fad2db05bd0)
+ QPaintDevice (0x0x7fad225530c0) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 448)
+
+Class QListView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListView::QPrivateSignal (0x0x7fad220f0600) 0 empty
+
+Vtable for QListView
+QListView::_ZTV9QListView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 (int (*)(...))QListView::metaObject
+24 (int (*)(...))QListView::qt_metacast
+32 (int (*)(...))QListView::qt_metacall
+40 (int (*)(...))QListView::~QListView
+48 (int (*)(...))QListView::~QListView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QListView)
+784 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev
+792 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListView
+ size=48 align=8
+ base size=48 base align=8
+QListView (0x0x7fad293962d8) 0
+ vptr=((& QListView::_ZTV9QListView) + 16)
+ QAbstractItemView (0x0x7fad29396548) 0
+ primary-for QListView (0x0x7fad293962d8)
+ QAbstractScrollArea (0x0x7fad2946f9c0) 0
+ primary-for QAbstractItemView (0x0x7fad29396548)
+ QFrame (0x0x7fad2946fa28) 0
+ primary-for QAbstractScrollArea (0x0x7fad2946f9c0)
+ QWidget (0x0x7fad2db05150) 0
+ primary-for QFrame (0x0x7fad2946fa28)
+ QObject (0x0x7fad220bda20) 0
+ primary-for QWidget (0x0x7fad2db05150)
+ QPaintDevice (0x0x7fad220bdf60) 16
+ vptr=((& QListView::_ZTV9QListView) + 784)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 (int (*)(...))QListWidgetItem::~QListWidgetItem
+24 (int (*)(...))QListWidgetItem::~QListWidgetItem
+32 (int (*)(...))QListWidgetItem::clone
+40 (int (*)(...))QListWidgetItem::setBackgroundColor
+48 (int (*)(...))QListWidgetItem::data
+56 (int (*)(...))QListWidgetItem::setData
+64 (int (*)(...))QListWidgetItem::operator<
+72 (int (*)(...))QListWidgetItem::read
+80 (int (*)(...))QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x0x7fad22000360) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16)
+
+Class QListWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListWidget::QPrivateSignal (0x0x7fad21c2df00) 0 empty
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 110 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 (int (*)(...))QListWidget::metaObject
+24 (int (*)(...))QListWidget::qt_metacast
+32 (int (*)(...))QListWidget::qt_metacall
+40 (int (*)(...))QListWidget::~QListWidget
+48 (int (*)(...))QListWidget::~QListWidget
+56 (int (*)(...))QListWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QListWidget::setModel
+472 (int (*)(...))QListWidget::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))QListWidget::mimeTypes
+776 (int (*)(...))QListWidget::mimeData
+784 (int (*)(...))QListWidget::dropMimeData
+792 (int (*)(...))QListWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListWidget
+ size=48 align=8
+ base size=48 base align=8
+QListWidget (0x0x7fad29509d00) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16)
+ QListView (0x0x7fad29509d68) 0
+ primary-for QListWidget (0x0x7fad29509d00)
+ QAbstractItemView (0x0x7fad29509f08) 0
+ primary-for QListView (0x0x7fad29509d68)
+ QAbstractScrollArea (0x0x7fad291410d0) 0
+ primary-for QAbstractItemView (0x0x7fad29509f08)
+ QFrame (0x0x7fad29141138) 0
+ primary-for QAbstractScrollArea (0x0x7fad291410d0)
+ QWidget (0x0x7fad2d5cb700) 0
+ primary-for QFrame (0x0x7fad29141138)
+ QObject (0x0x7fad21c2d5a0) 0
+ primary-for QWidget (0x0x7fad2d5cb700)
+ QPaintDevice (0x0x7fad21c2dea0) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816)
+
+Class QMainWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMainWindow::QPrivateSignal (0x0x7fad21c906c0) 0 empty
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 (int (*)(...))QMainWindow::metaObject
+24 (int (*)(...))QMainWindow::qt_metacast
+32 (int (*)(...))QMainWindow::qt_metacall
+40 (int (*)(...))QMainWindow::~QMainWindow
+48 (int (*)(...))QMainWindow::~QMainWindow
+56 (int (*)(...))QMainWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QMainWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMainWindow::createPopupMenu
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI11QMainWindow)
+456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev
+464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMainWindow
+ size=48 align=8
+ base size=48 base align=8
+QMainWindow (0x0x7fad291412d8) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16)
+ QWidget (0x0x7fad2d5cb9a0) 0
+ primary-for QMainWindow (0x0x7fad291412d8)
+ QObject (0x0x7fad21c90540) 0
+ primary-for QWidget (0x0x7fad2d5cb9a0)
+ QPaintDevice (0x0x7fad21c90600) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 456)
+
+Class QMdiArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiArea::QPrivateSignal (0x0x7fad2170aa80) 0 empty
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 68 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 (int (*)(...))QMdiArea::metaObject
+24 (int (*)(...))QMdiArea::qt_metacast
+32 (int (*)(...))QMdiArea::qt_metacall
+40 (int (*)(...))QMdiArea::~QMdiArea
+48 (int (*)(...))QMdiArea::~QMdiArea
+56 (int (*)(...))QMdiArea::event
+64 (int (*)(...))QMdiArea::eventFilter
+72 (int (*)(...))QMdiArea::timerEvent
+80 (int (*)(...))QMdiArea::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiArea::sizeHint
+136 (int (*)(...))QMdiArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QMdiArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMdiArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QMdiArea::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMdiArea::setupViewport
+440 (int (*)(...))QMdiArea::viewportEvent
+448 (int (*)(...))QMdiArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiArea
+ size=48 align=8
+ base size=48 base align=8
+QMdiArea (0x0x7fad29141c98) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16)
+ QAbstractScrollArea (0x0x7fad29141d00) 0
+ primary-for QMdiArea (0x0x7fad29141c98)
+ QFrame (0x0x7fad29141ea0) 0
+ primary-for QAbstractScrollArea (0x0x7fad29141d00)
+ QWidget (0x0x7fad2d6925b0) 0
+ primary-for QFrame (0x0x7fad29141ea0)
+ QObject (0x0x7fad2170a4e0) 0
+ primary-for QWidget (0x0x7fad2d6925b0)
+ QPaintDevice (0x0x7fad2170aa20) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480)
+
+Class QMdiSubWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiSubWindow::QPrivateSignal (0x0x7fad236c0240) 0 empty
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 (int (*)(...))QMdiSubWindow::metaObject
+24 (int (*)(...))QMdiSubWindow::qt_metacast
+32 (int (*)(...))QMdiSubWindow::qt_metacall
+40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+56 (int (*)(...))QMdiSubWindow::event
+64 (int (*)(...))QMdiSubWindow::eventFilter
+72 (int (*)(...))QMdiSubWindow::timerEvent
+80 (int (*)(...))QMdiSubWindow::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiSubWindow::sizeHint
+136 (int (*)(...))QMdiSubWindow::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMdiSubWindow::mousePressEvent
+176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent
+184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent
+192 (int (*)(...))QMdiSubWindow::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMdiSubWindow::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMdiSubWindow::focusInEvent
+232 (int (*)(...))QMdiSubWindow::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMdiSubWindow::leaveEvent
+256 (int (*)(...))QMdiSubWindow::paintEvent
+264 (int (*)(...))QMdiSubWindow::moveEvent
+272 (int (*)(...))QMdiSubWindow::resizeEvent
+280 (int (*)(...))QMdiSubWindow::closeEvent
+288 (int (*)(...))QMdiSubWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMdiSubWindow::showEvent
+352 (int (*)(...))QMdiSubWindow::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMdiSubWindow::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI13QMdiSubWindow)
+448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiSubWindow
+ size=48 align=8
+ base size=48 base align=8
+QMdiSubWindow (0x0x7fad29155750) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16)
+ QWidget (0x0x7fad2d6c50e0) 0
+ primary-for QMdiSubWindow (0x0x7fad29155750)
+ QObject (0x0x7fad236c0180) 0
+ primary-for QWidget (0x0x7fad2d6c50e0)
+ QPaintDevice (0x0x7fad236c01e0) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448)
+
+Class QMenu::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenu::QPrivateSignal (0x0x7fad236c0c00) 0 empty
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 (int (*)(...))QMenu::metaObject
+24 (int (*)(...))QMenu::qt_metacast
+32 (int (*)(...))QMenu::qt_metacall
+40 (int (*)(...))QMenu::~QMenu
+48 (int (*)(...))QMenu::~QMenu
+56 (int (*)(...))QMenu::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QMenu::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMenu::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenu::mousePressEvent
+176 (int (*)(...))QMenu::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenu::mouseMoveEvent
+200 (int (*)(...))QMenu::wheelEvent
+208 (int (*)(...))QMenu::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QMenu::enterEvent
+248 (int (*)(...))QMenu::leaveEvent
+256 (int (*)(...))QMenu::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenu::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QMenu::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenu::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QMenu::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI5QMenu)
+448 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev
+456 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenu
+ size=48 align=8
+ base size=48 base align=8
+QMenu (0x0x7fad29155b60) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16)
+ QWidget (0x0x7fad2d6c5af0) 0
+ primary-for QMenu (0x0x7fad29155b60)
+ QObject (0x0x7fad236c0b40) 0
+ primary-for QWidget (0x0x7fad2d6c5af0)
+ QPaintDevice (0x0x7fad236c0ba0) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 448)
+
+Class QMenuBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenuBar::QPrivateSignal (0x0x7fad2f0cc060) 0 empty
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 (int (*)(...))QMenuBar::metaObject
+24 (int (*)(...))QMenuBar::qt_metacast
+32 (int (*)(...))QMenuBar::qt_metacall
+40 (int (*)(...))QMenuBar::~QMenuBar
+48 (int (*)(...))QMenuBar::~QMenuBar
+56 (int (*)(...))QMenuBar::event
+64 (int (*)(...))QMenuBar::eventFilter
+72 (int (*)(...))QMenuBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QMenuBar::setVisible
+128 (int (*)(...))QMenuBar::sizeHint
+136 (int (*)(...))QMenuBar::minimumSizeHint
+144 (int (*)(...))QMenuBar::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenuBar::mousePressEvent
+176 (int (*)(...))QMenuBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenuBar::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMenuBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMenuBar::focusInEvent
+232 (int (*)(...))QMenuBar::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMenuBar::leaveEvent
+256 (int (*)(...))QMenuBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMenuBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenuBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenuBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QMenuBar)
+448 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev
+456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenuBar
+ size=48 align=8
+ base size=48 base align=8
+QMenuBar (0x0x7fad29155ea0) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16)
+ QWidget (0x0x7fad2d6c5b60) 0
+ primary-for QMenuBar (0x0x7fad29155ea0)
+ QObject (0x0x7fad236c0f60) 0
+ primary-for QWidget (0x0x7fad2d6c5b60)
+ QPaintDevice (0x0x7fad2f0cc000) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 448)
+
+Class QMessageBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMessageBox::QPrivateSignal (0x0x7fad2f0cc3c0) 0 empty
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 (int (*)(...))QMessageBox::metaObject
+24 (int (*)(...))QMessageBox::qt_metacast
+32 (int (*)(...))QMessageBox::qt_metacall
+40 (int (*)(...))QMessageBox::~QMessageBox
+48 (int (*)(...))QMessageBox::~QMessageBox
+56 (int (*)(...))QMessageBox::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMessageBox::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMessageBox::resizeEvent
+280 (int (*)(...))QMessageBox::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMessageBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMessageBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMessageBox
+ size=48 align=8
+ base size=48 base align=8
+QMessageBox (0x0x7fad29155f08) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16)
+ QDialog (0x0x7fad2916b618) 0
+ primary-for QMessageBox (0x0x7fad29155f08)
+ QWidget (0x0x7fad2d6c5cb0) 0
+ primary-for QDialog (0x0x7fad2916b618)
+ QObject (0x0x7fad2f0cc300) 0
+ primary-for QWidget (0x0x7fad2d6c5cb0)
+ QPaintDevice (0x0x7fad2f0cc360) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488)
+
+Class QMouseEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMouseEventTransition::QPrivateSignal (0x0x7fad2bc4e000) 0 empty
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 (int (*)(...))QMouseEventTransition::metaObject
+24 (int (*)(...))QMouseEventTransition::qt_metacast
+32 (int (*)(...))QMouseEventTransition::qt_metacall
+40 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+48 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMouseEventTransition::eventTest
+120 (int (*)(...))QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x0x7fad2916bea0) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16)
+ QEventTransition (0x0x7fad291fa340) 0
+ primary-for QMouseEventTransition (0x0x7fad2916bea0)
+ QAbstractTransition (0x0x7fad291fa3a8) 0
+ primary-for QEventTransition (0x0x7fad291fa340)
+ QObject (0x0x7fad2f0ccf60) 0
+ primary-for QAbstractTransition (0x0x7fad291fa3a8)
+
+Class QOpenGLWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWidget::QPrivateSignal (0x0x7fad2bc4e2a0) 0 empty
+
+Vtable for QOpenGLWidget
+QOpenGLWidget::_ZTV13QOpenGLWidget: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWidget)
+16 (int (*)(...))QOpenGLWidget::metaObject
+24 (int (*)(...))QOpenGLWidget::qt_metacast
+32 (int (*)(...))QOpenGLWidget::qt_metacall
+40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+56 (int (*)(...))QOpenGLWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QOpenGLWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QOpenGLWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QOpenGLWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QOpenGLWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QOpenGLWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QOpenGLWidget::initializeGL
+440 (int (*)(...))QOpenGLWidget::resizeGL
+448 (int (*)(...))QOpenGLWidget::paintGL
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI13QOpenGLWidget)
+472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev
+480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv
+504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QOpenGLWidget
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLWidget (0x0x7fad291fadd0) 0
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16)
+ QWidget (0x0x7fad2d449d90) 0
+ primary-for QOpenGLWidget (0x0x7fad291fadd0)
+ QObject (0x0x7fad2bc4e1e0) 0
+ primary-for QWidget (0x0x7fad2d449d90)
+ QPaintDevice (0x0x7fad2bc4e240) 16
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472)
+
+Class QTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextEdit::QPrivateSignal (0x0x7fad2bc4e540) 0 empty
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x0x7fad2bc4e5a0) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 (int (*)(...))QTextEdit::metaObject
+24 (int (*)(...))QTextEdit::qt_metacast
+32 (int (*)(...))QTextEdit::qt_metacall
+40 (int (*)(...))QTextEdit::~QTextEdit
+48 (int (*)(...))QTextEdit::~QTextEdit
+56 (int (*)(...))QTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextEdit::mousePressEvent
+176 (int (*)(...))QTextEdit::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextEdit::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextEdit::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextEdit::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI9QTextEdit)
+520 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev
+528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QTextEdit (0x0x7fad292124e0) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16)
+ QAbstractScrollArea (0x0x7fad29212548) 0
+ primary-for QTextEdit (0x0x7fad292124e0)
+ QFrame (0x0x7fad29264068) 0
+ primary-for QAbstractScrollArea (0x0x7fad29212548)
+ QWidget (0x0x7fad2d4cc070) 0
+ primary-for QFrame (0x0x7fad29264068)
+ QObject (0x0x7fad2bc4e480) 0
+ primary-for QWidget (0x0x7fad2d4cc070)
+ QPaintDevice (0x0x7fad2bc4e4e0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 520)
+
+Class QPlainTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextEdit::QPrivateSignal (0x0x7fad2a142240) 0 empty
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 (int (*)(...))QPlainTextEdit::metaObject
+24 (int (*)(...))QPlainTextEdit::qt_metacast
+32 (int (*)(...))QPlainTextEdit::qt_metacall
+40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+56 (int (*)(...))QPlainTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QPlainTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QPlainTextEdit::mousePressEvent
+176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent
+184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QPlainTextEdit::mouseMoveEvent
+200 (int (*)(...))QPlainTextEdit::wheelEvent
+208 (int (*)(...))QPlainTextEdit::keyPressEvent
+216 (int (*)(...))QPlainTextEdit::keyReleaseEvent
+224 (int (*)(...))QPlainTextEdit::focusInEvent
+232 (int (*)(...))QPlainTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPlainTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QPlainTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QPlainTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QPlainTextEdit::dragEnterEvent
+320 (int (*)(...))QPlainTextEdit::dragMoveEvent
+328 (int (*)(...))QPlainTextEdit::dragLeaveEvent
+336 (int (*)(...))QPlainTextEdit::dropEvent
+344 (int (*)(...))QPlainTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QPlainTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QPlainTextEdit::inputMethodEvent
+416 (int (*)(...))QPlainTextEdit::inputMethodQuery
+424 (int (*)(...))QPlainTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QPlainTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QPlainTextEdit::loadResource
+472 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QPlainTextEdit::canInsertFromMimeData
+488 (int (*)(...))QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))QPlainTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI14QPlainTextEdit)
+520 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPlainTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QPlainTextEdit (0x0x7fad29264478) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16)
+ QAbstractScrollArea (0x0x7fad292644e0) 0
+ primary-for QPlainTextEdit (0x0x7fad29264478)
+ QFrame (0x0x7fad2927e3a8) 0
+ primary-for QAbstractScrollArea (0x0x7fad292644e0)
+ QWidget (0x0x7fad2d4ec310) 0
+ primary-for QFrame (0x0x7fad2927e3a8)
+ QObject (0x0x7fad2a142180) 0
+ primary-for QWidget (0x0x7fad2d4ec310)
+ QPaintDevice (0x0x7fad2a1421e0) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 520)
+
+Class QPlainTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextDocumentLayout::QPrivateSignal (0x0x7fad2a1427e0) 0 empty
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 (int (*)(...))QPlainTextDocumentLayout::metaObject
+24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast
+32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall
+40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPlainTextDocumentLayout::draw
+120 (int (*)(...))QPlainTextDocumentLayout::hitTest
+128 (int (*)(...))QPlainTextDocumentLayout::pageCount
+136 (int (*)(...))QPlainTextDocumentLayout::documentSize
+144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect
+152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect
+160 (int (*)(...))QPlainTextDocumentLayout::documentChanged
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x0x7fad2927e410) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16)
+ QAbstractTextDocumentLayout (0x0x7fad2928cea0) 0
+ primary-for QPlainTextDocumentLayout (0x0x7fad2927e410)
+ QObject (0x0x7fad2a142780) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7fad2928cea0)
+
+Class QProgressBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressBar::QPrivateSignal (0x0x7fad2a142a80) 0 empty
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 (int (*)(...))QProgressBar::metaObject
+24 (int (*)(...))QProgressBar::qt_metacast
+32 (int (*)(...))QProgressBar::qt_metacall
+40 (int (*)(...))QProgressBar::~QProgressBar
+48 (int (*)(...))QProgressBar::~QProgressBar
+56 (int (*)(...))QProgressBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QProgressBar::sizeHint
+136 (int (*)(...))QProgressBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QProgressBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QProgressBar::text
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI12QProgressBar)
+456 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev
+464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressBar
+ size=48 align=8
+ base size=48 base align=8
+QProgressBar (0x0x7fad2928cf08) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16)
+ QWidget (0x0x7fad2d4ec7e0) 0
+ primary-for QProgressBar (0x0x7fad2928cf08)
+ QObject (0x0x7fad2a1429c0) 0
+ primary-for QWidget (0x0x7fad2d4ec7e0)
+ QPaintDevice (0x0x7fad2a142a20) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 456)
+
+Class QProgressDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressDialog::QPrivateSignal (0x0x7fad2a142de0) 0 empty
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 (int (*)(...))QProgressDialog::metaObject
+24 (int (*)(...))QProgressDialog::qt_metacast
+32 (int (*)(...))QProgressDialog::qt_metacall
+40 (int (*)(...))QProgressDialog::~QProgressDialog
+48 (int (*)(...))QProgressDialog::~QProgressDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QProgressDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QProgressDialog::resizeEvent
+280 (int (*)(...))QProgressDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QProgressDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QProgressDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressDialog
+ size=48 align=8
+ base size=48 base align=8
+QProgressDialog (0x0x7fad292a7340) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16)
+ QDialog (0x0x7fad292a73a8) 0
+ primary-for QProgressDialog (0x0x7fad292a7340)
+ QWidget (0x0x7fad2d4eca10) 0
+ primary-for QDialog (0x0x7fad292a73a8)
+ QObject (0x0x7fad2a142d20) 0
+ primary-for QWidget (0x0x7fad2d4eca10)
+ QPaintDevice (0x0x7fad2a142d80) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488)
+
+Class QProxyStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProxyStyle::QPrivateSignal (0x0x7fad28d29060) 0 empty
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 37 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 (int (*)(...))QProxyStyle::metaObject
+24 (int (*)(...))QProxyStyle::qt_metacast
+32 (int (*)(...))QProxyStyle::qt_metacall
+40 (int (*)(...))QProxyStyle::~QProxyStyle
+48 (int (*)(...))QProxyStyle::~QProxyStyle
+56 (int (*)(...))QProxyStyle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProxyStyle::polish
+120 (int (*)(...))QProxyStyle::unpolish
+128 (int (*)(...))QProxyStyle::polish
+136 (int (*)(...))QProxyStyle::unpolish
+144 (int (*)(...))QProxyStyle::polish
+152 (int (*)(...))QProxyStyle::itemTextRect
+160 (int (*)(...))QProxyStyle::itemPixmapRect
+168 (int (*)(...))QProxyStyle::drawItemText
+176 (int (*)(...))QProxyStyle::drawItemPixmap
+184 (int (*)(...))QProxyStyle::standardPalette
+192 (int (*)(...))QProxyStyle::drawPrimitive
+200 (int (*)(...))QProxyStyle::drawControl
+208 (int (*)(...))QProxyStyle::subElementRect
+216 (int (*)(...))QProxyStyle::drawComplexControl
+224 (int (*)(...))QProxyStyle::hitTestComplexControl
+232 (int (*)(...))QProxyStyle::subControlRect
+240 (int (*)(...))QProxyStyle::pixelMetric
+248 (int (*)(...))QProxyStyle::sizeFromContents
+256 (int (*)(...))QProxyStyle::styleHint
+264 (int (*)(...))QProxyStyle::standardPixmap
+272 (int (*)(...))QProxyStyle::standardIcon
+280 (int (*)(...))QProxyStyle::generatedIconPixmap
+288 (int (*)(...))QProxyStyle::layoutSpacing
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x0x7fad292a7680) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16)
+ QCommonStyle (0x0x7fad292a76e8) 0
+ primary-for QProxyStyle (0x0x7fad292a7680)
+ QStyle (0x0x7fad292a7888) 0
+ primary-for QCommonStyle (0x0x7fad292a76e8)
+ QObject (0x0x7fad28d29000) 0
+ primary-for QStyle (0x0x7fad292a7888)
+
+Class QRadioButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRadioButton::QPrivateSignal (0x0x7fad28d29300) 0 empty
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 (int (*)(...))QRadioButton::metaObject
+24 (int (*)(...))QRadioButton::qt_metacast
+32 (int (*)(...))QRadioButton::qt_metacall
+40 (int (*)(...))QRadioButton::~QRadioButton
+48 (int (*)(...))QRadioButton::~QRadioButton
+56 (int (*)(...))QRadioButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QRadioButton::sizeHint
+136 (int (*)(...))QRadioButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QRadioButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRadioButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QRadioButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI12QRadioButton)
+472 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRadioButton
+ size=48 align=8
+ base size=48 base align=8
+QRadioButton (0x0x7fad292a79c0) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16)
+ QAbstractButton (0x0x7fad292a7a28) 0
+ primary-for QRadioButton (0x0x7fad292a79c0)
+ QWidget (0x0x7fad2d4ecd20) 0
+ primary-for QAbstractButton (0x0x7fad292a7a28)
+ QObject (0x0x7fad28d29240) 0
+ primary-for QWidget (0x0x7fad2d4ecd20)
+ QPaintDevice (0x0x7fad28d292a0) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 472)
+
+Class QScrollBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollBar::QPrivateSignal (0x0x7fad28d295a0) 0 empty
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 (int (*)(...))QScrollBar::metaObject
+24 (int (*)(...))QScrollBar::qt_metacast
+32 (int (*)(...))QScrollBar::qt_metacall
+40 (int (*)(...))QScrollBar::~QScrollBar
+48 (int (*)(...))QScrollBar::~QScrollBar
+56 (int (*)(...))QScrollBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollBar::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QScrollBar::mousePressEvent
+176 (int (*)(...))QScrollBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QScrollBar::mouseMoveEvent
+200 (int (*)(...))QScrollBar::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QScrollBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QScrollBar::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QScrollBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QScrollBar::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI10QScrollBar)
+456 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev
+464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollBar
+ size=48 align=8
+ base size=48 base align=8
+QScrollBar (0x0x7fad292a7bc8) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16)
+ QAbstractSlider (0x0x7fad292a7c30) 0
+ primary-for QScrollBar (0x0x7fad292a7bc8)
+ QWidget (0x0x7fad2d4ece70) 0
+ primary-for QAbstractSlider (0x0x7fad292a7c30)
+ QObject (0x0x7fad28d294e0) 0
+ primary-for QWidget (0x0x7fad2d4ece70)
+ QPaintDevice (0x0x7fad28d29540) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 456)
+
+Vtable for QScrollerProperties
+QScrollerProperties::_ZTV19QScrollerProperties: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollerProperties)
+16 (int (*)(...))QScrollerProperties::~QScrollerProperties
+24 (int (*)(...))QScrollerProperties::~QScrollerProperties
+
+Class QScrollerProperties
+ size=16 align=8
+ base size=16 base align=8
+QScrollerProperties (0x0x7fad28d29780) 0
+ vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16)
+
+Class QScroller::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScroller::QPrivateSignal (0x0x7fad28d29c60) 0 empty
+
+Vtable for QScroller
+QScroller::_ZTV9QScroller: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QScroller)
+16 (int (*)(...))QScroller::metaObject
+24 (int (*)(...))QScroller::qt_metacast
+32 (int (*)(...))QScroller::qt_metacall
+40 (int (*)(...))QScroller::~QScroller
+48 (int (*)(...))QScroller::~QScroller
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScroller
+ size=24 align=8
+ base size=24 base align=8
+QScroller (0x0x7fad292a7c98) 0
+ vptr=((& QScroller::_ZTV9QScroller) + 16)
+ QObject (0x0x7fad28d29c00) 0
+ primary-for QScroller (0x0x7fad292a7c98)
+
+Class QShortcut::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QShortcut::QPrivateSignal (0x0x7fad28d29f60) 0 empty
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 (int (*)(...))QShortcut::metaObject
+24 (int (*)(...))QShortcut::qt_metacast
+32 (int (*)(...))QShortcut::qt_metacall
+40 (int (*)(...))QShortcut::~QShortcut
+48 (int (*)(...))QShortcut::~QShortcut
+56 (int (*)(...))QShortcut::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x0x7fad292be9c0) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16)
+ QObject (0x0x7fad28d29f00) 0
+ primary-for QShortcut (0x0x7fad292be9c0)
+
+Class QSizeGrip::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSizeGrip::QPrivateSignal (0x0x7fad265dc2a0) 0 empty
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 (int (*)(...))QSizeGrip::metaObject
+24 (int (*)(...))QSizeGrip::qt_metacast
+32 (int (*)(...))QSizeGrip::qt_metacall
+40 (int (*)(...))QSizeGrip::~QSizeGrip
+48 (int (*)(...))QSizeGrip::~QSizeGrip
+56 (int (*)(...))QSizeGrip::event
+64 (int (*)(...))QSizeGrip::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QSizeGrip::setVisible
+128 (int (*)(...))QSizeGrip::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSizeGrip::mousePressEvent
+176 (int (*)(...))QSizeGrip::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSizeGrip::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSizeGrip::paintEvent
+264 (int (*)(...))QSizeGrip::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QSizeGrip::showEvent
+352 (int (*)(...))QSizeGrip::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QSizeGrip)
+448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSizeGrip
+ size=48 align=8
+ base size=48 base align=8
+QSizeGrip (0x0x7fad292bea28) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16)
+ QWidget (0x0x7fad2d1a3f50) 0
+ primary-for QSizeGrip (0x0x7fad292bea28)
+ QObject (0x0x7fad265dc1e0) 0
+ primary-for QWidget (0x0x7fad2d1a3f50)
+ QPaintDevice (0x0x7fad265dc240) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448)
+
+Class QSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSpinBox::QPrivateSignal (0x0x7fad265dc540) 0 empty
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 (int (*)(...))QSpinBox::metaObject
+24 (int (*)(...))QSpinBox::qt_metacast
+32 (int (*)(...))QSpinBox::qt_metacall
+40 (int (*)(...))QSpinBox::~QSpinBox
+48 (int (*)(...))QSpinBox::~QSpinBox
+56 (int (*)(...))QSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSpinBox::validate
+440 (int (*)(...))QSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QSpinBox::valueFromText
+480 (int (*)(...))QSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI8QSpinBox)
+504 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QSpinBox (0x0x7fad292d78f0) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16)
+ QAbstractSpinBox (0x0x7fad292d7958) 0
+ primary-for QSpinBox (0x0x7fad292d78f0)
+ QWidget (0x0x7fad2d1dc070) 0
+ primary-for QAbstractSpinBox (0x0x7fad292d7958)
+ QObject (0x0x7fad265dc480) 0
+ primary-for QWidget (0x0x7fad2d1dc070)
+ QPaintDevice (0x0x7fad265dc4e0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 504)
+
+Class QDoubleSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleSpinBox::QPrivateSignal (0x0x7fad265dc7e0) 0 empty
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 (int (*)(...))QDoubleSpinBox::metaObject
+24 (int (*)(...))QDoubleSpinBox::qt_metacast
+32 (int (*)(...))QDoubleSpinBox::qt_metacall
+40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDoubleSpinBox::validate
+440 (int (*)(...))QDoubleSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QDoubleSpinBox::valueFromText
+480 (int (*)(...))QDoubleSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+504 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDoubleSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QDoubleSpinBox (0x0x7fad292d7c98) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16)
+ QAbstractSpinBox (0x0x7fad292d7d00) 0
+ primary-for QDoubleSpinBox (0x0x7fad292d7c98)
+ QWidget (0x0x7fad2d1dc1c0) 0
+ primary-for QAbstractSpinBox (0x0x7fad292d7d00)
+ QObject (0x0x7fad265dc720) 0
+ primary-for QWidget (0x0x7fad2d1dc1c0)
+ QPaintDevice (0x0x7fad265dc780) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 504)
+
+Class QSplashScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplashScreen::QPrivateSignal (0x0x7fad265dca80) 0 empty
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 (int (*)(...))QSplashScreen::metaObject
+24 (int (*)(...))QSplashScreen::qt_metacast
+32 (int (*)(...))QSplashScreen::qt_metacall
+40 (int (*)(...))QSplashScreen::~QSplashScreen
+48 (int (*)(...))QSplashScreen::~QSplashScreen
+56 (int (*)(...))QSplashScreen::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplashScreen::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplashScreen::drawContents
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI13QSplashScreen)
+456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplashScreen
+ size=48 align=8
+ base size=48 base align=8
+QSplashScreen (0x0x7fad29300820) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16)
+ QWidget (0x0x7fad2d1dc310) 0
+ primary-for QSplashScreen (0x0x7fad29300820)
+ QObject (0x0x7fad265dc9c0) 0
+ primary-for QWidget (0x0x7fad2d1dc310)
+ QPaintDevice (0x0x7fad265dca20) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456)
+
+Class QSplitter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitter::QPrivateSignal (0x0x7fad265dcd20) 0 empty
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 (int (*)(...))QSplitter::metaObject
+24 (int (*)(...))QSplitter::qt_metacast
+32 (int (*)(...))QSplitter::qt_metacall
+40 (int (*)(...))QSplitter::~QSplitter
+48 (int (*)(...))QSplitter::~QSplitter
+56 (int (*)(...))QSplitter::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QSplitter::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitter::sizeHint
+136 (int (*)(...))QSplitter::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitter::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QSplitter::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplitter::createHandle
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI9QSplitter)
+456 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev
+464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitter
+ size=48 align=8
+ base size=48 base align=8
+QSplitter (0x0x7fad29300888) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16)
+ QFrame (0x0x7fad28f231a0) 0
+ primary-for QSplitter (0x0x7fad29300888)
+ QWidget (0x0x7fad2d1dc540) 0
+ primary-for QFrame (0x0x7fad28f231a0)
+ QObject (0x0x7fad265dcc60) 0
+ primary-for QWidget (0x0x7fad2d1dc540)
+ QPaintDevice (0x0x7fad265dccc0) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 456)
+
+Class QSplitterHandle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitterHandle::QPrivateSignal (0x0x7fad24513000) 0 empty
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 (int (*)(...))QSplitterHandle::metaObject
+24 (int (*)(...))QSplitterHandle::qt_metacast
+32 (int (*)(...))QSplitterHandle::qt_metacall
+40 (int (*)(...))QSplitterHandle::~QSplitterHandle
+48 (int (*)(...))QSplitterHandle::~QSplitterHandle
+56 (int (*)(...))QSplitterHandle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitterHandle::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplitterHandle::mousePressEvent
+176 (int (*)(...))QSplitterHandle::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSplitterHandle::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSplitterHandle::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitterHandle::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI15QSplitterHandle)
+448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitterHandle
+ size=48 align=8
+ base size=48 base align=8
+QSplitterHandle (0x0x7fad28f23208) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16)
+ QWidget (0x0x7fad2d1dc700) 0
+ primary-for QSplitterHandle (0x0x7fad28f23208)
+ QObject (0x0x7fad265dcf00) 0
+ primary-for QWidget (0x0x7fad2d1dc700)
+ QPaintDevice (0x0x7fad265dcf60) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448)
+
+Class QStackedLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedLayout::QPrivateSignal (0x0x7fad245132a0) 0 empty
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 50 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 (int (*)(...))QStackedLayout::metaObject
+24 (int (*)(...))QStackedLayout::qt_metacast
+32 (int (*)(...))QStackedLayout::qt_metacall
+40 (int (*)(...))QStackedLayout::~QStackedLayout
+48 (int (*)(...))QStackedLayout::~QStackedLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QStackedLayout::addItem
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QStackedLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QStackedLayout::setGeometry
+168 (int (*)(...))QStackedLayout::itemAt
+176 (int (*)(...))QStackedLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QStackedLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QStackedLayout::sizeHint
+232 (int (*)(...))QStackedLayout::hasHeightForWidth
+240 (int (*)(...))QStackedLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI14QStackedLayout)
+264 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+272 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+280 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+288 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+312 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv
+344 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x0x7fad28f233a8) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16)
+ QLayout (0x0x7fad2d1dc930) 0
+ primary-for QStackedLayout (0x0x7fad28f233a8)
+ QObject (0x0x7fad245131e0) 0
+ primary-for QLayout (0x0x7fad2d1dc930)
+ QLayoutItem (0x0x7fad24513240) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 264)
+
+Class QStackedWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedWidget::QPrivateSignal (0x0x7fad24513600) 0 empty
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 (int (*)(...))QStackedWidget::metaObject
+24 (int (*)(...))QStackedWidget::qt_metacast
+32 (int (*)(...))QStackedWidget::qt_metacall
+40 (int (*)(...))QStackedWidget::~QStackedWidget
+48 (int (*)(...))QStackedWidget::~QStackedWidget
+56 (int (*)(...))QStackedWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QStackedWidget)
+448 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStackedWidget
+ size=48 align=8
+ base size=48 base align=8
+QStackedWidget (0x0x7fad28f234e0) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16)
+ QFrame (0x0x7fad28f23548) 0
+ primary-for QStackedWidget (0x0x7fad28f234e0)
+ QWidget (0x0x7fad2d1dcb60) 0
+ primary-for QFrame (0x0x7fad28f23548)
+ QObject (0x0x7fad24513540) 0
+ primary-for QWidget (0x0x7fad2d1dcb60)
+ QPaintDevice (0x0x7fad245135a0) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 448)
+
+Class QStatusBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStatusBar::QPrivateSignal (0x0x7fad245138a0) 0 empty
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 (int (*)(...))QStatusBar::metaObject
+24 (int (*)(...))QStatusBar::qt_metacast
+32 (int (*)(...))QStatusBar::qt_metacall
+40 (int (*)(...))QStatusBar::~QStatusBar
+48 (int (*)(...))QStatusBar::~QStatusBar
+56 (int (*)(...))QStatusBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QStatusBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QStatusBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QStatusBar::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QStatusBar)
+448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev
+456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStatusBar
+ size=48 align=8
+ base size=48 base align=8
+QStatusBar (0x0x7fad28f23ea0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16)
+ QWidget (0x0x7fad2d1dccb0) 0
+ primary-for QStatusBar (0x0x7fad28f23ea0)
+ QObject (0x0x7fad245137e0) 0
+ primary-for QWidget (0x0x7fad2d1dccb0)
+ QPaintDevice (0x0x7fad24513840) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 448)
+
+Class QStyledItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyledItemDelegate::QPrivateSignal (0x0x7fad24513ae0) 0 empty
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 (int (*)(...))QStyledItemDelegate::metaObject
+24 (int (*)(...))QStyledItemDelegate::qt_metacast
+32 (int (*)(...))QStyledItemDelegate::qt_metacall
+40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QStyledItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyledItemDelegate::paint
+120 (int (*)(...))QStyledItemDelegate::sizeHint
+128 (int (*)(...))QStyledItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QStyledItemDelegate::setEditorData
+152 (int (*)(...))QStyledItemDelegate::setModelData
+160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry
+168 (int (*)(...))QStyledItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QStyledItemDelegate::displayText
+200 (int (*)(...))QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x0x7fad28f23f08) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16)
+ QAbstractItemDelegate (0x0x7fad28f3d000) 0
+ primary-for QStyledItemDelegate (0x0x7fad28f23f08)
+ QObject (0x0x7fad24513a80) 0
+ primary-for QAbstractItemDelegate (0x0x7fad28f3d000)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x0x7fad24513cc0) 0 empty
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x0x7fad28f3d068) 0
+ QPainter (0x0x7fad24513d20) 0
+
+Class QStylePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStylePlugin::QPrivateSignal (0x0x7fad22f08600) 0 empty
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 (int (*)(...))QStylePlugin::metaObject
+24 (int (*)(...))QStylePlugin::qt_metacast
+32 (int (*)(...))QStylePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QStylePlugin
+ size=16 align=8
+ base size=16 base align=8
+QStylePlugin (0x0x7fad28f3d3a8) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16)
+ QObject (0x0x7fad22f085a0) 0
+ primary-for QStylePlugin (0x0x7fad28f3d3a8)
+
+Class QSystemTrayIcon::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSystemTrayIcon::QPrivateSignal (0x0x7fad22f08780) 0 empty
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 (int (*)(...))QSystemTrayIcon::metaObject
+24 (int (*)(...))QSystemTrayIcon::qt_metacast
+32 (int (*)(...))QSystemTrayIcon::qt_metacall
+40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+56 (int (*)(...))QSystemTrayIcon::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x0x7fad28f3d410) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16)
+ QObject (0x0x7fad22f08720) 0
+ primary-for QSystemTrayIcon (0x0x7fad28f3d410)
+
+Class QTableView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableView::QPrivateSignal (0x0x7fad22f08ae0) 0 empty
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 (int (*)(...))QTableView::metaObject
+24 (int (*)(...))QTableView::qt_metacast
+32 (int (*)(...))QTableView::qt_metacall
+40 (int (*)(...))QTableView::~QTableView
+48 (int (*)(...))QTableView::~QTableView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableView::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI10QTableView)
+784 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev
+792 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableView
+ size=48 align=8
+ base size=48 base align=8
+QTableView (0x0x7fad28f3df70) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16)
+ QAbstractItemView (0x0x7fad28f52000) 0
+ primary-for QTableView (0x0x7fad28f3df70)
+ QAbstractScrollArea (0x0x7fad28f523a8) 0
+ primary-for QAbstractItemView (0x0x7fad28f52000)
+ QFrame (0x0x7fad28f52410) 0
+ primary-for QAbstractScrollArea (0x0x7fad28f523a8)
+ QWidget (0x0x7fad2d2318c0) 0
+ primary-for QFrame (0x0x7fad28f52410)
+ QObject (0x0x7fad22f08a20) 0
+ primary-for QWidget (0x0x7fad2d2318c0)
+ QPaintDevice (0x0x7fad22f08a80) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x0x7fad22f08d20) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+32 (int (*)(...))QTableWidgetItem::clone
+40 (int (*)(...))QTableWidgetItem::data
+48 (int (*)(...))QTableWidgetItem::setData
+56 (int (*)(...))QTableWidgetItem::operator<
+64 (int (*)(...))QTableWidgetItem::read
+72 (int (*)(...))QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x0x7fad2194f000) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16)
+
+Class QTableWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableWidget::QPrivateSignal (0x0x7fad2194fd20) 0 empty
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 110 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 (int (*)(...))QTableWidget::metaObject
+24 (int (*)(...))QTableWidget::qt_metacast
+32 (int (*)(...))QTableWidget::qt_metacall
+40 (int (*)(...))QTableWidget::~QTableWidget
+48 (int (*)(...))QTableWidget::~QTableWidget
+56 (int (*)(...))QTableWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTableWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableWidget::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))QTableWidget::mimeTypes
+776 (int (*)(...))QTableWidget::mimeData
+784 (int (*)(...))QTableWidget::dropMimeData
+792 (int (*)(...))QTableWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableWidget
+ size=48 align=8
+ base size=48 base align=8
+QTableWidget (0x0x7fad28f52d68) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16)
+ QTableView (0x0x7fad28f73a28) 0
+ primary-for QTableWidget (0x0x7fad28f52d68)
+ QAbstractItemView (0x0x7fad28f73a90) 0
+ primary-for QTableView (0x0x7fad28f73a28)
+ QAbstractScrollArea (0x0x7fad28f73dd0) 0
+ primary-for QAbstractItemView (0x0x7fad28f73a90)
+ QFrame (0x0x7fad28f73e38) 0
+ primary-for QAbstractScrollArea (0x0x7fad28f73dd0)
+ QWidget (0x0x7fad2d274460) 0
+ primary-for QFrame (0x0x7fad28f73e38)
+ QObject (0x0x7fad2194fc60) 0
+ primary-for QWidget (0x0x7fad2d274460)
+ QPaintDevice (0x0x7fad2194fcc0) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816)
+
+Class QTextBrowser::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBrowser::QPrivateSignal (0x0x7fad25015180) 0 empty
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 78 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 (int (*)(...))QTextBrowser::metaObject
+24 (int (*)(...))QTextBrowser::qt_metacast
+32 (int (*)(...))QTextBrowser::qt_metacall
+40 (int (*)(...))QTextBrowser::~QTextBrowser
+48 (int (*)(...))QTextBrowser::~QTextBrowser
+56 (int (*)(...))QTextBrowser::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextBrowser::mousePressEvent
+176 (int (*)(...))QTextBrowser::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextBrowser::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextBrowser::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextBrowser::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextBrowser::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextBrowser::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextBrowser::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))QTextBrowser::setSource
+512 (int (*)(...))QTextBrowser::backward
+520 (int (*)(...))QTextBrowser::forward
+528 (int (*)(...))QTextBrowser::home
+536 (int (*)(...))QTextBrowser::reload
+544 (int (*)(...))-16
+552 (int (*)(...))(& _ZTI12QTextBrowser)
+560 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+584 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+592 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+600 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+608 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+616 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextBrowser
+ size=48 align=8
+ base size=48 base align=8
+QTextBrowser (0x0x7fad28fefe38) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16)
+ QTextEdit (0x0x7fad28fefea0) 0
+ primary-for QTextBrowser (0x0x7fad28fefe38)
+ QAbstractScrollArea (0x0x7fad2900b270) 0
+ primary-for QTextEdit (0x0x7fad28fefea0)
+ QFrame (0x0x7fad2900b2d8) 0
+ primary-for QAbstractScrollArea (0x0x7fad2900b270)
+ QWidget (0x0x7fad2d274620) 0
+ primary-for QFrame (0x0x7fad2900b2d8)
+ QObject (0x0x7fad250150c0) 0
+ primary-for QWidget (0x0x7fad2d274620)
+ QPaintDevice (0x0x7fad25015120) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 560)
+
+Class QToolBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBar::QPrivateSignal (0x0x7fad25015420) 0 empty
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 (int (*)(...))QToolBar::metaObject
+24 (int (*)(...))QToolBar::qt_metacast
+32 (int (*)(...))QToolBar::qt_metacall
+40 (int (*)(...))QToolBar::~QToolBar
+48 (int (*)(...))QToolBar::~QToolBar
+56 (int (*)(...))QToolBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QToolBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QToolBar)
+448 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev
+456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBar
+ size=48 align=8
+ base size=48 base align=8
+QToolBar (0x0x7fad2900bc98) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16)
+ QWidget (0x0x7fad2d274770) 0
+ primary-for QToolBar (0x0x7fad2900bc98)
+ QObject (0x0x7fad25015360) 0
+ primary-for QWidget (0x0x7fad2d274770)
+ QPaintDevice (0x0x7fad250153c0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 448)
+
+Class QToolBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBox::QPrivateSignal (0x0x7fad25015d80) 0 empty
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 (int (*)(...))QToolBox::metaObject
+24 (int (*)(...))QToolBox::qt_metacast
+32 (int (*)(...))QToolBox::qt_metacall
+40 (int (*)(...))QToolBox::~QToolBox
+48 (int (*)(...))QToolBox::~QToolBox
+56 (int (*)(...))QToolBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QToolBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolBox::itemInserted
+440 (int (*)(...))QToolBox::itemRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI8QToolBox)
+464 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev
+472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBox
+ size=48 align=8
+ base size=48 base align=8
+QToolBox (0x0x7fad290c24e0) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16)
+ QFrame (0x0x7fad290c2548) 0
+ primary-for QToolBox (0x0x7fad290c24e0)
+ QWidget (0x0x7fad2d274e70) 0
+ primary-for QFrame (0x0x7fad290c2548)
+ QObject (0x0x7fad25015cc0) 0
+ primary-for QWidget (0x0x7fad2d274e70)
+ QPaintDevice (0x0x7fad25015d20) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 464)
+
+Class QToolButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolButton::QPrivateSignal (0x0x7fad22ec8180) 0 empty
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 (int (*)(...))QToolButton::metaObject
+24 (int (*)(...))QToolButton::qt_metacast
+32 (int (*)(...))QToolButton::qt_metacall
+40 (int (*)(...))QToolButton::~QToolButton
+48 (int (*)(...))QToolButton::~QToolButton
+56 (int (*)(...))QToolButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QToolButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QToolButton::sizeHint
+136 (int (*)(...))QToolButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QToolButton::mousePressEvent
+176 (int (*)(...))QToolButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QToolButton::enterEvent
+248 (int (*)(...))QToolButton::leaveEvent
+256 (int (*)(...))QToolButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolButton::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QToolButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QToolButton)
+472 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev
+480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolButton
+ size=48 align=8
+ base size=48 base align=8
+QToolButton (0x0x7fad290c2888) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16)
+ QAbstractButton (0x0x7fad290c28f0) 0
+ primary-for QToolButton (0x0x7fad290c2888)
+ QWidget (0x0x7fad2cfe8000) 0
+ primary-for QAbstractButton (0x0x7fad290c28f0)
+ QObject (0x0x7fad22ec80c0) 0
+ primary-for QWidget (0x0x7fad2cfe8000)
+ QPaintDevice (0x0x7fad22ec8120) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 472)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x0x7fad22ec8420) 0 empty
+
+Class QTreeView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeView::QPrivateSignal (0x0x7fad22ec85a0) 0 empty
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 108 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 (int (*)(...))QTreeView::metaObject
+24 (int (*)(...))QTreeView::qt_metacast
+32 (int (*)(...))QTreeView::qt_metacall
+40 (int (*)(...))QTreeView::~QTreeView
+48 (int (*)(...))QTreeView::~QTreeView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeView::setModel
+472 (int (*)(...))QTreeView::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeView
+ size=48 align=8
+ base size=48 base align=8
+QTreeView (0x0x7fad28d2e8f0) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16)
+ QAbstractItemView (0x0x7fad28d2e958) 0
+ primary-for QTreeView (0x0x7fad28d2e8f0)
+ QAbstractScrollArea (0x0x7fad28d2ed00) 0
+ primary-for QAbstractItemView (0x0x7fad28d2e958)
+ QFrame (0x0x7fad28d2ed68) 0
+ primary-for QAbstractScrollArea (0x0x7fad28d2ed00)
+ QWidget (0x0x7fad2cfe8310) 0
+ primary-for QFrame (0x0x7fad28d2ed68)
+ QObject (0x0x7fad22ec84e0) 0
+ primary-for QWidget (0x0x7fad2cfe8310)
+ QPaintDevice (0x0x7fad22ec8540) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x0x7fad22ec87e0) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+32 (int (*)(...))QTreeWidgetItem::clone
+40 (int (*)(...))QTreeWidgetItem::data
+48 (int (*)(...))QTreeWidgetItem::setData
+56 (int (*)(...))QTreeWidgetItem::operator<
+64 (int (*)(...))QTreeWidgetItem::read
+72 (int (*)(...))QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x0x7fad228072a0) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16)
+
+Class QTreeWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeWidget::QPrivateSignal (0x0x7fad223e22a0) 0 empty
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 112 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 (int (*)(...))QTreeWidget::metaObject
+24 (int (*)(...))QTreeWidget::qt_metacast
+32 (int (*)(...))QTreeWidget::qt_metacall
+40 (int (*)(...))QTreeWidget::~QTreeWidget
+48 (int (*)(...))QTreeWidget::~QTreeWidget
+56 (int (*)(...))QTreeWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTreeWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeWidget::setModel
+472 (int (*)(...))QTreeWidget::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))QTreeWidget::mimeTypes
+792 (int (*)(...))QTreeWidget::mimeData
+800 (int (*)(...))QTreeWidget::dropMimeData
+808 (int (*)(...))QTreeWidget::supportedDropActions
+816 (int (*)(...))-16
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeWidget
+ size=48 align=8
+ base size=48 base align=8
+QTreeWidget (0x0x7fad28d7b7b8) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16)
+ QTreeView (0x0x7fad28d90820) 0
+ primary-for QTreeWidget (0x0x7fad28d7b7b8)
+ QAbstractItemView (0x0x7fad28d90888) 0
+ primary-for QTreeView (0x0x7fad28d90820)
+ QAbstractScrollArea (0x0x7fad28d90ea0) 0
+ primary-for QAbstractItemView (0x0x7fad28d90888)
+ QFrame (0x0x7fad28d90f08) 0
+ primary-for QAbstractScrollArea (0x0x7fad28d90ea0)
+ QWidget (0x0x7fad2cd4b230) 0
+ primary-for QFrame (0x0x7fad28d90f08)
+ QObject (0x0x7fad223e21e0) 0
+ primary-for QWidget (0x0x7fad2cd4b230)
+ QPaintDevice (0x0x7fad223e2240) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832)
+
+Class QUndoGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoGroup::QPrivateSignal (0x0x7fad223e26c0) 0 empty
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 (int (*)(...))QUndoGroup::metaObject
+24 (int (*)(...))QUndoGroup::qt_metacast
+32 (int (*)(...))QUndoGroup::qt_metacall
+40 (int (*)(...))QUndoGroup::~QUndoGroup
+48 (int (*)(...))QUndoGroup::~QUndoGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x0x7fad28df35b0) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16)
+ QObject (0x0x7fad223e2660) 0
+ primary-for QUndoGroup (0x0x7fad28df35b0)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 (int (*)(...))QUndoCommand::~QUndoCommand
+24 (int (*)(...))QUndoCommand::~QUndoCommand
+32 (int (*)(...))QUndoCommand::undo
+40 (int (*)(...))QUndoCommand::redo
+48 (int (*)(...))QUndoCommand::id
+56 (int (*)(...))QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x0x7fad223e28a0) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16)
+
+Class QUndoStack::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoStack::QPrivateSignal (0x0x7fad223e2960) 0 empty
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 (int (*)(...))QUndoStack::metaObject
+24 (int (*)(...))QUndoStack::qt_metacast
+32 (int (*)(...))QUndoStack::qt_metacall
+40 (int (*)(...))QUndoStack::~QUndoStack
+48 (int (*)(...))QUndoStack::~QUndoStack
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x0x7fad28df3618) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16)
+ QObject (0x0x7fad223e2900) 0
+ primary-for QUndoStack (0x0x7fad28df3618)
+
+Class QUndoView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoView::QPrivateSignal (0x0x7fad223e2c00) 0 empty
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 (int (*)(...))QUndoView::metaObject
+24 (int (*)(...))QUndoView::qt_metacast
+32 (int (*)(...))QUndoView::qt_metacall
+40 (int (*)(...))QUndoView::~QUndoView
+48 (int (*)(...))QUndoView::~QUndoView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QUndoView
+ size=48 align=8
+ base size=48 base align=8
+QUndoView (0x0x7fad28df37b8) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16)
+ QListView (0x0x7fad28df3c98) 0
+ primary-for QUndoView (0x0x7fad28df37b8)
+ QAbstractItemView (0x0x7fad28df3d00) 0
+ primary-for QListView (0x0x7fad28df3c98)
+ QAbstractScrollArea (0x0x7fad28e12b60) 0
+ primary-for QAbstractItemView (0x0x7fad28df3d00)
+ QFrame (0x0x7fad28e12bc8) 0
+ primary-for QAbstractScrollArea (0x0x7fad28e12b60)
+ QWidget (0x0x7fad2cd4b5b0) 0
+ primary-for QFrame (0x0x7fad28e12bc8)
+ QObject (0x0x7fad223e2b40) 0
+ primary-for QWidget (0x0x7fad2cd4b5b0)
+ QPaintDevice (0x0x7fad223e2ba0) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x0x7fad223e2de0) 0 empty
+
+Class QWidgetAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidgetAction::QPrivateSignal (0x0x7fad223e2ea0) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 (int (*)(...))QWidgetAction::metaObject
+24 (int (*)(...))QWidgetAction::qt_metacast
+32 (int (*)(...))QWidgetAction::qt_metacall
+40 (int (*)(...))QWidgetAction::~QWidgetAction
+48 (int (*)(...))QWidgetAction::~QWidgetAction
+56 (int (*)(...))QWidgetAction::event
+64 (int (*)(...))QWidgetAction::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidgetAction::createWidget
+120 (int (*)(...))QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x0x7fad28e50548) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16)
+ QAction (0x0x7fad28e505b0) 0
+ primary-for QWidgetAction (0x0x7fad28e50548)
+ QObject (0x0x7fad223e2e40) 0
+ primary-for QAction (0x0x7fad28e505b0)
+
+Class QWizard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizard::QPrivateSignal (0x0x7fad21969180) 0 empty
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 (int (*)(...))QWizard::metaObject
+24 (int (*)(...))QWizard::qt_metacast
+32 (int (*)(...))QWizard::qt_metacall
+40 (int (*)(...))QWizard::~QWizard
+48 (int (*)(...))QWizard::~QWizard
+56 (int (*)(...))QWizard::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWizard::setVisible
+128 (int (*)(...))QWizard::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWizard::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWizard::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QWizard::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))QWizard::validateCurrentPage
+480 (int (*)(...))QWizard::nextId
+488 (int (*)(...))QWizard::initializePage
+496 (int (*)(...))QWizard::cleanupPage
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI7QWizard)
+520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev
+528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizard
+ size=48 align=8
+ base size=48 base align=8
+QWizard (0x0x7fad28e508f0) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16)
+ QDialog (0x0x7fad28e50958) 0
+ primary-for QWizard (0x0x7fad28e508f0)
+ QWidget (0x0x7fad2cd4b850) 0
+ primary-for QDialog (0x0x7fad28e50958)
+ QObject (0x0x7fad219690c0) 0
+ primary-for QWidget (0x0x7fad2cd4b850)
+ QPaintDevice (0x0x7fad21969120) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520)
+
+Class QWizardPage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizardPage::QPrivateSignal (0x0x7fad21969d20) 0 empty
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 (int (*)(...))QWizardPage::metaObject
+24 (int (*)(...))QWizardPage::qt_metacast
+32 (int (*)(...))QWizardPage::qt_metacall
+40 (int (*)(...))QWizardPage::~QWizardPage
+48 (int (*)(...))QWizardPage::~QWizardPage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QWizardPage::initializePage
+440 (int (*)(...))QWizardPage::cleanupPage
+448 (int (*)(...))QWizardPage::validatePage
+456 (int (*)(...))QWizardPage::isComplete
+464 (int (*)(...))QWizardPage::nextId
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QWizardPage)
+488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev
+496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizardPage
+ size=48 align=8
+ base size=48 base align=8
+QWizardPage (0x0x7fad28ea2a28) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16)
+ QWidget (0x0x7fad2ce078c0) 0
+ primary-for QWizardPage (0x0x7fad28ea2a28)
+ QObject (0x0x7fad21969c60) 0
+ primary-for QWidget (0x0x7fad2ce078c0)
+ QPaintDevice (0x0x7fad21969cc0) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 488)
+
+Class QGLColormap::QGLColormapData
+ size=24 align=8
+ base size=24 base align=8
+QGLColormap::QGLColormapData (0x0x7fad21969f60) 0
+
+Class QGLColormap
+ size=8 align=8
+ base size=8 base align=8
+QGLColormap (0x0x7fad21969f00) 0
+
+Class QGLFormat
+ size=8 align=8
+ base size=8 base align=8
+QGLFormat (0x0x7fad2b96c7e0) 0
+
+Vtable for QGLContext
+QGLContext::_ZTV10QGLContext: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QGLContext)
+16 (int (*)(...))QGLContext::~QGLContext
+24 (int (*)(...))QGLContext::~QGLContext
+32 (int (*)(...))QGLContext::create
+40 (int (*)(...))QGLContext::makeCurrent
+48 (int (*)(...))QGLContext::doneCurrent
+56 (int (*)(...))QGLContext::swapBuffers
+64 (int (*)(...))QGLContext::chooseContext
+
+Class QGLContext
+ size=16 align=8
+ base size=16 base align=8
+QGLContext (0x0x7fad2b96cf00) 0
+ vptr=((& QGLContext::_ZTV10QGLContext) + 16)
+
+Class QGLWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGLWidget::QPrivateSignal (0x0x7fad29b6c8a0) 0 empty
+
+Vtable for QGLWidget
+QGLWidget::_ZTV9QGLWidget: 74 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGLWidget)
+16 (int (*)(...))QGLWidget::metaObject
+24 (int (*)(...))QGLWidget::qt_metacast
+32 (int (*)(...))QGLWidget::qt_metacall
+40 (int (*)(...))QGLWidget::~QGLWidget
+48 (int (*)(...))QGLWidget::~QGLWidget
+56 (int (*)(...))QGLWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QGLWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGLWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGLWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QGLWidget::updateGL
+440 (int (*)(...))QGLWidget::updateOverlayGL
+448 (int (*)(...))QGLWidget::initializeGL
+456 (int (*)(...))QGLWidget::resizeGL
+464 (int (*)(...))QGLWidget::paintGL
+472 (int (*)(...))QGLWidget::initializeOverlayGL
+480 (int (*)(...))QGLWidget::resizeOverlayGL
+488 (int (*)(...))QGLWidget::paintOverlayGL
+496 (int (*)(...))QGLWidget::glInit
+504 (int (*)(...))QGLWidget::glDraw
+512 (int (*)(...))-16
+520 (int (*)(...))(& _ZTI9QGLWidget)
+528 (int (*)(...))QGLWidget::_ZThn16_N9QGLWidgetD1Ev
+536 (int (*)(...))QGLWidget::_ZThn16_N9QGLWidgetD0Ev
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+552 (int (*)(...))QGLWidget::_ZThn16_NK9QGLWidget11paintEngineEv
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+584 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGLWidget
+ size=48 align=8
+ base size=48 base align=8
+QGLWidget (0x0x7fad28b75a28) 0
+ vptr=((& QGLWidget::_ZTV9QGLWidget) + 16)
+ QWidget (0x0x7fad2c7910e0) 0
+ primary-for QGLWidget (0x0x7fad28b75a28)
+ QObject (0x0x7fad29b6c7e0) 0
+ primary-for QWidget (0x0x7fad2c7910e0)
+ QPaintDevice (0x0x7fad29b6c840) 16
+ vptr=((& QGLWidget::_ZTV9QGLWidget) + 528)
+
+Class QGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QGLBuffer (0x0x7fad29b6ce40) 0
+
+Vtable for QGLFramebufferObject
+QGLFramebufferObject::_ZTV20QGLFramebufferObject: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGLFramebufferObject)
+16 (int (*)(...))QGLFramebufferObject::~QGLFramebufferObject
+24 (int (*)(...))QGLFramebufferObject::~QGLFramebufferObject
+32 (int (*)(...))QGLFramebufferObject::devType
+40 (int (*)(...))QGLFramebufferObject::paintEngine
+48 (int (*)(...))QGLFramebufferObject::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QGLFramebufferObject
+ size=32 align=8
+ base size=32 base align=8
+QGLFramebufferObject (0x0x7fad28b8c478) 0
+ vptr=((& QGLFramebufferObject::_ZTV20QGLFramebufferObject) + 16)
+ QPaintDevice (0x0x7fad2780c000) 0
+ primary-for QGLFramebufferObject (0x0x7fad28b8c478)
+
+Class QGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QGLFramebufferObjectFormat (0x0x7fad2780c240) 0
+
+Class QGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QGLFunctions (0x0x7fad2780c2a0) 0
+
+Class QGLFunctionsPrivate
+ size=8 align=8
+ base size=8 base align=8
+QGLFunctionsPrivate (0x0x7fad2780cba0) 0
+
+Vtable for QGLPixelBuffer
+QGLPixelBuffer::_ZTV14QGLPixelBuffer: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGLPixelBuffer)
+16 (int (*)(...))QGLPixelBuffer::~QGLPixelBuffer
+24 (int (*)(...))QGLPixelBuffer::~QGLPixelBuffer
+32 (int (*)(...))QGLPixelBuffer::devType
+40 (int (*)(...))QGLPixelBuffer::paintEngine
+48 (int (*)(...))QGLPixelBuffer::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QGLPixelBuffer
+ size=32 align=8
+ base size=32 base align=8
+QGLPixelBuffer (0x0x7fad28bcc548) 0
+ vptr=((& QGLPixelBuffer::_ZTV14QGLPixelBuffer) + 16)
+ QPaintDevice (0x0x7fad244549c0) 0
+ primary-for QGLPixelBuffer (0x0x7fad28bcc548)
+
+Class QGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGLShader::QPrivateSignal (0x0x7fad24454c60) 0 empty
+
+Vtable for QGLShader
+QGLShader::_ZTV9QGLShader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGLShader)
+16 (int (*)(...))QGLShader::metaObject
+24 (int (*)(...))QGLShader::qt_metacast
+32 (int (*)(...))QGLShader::qt_metacall
+40 (int (*)(...))QGLShader::~QGLShader
+48 (int (*)(...))QGLShader::~QGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGLShader
+ size=16 align=8
+ base size=16 base align=8
+QGLShader (0x0x7fad28bccf70) 0
+ vptr=((& QGLShader::_ZTV9QGLShader) + 16)
+ QObject (0x0x7fad24454c00) 0
+ primary-for QGLShader (0x0x7fad28bccf70)
+
+Class QGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGLShaderProgram::QPrivateSignal (0x0x7fad238475a0) 0 empty
+
+Vtable for QGLShaderProgram
+QGLShaderProgram::_ZTV16QGLShaderProgram: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QGLShaderProgram)
+16 (int (*)(...))QGLShaderProgram::metaObject
+24 (int (*)(...))QGLShaderProgram::qt_metacast
+32 (int (*)(...))QGLShaderProgram::qt_metacall
+40 (int (*)(...))QGLShaderProgram::~QGLShaderProgram
+48 (int (*)(...))QGLShaderProgram::~QGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGLShaderProgram::link
+
+Class QGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QGLShaderProgram (0x0x7fad28be5478) 0
+ vptr=((& QGLShaderProgram::_ZTV16QGLShaderProgram) + 16)
+ QObject (0x0x7fad23847540) 0
+ primary-for QGLShaderProgram (0x0x7fad28be5478)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad23127a20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad23127d80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad23127f60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad22dcf300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad22dcf4e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad22dcf840) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad22dcfa20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad22dcfd80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad22dcff60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad22158300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad221584e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad22158840) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad22158a20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad22158d80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad22158f60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad21930300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad2193e7e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad2193eb40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad2193ecc0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad219ae060) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad219ae1e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad219ae540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad219ae6c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad219aea20) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad219aeba0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad219aef00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad214a50c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad214a5420) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad214a55a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad214a5900) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad214a5a80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad214a5de0) 0 empty
+
diff --git a/tests/auto/bic/data/QtPrintSupport.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtPrintSupport.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..361d90cde8
--- /dev/null
+++ b/tests/auto/bic/data/QtPrintSupport.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,20062 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7faf673ae6c0) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7faf67410e40) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7faf6743b0c0) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7faf6743b300) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7faf6743b540) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7faf6743b6c0) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7faf6743ba80) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7faf67477ba0) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7faf674fa2a0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7faf674fa360) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7faf674fa720) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7faf674fa780) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7faf674fa7e0) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7faf674fa840) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7faf674fa8a0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7faf674fa960) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7faf674faa20) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7faf674faae0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7faf674faba0) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7faf674faf00) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7faf675372a0) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7faf67537300) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7faf675378a0) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7faf67537f00) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7faf6751e820) 0 empty
+ std::__nonesuch (0x0x7faf6757d420) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7faf675ccd80) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7faf675ccde0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7faf66c28ae0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7faf66c28b40) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7faf6751ed00) 0 empty
+ std::input_iterator_tag (0x0x7faf66c28ba0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7faf6751ed68) 0 empty
+ std::forward_iterator_tag (0x0x7faf6751edd0) 0 empty
+ std::input_iterator_tag (0x0x7faf66c28c00) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7faf6751ee38) 0 empty
+ std::bidirectional_iterator_tag (0x0x7faf6751eea0) 0 empty
+ std::forward_iterator_tag (0x0x7faf6751ef08) 0 empty
+ std::input_iterator_tag (0x0x7faf66c28c60) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7faf66cd8780) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7faf66cd88a0) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7faf66cd8ba0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7faf66cd8ea0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7faf66d04000) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7faf66d94300) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7faf66d94600) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7faf66d94660) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7faf66d94720) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7faf66d94780) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7faf66d947e0) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7faf66d94840) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7faf66d94ae0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7faf66d94d80) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7faf66d94de0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7faf66deeba0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7faf66c69270) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7faf66deed80) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7faf66c69270)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7faf66deef60) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7faf66c692d8) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7faf66a94360) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7faf66c692d8)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7faf66c69340) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7faf66a94540) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7faf66c69340)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7faf66a94720) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7faf66a94cc0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7faf66c693a8) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7faf66ac43c0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7faf66c693a8)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7faf66c69410) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7faf66c69478) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7faf66c69410)
+ std::exception (0x0x7faf66ac45a0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7faf66c69478)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7faf66ac4780) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7faf66ac4960) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7faf66b3fe40) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7faf6691b900) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7faf6691b9c0) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7faf667df360) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7faf667df480) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7faf667df7e0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7faf667dfd20) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7faf664574e0) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7faf664ec900) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7faf6649c2d8) 0
+ std::__atomic_flag_base (0x0x7faf664ec960) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7faf6649ca28) 0
+ QAtomicInteger<int> (0x0x7faf6649ca90) 0
+ QBasicAtomicInteger<int> (0x0x7faf66020900) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7faf65c3dc00) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7faf65ca51e0) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7faf65ca5900) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7faf65c6b618) 0
+ QGenericArgument (0x0x7faf65ca5ba0) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7faf65cdc000) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7faf65cdc420) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7faf65d70f00) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7faf65d921e0) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7faf65a5c000) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7faf65a5c360) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7faf65ac7660) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7faf65b73ea0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7faf65b73f60) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7faf658690c0) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7faf65869180) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7faf658691e0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7faf65869240) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7faf658692a0) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7faf658693c0) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7faf65869420) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7faf659a83c0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7faf659a8420) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7faf6575f480) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7faf6575f600) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7faf654d7780) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7faf654d7b40) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7faf654d7de0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7faf65524000) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7faf6557a000) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7faf6543e5b0) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7faf6557a0c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7faf6543e5b0)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7faf6543e618) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7faf6543e680) 0
+ primary-for std::domain_error (0x0x7faf6543e618)
+ std::exception (0x0x7faf6557a120) 0 nearly-empty
+ primary-for std::logic_error (0x0x7faf6543e680)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7faf6543e6e8) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7faf6543e750) 0
+ primary-for std::invalid_argument (0x0x7faf6543e6e8)
+ std::exception (0x0x7faf6557a180) 0 nearly-empty
+ primary-for std::logic_error (0x0x7faf6543e750)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7faf6543e7b8) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7faf6543e820) 0
+ primary-for std::length_error (0x0x7faf6543e7b8)
+ std::exception (0x0x7faf6557a1e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7faf6543e820)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7faf6543e888) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7faf6543e8f0) 0
+ primary-for std::out_of_range (0x0x7faf6543e888)
+ std::exception (0x0x7faf6557a240) 0 nearly-empty
+ primary-for std::logic_error (0x0x7faf6543e8f0)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7faf6543e958) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7faf6557a2a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7faf6543e958)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7faf6543e9c0) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7faf6543ea28) 0
+ primary-for std::range_error (0x0x7faf6543e9c0)
+ std::exception (0x0x7faf6557a300) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7faf6543ea28)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7faf6543ea90) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7faf6543eaf8) 0
+ primary-for std::overflow_error (0x0x7faf6543ea90)
+ std::exception (0x0x7faf6557a360) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7faf6543eaf8)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7faf6543eb60) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7faf6543ebc8) 0
+ primary-for std::underflow_error (0x0x7faf6543eb60)
+ std::exception (0x0x7faf6557a3c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7faf6543ebc8)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7faf6557a540) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7faf6557a8a0) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7faf655ca120) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7faf655ef000) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7faf655ef068) 0
+ primary-for std::system_error (0x0x7faf655ef000)
+ std::exception (0x0x7faf655cacc0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7faf655ef068)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7faf655ef2d8) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7faf655ef340) 0
+ primary-for std::ios_base::failure (0x0x7faf655ef2d8)
+ std::runtime_error (0x0x7faf655ef3a8) 0
+ primary-for std::system_error (0x0x7faf655ef340)
+ std::exception (0x0x7faf652252a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7faf655ef3a8)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7faf65225300) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7faf65225360) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7faf652253c0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7faf65225240) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7faf652f7cc0) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7faf6539fea0) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7faf64f68a90 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7faf64f68b60 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7faf64fac820 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7faf64fac8f0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7faf64fd5840) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7faf64fd58a0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7faf64d04c60) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7faf64da7ae0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7faf64da7f60) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7faf64a78d20) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7faf64b18780) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7faf64b18720) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7faf648fb900) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7faf64698180) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7faf644b6480) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7faf644b6540) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7faf64572a20) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7faf64729c30) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7faf64597180) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7faf64729d68) 0
+ std::_Bit_iterator_base (0x0x7faf64729dd0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7faf645977e0) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7faf64729e38) 0
+ std::_Bit_iterator_base (0x0x7faf64729ea0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7faf645ca000) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7faf643af660) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7faf64076420) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7faf64076480) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7faf645ee9c0) 0 empty
+ QListData::NotIndirectLayout (0x0x7faf640764e0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7faf6405c1c0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7faf64076540) 0 empty
+ QListData::NotIndirectLayout (0x0x7faf640765a0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7faf645eea28) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7faf64076600) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7faf64076660) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7faf640763c0) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7faf6416a840) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7faf63e44ea0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7faf63e44e40) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7faf63e53680) 0
+ QList<QString> (0x0x7faf63e536e8) 0
+ QListSpecialMethods<QString> (0x0x7faf63e69120) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7faf63f02c60) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7faf63f96d80) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7faf63fbc120) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7faf63d926c0) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7faf63d92720) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7faf63d928a0) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7faf63d92960) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7faf63d1ca28) 0
+ std::__uses_alloc_base (0x0x7faf63d92900) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7faf63af5cc0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7faf63bb9180) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7faf63bb94e0) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7faf63bb9a20) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7faf63bb9f60) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7faf63847180) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7faf63847840) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7faf638e46c0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7faf63935d80) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7faf639b0300) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7faf63481120) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7faf63579ba0) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7faf63579c00) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7faf63579de0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7faf63579d80) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7faf63255c00) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7faf63255d80) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7faf63277660) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7faf63232c30) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7faf63277600) 0
+ primary-for QAbstractAnimation (0x0x7faf63232c30)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7faf63277a20) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7faf63232c98) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7faf632779c0) 0
+ primary-for QAnimationDriver (0x0x7faf63232c98)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7faf63277c60) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7faf63232d00) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7faf63277c00) 0
+ primary-for QEventLoop (0x0x7faf63232d00)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7faf632c9540) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7faf632c9600) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7faf632c9660) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7faf63232e38) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7faf632c95a0) 0
+ primary-for QAbstractEventDispatcher (0x0x7faf63232e38)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7faf6335f7b8) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7faf63359cc0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7faf6335f7b8)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7faf63359d80) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7faf63359de0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7faf6338c120) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7faf6318c0c0) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7faf6318cd20) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7faf62e856c0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7faf62e85660) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7faf62e85960) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7faf62f8cf00) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7faf62fdc000) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7faf62f8cf60) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7faf62fdc060) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7faf62f8cea0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7faf62d07300) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7faf62d49960) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7faf62d49900) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7faf62d49a80) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7faf62d49a20) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7faf62a16c00) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7faf62a87840) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7faf62b56660) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7faf62b5c3a8) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7faf62b56600) 0
+ primary-for QAbstractItemModel (0x0x7faf62b5c3a8)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7faf62812a20) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7faf62b5c9c0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7faf62b5ca28) 0
+ primary-for QAbstractTableModel (0x0x7faf62b5c9c0)
+ QObject (0x0x7faf628129c0) 0
+ primary-for QAbstractItemModel (0x0x7faf62b5ca28)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7faf62812ba0) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7faf62b5ca90) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7faf62b5caf8) 0
+ primary-for QAbstractListModel (0x0x7faf62b5ca90)
+ QObject (0x0x7faf62812b40) 0
+ primary-for QAbstractItemModel (0x0x7faf62b5caf8)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7faf62852300) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7faf628523c0) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7faf62b5cbc8) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7faf62b5cc30) 0
+ primary-for QAbstractProxyModel (0x0x7faf62b5cbc8)
+ QObject (0x0x7faf62852360) 0
+ primary-for QAbstractItemModel (0x0x7faf62b5cc30)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7faf62852600) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7faf62b5cc98) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7faf628525a0) 0
+ primary-for QAbstractState (0x0x7faf62b5cc98)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7faf62852840) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7faf62b5cd00) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7faf628527e0) 0
+ primary-for QAbstractTransition (0x0x7faf62b5cd00)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7faf62852b40) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7faf62b5cd68) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7faf62b5cdd0) 0
+ primary-for QAnimationGroup (0x0x7faf62b5cd68)
+ QObject (0x0x7faf62852ae0) 0
+ primary-for QAbstractAnimation (0x0x7faf62b5cdd0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7faf628fcea0) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7faf6295b2a0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7faf629ae720) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7faf62a05ae0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7faf62613340) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7faf62a05a80) 0
+ primary-for QIODevice (0x0x7faf62613340)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7faf6264e480) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7faf62613478) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7faf626134e0) 0
+ primary-for QBuffer (0x0x7faf62613478)
+ QObject (0x0x7faf6264e420) 0
+ primary-for QIODevice (0x0x7faf626134e0)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7faf6264e720) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7faf6264e6c0) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7faf6264e8a0) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7faf6264e840) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7faf6269d780) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7faf626e0720) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7faf6274d000) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7faf6279cc60) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7faf6279ccc0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7faf6279cc00) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7faf6248e3c0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7faf6258b960) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7faf625f2240) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7faf62263d20) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7faf622ad9c0) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7faf622adb40) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7faf62367780) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7faf62367720) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7faf621097e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7faf621098a0) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7faf6218aba0) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7faf621ba360) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7faf61e6f240) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7faf61ecb000) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7faf61f2ca20) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7faf61c6b9c0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7faf61cf8540) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7faf61cf8600) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7faf61b6d600) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7faf61c07060) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7faf61c070c0) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7faf61c07000) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7faf618faa80) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7faf618faae0) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7faf618faa20) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7faf61710240) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7faf617cd1e0) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7faf617cdf00) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7faf61480060) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7faf61480240) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7faf6157a7e0) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7faf615d1f00) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7faf615d7680) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7faf61215300) 0
+ primary-for QTimerEvent (0x0x7faf615d7680)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7faf615d76e8) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7faf612153c0) 0
+ primary-for QChildEvent (0x0x7faf615d76e8)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7faf615d7c30) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7faf61215a20) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7faf615d7c30)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7faf615d7c98) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7faf61215ae0) 0
+ primary-for QDeferredDeleteEvent (0x0x7faf615d7c98)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7faf61215c00) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7faf615d7d00) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7faf61215ba0) 0
+ primary-for QCoreApplication (0x0x7faf615d7d00)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7faf61215e40) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7faf61266000) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7faf615d7d68) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7faf615d7dd0) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7faf615d7d68)
+ QObject (0x0x7faf61215f60) 0
+ primary-for QAbstractItemModel (0x0x7faf615d7dd0)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7faf612661e0) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7faf61266300) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7faf61266480) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7faf612d3ba0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7faf61308300) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7faf61049060) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7faf61048000) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7faf61048068) 0
+ primary-for QFileDevice (0x0x7faf61048000)
+ QObject (0x0x7faf61049000) 0
+ primary-for QIODevice (0x0x7faf61048068)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7faf61049960) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7faf610481a0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7faf61048208) 0
+ primary-for QFile (0x0x7faf610481a0)
+ QIODevice (0x0x7faf61048270) 0
+ primary-for QFileDevice (0x0x7faf61048208)
+ QObject (0x0x7faf61049900) 0
+ primary-for QIODevice (0x0x7faf61048270)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7faf610b9000) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7faf611113c0) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7faf611bc720) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7faf611bcea0) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7faf60f21000) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7faf60ed54e0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7faf60ed5548) 0
+ primary-for QEventTransition (0x0x7faf60ed54e0)
+ QObject (0x0x7faf60ef6f60) 0
+ primary-for QAbstractTransition (0x0x7faf60ed5548)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7faf60ed55b0) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7faf60f211e0) 0 nearly-empty
+ primary-for QException (0x0x7faf60ed55b0)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7faf60ed5618) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7faf60ed5680) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7faf60ed5618)
+ std::exception (0x0x7faf60f21240) 0 nearly-empty
+ primary-for QException (0x0x7faf60ed5680)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7faf60f212a0) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7faf60f21360) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7faf60f213c0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7faf60f21600) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7faf60ed56e8) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7faf60f215a0) 0
+ primary-for QFileSelector (0x0x7faf60ed56e8)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7faf60f21840) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7faf60ed5750) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7faf60f217e0) 0
+ primary-for QFileSystemWatcher (0x0x7faf60ed5750)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7faf60f21a80) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7faf60ed57b8) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7faf60ed5820) 0
+ primary-for QFinalState (0x0x7faf60ed57b8)
+ QObject (0x0x7faf60f21a20) 0
+ primary-for QAbstractState (0x0x7faf60ed5820)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7faf60f21c60) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7faf60f21f00) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7faf60ed58f0) 0
+ QBasicMutex (0x0x7faf60f7aba0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7faf60f7ade0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7faf60ffd2a0) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7faf60ffd8a0) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7faf60ffda80) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7faf60c8e2a0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7faf60d345a0) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7faf60c8df08) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7faf60d34540) 0
+ primary-for QFutureWatcherBase (0x0x7faf60c8df08)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7faf60d60900) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7faf60d4a750) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7faf60d4a7b8) 0
+ primary-for QHistoryState (0x0x7faf60d4a750)
+ QObject (0x0x7faf60d608a0) 0
+ primary-for QAbstractState (0x0x7faf60d4a7b8)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7faf60d60c00) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7faf60d4a820) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7faf60d4a888) 0
+ primary-for QIdentityProxyModel (0x0x7faf60d4a820)
+ QAbstractItemModel (0x0x7faf60d4a8f0) 0
+ primary-for QAbstractProxyModel (0x0x7faf60d4a888)
+ QObject (0x0x7faf60d60ba0) 0
+ primary-for QAbstractItemModel (0x0x7faf60d4a8f0)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7faf60d60de0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7faf60a45720) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7faf60a4e270) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7faf60a456c0) 0
+ primary-for QItemSelectionModel (0x0x7faf60a4e270)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7faf60a4e410) 0
+ QList<QItemSelectionRange> (0x0x7faf60a4e478) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7faf60a90240) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7faf60af4b40) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7faf60841d20) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7faf6087fcc0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7faf6087ff60) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7faf608f8300) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7faf608f8360) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7faf608f82a0) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7faf60626240) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7faf606262a0) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7faf60679a80) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7faf60679ae0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7faf60679a20) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7faf60789e40) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7faf607984e0) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7faf60789de0) 0
+ primary-for QLibrary (0x0x7faf607984e0)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7faf607b6cc0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7faf607b67e0) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7faf60485420) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7faf60485480) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7faf604ff2a0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7faf6056c420) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7faf605d97e0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7faf60253a80) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7faf602fcc00) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7faf602fce40) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7faf602fcde0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7faf603652a0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7faf603e31e0) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7faf5fe189c0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7faf5fe18a20) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7faf5fea32a0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7faf5fee44e0) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7faf5fee4600) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7faf5ff20ba0) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7faf5ff36138) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7faf5ff20b40) 0
+ primary-for QMimeData (0x0x7faf5ff36138)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7faf5ff20d80) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7faf5ff83ea0) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7faf5ff83f60) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7faf5ff98478) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7faf5ff83f00) 0
+ primary-for QObjectCleanupHandler (0x0x7faf5ff98478)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7faf5ffae0c0) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7faf5fc11840) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7faf60006d00) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7faf60006d68) 0
+ primary-for QParallelAnimationGroup (0x0x7faf60006d00)
+ QAbstractAnimation (0x0x7faf60006dd0) 0
+ primary-for QAnimationGroup (0x0x7faf60006d68)
+ QObject (0x0x7faf5fc117e0) 0
+ primary-for QAbstractAnimation (0x0x7faf60006dd0)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7faf5fc11a80) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7faf60006e38) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7faf60006ea0) 0
+ primary-for QPauseAnimation (0x0x7faf60006e38)
+ QObject (0x0x7faf5fc11a20) 0
+ primary-for QAbstractAnimation (0x0x7faf60006ea0)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7faf5fc406c0) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7faf5fc87840) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7faf5fc91208) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7faf5fc877e0) 0
+ primary-for QPluginLoader (0x0x7faf5fc91208)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7faf5fc87960) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7faf5fd00000) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7faf5fce3e38) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7faf5fce3ea0) 0
+ primary-for QProcess (0x0x7faf5fce3e38)
+ QObject (0x0x7faf5fce1f60) 0
+ primary-for QIODevice (0x0x7faf5fce3ea0)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7faf5fd006c0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7faf5fce3f08) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7faf5fce3f70) 0
+ primary-for QVariantAnimation (0x0x7faf5fce3f08)
+ QObject (0x0x7faf5fd00660) 0
+ primary-for QAbstractAnimation (0x0x7faf5fce3f70)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7faf5fd00960) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7faf5fd43068) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7faf5fd430d0) 0
+ primary-for QPropertyAnimation (0x0x7faf5fd43068)
+ QAbstractAnimation (0x0x7faf5fd43138) 0
+ primary-for QVariantAnimation (0x0x7faf5fd430d0)
+ QObject (0x0x7faf5fd00900) 0
+ primary-for QAbstractAnimation (0x0x7faf5fd43138)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7faf5fdcc0c0) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7faf5faa5de0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7faf5faa5d80) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7faf5f88eb40) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7faf5f6cd7e0) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7faf5f6cd780) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7faf5f740dd0) 0
+ QRandomGenerator (0x0x7faf5f771300) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7faf5f771ea0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7faf5f7c0180) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7faf5f7c0660) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7faf5f7c0b40) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7faf5f463960) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7faf5f4d9900) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7faf5f591960) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7faf5f24aa80) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7faf5f24ad20) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7faf5f2147b8) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7faf5f214820) 0
+ primary-for QSaveFile (0x0x7faf5f2147b8)
+ QIODevice (0x0x7faf5f214888) 0
+ primary-for QFileDevice (0x0x7faf5f214820)
+ QObject (0x0x7faf5f24acc0) 0
+ primary-for QIODevice (0x0x7faf5f214888)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7faf5f2a5360) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7faf5f2a54e0) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7faf5f3b0780) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7faf5f3b65b0) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7faf5f3b6618) 0
+ primary-for QSequentialAnimationGroup (0x0x7faf5f3b65b0)
+ QAbstractAnimation (0x0x7faf5f3b6680) 0
+ primary-for QAnimationGroup (0x0x7faf5f3b6618)
+ QObject (0x0x7faf5f3b0720) 0
+ primary-for QAbstractAnimation (0x0x7faf5f3b6680)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7faf5f3b09c0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7faf5f3b66e8) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7faf5f3b0960) 0
+ primary-for QSettings (0x0x7faf5f3b66e8)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7faf5f3b0e40) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7faf5f3b6750) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7faf5f3b0de0) 0
+ primary-for QSharedMemory (0x0x7faf5f3b6750)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7faf5f4020c0) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7faf5f3b67b8) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7faf5f402060) 0
+ primary-for QSignalMapper (0x0x7faf5f3b67b8)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7faf5f402300) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7faf5f3b6820) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7faf5f3b6888) 0
+ primary-for QSignalTransition (0x0x7faf5f3b6820)
+ QObject (0x0x7faf5f4022a0) 0
+ primary-for QAbstractTransition (0x0x7faf5f3b6888)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7faf5f4025a0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7faf5f3b68f0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7faf5f402540) 0
+ primary-for QSocketNotifier (0x0x7faf5f3b68f0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7faf5f4027e0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7faf5f3b6958) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7faf5f3b69c0) 0
+ primary-for QSortFilterProxyModel (0x0x7faf5f3b6958)
+ QAbstractItemModel (0x0x7faf5f3b6a28) 0
+ primary-for QAbstractProxyModel (0x0x7faf5f3b69c0)
+ QObject (0x0x7faf5f402780) 0
+ primary-for QAbstractItemModel (0x0x7faf5f3b6a28)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7faf5f402c00) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7faf5f07b540) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7faf5f3b6bc8) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7faf5f3b6c30) 0
+ primary-for QState (0x0x7faf5f3b6bc8)
+ QObject (0x0x7faf5f07b4e0) 0
+ primary-for QAbstractState (0x0x7faf5f3b6c30)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7faf5f07b9c0) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7faf5f3b6dd0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7faf5f07ba20) 0
+ primary-for QStateMachine::SignalEvent (0x0x7faf5f3b6dd0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7faf5f3b6e38) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7faf5f07ba80) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7faf5f3b6e38)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7faf5f3b6c98) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7faf5f3b6d00) 0
+ primary-for QStateMachine (0x0x7faf5f3b6c98)
+ QAbstractState (0x0x7faf5f3b6d68) 0
+ primary-for QState (0x0x7faf5f3b6d00)
+ QObject (0x0x7faf5f07b960) 0
+ primary-for QAbstractState (0x0x7faf5f3b6d68)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7faf5f07be40) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7faf5f134e40) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7faf5f1e41e0) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7faf5f19af70) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7faf5f1ec000) 0
+ primary-for QStringListModel (0x0x7faf5f19af70)
+ QAbstractItemModel (0x0x7faf5f1ec068) 0
+ primary-for QAbstractListModel (0x0x7faf5f1ec000)
+ QObject (0x0x7faf5f1e4180) 0
+ primary-for QAbstractItemModel (0x0x7faf5f1ec068)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7faf5f1e4300) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7faf5f1e43c0) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7faf5f1e44e0) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7faf5f1ec0d0) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7faf5f1ec138) 0
+ primary-for QTemporaryFile (0x0x7faf5f1ec0d0)
+ QFileDevice (0x0x7faf5f1ec1a0) 0
+ primary-for QFile (0x0x7faf5f1ec138)
+ QIODevice (0x0x7faf5f1ec208) 0
+ primary-for QFileDevice (0x0x7faf5f1ec1a0)
+ QObject (0x0x7faf5f1e4480) 0
+ primary-for QIODevice (0x0x7faf5f1ec208)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7faf5f1e4840) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7faf5ee5e0c0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7faf5ee5e060) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7faf5ee5ea80) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7faf5ee5ec60) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7faf5ee5ee40) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7faf5f1ec410) 0
+ std::__mutex_base (0x0x7faf5ee5eea0) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7faf5eec00c0) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7faf5eec0120) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7faf5eec0180) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7faf5eec0ba0) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7faf5f1ec478) 0
+ std::__recursive_mutex_base (0x0x7faf5eec0c00) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7faf5ee98930) 0
+ std::__mutex_base (0x0x7faf5eefa000) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7faf5eefa060) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7faf5ef03310) 0
+ std::__recursive_mutex_base (0x0x7faf5eefa3c0) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7faf5eefa420) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7faf5eefab40) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7faf5f1ec5b0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7faf5ef3b0c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7faf5f1ec5b0)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7faf5f1ec618) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7faf5ef3b1e0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7faf5f1ec618)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7faf5f1ec680) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7faf5ef3b300) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7faf5f1ec680)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7faf5f1ec750) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7faf5ef3b420) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7faf5f1ec750)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7faf5ef60480) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7faf5ef60780) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7faf5ef60a80) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7faf5ef60de0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7faf5f1ec7b8) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7faf5f001000) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7faf5f1ec7b8)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7faf5ec41f60) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7faf5ec6a3c0) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7faf5edb3240) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7faf5ede26c0) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7faf5ede2720) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7faf5ede2660) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7faf5e873ae0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7faf5e873ea0) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7faf5e873f00) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7faf5e62a240) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7faf5e646068) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7faf5e6460d0) 0
+ primary-for std::future_error (0x0x7faf5e646068)
+ std::exception (0x0x7faf5e62a960) 0 nearly-empty
+ primary-for std::logic_error (0x0x7faf5e6460d0)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7faf5e6600c0) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7faf5e660060) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7faf5e4387e0) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7faf5e4188f0) 0
+ std::__at_thread_exit_elt (0x0x7faf5e4388a0) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7faf5e660240) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7faf5e660000) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7faf5dfb8618) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7faf5dfe08a0) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7faf5dfb8618)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7faf5dc17180) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7faf5dfb8958) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7faf5dc17120) 0
+ primary-for QThread (0x0x7faf5dfb8958)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7faf5dc17540) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7faf5dfb89c0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7faf5dc174e0) 0
+ primary-for QThreadPool (0x0x7faf5dfb89c0)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7faf5dc17720) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7faf5dc17de0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7faf5dfb8a28) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7faf5dc17d80) 0
+ primary-for QTimeLine (0x0x7faf5dfb8a28)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7faf5dc67060) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7faf5dfb8a90) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7faf5dc67000) 0
+ primary-for QTimer (0x0x7faf5dfb8a90)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7faf5dc9f9c0) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7faf5dc9f960) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7faf5dd3ba80) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7faf5dd4b1a0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7faf5dd3ba20) 0
+ primary-for QTranslator (0x0x7faf5dd4b1a0)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7faf5dd3bcc0) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7faf5dd4b208) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7faf5dd4b270) 0
+ primary-for QTransposeProxyModel (0x0x7faf5dd4b208)
+ QAbstractItemModel (0x0x7faf5dd4b2d8) 0
+ primary-for QAbstractProxyModel (0x0x7faf5dd4b270)
+ QObject (0x0x7faf5dd3bc60) 0
+ primary-for QAbstractItemModel (0x0x7faf5dd4b2d8)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7faf5dd3bea0) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7faf5dde48a0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7faf5dde49c0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7faf5da73d80) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7faf5dae9958) 0
+ QVector<QXmlStreamAttribute> (0x0x7faf5daee4e0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7faf5daee7e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7faf5db76780) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7faf5dbd2780) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7faf5d83d840) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7faf5d83d8a0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7faf5d88c780) 0
+
+Class QRgba64
+ size=8 align=8
+ base size=8 base align=8
+QRgba64 (0x0x7faf5d88cd80) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x0x7faf5d94dde0) 0
+
+Class QRegion::QRegionData
+ size=16 align=8
+ base size=16 base align=8
+QRegion::QRegionData (0x0x7faf5d9ff2a0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x0x7faf5d9ff240) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x0x7faf5d6cfea0) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x0x7faf5d7bca20) 0
+
+Class QTouchDevice
+ size=8 align=8
+ base size=8 base align=8
+QTouchDevice (0x0x7faf5d428ae0) 0
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 (int (*)(...))QInputEvent::~QInputEvent
+24 (int (*)(...))QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputEvent (0x0x7faf5d412bc8) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16)
+ QEvent (0x0x7faf5d46f3c0) 0
+ primary-for QInputEvent (0x0x7faf5d412bc8)
+
+Vtable for QEnterEvent
+QEnterEvent::_ZTV11QEnterEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QEnterEvent)
+16 (int (*)(...))QEnterEvent::~QEnterEvent
+24 (int (*)(...))QEnterEvent::~QEnterEvent
+
+Class QEnterEvent
+ size=72 align=8
+ base size=72 base align=8
+QEnterEvent (0x0x7faf5d412c30) 0
+ vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16)
+ QEvent (0x0x7faf5d46f5a0) 0
+ primary-for QEnterEvent (0x0x7faf5d412c30)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 (int (*)(...))QMouseEvent::~QMouseEvent
+24 (int (*)(...))QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=104 align=8
+ base size=100 base align=8
+QMouseEvent (0x0x7faf5d412c98) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16)
+ QInputEvent (0x0x7faf5d412d00) 0
+ primary-for QMouseEvent (0x0x7faf5d412c98)
+ QEvent (0x0x7faf5d46f960) 0
+ primary-for QInputEvent (0x0x7faf5d412d00)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 (int (*)(...))QHoverEvent::~QHoverEvent
+24 (int (*)(...))QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=64 align=8
+ base size=64 base align=8
+QHoverEvent (0x0x7faf5d412d68) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16)
+ QInputEvent (0x0x7faf5d412dd0) 0
+ primary-for QHoverEvent (0x0x7faf5d412d68)
+ QEvent (0x0x7faf5d46fe40) 0
+ primary-for QInputEvent (0x0x7faf5d412dd0)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 (int (*)(...))QWheelEvent::~QWheelEvent
+24 (int (*)(...))QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=96 align=8
+ base size=96 base align=8
+QWheelEvent (0x0x7faf5d412e38) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16)
+ QInputEvent (0x0x7faf5d412ea0) 0
+ primary-for QWheelEvent (0x0x7faf5d412e38)
+ QEvent (0x0x7faf5d4aa060) 0
+ primary-for QInputEvent (0x0x7faf5d412ea0)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 (int (*)(...))QTabletEvent::~QTabletEvent
+24 (int (*)(...))QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=128 align=8
+ base size=128 base align=8
+QTabletEvent (0x0x7faf5d412f08) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16)
+ QInputEvent (0x0x7faf5d412f70) 0
+ primary-for QTabletEvent (0x0x7faf5d412f08)
+ QEvent (0x0x7faf5d4aa6c0) 0
+ primary-for QInputEvent (0x0x7faf5d412f70)
+
+Vtable for QNativeGestureEvent
+QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QNativeGestureEvent)
+16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+
+Class QNativeGestureEvent
+ size=112 align=8
+ base size=112 base align=8
+QNativeGestureEvent (0x0x7faf5d4e8000) 0
+ vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16)
+ QInputEvent (0x0x7faf5d4e8068) 0
+ primary-for QNativeGestureEvent (0x0x7faf5d4e8000)
+ QEvent (0x0x7faf5d4e9000) 0
+ primary-for QInputEvent (0x0x7faf5d4e8068)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 (int (*)(...))QKeyEvent::~QKeyEvent
+24 (int (*)(...))QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=64 align=8
+ base size=59 base align=8
+QKeyEvent (0x0x7faf5d4e80d0) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16)
+ QInputEvent (0x0x7faf5d4e8138) 0
+ primary-for QKeyEvent (0x0x7faf5d4e80d0)
+ QEvent (0x0x7faf5d4e9300) 0
+ primary-for QInputEvent (0x0x7faf5d4e8138)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 (int (*)(...))QFocusEvent::~QFocusEvent
+24 (int (*)(...))QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x0x7faf5d4e81a0) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16)
+ QEvent (0x0x7faf5d4e9600) 0
+ primary-for QFocusEvent (0x0x7faf5d4e81a0)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 (int (*)(...))QPaintEvent::~QPaintEvent
+24 (int (*)(...))QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x0x7faf5d4e8208) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16)
+ QEvent (0x0x7faf5d4e9720) 0
+ primary-for QPaintEvent (0x0x7faf5d4e8208)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 (int (*)(...))QMoveEvent::~QMoveEvent
+24 (int (*)(...))QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x0x7faf5d4e8270) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16)
+ QEvent (0x0x7faf5d4e9840) 0
+ primary-for QMoveEvent (0x0x7faf5d4e8270)
+
+Vtable for QExposeEvent
+QExposeEvent::_ZTV12QExposeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QExposeEvent)
+16 (int (*)(...))QExposeEvent::~QExposeEvent
+24 (int (*)(...))QExposeEvent::~QExposeEvent
+
+Class QExposeEvent
+ size=32 align=8
+ base size=32 base align=8
+QExposeEvent (0x0x7faf5d4e82d8) 0
+ vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16)
+ QEvent (0x0x7faf5d4e9960) 0
+ primary-for QExposeEvent (0x0x7faf5d4e82d8)
+
+Vtable for QPlatformSurfaceEvent
+QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent)
+16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+
+Class QPlatformSurfaceEvent
+ size=24 align=8
+ base size=24 base align=8
+QPlatformSurfaceEvent (0x0x7faf5d4e8340) 0
+ vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16)
+ QEvent (0x0x7faf5d4e9a20) 0
+ primary-for QPlatformSurfaceEvent (0x0x7faf5d4e8340)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 (int (*)(...))QResizeEvent::~QResizeEvent
+24 (int (*)(...))QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x0x7faf5d4e83a8) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16)
+ QEvent (0x0x7faf5d4e9ae0) 0
+ primary-for QResizeEvent (0x0x7faf5d4e83a8)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 (int (*)(...))QCloseEvent::~QCloseEvent
+24 (int (*)(...))QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x0x7faf5d4e8410) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16)
+ QEvent (0x0x7faf5d4e9c00) 0
+ primary-for QCloseEvent (0x0x7faf5d4e8410)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 (int (*)(...))QIconDragEvent::~QIconDragEvent
+24 (int (*)(...))QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x0x7faf5d4e8478) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16)
+ QEvent (0x0x7faf5d4e9c60) 0
+ primary-for QIconDragEvent (0x0x7faf5d4e8478)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 (int (*)(...))QShowEvent::~QShowEvent
+24 (int (*)(...))QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x0x7faf5d4e84e0) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16)
+ QEvent (0x0x7faf5d4e9cc0) 0
+ primary-for QShowEvent (0x0x7faf5d4e84e0)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 (int (*)(...))QHideEvent::~QHideEvent
+24 (int (*)(...))QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x0x7faf5d4e8548) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16)
+ QEvent (0x0x7faf5d4e9d20) 0
+ primary-for QHideEvent (0x0x7faf5d4e8548)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=56 align=8
+ base size=49 base align=8
+QContextMenuEvent (0x0x7faf5d4e85b0) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16)
+ QInputEvent (0x0x7faf5d4e8618) 0
+ primary-for QContextMenuEvent (0x0x7faf5d4e85b0)
+ QEvent (0x0x7faf5d4e9d80) 0
+ primary-for QInputEvent (0x0x7faf5d4e8618)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x0x7faf5d538120) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x0x7faf5d4e8680) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16)
+ QEvent (0x0x7faf5d5380c0) 0
+ primary-for QInputMethodEvent (0x0x7faf5d4e8680)
+
+Class QInputMethodQueryEvent::QueryPair
+ size=24 align=8
+ base size=24 base align=8
+QInputMethodQueryEvent::QueryPair (0x0x7faf5d5b3480) 0
+
+Vtable for QInputMethodQueryEvent
+QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent)
+16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+
+Class QInputMethodQueryEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodQueryEvent (0x0x7faf5d5af888) 0
+ vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16)
+ QEvent (0x0x7faf5d5b3420) 0
+ primary-for QInputMethodQueryEvent (0x0x7faf5d5af888)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 (int (*)(...))QDropEvent::~QDropEvent
+24 (int (*)(...))QDropEvent::~QDropEvent
+
+Class QDropEvent
+ size=72 align=8
+ base size=72 base align=8
+QDropEvent (0x0x7faf5d21d958) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16)
+ QEvent (0x0x7faf5d22e1e0) 0
+ primary-for QDropEvent (0x0x7faf5d21d958)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+
+Class QDragMoveEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragMoveEvent (0x0x7faf5d21d9c0) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16)
+ QDropEvent (0x0x7faf5d21da28) 0
+ primary-for QDragMoveEvent (0x0x7faf5d21d9c0)
+ QEvent (0x0x7faf5d22e5a0) 0
+ primary-for QDropEvent (0x0x7faf5d21da28)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+
+Class QDragEnterEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragEnterEvent (0x0x7faf5d21da90) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16)
+ QDragMoveEvent (0x0x7faf5d21daf8) 0
+ primary-for QDragEnterEvent (0x0x7faf5d21da90)
+ QDropEvent (0x0x7faf5d21db60) 0
+ primary-for QDragMoveEvent (0x0x7faf5d21daf8)
+ QEvent (0x0x7faf5d22e7e0) 0
+ primary-for QDropEvent (0x0x7faf5d21db60)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x0x7faf5d21dbc8) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16)
+ QEvent (0x0x7faf5d22e840) 0
+ primary-for QDragLeaveEvent (0x0x7faf5d21dbc8)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 (int (*)(...))QHelpEvent::~QHelpEvent
+24 (int (*)(...))QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x0x7faf5d21dc30) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16)
+ QEvent (0x0x7faf5d22e8a0) 0
+ primary-for QHelpEvent (0x0x7faf5d21dc30)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x0x7faf5d21dc98) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16)
+ QEvent (0x0x7faf5d22eb40) 0
+ primary-for QStatusTipEvent (0x0x7faf5d21dc98)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x0x7faf5d21dd00) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16)
+ QEvent (0x0x7faf5d22ec00) 0
+ primary-for QWhatsThisClickedEvent (0x0x7faf5d21dd00)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 (int (*)(...))QActionEvent::~QActionEvent
+24 (int (*)(...))QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x0x7faf5d21dd68) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16)
+ QEvent (0x0x7faf5d22ecc0) 0
+ primary-for QActionEvent (0x0x7faf5d21dd68)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=40 align=8
+ base size=40 base align=8
+QFileOpenEvent (0x0x7faf5d21ddd0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16)
+ QEvent (0x0x7faf5d22ede0) 0
+ primary-for QFileOpenEvent (0x0x7faf5d21ddd0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x0x7faf5d21de38) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16)
+ QEvent (0x0x7faf5d22ef00) 0
+ primary-for QToolBarChangeEvent (0x0x7faf5d21de38)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 (int (*)(...))QShortcutEvent::~QShortcutEvent
+24 (int (*)(...))QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x0x7faf5d21dea0) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16)
+ QEvent (0x0x7faf5d26b000) 0
+ primary-for QShortcutEvent (0x0x7faf5d21dea0)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=32 align=8
+ base size=25 base align=8
+QWindowStateChangeEvent (0x0x7faf5d21df08) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16)
+ QEvent (0x0x7faf5d26b180) 0
+ primary-for QWindowStateChangeEvent (0x0x7faf5d21df08)
+
+Class QPointingDeviceUniqueId
+ size=8 align=8
+ base size=8 base align=8
+QPointingDeviceUniqueId (0x0x7faf5d26b300) 0
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x0x7faf5d2bb6c0) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 (int (*)(...))QTouchEvent::~QTouchEvent
+24 (int (*)(...))QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=72 align=8
+ base size=72 base align=8
+QTouchEvent (0x0x7faf5d2b2750) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16)
+ QInputEvent (0x0x7faf5d2b27b8) 0
+ primary-for QTouchEvent (0x0x7faf5d2b2750)
+ QEvent (0x0x7faf5d2bb660) 0
+ primary-for QInputEvent (0x0x7faf5d2b27b8)
+
+Vtable for QScrollPrepareEvent
+QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollPrepareEvent)
+16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+
+Class QScrollPrepareEvent
+ size=112 align=8
+ base size=112 base align=8
+QScrollPrepareEvent (0x0x7faf5d3cb478) 0
+ vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16)
+ QEvent (0x0x7faf5d3c4c60) 0
+ primary-for QScrollPrepareEvent (0x0x7faf5d3cb478)
+
+Vtable for QScrollEvent
+QScrollEvent::_ZTV12QScrollEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScrollEvent)
+16 (int (*)(...))QScrollEvent::~QScrollEvent
+24 (int (*)(...))QScrollEvent::~QScrollEvent
+
+Class QScrollEvent
+ size=64 align=8
+ base size=60 base align=8
+QScrollEvent (0x0x7faf5d3cb4e0) 0
+ vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16)
+ QEvent (0x0x7faf5d3c4cc0) 0
+ primary-for QScrollEvent (0x0x7faf5d3cb4e0)
+
+Vtable for QScreenOrientationChangeEvent
+QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent)
+16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+
+Class QScreenOrientationChangeEvent
+ size=40 align=8
+ base size=36 base align=8
+QScreenOrientationChangeEvent (0x0x7faf5d3cb548) 0
+ vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16)
+ QEvent (0x0x7faf5d3c4d20) 0
+ primary-for QScreenOrientationChangeEvent (0x0x7faf5d3cb548)
+
+Vtable for QApplicationStateChangeEvent
+QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent)
+16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+
+Class QApplicationStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QApplicationStateChangeEvent (0x0x7faf5d3cb5b0) 0
+ vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16)
+ QEvent (0x0x7faf5d3c4d80) 0
+ primary-for QApplicationStateChangeEvent (0x0x7faf5d3cb5b0)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x0x7faf5d3c4de0) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x0x7faf5d09f208) 0
+ QVector<QPoint> (0x0x7faf5d09d2a0) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x0x7faf5d12e548) 0
+ QVector<QPointF> (0x0x7faf5d13a360) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x0x7faf5d1d31e0) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x0x7faf5ce4a000) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x0x7faf5ce22f60) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x0x7faf5cf7a360) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x0x7faf5cf7aa20) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 0
+24 0
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDevice
+ size=24 align=8
+ base size=24 base align=8
+QPaintDevice (0x0x7faf5cc4b4e0) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16)
+
+Class QPixelFormat
+ size=8 align=8
+ base size=8 base align=8
+QPixelFormat (0x0x7faf5cc4bae0) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 (int (*)(...))QImage::~QImage
+24 (int (*)(...))QImage::~QImage
+32 (int (*)(...))QImage::devType
+40 (int (*)(...))QImage::paintEngine
+48 (int (*)(...))QImage::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QImage
+ size=32 align=8
+ base size=32 base align=8
+QImage (0x0x7faf5cd093a8) 0
+ vptr=((& QImage::_ZTV6QImage) + 16)
+ QPaintDevice (0x0x7faf5cd14420) 0
+ primary-for QImage (0x0x7faf5cd093a8)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 (int (*)(...))QPixmap::~QPixmap
+24 (int (*)(...))QPixmap::~QPixmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPixmap
+ size=32 align=8
+ base size=32 base align=8
+QPixmap (0x0x7faf5ca0cdd0) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16)
+ QPaintDevice (0x0x7faf5ca261e0) 0
+ primary-for QPixmap (0x0x7faf5ca0cdd0)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x0x7faf5ca926c0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x0x7faf5cb53c00) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x0x7faf5cb53e40) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x0x7faf5cb4ff70) 0
+ QGradient (0x0x7faf5cbb05a0) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x0x7faf5cbc3000) 0
+ QGradient (0x0x7faf5cbb06c0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x0x7faf5cbc3068) 0
+ QGradient (0x0x7faf5cbb07e0) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x0x7faf5cbb08a0) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x0x7faf5c88d240) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x0x7faf5c88d1e0) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x0x7faf5c8da960) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x0x7faf5c952300) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x0x7faf5c644138) 0
+ QTextFormat (0x0x7faf5c63bea0) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x0x7faf5c6e6548) 0
+ QTextFormat (0x0x7faf5c6e28a0) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x0x7faf5c73ea90) 0
+ QTextFormat (0x0x7faf5c7435a0) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x0x7faf5c782ea0) 0
+ QTextCharFormat (0x0x7faf5c782f08) 0
+ QTextFormat (0x0x7faf5c789d20) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x0x7faf5c7dc478) 0
+ QTextFormat (0x0x7faf5c7e23c0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x0x7faf5c4309c0) 0
+ QTextFrameFormat (0x0x7faf5c430a28) 0
+ QTextFormat (0x0x7faf5c446000) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x0x7faf5c482f70) 0
+ QTextCharFormat (0x0x7faf5c49c000) 0
+ QTextFormat (0x0x7faf5c48d8a0) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x0x7faf5c4d2cc0) 0
+
+Class QRawFont
+ size=8 align=8
+ base size=8 base align=8
+QRawFont (0x0x7faf5c4d2ea0) 0
+
+Class QGlyphRun
+ size=8 align=8
+ base size=8 base align=8
+QGlyphRun (0x0x7faf5c5598a0) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x0x7faf5c5d49c0) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x0x7faf5c237b40) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x0x7faf5c237f60) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x0x7faf5c237f00) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x0x7faf5c2e7660) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x0x7faf5c2e7ae0) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16)
+
+Class QTextDocument::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextDocument::QPrivateSignal (0x0x7faf5c2e7d80) 0 empty
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 (int (*)(...))QTextDocument::metaObject
+24 (int (*)(...))QTextDocument::qt_metacast
+32 (int (*)(...))QTextDocument::qt_metacall
+40 (int (*)(...))QTextDocument::~QTextDocument
+48 (int (*)(...))QTextDocument::~QTextDocument
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextDocument::clear
+120 (int (*)(...))QTextDocument::createObject
+128 (int (*)(...))QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x0x7faf5c2e6af8) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16)
+ QObject (0x0x7faf5c2e7d20) 0
+ primary-for QTextDocument (0x0x7faf5c2e6af8)
+
+Class QPalette::Data
+ size=4 align=4
+ base size=4 base align=4
+QPalette::Data (0x0x7faf5c3458a0) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x0x7faf5c345840) 0
+
+Class QAbstractTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTextDocumentLayout::QPrivateSignal (0x0x7faf5c03dc60) 0 empty
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x0x7faf5c03dcc0) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x0x7faf5c03dd20) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 (int (*)(...))QAbstractTextDocumentLayout::metaObject
+24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast
+32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x0x7faf5c045820) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16)
+ QObject (0x0x7faf5c03dc00) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7faf5c045820)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x0x7faf5c107900) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16)
+
+Class QAccessible::State
+ size=8 align=8
+ base size=5 base align=8
+QAccessible::State (0x0x7faf5c107b40) 0
+
+Vtable for QAccessible::ActivationObserver
+QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessible::ActivationObserver
+ size=8 align=8
+ base size=8 base align=8
+QAccessible::ActivationObserver (0x0x7faf5c107ba0) 0 nearly-empty
+ vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x0x7faf5c107ae0) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x0x7faf5c143780) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset
+104 (int (*)(...))QAccessibleTextInterface::textAfterOffset
+112 (int (*)(...))QAccessibleTextInterface::textAtOffset
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x0x7faf5c143ae0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x0x7faf5c143b40) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x0x7faf5c143ba0) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16)
+
+Vtable for QAccessibleTableCellInterface
+QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableCellInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableCellInterface (0x0x7faf5c143c00) 0 nearly-empty
+ vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x0x7faf5c143c60) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QAccessibleActionInterface::localizedActionName
+48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x0x7faf5c143cc0) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x0x7faf5c143de0) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16)
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=28 base align=8
+QAccessibleEvent (0x0x7faf5c143e40) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16)
+
+Vtable for QAccessibleStateChangeEvent
+QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent)
+16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleStateChangeEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleStateChangeEvent (0x0x7faf5c10fe38) 0
+ vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16)
+ QAccessibleEvent (0x0x7faf5c1af840) 0
+ primary-for QAccessibleStateChangeEvent (0x0x7faf5c10fe38)
+
+Vtable for QAccessibleTextCursorEvent
+QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent)
+16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextCursorEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleTextCursorEvent (0x0x7faf5c10fea0) 0
+ vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16)
+ QAccessibleEvent (0x0x7faf5c1afc00) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7faf5c10fea0)
+
+Vtable for QAccessibleTextSelectionEvent
+QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent)
+16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextSelectionEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleTextSelectionEvent (0x0x7faf5c10ff08) 0
+ vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7faf5c10ff70) 0
+ primary-for QAccessibleTextSelectionEvent (0x0x7faf5c10ff08)
+ QAccessibleEvent (0x0x7faf5be14060) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7faf5c10ff70)
+
+Vtable for QAccessibleTextInsertEvent
+QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent)
+16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextInsertEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextInsertEvent (0x0x7faf5be23000) 0
+ vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7faf5be23068) 0
+ primary-for QAccessibleTextInsertEvent (0x0x7faf5be23000)
+ QAccessibleEvent (0x0x7faf5be144e0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7faf5be23068)
+
+Vtable for QAccessibleTextRemoveEvent
+QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent)
+16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextRemoveEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextRemoveEvent (0x0x7faf5be230d0) 0
+ vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7faf5be23138) 0
+ primary-for QAccessibleTextRemoveEvent (0x0x7faf5be230d0)
+ QAccessibleEvent (0x0x7faf5be14900) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7faf5be23138)
+
+Vtable for QAccessibleTextUpdateEvent
+QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent)
+16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextUpdateEvent
+ size=56 align=8
+ base size=56 base align=8
+QAccessibleTextUpdateEvent (0x0x7faf5be231a0) 0
+ vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7faf5be23208) 0
+ primary-for QAccessibleTextUpdateEvent (0x0x7faf5be231a0)
+ QAccessibleEvent (0x0x7faf5be14d20) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7faf5be23208)
+
+Vtable for QAccessibleValueChangeEvent
+QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent)
+16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleValueChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleValueChangeEvent (0x0x7faf5be23270) 0
+ vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16)
+ QAccessibleEvent (0x0x7faf5be471e0) 0
+ primary-for QAccessibleValueChangeEvent (0x0x7faf5be23270)
+
+Vtable for QAccessibleTableModelChangeEvent
+QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent)
+16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTableModelChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTableModelChangeEvent (0x0x7faf5be232d8) 0
+ vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16)
+ QAccessibleEvent (0x0x7faf5be47600) 0
+ primary-for QAccessibleTableModelChangeEvent (0x0x7faf5be232d8)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x0x7faf5be47ea0) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16)
+
+Class QAccessibleBridgePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessibleBridgePlugin::QPrivateSignal (0x0x7faf5be77180) 0 empty
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 (int (*)(...))QAccessibleBridgePlugin::metaObject
+24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast
+32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleBridgePlugin (0x0x7faf5be23340) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16)
+ QObject (0x0x7faf5be77120) 0
+ primary-for QAccessibleBridgePlugin (0x0x7faf5be23340)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 0
+24 0
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x0x7faf5be233a8) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16)
+ QAccessibleInterface (0x0x7faf5be772a0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7faf5be233a8)
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleApplication::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleApplication::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleApplication::parent
+88 (int (*)(...))QAccessibleApplication::child
+96 (int (*)(...))QAccessibleApplication::childCount
+104 (int (*)(...))QAccessibleApplication::indexOfChild
+112 (int (*)(...))QAccessibleApplication::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))QAccessibleApplication::role
+144 (int (*)(...))QAccessibleApplication::state
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x0x7faf5be23410) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16)
+ QAccessibleObject (0x0x7faf5be23478) 0
+ primary-for QAccessibleApplication (0x0x7faf5be23410)
+ QAccessibleInterface (0x0x7faf5be77300) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7faf5be23478)
+
+Class QAccessiblePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessiblePlugin::QPrivateSignal (0x0x7faf5be773c0) 0 empty
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 (int (*)(...))QAccessiblePlugin::metaObject
+24 (int (*)(...))QAccessiblePlugin::qt_metacast
+32 (int (*)(...))QAccessiblePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessiblePlugin (0x0x7faf5be234e0) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16)
+ QObject (0x0x7faf5be77360) 0
+ primary-for QAccessiblePlugin (0x0x7faf5be234e0)
+
+Class QSurfaceFormat
+ size=8 align=8
+ base size=8 base align=8
+QSurfaceFormat (0x0x7faf5be774e0) 0
+
+Vtable for QSurface
+QSurface::_ZTV8QSurface: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSurface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QSurface
+ size=24 align=8
+ base size=24 base align=8
+QSurface (0x0x7faf5bee1060) 0
+ vptr=((& QSurface::_ZTV8QSurface) + 16)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x0x7faf5bee1420) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x0x7faf5bf9ff60) 0
+
+Class QWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWindow::QPrivateSignal (0x0x7faf5bc6cd20) 0 empty
+
+Vtable for QWindow
+QWindow::_ZTV7QWindow: 45 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWindow)
+16 (int (*)(...))QWindow::metaObject
+24 (int (*)(...))QWindow::qt_metacast
+32 (int (*)(...))QWindow::qt_metacall
+40 (int (*)(...))QWindow::~QWindow
+48 (int (*)(...))QWindow::~QWindow
+56 (int (*)(...))QWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))-16
+304 (int (*)(...))(& _ZTI7QWindow)
+312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev
+320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev
+328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+
+Class QWindow
+ size=40 align=8
+ base size=40 base align=8
+QWindow (0x0x7faf5bc6eee0) 0
+ vptr=((& QWindow::_ZTV7QWindow) + 16)
+ QObject (0x0x7faf5bc6cc60) 0
+ primary-for QWindow (0x0x7faf5bc6eee0)
+ QSurface (0x0x7faf5bc6ccc0) 16
+ vptr=((& QWindow::_ZTV7QWindow) + 312)
+
+Class QBackingStore
+ size=8 align=8
+ base size=8 base align=8
+QBackingStore (0x0x7faf5bcbb600) 0
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 (int (*)(...))QBitmap::~QBitmap
+24 (int (*)(...))QBitmap::~QBitmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QBitmap
+ size=32 align=8
+ base size=32 base align=8
+QBitmap (0x0x7faf5bc737b8) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16)
+ QPixmap (0x0x7faf5bc73820) 0
+ primary-for QBitmap (0x0x7faf5bc737b8)
+ QPaintDevice (0x0x7faf5bcbb6c0) 0
+ primary-for QPixmap (0x0x7faf5bc73820)
+
+Class QClipboard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QClipboard::QPrivateSignal (0x0x7faf5bd13c00) 0 empty
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 (int (*)(...))QClipboard::metaObject
+24 (int (*)(...))QClipboard::qt_metacast
+32 (int (*)(...))QClipboard::qt_metacall
+40 (int (*)(...))QClipboard::~QClipboard
+48 (int (*)(...))QClipboard::~QClipboard
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x0x7faf5bd11af8) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16)
+ QObject (0x0x7faf5bd13ba0) 0
+ primary-for QClipboard (0x0x7faf5bd11af8)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x0x7faf5bd13d20) 0 empty
+
+Class QDrag::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDrag::QPrivateSignal (0x0x7faf5bd13de0) 0 empty
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 (int (*)(...))QDrag::metaObject
+24 (int (*)(...))QDrag::qt_metacast
+32 (int (*)(...))QDrag::qt_metacall
+40 (int (*)(...))QDrag::~QDrag
+48 (int (*)(...))QDrag::~QDrag
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x0x7faf5bd11b60) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16)
+ QObject (0x0x7faf5bd13d80) 0
+ primary-for QDrag (0x0x7faf5bd11b60)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x0x7faf5bd4c000) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x0x7faf5bd92060) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x0x7faf5bddd3c0) 0
+
+Class QGenericPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGenericPlugin::QPrivateSignal (0x0x7faf5bb35480) 0 empty
+
+Vtable for QGenericPlugin
+QGenericPlugin::_ZTV14QGenericPlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGenericPlugin)
+16 (int (*)(...))QGenericPlugin::metaObject
+24 (int (*)(...))QGenericPlugin::qt_metacast
+32 (int (*)(...))QGenericPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGenericPlugin
+ size=16 align=8
+ base size=16 base align=8
+QGenericPlugin (0x0x7faf5ba2f6e8) 0
+ vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16)
+ QObject (0x0x7faf5bb35420) 0
+ primary-for QGenericPlugin (0x0x7faf5ba2f6e8)
+
+Class QGenericPluginFactory
+ size=1 align=1
+ base size=0 base align=1
+QGenericPluginFactory (0x0x7faf5bb355a0) 0 empty
+
+Class QInputMethod::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputMethod::QPrivateSignal (0x0x7faf5bb35660) 0 empty
+
+Vtable for QInputMethod
+QInputMethod::_ZTV12QInputMethod: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputMethod)
+16 (int (*)(...))QInputMethod::metaObject
+24 (int (*)(...))QInputMethod::qt_metacast
+32 (int (*)(...))QInputMethod::qt_metacall
+40 (int (*)(...))QInputMethod::~QInputMethod
+48 (int (*)(...))QInputMethod::~QInputMethod
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QInputMethod
+ size=16 align=8
+ base size=16 base align=8
+QInputMethod (0x0x7faf5ba2f750) 0
+ vptr=((& QInputMethod::_ZTV12QInputMethod) + 16)
+ QObject (0x0x7faf5bb35600) 0
+ primary-for QInputMethod (0x0x7faf5ba2f750)
+
+Class QGuiApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGuiApplication::QPrivateSignal (0x0x7faf5bb35960) 0 empty
+
+Vtable for QGuiApplication
+QGuiApplication::_ZTV15QGuiApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGuiApplication)
+16 (int (*)(...))QGuiApplication::metaObject
+24 (int (*)(...))QGuiApplication::qt_metacast
+32 (int (*)(...))QGuiApplication::qt_metacall
+40 (int (*)(...))QGuiApplication::~QGuiApplication
+48 (int (*)(...))QGuiApplication::~QGuiApplication
+56 (int (*)(...))QGuiApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGuiApplication::notify
+120 (int (*)(...))QGuiApplication::compressEvent
+
+Class QGuiApplication
+ size=16 align=8
+ base size=16 base align=8
+QGuiApplication (0x0x7faf5ba2f7b8) 0
+ vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16)
+ QCoreApplication (0x0x7faf5ba2f820) 0
+ primary-for QGuiApplication (0x0x7faf5ba2f7b8)
+ QObject (0x0x7faf5bb35900) 0
+ primary-for QCoreApplication (0x0x7faf5ba2f820)
+
+Class QIconEngine::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngine::AvailableSizesArgument (0x0x7faf5bba6120) 0
+
+Class QIconEngine::ScaledPixmapArgument
+ size=56 align=8
+ base size=56 base align=8
+QIconEngine::ScaledPixmapArgument (0x0x7faf5bba62a0) 0
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QIconEngine::actualSize
+48 (int (*)(...))QIconEngine::pixmap
+56 (int (*)(...))QIconEngine::addPixmap
+64 (int (*)(...))QIconEngine::addFile
+72 (int (*)(...))QIconEngine::key
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QIconEngine::read
+96 (int (*)(...))QIconEngine::write
+104 (int (*)(...))QIconEngine::availableSizes
+112 (int (*)(...))QIconEngine::iconName
+120 (int (*)(...))QIconEngine::virtual_hook
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x0x7faf5bba60c0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16)
+
+Class QIconEnginePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIconEnginePlugin::QPrivateSignal (0x0x7faf5bba6360) 0 empty
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 (int (*)(...))QIconEnginePlugin::metaObject
+24 (int (*)(...))QIconEnginePlugin::qt_metacast
+32 (int (*)(...))QIconEnginePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=16 align=8
+ base size=16 base align=8
+QIconEnginePlugin (0x0x7faf5ba2fdd0) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16)
+ QObject (0x0x7faf5bba6300) 0
+ primary-for QIconEnginePlugin (0x0x7faf5ba2fdd0)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 0
+24 0
+32 (int (*)(...))QImageIOHandler::name
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QImageIOHandler::write
+64 (int (*)(...))QImageIOHandler::option
+72 (int (*)(...))QImageIOHandler::setOption
+80 (int (*)(...))QImageIOHandler::supportsOption
+88 (int (*)(...))QImageIOHandler::jumpToNextImage
+96 (int (*)(...))QImageIOHandler::jumpToImage
+104 (int (*)(...))QImageIOHandler::loopCount
+112 (int (*)(...))QImageIOHandler::imageCount
+120 (int (*)(...))QImageIOHandler::nextImageDelay
+128 (int (*)(...))QImageIOHandler::currentImageNumber
+136 (int (*)(...))QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x0x7faf5bba6480) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16)
+
+Class QImageIOPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QImageIOPlugin::QPrivateSignal (0x0x7faf5bba66c0) 0 empty
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 (int (*)(...))QImageIOPlugin::metaObject
+24 (int (*)(...))QImageIOPlugin::qt_metacast
+32 (int (*)(...))QImageIOPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=16 align=8
+ base size=16 base align=8
+QImageIOPlugin (0x0x7faf5ba2fe38) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16)
+ QObject (0x0x7faf5bba6660) 0
+ primary-for QImageIOPlugin (0x0x7faf5ba2fe38)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x0x7faf5bba6ea0) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x0x7faf5b840000) 0
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x0x7faf5b840120) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x0x7faf5b8cf2a0) 0
+
+Class QQuaternion
+ size=16 align=4
+ base size=16 base align=4
+QQuaternion (0x0x7faf5b94b4e0) 0
+
+Class QMatrix4x4
+ size=68 align=4
+ base size=68 base align=4
+QMatrix4x4 (0x0x7faf5b9d5de0) 0
+
+Class QMovie::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMovie::QPrivateSignal (0x0x7faf5b6a8c60) 0 empty
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 (int (*)(...))QMovie::metaObject
+24 (int (*)(...))QMovie::qt_metacast
+32 (int (*)(...))QMovie::qt_metacall
+40 (int (*)(...))QMovie::~QMovie
+48 (int (*)(...))QMovie::~QMovie
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x0x7faf5b6995b0) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16)
+ QObject (0x0x7faf5b6a8c00) 0
+ primary-for QMovie (0x0x7faf5b6995b0)
+
+Class QOffscreenSurface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOffscreenSurface::QPrivateSignal (0x0x7faf5b79f0c0) 0 empty
+
+Vtable for QOffscreenSurface
+QOffscreenSurface::_ZTV17QOffscreenSurface: 26 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOffscreenSurface)
+16 (int (*)(...))QOffscreenSurface::metaObject
+24 (int (*)(...))QOffscreenSurface::qt_metacast
+32 (int (*)(...))QOffscreenSurface::qt_metacall
+40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOffscreenSurface::surfaceType
+120 (int (*)(...))QOffscreenSurface::format
+128 (int (*)(...))QOffscreenSurface::size
+136 (int (*)(...))QOffscreenSurface::surfaceHandle
+144 (int (*)(...))-16
+152 (int (*)(...))(& _ZTI17QOffscreenSurface)
+160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev
+168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev
+176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv
+184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv
+192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv
+200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv
+
+Class QOffscreenSurface
+ size=40 align=8
+ base size=40 base align=8
+QOffscreenSurface (0x0x7faf5b67ad20) 0
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16)
+ QObject (0x0x7faf5b79f000) 0
+ primary-for QOffscreenSurface (0x0x7faf5b67ad20)
+ QSurface (0x0x7faf5b79f060) 16
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160)
+
+Class QOpenGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLBuffer (0x0x7faf5b79f300) 0
+
+Class QOpenGLVersionStatus
+ size=12 align=4
+ base size=12 base align=4
+QOpenGLVersionStatus (0x0x7faf5b79fb40) 0
+
+Class QOpenGLVersionFunctionsBackend
+ size=16 align=8
+ base size=12 base align=8
+QOpenGLVersionFunctionsBackend (0x0x7faf5a03d720) 0
+
+Class QOpenGLVersionFunctionsStorage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionFunctionsStorage (0x0x7faf5a03d900) 0
+
+Class QAbstractOpenGLFunctionsPrivate
+ size=16 align=8
+ base size=9 base align=8
+QAbstractOpenGLFunctionsPrivate (0x0x7faf5a03d960) 0
+
+Vtable for QAbstractOpenGLFunctions
+QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions)
+16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions
+
+Class QAbstractOpenGLFunctions
+ size=16 align=8
+ base size=16 base align=8
+QAbstractOpenGLFunctions (0x0x7faf5a03db40) 0
+ vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16)
+
+Class QOpenGLFunctions_1_0_CoreBackend::Functions
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7faf5a03dd20) 0
+
+Class QOpenGLFunctions_1_0_CoreBackend
+ size=400 align=8
+ base size=400 base align=8
+QOpenGLFunctions_1_0_CoreBackend (0x0x7faf5a049478) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a03dcc0) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend::Functions
+ size=128 align=8
+ base size=128 base align=8
+QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7faf5a076060) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend
+ size=144 align=8
+ base size=144 base align=8
+QOpenGLFunctions_1_1_CoreBackend (0x0x7faf5a0494e0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a076000) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7faf5a076360) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_1_2_CoreBackend (0x0x7faf5a049548) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a076300) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7faf5a076660) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_1_3_CoreBackend (0x0x7faf5a0495b0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a076600) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend::Functions
+ size=56 align=8
+ base size=56 base align=8
+QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7faf5a0769c0) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_4_CoreBackend (0x0x7faf5a049618) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a076960) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7faf5a076cc0) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_1_5_CoreBackend (0x0x7faf5a049680) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a076c60) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend::Functions
+ size=744 align=8
+ base size=744 base align=8
+QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7faf5a0a2000) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend
+ size=760 align=8
+ base size=760 base align=8
+QOpenGLFunctions_2_0_CoreBackend (0x0x7faf5a0496e8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a076f60) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7faf5a0a2300) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_2_1_CoreBackend (0x0x7faf5a049750) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a0a22a0) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend::Functions
+ size=672 align=8
+ base size=672 base align=8
+QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7faf5a0a2600) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend
+ size=688 align=8
+ base size=688 base align=8
+QOpenGLFunctions_3_0_CoreBackend (0x0x7faf5a0497b8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a0a25a0) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7faf5a0a2900) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_3_1_CoreBackend (0x0x7faf5a049820) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a0a28a0) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7faf5a0a2c00) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_3_2_CoreBackend (0x0x7faf5a049888) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a0a2ba0) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend::Functions
+ size=464 align=8
+ base size=464 base align=8
+QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7faf5a0a2f00) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend
+ size=480 align=8
+ base size=480 base align=8
+QOpenGLFunctions_3_3_CoreBackend (0x0x7faf5a0498f0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a0a2ea0) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend::Functions
+ size=368 align=8
+ base size=368 base align=8
+QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7faf5a103240) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_4_0_CoreBackend (0x0x7faf5a049958) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a1031e0) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend::Functions
+ size=704 align=8
+ base size=704 base align=8
+QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7faf5a103540) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend
+ size=720 align=8
+ base size=720 base align=8
+QOpenGLFunctions_4_1_CoreBackend (0x0x7faf5a0499c0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a1034e0) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7faf5a103840) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_2_CoreBackend (0x0x7faf5a049a28) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a1037e0) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend::Functions
+ size=344 align=8
+ base size=344 base align=8
+QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7faf5a103b40) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend
+ size=360 align=8
+ base size=360 base align=8
+QOpenGLFunctions_4_3_CoreBackend (0x0x7faf5a049a90) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a103ae0) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7faf5a103e40) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_4_4_CoreBackend (0x0x7faf5a049af8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a103de0) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend::Functions
+ size=848 align=8
+ base size=848 base align=8
+QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7faf5a1581e0) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend
+ size=864 align=8
+ base size=864 base align=8
+QOpenGLFunctions_4_5_CoreBackend (0x0x7faf5a049b60) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a158180) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions
+ size=2064 align=8
+ base size=2064 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7faf5a1584e0) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend
+ size=2080 align=8
+ base size=2080 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7faf5a049bc8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a158480) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions
+ size=136 align=8
+ base size=136 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7faf5a1587e0) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7faf5a049c30) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a158780) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7faf5a158ae0) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend
+ size=272 align=8
+ base size=272 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7faf5a049c98) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a158a80) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions
+ size=296 align=8
+ base size=296 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7faf5a158de0) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend
+ size=312 align=8
+ base size=312 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7faf5a049d00) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a158d80) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7faf5a1e6120) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend
+ size=320 align=8
+ base size=320 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7faf5a049d68) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a1e60c0) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions
+ size=288 align=8
+ base size=288 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7faf5a1e6420) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7faf5a049dd0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a1e63c0) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions
+ size=160 align=8
+ base size=160 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7faf5a1e6720) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend
+ size=176 align=8
+ base size=176 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7faf5a049e38) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a1e66c0) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions
+ size=240 align=8
+ base size=240 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7faf5a1e6a20) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7faf5a049ea0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a1e69c0) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7faf5a1e6d20) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7faf5a049f08) 0
+ QOpenGLVersionFunctionsBackend (0x0x7faf5a1e6cc0) 0
+
+Class QOpenGLVersionProfile
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionProfile (0x0x7faf59e1e000) 0
+
+Class QOpenGLContextGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContextGroup::QPrivateSignal (0x0x7faf59e1eae0) 0 empty
+
+Vtable for QOpenGLContextGroup
+QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOpenGLContextGroup)
+16 (int (*)(...))QOpenGLContextGroup::metaObject
+24 (int (*)(...))QOpenGLContextGroup::qt_metacast
+32 (int (*)(...))QOpenGLContextGroup::qt_metacall
+40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContextGroup
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContextGroup (0x0x7faf59e2d958) 0
+ vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16)
+ QObject (0x0x7faf59e1ea80) 0
+ primary-for QOpenGLContextGroup (0x0x7faf59e2d958)
+
+Class QOpenGLContext::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContext::QPrivateSignal (0x0x7faf59e1ed20) 0 empty
+
+Vtable for QOpenGLContext
+QOpenGLContext::_ZTV14QOpenGLContext: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QOpenGLContext)
+16 (int (*)(...))QOpenGLContext::metaObject
+24 (int (*)(...))QOpenGLContext::qt_metacast
+32 (int (*)(...))QOpenGLContext::qt_metacall
+40 (int (*)(...))QOpenGLContext::~QOpenGLContext
+48 (int (*)(...))QOpenGLContext::~QOpenGLContext
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContext
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContext (0x0x7faf59e2d9c0) 0
+ vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16)
+ QObject (0x0x7faf59e1ecc0) 0
+ primary-for QOpenGLContext (0x0x7faf59e2d9c0)
+
+Class QOpenGLDebugMessage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLDebugMessage (0x0x7faf59e1ef60) 0
+
+Class QOpenGLDebugLogger::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLDebugLogger::QPrivateSignal (0x0x7faf59f17720) 0 empty
+
+Vtable for QOpenGLDebugLogger
+QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger)
+16 (int (*)(...))QOpenGLDebugLogger::metaObject
+24 (int (*)(...))QOpenGLDebugLogger::qt_metacast
+32 (int (*)(...))QOpenGLDebugLogger::qt_metacall
+40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLDebugLogger
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLDebugLogger (0x0x7faf59eba410) 0
+ vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16)
+ QObject (0x0x7faf59f176c0) 0
+ primary-for QOpenGLDebugLogger (0x0x7faf59eba410)
+
+Class QOpenGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFunctions (0x0x7faf59f17ba0) 0
+
+Class QOpenGLFunctionsPrivate::Functions
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate::Functions (0x0x7faf59fbc540) 0
+
+Class QOpenGLFunctionsPrivate
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate (0x0x7faf59fbc4e0) 0
+
+Class QOpenGLExtraFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLExtraFunctions (0x0x7faf59eba7b8) 0
+ QOpenGLFunctions (0x0x7faf59cb4300) 0
+
+Class QOpenGLExtraFunctionsPrivate::Functions
+ size=1728 align=8
+ base size=1728 base align=8
+QOpenGLExtraFunctionsPrivate::Functions (0x0x7faf59cb4660) 0
+
+Class QOpenGLExtraFunctionsPrivate
+ size=2880 align=8
+ base size=2880 base align=8
+QOpenGLExtraFunctionsPrivate (0x0x7faf59eba820) 0
+ QOpenGLFunctionsPrivate (0x0x7faf59cb4600) 0
+
+Vtable for QOpenGLFramebufferObject
+QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject)
+16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+
+Class QOpenGLFramebufferObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLFramebufferObject (0x0x7faf59a99120) 0
+ vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16)
+
+Class QOpenGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFramebufferObjectFormat (0x0x7faf59a993c0) 0
+
+Vtable for QOpenGLPaintDevice
+QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice)
+16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+32 (int (*)(...))QOpenGLPaintDevice::devType
+40 (int (*)(...))QOpenGLPaintDevice::paintEngine
+48 (int (*)(...))QOpenGLPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget
+
+Class QOpenGLPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QOpenGLPaintDevice (0x0x7faf59a8b5b0) 0
+ vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16)
+ QPaintDevice (0x0x7faf59a99420) 0
+ primary-for QOpenGLPaintDevice (0x0x7faf59a8b5b0)
+
+Class QOpenGLPixelTransferOptions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLPixelTransferOptions (0x0x7faf59a99660) 0
+
+Class QOpenGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShader::QPrivateSignal (0x0x7faf59b1f480) 0 empty
+
+Vtable for QOpenGLShader
+QOpenGLShader::_ZTV13QOpenGLShader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLShader)
+16 (int (*)(...))QOpenGLShader::metaObject
+24 (int (*)(...))QOpenGLShader::qt_metacast
+32 (int (*)(...))QOpenGLShader::qt_metacall
+40 (int (*)(...))QOpenGLShader::~QOpenGLShader
+48 (int (*)(...))QOpenGLShader::~QOpenGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLShader
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShader (0x0x7faf59b1b6e8) 0
+ vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16)
+ QObject (0x0x7faf59b1f420) 0
+ primary-for QOpenGLShader (0x0x7faf59b1b6e8)
+
+Class QOpenGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShaderProgram::QPrivateSignal (0x0x7faf59b1fd80) 0 empty
+
+Vtable for QOpenGLShaderProgram
+QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram)
+16 (int (*)(...))QOpenGLShaderProgram::metaObject
+24 (int (*)(...))QOpenGLShaderProgram::qt_metacast
+32 (int (*)(...))QOpenGLShaderProgram::qt_metacall
+40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOpenGLShaderProgram::link
+
+Class QOpenGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShaderProgram (0x0x7faf59b1b820) 0
+ vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16)
+ QObject (0x0x7faf59b1fd20) 0
+ primary-for QOpenGLShaderProgram (0x0x7faf59b1b820)
+
+Class QOpenGLTexture
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTexture (0x0x7faf59b1ff60) 0
+
+Class QOpenGLTextureBlitter
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTextureBlitter (0x0x7faf59830480) 0
+
+Class QOpenGLTimerQuery::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimerQuery::QPrivateSignal (0x0x7faf598306c0) 0 empty
+
+Vtable for QOpenGLTimerQuery
+QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery)
+16 (int (*)(...))QOpenGLTimerQuery::metaObject
+24 (int (*)(...))QOpenGLTimerQuery::qt_metacast
+32 (int (*)(...))QOpenGLTimerQuery::qt_metacall
+40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimerQuery
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimerQuery (0x0x7faf59b1b958) 0
+ vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16)
+ QObject (0x0x7faf59830660) 0
+ primary-for QOpenGLTimerQuery (0x0x7faf59b1b958)
+
+Class QOpenGLTimeMonitor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimeMonitor::QPrivateSignal (0x0x7faf59830900) 0 empty
+
+Vtable for QOpenGLTimeMonitor
+QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor)
+16 (int (*)(...))QOpenGLTimeMonitor::metaObject
+24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast
+32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall
+40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimeMonitor
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimeMonitor (0x0x7faf59b1b9c0) 0
+ vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16)
+ QObject (0x0x7faf598308a0) 0
+ primary-for QOpenGLTimeMonitor (0x0x7faf59b1b9c0)
+
+Class QOpenGLVertexArrayObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLVertexArrayObject::QPrivateSignal (0x0x7faf59830b40) 0 empty
+
+Class QOpenGLVertexArrayObject::Binder
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVertexArrayObject::Binder (0x0x7faf59830ba0) 0
+
+Vtable for QOpenGLVertexArrayObject
+QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject)
+16 (int (*)(...))QOpenGLVertexArrayObject::metaObject
+24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast
+32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall
+40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLVertexArrayObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLVertexArrayObject (0x0x7faf59b1ba28) 0
+ vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16)
+ QObject (0x0x7faf59830ae0) 0
+ primary-for QOpenGLVertexArrayObject (0x0x7faf59b1ba28)
+
+Class QPaintDeviceWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPaintDeviceWindow::QPrivateSignal (0x0x7faf598832a0) 0 empty
+
+Vtable for QPaintDeviceWindow
+QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+16 (int (*)(...))QPaintDeviceWindow::metaObject
+24 (int (*)(...))QPaintDeviceWindow::qt_metacast
+32 (int (*)(...))QPaintDeviceWindow::qt_metacall
+40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QPaintDeviceWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev
+344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+384 (int (*)(...))-40
+392 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev
+408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev
+416 (int (*)(...))QPaintDevice::devType
+424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+440 (int (*)(...))QPaintDevice::initPainter
+448 (int (*)(...))QPaintDevice::redirected
+456 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDeviceWindow
+ size=64 align=8
+ base size=64 base align=8
+QPaintDeviceWindow (0x0x7faf5987e380) 0
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16)
+ QWindow (0x0x7faf5987e3f0) 0
+ primary-for QPaintDeviceWindow (0x0x7faf5987e380)
+ QObject (0x0x7faf59883180) 0
+ primary-for QWindow (0x0x7faf5987e3f0)
+ QSurface (0x0x7faf598831e0) 16
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336)
+ QPaintDevice (0x0x7faf59883240) 40
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400)
+
+Class QOpenGLWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWindow::QPrivateSignal (0x0x7faf598835a0) 0 empty
+
+Vtable for QOpenGLWindow
+QOpenGLWindow::_ZTV13QOpenGLWindow: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWindow)
+16 (int (*)(...))QOpenGLWindow::metaObject
+24 (int (*)(...))QOpenGLWindow::qt_metacast
+32 (int (*)(...))QOpenGLWindow::qt_metacall
+40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QOpenGLWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QOpenGLWindow::paintEvent
+304 (int (*)(...))QOpenGLWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QOpenGLWindow::initializeGL
+328 (int (*)(...))QOpenGLWindow::resizeGL
+336 (int (*)(...))QOpenGLWindow::paintGL
+344 (int (*)(...))QOpenGLWindow::paintUnderGL
+352 (int (*)(...))QOpenGLWindow::paintOverGL
+360 (int (*)(...))QOpenGLWindow::redirected
+368 (int (*)(...))-16
+376 (int (*)(...))(& _ZTI13QOpenGLWindow)
+384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev
+392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev
+400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+432 (int (*)(...))-40
+440 (int (*)(...))(& _ZTI13QOpenGLWindow)
+448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev
+456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev
+464 (int (*)(...))QPaintDevice::devType
+472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QPaintDevice::initPainter
+496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint
+504 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QOpenGLWindow
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLWindow (0x0x7faf59b1baf8) 0
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16)
+ QPaintDeviceWindow (0x0x7faf5987e5b0) 0
+ primary-for QOpenGLWindow (0x0x7faf59b1baf8)
+ QWindow (0x0x7faf5987e620) 0
+ primary-for QPaintDeviceWindow (0x0x7faf5987e5b0)
+ QObject (0x0x7faf59883480) 0
+ primary-for QWindow (0x0x7faf5987e620)
+ QSurface (0x0x7faf598834e0) 16
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384)
+ QPaintDevice (0x0x7faf59883540) 40
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448)
+
+Class QPageSize
+ size=8 align=8
+ base size=8 base align=8
+QPageSize (0x0x7faf59883780) 0
+
+Class QPageLayout
+ size=8 align=8
+ base size=8 base align=8
+QPageLayout (0x0x7faf599291e0) 0
+
+Class QPagedPaintDevice::Margins
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice::Margins (0x0x7faf5998ad20) 0
+
+Vtable for QPagedPaintDevice
+QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QPagedPaintDevice)
+16 0
+24 0
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QPagedPaintDevice::setPageSize
+96 (int (*)(...))QPagedPaintDevice::setPageSizeMM
+104 (int (*)(...))QPagedPaintDevice::setMargins
+
+Class QPagedPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice (0x0x7faf59982a90) 0
+ vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16)
+ QPaintDevice (0x0x7faf5998acc0) 0
+ primary-for QPagedPaintDevice (0x0x7faf59982a90)
+
+Class QPainter::PixmapFragment
+ size=80 align=8
+ base size=80 base align=8
+QPainter::PixmapFragment (0x0x7faf5998ade0) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x0x7faf5998ad80) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x0x7faf597db180) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QPaintEngine::drawRects
+64 (int (*)(...))QPaintEngine::drawRects
+72 (int (*)(...))QPaintEngine::drawLines
+80 (int (*)(...))QPaintEngine::drawLines
+88 (int (*)(...))QPaintEngine::drawEllipse
+96 (int (*)(...))QPaintEngine::drawEllipse
+104 (int (*)(...))QPaintEngine::drawPath
+112 (int (*)(...))QPaintEngine::drawPoints
+120 (int (*)(...))QPaintEngine::drawPoints
+128 (int (*)(...))QPaintEngine::drawPolygon
+136 (int (*)(...))QPaintEngine::drawPolygon
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QPaintEngine::drawTextItem
+160 (int (*)(...))QPaintEngine::drawTiledPixmap
+168 (int (*)(...))QPaintEngine::drawImage
+176 (int (*)(...))QPaintEngine::coordinateOffset
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x0x7faf5941c0c0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x0x7faf5941c8a0) 0
+
+Class QPdfWriter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPdfWriter::QPrivateSignal (0x0x7faf594d9060) 0 empty
+
+Vtable for QPdfWriter
+QPdfWriter::_ZTV10QPdfWriter: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QPdfWriter)
+16 (int (*)(...))QPdfWriter::metaObject
+24 (int (*)(...))QPdfWriter::qt_metacast
+32 (int (*)(...))QPdfWriter::qt_metacall
+40 (int (*)(...))QPdfWriter::~QPdfWriter
+48 (int (*)(...))QPdfWriter::~QPdfWriter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPdfWriter::newPage
+120 (int (*)(...))QPdfWriter::setPageSize
+128 (int (*)(...))QPdfWriter::setPageSizeMM
+136 (int (*)(...))QPdfWriter::setMargins
+144 (int (*)(...))QPdfWriter::paintEngine
+152 (int (*)(...))QPdfWriter::metric
+160 (int (*)(...))-16
+168 (int (*)(...))(& _ZTI10QPdfWriter)
+176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev
+184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev
+192 (int (*)(...))QPaintDevice::devType
+200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv
+208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE
+216 (int (*)(...))QPaintDevice::initPainter
+224 (int (*)(...))QPaintDevice::redirected
+232 (int (*)(...))QPaintDevice::sharedPainter
+240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv
+248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE
+256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF
+264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE
+
+Class QPdfWriter
+ size=48 align=8
+ base size=48 base align=8
+QPdfWriter (0x0x7faf594a3690) 0
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16)
+ QObject (0x0x7faf5949df60) 0
+ primary-for QPdfWriter (0x0x7faf594a3690)
+ QPagedPaintDevice (0x0x7faf59806e38) 16
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176)
+ QPaintDevice (0x0x7faf594d9000) 16
+ primary-for QPagedPaintDevice (0x0x7faf59806e38)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 (int (*)(...))QPicture::~QPicture
+24 (int (*)(...))QPicture::~QPicture
+32 (int (*)(...))QPicture::devType
+40 (int (*)(...))QPicture::paintEngine
+48 (int (*)(...))QPicture::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPicture::setData
+
+Class QPicture
+ size=32 align=8
+ base size=32 base align=8
+QPicture (0x0x7faf59806ea0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16)
+ QPaintDevice (0x0x7faf594d9360) 0
+ primary-for QPicture (0x0x7faf59806ea0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x0x7faf5953e600) 0
+
+Class QPictureFormatPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPictureFormatPlugin::QPrivateSignal (0x0x7faf5953e6c0) 0 empty
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 (int (*)(...))QPictureFormatPlugin::metaObject
+24 (int (*)(...))QPictureFormatPlugin::qt_metacast
+32 (int (*)(...))QPictureFormatPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPictureFormatPlugin::loadPicture
+120 (int (*)(...))QPictureFormatPlugin::savePicture
+128 (int (*)(...))__cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=16 align=8
+ base size=16 base align=8
+QPictureFormatPlugin (0x0x7faf59545068) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16)
+ QObject (0x0x7faf5953e660) 0
+ primary-for QPictureFormatPlugin (0x0x7faf59545068)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x0x7faf5953e840) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x0x7faf5953e7e0) 0 empty
+
+Class QRasterWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRasterWindow::QPrivateSignal (0x0x7faf5921b000) 0 empty
+
+Vtable for QRasterWindow
+QRasterWindow::_ZTV13QRasterWindow: 59 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QRasterWindow)
+16 (int (*)(...))QRasterWindow::metaObject
+24 (int (*)(...))QRasterWindow::qt_metacast
+32 (int (*)(...))QRasterWindow::qt_metacall
+40 (int (*)(...))QRasterWindow::~QRasterWindow
+48 (int (*)(...))QRasterWindow::~QRasterWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QRasterWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QRasterWindow::redirected
+328 (int (*)(...))-16
+336 (int (*)(...))(& _ZTI13QRasterWindow)
+344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev
+352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+392 (int (*)(...))-40
+400 (int (*)(...))(& _ZTI13QRasterWindow)
+408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev
+416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev
+424 (int (*)(...))QPaintDevice::devType
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+448 (int (*)(...))QPaintDevice::initPainter
+456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint
+464 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QRasterWindow
+ size=64 align=8
+ base size=64 base align=8
+QRasterWindow (0x0x7faf59603c98) 0
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16)
+ QPaintDeviceWindow (0x0x7faf592124d0) 0
+ primary-for QRasterWindow (0x0x7faf59603c98)
+ QWindow (0x0x7faf59212540) 0
+ primary-for QPaintDeviceWindow (0x0x7faf592124d0)
+ QObject (0x0x7faf595fcea0) 0
+ primary-for QWindow (0x0x7faf59212540)
+ QSurface (0x0x7faf595fcf00) 16
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344)
+ QPaintDevice (0x0x7faf595fcf60) 40
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408)
+
+Class QScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScreen::QPrivateSignal (0x0x7faf5921b240) 0 empty
+
+Vtable for QScreen
+QScreen::_ZTV7QScreen: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QScreen)
+16 (int (*)(...))QScreen::metaObject
+24 (int (*)(...))QScreen::qt_metacast
+32 (int (*)(...))QScreen::qt_metacall
+40 (int (*)(...))QScreen::~QScreen
+48 (int (*)(...))QScreen::~QScreen
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScreen
+ size=16 align=8
+ base size=16 base align=8
+QScreen (0x0x7faf59603d68) 0
+ vptr=((& QScreen::_ZTV7QScreen) + 16)
+ QObject (0x0x7faf5921b1e0) 0
+ primary-for QScreen (0x0x7faf59603d68)
+
+Class QSessionManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSessionManager::QPrivateSignal (0x0x7faf5921b480) 0 empty
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 (int (*)(...))QSessionManager::metaObject
+24 (int (*)(...))QSessionManager::qt_metacast
+32 (int (*)(...))QSessionManager::qt_metacall
+40 (int (*)(...))QSessionManager::~QSessionManager
+48 (int (*)(...))QSessionManager::~QSessionManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x0x7faf59603dd0) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16)
+ QObject (0x0x7faf5921b420) 0
+ primary-for QSessionManager (0x0x7faf59603dd0)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 (int (*)(...))QStandardItem::~QStandardItem
+24 (int (*)(...))QStandardItem::~QStandardItem
+32 (int (*)(...))QStandardItem::data
+40 (int (*)(...))QStandardItem::setData
+48 (int (*)(...))QStandardItem::clone
+56 (int (*)(...))QStandardItem::type
+64 (int (*)(...))QStandardItem::read
+72 (int (*)(...))QStandardItem::write
+80 (int (*)(...))QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x0x7faf5921b660) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16)
+
+Class QStandardItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStandardItemModel::QPrivateSignal (0x0x7faf59291de0) 0 empty
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 (int (*)(...))QStandardItemModel::metaObject
+24 (int (*)(...))QStandardItemModel::qt_metacast
+32 (int (*)(...))QStandardItemModel::qt_metacall
+40 (int (*)(...))QStandardItemModel::~QStandardItemModel
+48 (int (*)(...))QStandardItemModel::~QStandardItemModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStandardItemModel::index
+120 (int (*)(...))QStandardItemModel::parent
+128 (int (*)(...))QStandardItemModel::sibling
+136 (int (*)(...))QStandardItemModel::rowCount
+144 (int (*)(...))QStandardItemModel::columnCount
+152 (int (*)(...))QStandardItemModel::hasChildren
+160 (int (*)(...))QStandardItemModel::data
+168 (int (*)(...))QStandardItemModel::setData
+176 (int (*)(...))QStandardItemModel::headerData
+184 (int (*)(...))QStandardItemModel::setHeaderData
+192 (int (*)(...))QStandardItemModel::itemData
+200 (int (*)(...))QStandardItemModel::setItemData
+208 (int (*)(...))QStandardItemModel::mimeTypes
+216 (int (*)(...))QStandardItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QStandardItemModel::dropMimeData
+240 (int (*)(...))QStandardItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStandardItemModel::insertRows
+264 (int (*)(...))QStandardItemModel::insertColumns
+272 (int (*)(...))QStandardItemModel::removeRows
+280 (int (*)(...))QStandardItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStandardItemModel::flags
+328 (int (*)(...))QStandardItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x0x7faf5928e3a8) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16)
+ QAbstractItemModel (0x0x7faf5928e410) 0
+ primary-for QStandardItemModel (0x0x7faf5928e3a8)
+ QObject (0x0x7faf59291d80) 0
+ primary-for QAbstractItemModel (0x0x7faf5928e410)
+
+Class QStaticText
+ size=8 align=8
+ base size=8 base align=8
+QStaticText (0x0x7faf593391e0) 0
+
+Class QStyleHints::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyleHints::QPrivateSignal (0x0x7faf593955a0) 0 empty
+
+Vtable for QStyleHints
+QStyleHints::_ZTV11QStyleHints: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QStyleHints)
+16 (int (*)(...))QStyleHints::metaObject
+24 (int (*)(...))QStyleHints::qt_metacast
+32 (int (*)(...))QStyleHints::qt_metacall
+40 (int (*)(...))QStyleHints::~QStyleHints
+48 (int (*)(...))QStyleHints::~QStyleHints
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QStyleHints
+ size=16 align=8
+ base size=16 base align=8
+QStyleHints (0x0x7faf5938f750) 0
+ vptr=((& QStyleHints::_ZTV11QStyleHints) + 16)
+ QObject (0x0x7faf59395540) 0
+ primary-for QStyleHints (0x0x7faf5938f750)
+
+Class QTextObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextObject::QPrivateSignal (0x0x7faf593957e0) 0 empty
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 (int (*)(...))QTextObject::metaObject
+24 (int (*)(...))QTextObject::qt_metacast
+32 (int (*)(...))QTextObject::qt_metacall
+40 (int (*)(...))QTextObject::~QTextObject
+48 (int (*)(...))QTextObject::~QTextObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x0x7faf5938f7b8) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16)
+ QObject (0x0x7faf59395780) 0
+ primary-for QTextObject (0x0x7faf5938f7b8)
+
+Class QTextBlockGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBlockGroup::QPrivateSignal (0x0x7faf59395a20) 0 empty
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 (int (*)(...))QTextBlockGroup::metaObject
+24 (int (*)(...))QTextBlockGroup::qt_metacast
+32 (int (*)(...))QTextBlockGroup::qt_metacall
+40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x0x7faf5938f820) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16)
+ QTextObject (0x0x7faf5938f888) 0
+ primary-for QTextBlockGroup (0x0x7faf5938f820)
+ QObject (0x0x7faf593959c0) 0
+ primary-for QTextObject (0x0x7faf5938f888)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x0x7faf59395c00) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16)
+
+Class QTextFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextFrame::QPrivateSignal (0x0x7faf59395cc0) 0 empty
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x0x7faf59395d20) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 (int (*)(...))QTextFrame::metaObject
+24 (int (*)(...))QTextFrame::qt_metacast
+32 (int (*)(...))QTextFrame::qt_metacall
+40 (int (*)(...))QTextFrame::~QTextFrame
+48 (int (*)(...))QTextFrame::~QTextFrame
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x0x7faf5938f8f0) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16)
+ QTextObject (0x0x7faf5938f958) 0
+ primary-for QTextFrame (0x0x7faf5938f8f0)
+ QObject (0x0x7faf59395c60) 0
+ primary-for QTextObject (0x0x7faf5938f958)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x0x7faf5902a6c0) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x0x7faf5902a780) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x0x7faf5902a720) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x0x7faf6670af00) 0
+
+Class QSyntaxHighlighter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSyntaxHighlighter::QPrivateSignal (0x0x7faf652b6180) 0 empty
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 (int (*)(...))QSyntaxHighlighter::metaObject
+24 (int (*)(...))QSyntaxHighlighter::qt_metacast
+32 (int (*)(...))QSyntaxHighlighter::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x0x7faf64a7b270) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16)
+ QObject (0x0x7faf6529db40) 0
+ primary-for QSyntaxHighlighter (0x0x7faf64a7b270)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x0x7faf652db180) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x0x7faf652db9c0) 0
+
+Class QTextList::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextList::QPrivateSignal (0x0x7faf652dbd20) 0 empty
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 (int (*)(...))QTextList::metaObject
+24 (int (*)(...))QTextList::qt_metacast
+32 (int (*)(...))QTextList::qt_metacall
+40 (int (*)(...))QTextList::~QTextList
+48 (int (*)(...))QTextList::~QTextList
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x0x7faf64a7b2d8) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16)
+ QTextBlockGroup (0x0x7faf64ac22d8) 0
+ primary-for QTextList (0x0x7faf64a7b2d8)
+ QTextObject (0x0x7faf64ac2340) 0
+ primary-for QTextBlockGroup (0x0x7faf64ac22d8)
+ QObject (0x0x7faf652dba20) 0
+ primary-for QTextObject (0x0x7faf64ac2340)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x0x7faf6516e240) 0
+
+Class QTextTable::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextTable::QPrivateSignal (0x0x7faf64cbc540) 0 empty
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 (int (*)(...))QTextTable::metaObject
+24 (int (*)(...))QTextTable::qt_metacast
+32 (int (*)(...))QTextTable::qt_metacall
+40 (int (*)(...))QTextTable::~QTextTable
+48 (int (*)(...))QTextTable::~QTextTable
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x0x7faf64ac2af8) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16)
+ QTextFrame (0x0x7faf64ac2b60) 0
+ primary-for QTextTable (0x0x7faf64ac2af8)
+ QTextObject (0x0x7faf64b06000) 0
+ primary-for QTextFrame (0x0x7faf64ac2b60)
+ QObject (0x0x7faf64c9c300) 0
+ primary-for QTextObject (0x0x7faf64b06000)
+
+Class QValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QValidator::QPrivateSignal (0x0x7faf64a2c840) 0 empty
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 (int (*)(...))QValidator::metaObject
+24 (int (*)(...))QValidator::qt_metacast
+32 (int (*)(...))QValidator::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x0x7faf64b06068) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16)
+ QObject (0x0x7faf64a2c780) 0
+ primary-for QValidator (0x0x7faf64b06068)
+
+Class QIntValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIntValidator::QPrivateSignal (0x0x7faf64a5a960) 0 empty
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 (int (*)(...))QIntValidator::metaObject
+24 (int (*)(...))QIntValidator::qt_metacast
+32 (int (*)(...))QIntValidator::qt_metacall
+40 (int (*)(...))QIntValidator::~QIntValidator
+48 (int (*)(...))QIntValidator::~QIntValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIntValidator::validate
+120 (int (*)(...))QIntValidator::fixup
+128 (int (*)(...))QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x0x7faf64b1d0d0) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16)
+ QValidator (0x0x7faf64b1d138) 0
+ primary-for QIntValidator (0x0x7faf64b1d0d0)
+ QObject (0x0x7faf64a5a900) 0
+ primary-for QValidator (0x0x7faf64b1d138)
+
+Class QDoubleValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleValidator::QPrivateSignal (0x0x7faf64ad1c00) 0 empty
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 (int (*)(...))QDoubleValidator::metaObject
+24 (int (*)(...))QDoubleValidator::qt_metacast
+32 (int (*)(...))QDoubleValidator::qt_metacall
+40 (int (*)(...))QDoubleValidator::~QDoubleValidator
+48 (int (*)(...))QDoubleValidator::~QDoubleValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDoubleValidator::validate
+120 (int (*)(...))QValidator::fixup
+128 (int (*)(...))QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x0x7faf6483c8f0) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16)
+ QValidator (0x0x7faf6483c958) 0
+ primary-for QDoubleValidator (0x0x7faf6483c8f0)
+ QObject (0x0x7faf64ad1ba0) 0
+ primary-for QValidator (0x0x7faf6483c958)
+
+Class QRegExpValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegExpValidator::QPrivateSignal (0x0x7faf64946f00) 0 empty
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 (int (*)(...))QRegExpValidator::metaObject
+24 (int (*)(...))QRegExpValidator::qt_metacast
+32 (int (*)(...))QRegExpValidator::qt_metacall
+40 (int (*)(...))QRegExpValidator::~QRegExpValidator
+48 (int (*)(...))QRegExpValidator::~QRegExpValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegExpValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x0x7faf6483ca90) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16)
+ QValidator (0x0x7faf6483cc30) 0
+ primary-for QRegExpValidator (0x0x7faf6483ca90)
+ QObject (0x0x7faf64b18180) 0
+ primary-for QValidator (0x0x7faf6483cc30)
+
+Class QRegularExpressionValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegularExpressionValidator::QPrivateSignal (0x0x7faf6496dba0) 0 empty
+
+Vtable for QRegularExpressionValidator
+QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QRegularExpressionValidator)
+16 (int (*)(...))QRegularExpressionValidator::metaObject
+24 (int (*)(...))QRegularExpressionValidator::qt_metacast
+32 (int (*)(...))QRegularExpressionValidator::qt_metacall
+40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegularExpressionValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegularExpressionValidator
+ size=16 align=8
+ base size=16 base align=8
+QRegularExpressionValidator (0x0x7faf64854410) 0
+ vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16)
+ QValidator (0x0x7faf64854478) 0
+ primary-for QRegularExpressionValidator (0x0x7faf64854410)
+ QObject (0x0x7faf6496db40) 0
+ primary-for QValidator (0x0x7faf64854478)
+
+Class QSizePolicy::Bits
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy::Bits (0x0x7faf6465d360) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x0x7faf6465d300) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x0x7faf63065b40) 0
+
+Class QWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidget::QPrivateSignal (0x0x7faf63065f60) 0 empty
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 (int (*)(...))QWidget::metaObject
+24 (int (*)(...))QWidget::qt_metacast
+32 (int (*)(...))QWidget::qt_metacall
+40 (int (*)(...))QWidget::~QWidget
+48 (int (*)(...))QWidget::~QWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI7QWidget)
+448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev
+456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWidget
+ size=48 align=8
+ base size=48 base align=8
+QWidget (0x0x7faf6569b310) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16)
+ QObject (0x0x7faf63065de0) 0
+ primary-for QWidget (0x0x7faf6569b310)
+ QPaintDevice (0x0x7faf63065e40) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 448)
+
+Class QAbstractButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractButton::QPrivateSignal (0x0x7faf62990120) 0 empty
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 (int (*)(...))QAbstractButton::metaObject
+24 (int (*)(...))QAbstractButton::qt_metacast
+32 (int (*)(...))QAbstractButton::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI15QAbstractButton)
+472 0
+480 0
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractButton
+ size=48 align=8
+ base size=48 base align=8
+QAbstractButton (0x0x7faf6307be38) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16)
+ QWidget (0x0x7faf669894d0) 0
+ primary-for QAbstractButton (0x0x7faf6307be38)
+ QObject (0x0x7faf6295b060) 0
+ primary-for QWidget (0x0x7faf669894d0)
+ QPaintDevice (0x0x7faf6295b0c0) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472)
+
+Class QAbstractSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSpinBox::QPrivateSignal (0x0x7faf629e9660) 0 empty
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 (int (*)(...))QAbstractSpinBox::metaObject
+24 (int (*)(...))QAbstractSpinBox::qt_metacast
+32 (int (*)(...))QAbstractSpinBox::qt_metacall
+40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSpinBox::validate
+440 (int (*)(...))QAbstractSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+488 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSpinBox (0x0x7faf6307bea0) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16)
+ QWidget (0x0x7faf6754e000) 0
+ primary-for QAbstractSpinBox (0x0x7faf6307bea0)
+ QObject (0x0x7faf629e9000) 0
+ primary-for QWidget (0x0x7faf6754e000)
+ QPaintDevice (0x0x7faf629e9060) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 488)
+
+Class QAbstractSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSlider::QPrivateSignal (0x0x7faf627da420) 0 empty
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 (int (*)(...))QAbstractSlider::metaObject
+24 (int (*)(...))QAbstractSlider::qt_metacast
+32 (int (*)(...))QAbstractSlider::qt_metacall
+40 (int (*)(...))QAbstractSlider::~QAbstractSlider
+48 (int (*)(...))QAbstractSlider::~QAbstractSlider
+56 (int (*)(...))QAbstractSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QAbstractSlider)
+456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSlider
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSlider (0x0x7faf63094548) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16)
+ QWidget (0x0x7faf673c34d0) 0
+ primary-for QAbstractSlider (0x0x7faf63094548)
+ QObject (0x0x7faf6279ca20) 0
+ primary-for QWidget (0x0x7faf673c34d0)
+ QPaintDevice (0x0x7faf627da3c0) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456)
+
+Class QSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSlider::QPrivateSignal (0x0x7faf627feba0) 0 empty
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 (int (*)(...))QSlider::metaObject
+24 (int (*)(...))QSlider::qt_metacast
+32 (int (*)(...))QSlider::qt_metacall
+40 (int (*)(...))QSlider::~QSlider
+48 (int (*)(...))QSlider::~QSlider
+56 (int (*)(...))QSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSlider::sizeHint
+136 (int (*)(...))QSlider::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSlider::mousePressEvent
+176 (int (*)(...))QSlider::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSlider::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSlider::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI7QSlider)
+456 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev
+464 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSlider
+ size=48 align=8
+ base size=48 base align=8
+QSlider (0x0x7faf63094618) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16)
+ QAbstractSlider (0x0x7faf63094680) 0
+ primary-for QSlider (0x0x7faf63094618)
+ QWidget (0x0x7faf673c3a80) 0
+ primary-for QAbstractSlider (0x0x7faf63094680)
+ QObject (0x0x7faf627daf60) 0
+ primary-for QWidget (0x0x7faf673c3a80)
+ QPaintDevice (0x0x7faf627feb40) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 456)
+
+Class QStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyle::QPrivateSignal (0x0x7faf6248e180) 0 empty
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 37 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 (int (*)(...))QStyle::metaObject
+24 (int (*)(...))QStyle::qt_metacast
+32 (int (*)(...))QStyle::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyle::polish
+120 (int (*)(...))QStyle::unpolish
+128 (int (*)(...))QStyle::polish
+136 (int (*)(...))QStyle::unpolish
+144 (int (*)(...))QStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))__cxa_pure_virtual
+232 (int (*)(...))__cxa_pure_virtual
+240 (int (*)(...))__cxa_pure_virtual
+248 (int (*)(...))__cxa_pure_virtual
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))__cxa_pure_virtual
+272 (int (*)(...))__cxa_pure_virtual
+280 (int (*)(...))__cxa_pure_virtual
+288 (int (*)(...))__cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x0x7faf63094a28) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16)
+ QObject (0x0x7faf6248e120) 0
+ primary-for QStyle (0x0x7faf63094a28)
+
+Class QTabBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabBar::QPrivateSignal (0x0x7faf61c0b4e0) 0 empty
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 (int (*)(...))QTabBar::metaObject
+24 (int (*)(...))QTabBar::qt_metacast
+32 (int (*)(...))QTabBar::qt_metacall
+40 (int (*)(...))QTabBar::~QTabBar
+48 (int (*)(...))QTabBar::~QTabBar
+56 (int (*)(...))QTabBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTabBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabBar::sizeHint
+136 (int (*)(...))QTabBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTabBar::mousePressEvent
+176 (int (*)(...))QTabBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QTabBar::mouseMoveEvent
+200 (int (*)(...))QTabBar::wheelEvent
+208 (int (*)(...))QTabBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabBar::showEvent
+352 (int (*)(...))QTabBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabBar::tabSizeHint
+440 (int (*)(...))QTabBar::minimumTabSizeHint
+448 (int (*)(...))QTabBar::tabInserted
+456 (int (*)(...))QTabBar::tabRemoved
+464 (int (*)(...))QTabBar::tabLayoutChange
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QTabBar)
+488 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev
+496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabBar
+ size=48 align=8
+ base size=48 base align=8
+QTabBar (0x0x7faf63177d68) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16)
+ QWidget (0x0x7faf66980f50) 0
+ primary-for QTabBar (0x0x7faf63177d68)
+ QObject (0x0x7faf61c0b120) 0
+ primary-for QWidget (0x0x7faf66980f50)
+ QPaintDevice (0x0x7faf61c0b180) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 488)
+
+Class QTabWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabWidget::QPrivateSignal (0x0x7faf61c4a060) 0 empty
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 (int (*)(...))QTabWidget::metaObject
+24 (int (*)(...))QTabWidget::qt_metacast
+32 (int (*)(...))QTabWidget::qt_metacall
+40 (int (*)(...))QTabWidget::~QTabWidget
+48 (int (*)(...))QTabWidget::~QTabWidget
+56 (int (*)(...))QTabWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabWidget::sizeHint
+136 (int (*)(...))QTabWidget::minimumSizeHint
+144 (int (*)(...))QTabWidget::heightForWidth
+152 (int (*)(...))QTabWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QTabWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabWidget::tabInserted
+440 (int (*)(...))QTabWidget::tabRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI10QTabWidget)
+464 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabWidget
+ size=48 align=8
+ base size=48 base align=8
+QTabWidget (0x0x7faf62ea6410) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16)
+ QWidget (0x0x7faf669a69a0) 0
+ primary-for QTabWidget (0x0x7faf62ea6410)
+ QObject (0x0x7faf61c2bf00) 0
+ primary-for QWidget (0x0x7faf669a69a0)
+ QPaintDevice (0x0x7faf61c2bf60) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 464)
+
+Class QRubberBand::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRubberBand::QPrivateSignal (0x0x7faf61cdc6c0) 0 empty
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 (int (*)(...))QRubberBand::metaObject
+24 (int (*)(...))QRubberBand::qt_metacast
+32 (int (*)(...))QRubberBand::qt_metacall
+40 (int (*)(...))QRubberBand::~QRubberBand
+48 (int (*)(...))QRubberBand::~QRubberBand
+56 (int (*)(...))QRubberBand::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRubberBand::paintEvent
+264 (int (*)(...))QRubberBand::moveEvent
+272 (int (*)(...))QRubberBand::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QRubberBand::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QRubberBand::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QRubberBand)
+448 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev
+456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRubberBand
+ size=48 align=8
+ base size=48 base align=8
+QRubberBand (0x0x7faf62ea6478) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16)
+ QWidget (0x0x7faf669a6d90) 0
+ primary-for QRubberBand (0x0x7faf62ea6478)
+ QObject (0x0x7faf61cb8cc0) 0
+ primary-for QWidget (0x0x7faf669a6d90)
+ QPaintDevice (0x0x7faf61cdc660) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 448)
+
+Class QFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFrame::QPrivateSignal (0x0x7faf61daa720) 0 empty
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 (int (*)(...))QFrame::metaObject
+24 (int (*)(...))QFrame::qt_metacast
+32 (int (*)(...))QFrame::qt_metacall
+40 (int (*)(...))QFrame::~QFrame
+48 (int (*)(...))QFrame::~QFrame
+56 (int (*)(...))QFrame::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QFrame)
+448 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev
+456 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFrame
+ size=48 align=8
+ base size=48 base align=8
+QFrame (0x0x7faf62ea6618) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16)
+ QWidget (0x0x7faf669c0000) 0
+ primary-for QFrame (0x0x7faf62ea6618)
+ QObject (0x0x7faf61daa180) 0
+ primary-for QWidget (0x0x7faf669c0000)
+ QPaintDevice (0x0x7faf61daa6c0) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 448)
+
+Class QStyleOption
+ size=64 align=8
+ base size=64 base align=8
+QStyleOption (0x0x7faf61de9c00) 0
+
+Class QStyleOptionFocusRect
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFocusRect (0x0x7faf62ea6680) 0
+ QStyleOption (0x0x7faf61a0f1e0) 0
+
+Class QStyleOptionFrame
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFrame (0x0x7faf62ebe4e0) 0
+ QStyleOption (0x0x7faf61a0fde0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=136 align=8
+ base size=132 base align=8
+QStyleOptionTabWidgetFrame (0x0x7faf62ebec30) 0
+ QStyleOption (0x0x7faf61ab8a80) 0
+
+Class QStyleOptionTabBarBase
+ size=104 align=8
+ base size=101 base align=8
+QStyleOptionTabBarBase (0x0x7faf62ebee38) 0
+ QStyleOption (0x0x7faf61afa2a0) 0
+
+Class QStyleOptionHeader
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionHeader (0x0x7faf62c093a8) 0
+ QStyleOption (0x0x7faf618da360) 0
+
+Class QStyleOptionButton
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionButton (0x0x7faf62c09410) 0
+ QStyleOption (0x0x7faf618fa5a0) 0
+
+Class QStyleOptionTab
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionTab (0x0x7faf62c09dd0) 0
+ QStyleOption (0x0x7faf619bfcc0) 0
+
+Class QStyleOptionToolBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBar (0x0x7faf62c45000) 0
+ QStyleOption (0x0x7faf614b9600) 0
+
+Class QStyleOptionProgressBar
+ size=104 align=8
+ base size=102 base align=8
+QStyleOptionProgressBar (0x0x7faf62c451a0) 0
+ QStyleOption (0x0x7faf61559420) 0
+
+Class QStyleOptionMenuItem
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionMenuItem (0x0x7faf62c454e0) 0
+ QStyleOption (0x0x7faf615ae540) 0
+
+Class QStyleOptionDockWidget
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionDockWidget (0x0x7faf62c45548) 0
+ QStyleOption (0x0x7faf61308ea0) 0
+
+Class QStyleOptionViewItem
+ size=192 align=8
+ base size=192 base align=8
+QStyleOptionViewItem (0x0x7faf62c45bc8) 0
+ QStyleOption (0x0x7faf61349ae0) 0
+
+Class QStyleOptionToolBox
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBox (0x0x7faf62c58dd0) 0
+ QStyleOption (0x0x7faf6100dea0) 0
+
+Class QStyleOptionRubberBand
+ size=72 align=8
+ base size=69 base align=8
+QStyleOptionRubberBand (0x0x7faf62c58e38) 0
+ QStyleOption (0x0x7faf61026660) 0
+
+Class QStyleOptionComplex
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionComplex (0x0x7faf62c6b0d0) 0
+ QStyleOption (0x0x7faf610b9de0) 0
+
+Class QStyleOptionSlider
+ size=128 align=8
+ base size=121 base align=8
+QStyleOptionSlider (0x0x7faf62d235b0) 0
+ QStyleOptionComplex (0x0x7faf62d23618) 0
+ QStyleOption (0x0x7faf6117da80) 0
+
+Class QStyleOptionSpinBox
+ size=88 align=8
+ base size=81 base align=8
+QStyleOptionSpinBox (0x0x7faf62d3f618) 0
+ QStyleOptionComplex (0x0x7faf62d3f680) 0
+ QStyleOption (0x0x7faf611bc1e0) 0
+
+Class QStyleOptionToolButton
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionToolButton (0x0x7faf62e03548) 0
+ QStyleOptionComplex (0x0x7faf62e035b0) 0
+ QStyleOption (0x0x7faf60e4f8a0) 0
+
+Class QStyleOptionComboBox
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionComboBox (0x0x7faf62a61410) 0
+ QStyleOptionComplex (0x0x7faf62a61478) 0
+ QStyleOption (0x0x7faf60c51180) 0
+
+Class QStyleOptionTitleBar
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTitleBar (0x0x7faf62a61b60) 0
+ QStyleOptionComplex (0x0x7faf62a61bc8) 0
+ QStyleOption (0x0x7faf60c75ae0) 0
+
+Class QStyleOptionGroupBox
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionGroupBox (0x0x7faf62a7c548) 0
+ QStyleOptionComplex (0x0x7faf62a7c5b0) 0
+ QStyleOption (0x0x7faf60daaae0) 0
+
+Class QStyleOptionSizeGrip
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionSizeGrip (0x0x7faf62aaa478) 0
+ QStyleOptionComplex (0x0x7faf62aaa4e0) 0
+ QStyleOption (0x0x7faf60dd4480) 0
+
+Class QStyleOptionGraphicsItem
+ size=152 align=8
+ base size=152 base align=8
+QStyleOptionGraphicsItem (0x0x7faf62aaa680) 0
+ QStyleOption (0x0x7faf60a2be40) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x0x7faf60ad6a20) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x0x7faf62b26340) 0
+ QStyleHintReturn (0x0x7faf60ad6ae0) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x0x7faf62b263a8) 0
+ QStyleHintReturn (0x0x7faf60ad6f60) 0
+
+Class QAbstractItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemDelegate::QPrivateSignal (0x0x7faf60b77ae0) 0 empty
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 (int (*)(...))QAbstractItemDelegate::metaObject
+24 (int (*)(...))QAbstractItemDelegate::qt_metacast
+32 (int (*)(...))QAbstractItemDelegate::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QAbstractItemDelegate::setEditorData
+152 (int (*)(...))QAbstractItemDelegate::setModelData
+160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry
+168 (int (*)(...))QAbstractItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x0x7faf62945a28) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16)
+ QObject (0x0x7faf60b77a80) 0
+ primary-for QAbstractItemDelegate (0x0x7faf62945a28)
+
+Class QAbstractScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractScrollArea::QPrivateSignal (0x0x7faf60bb7000) 0 empty
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 68 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 (int (*)(...))QAbstractScrollArea::metaObject
+24 (int (*)(...))QAbstractScrollArea::qt_metacast
+32 (int (*)(...))QAbstractScrollArea::qt_metacall
+40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+56 (int (*)(...))QAbstractScrollArea::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QAbstractScrollArea (0x0x7faf6295a6e8) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16)
+ QFrame (0x0x7faf6295a750) 0
+ primary-for QAbstractScrollArea (0x0x7faf6295a6e8)
+ QWidget (0x0x7faf66753070) 0
+ primary-for QFrame (0x0x7faf6295a750)
+ QObject (0x0x7faf60b9cd20) 0
+ primary-for QWidget (0x0x7faf66753070)
+ QPaintDevice (0x0x7faf60b9cde0) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480)
+
+Class QAbstractItemView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemView::QPrivateSignal (0x0x7faf60bdae40) 0 empty
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 (int (*)(...))QAbstractItemView::metaObject
+24 (int (*)(...))QAbstractItemView::qt_metacast
+32 (int (*)(...))QAbstractItemView::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))__cxa_pure_virtual
+496 (int (*)(...))__cxa_pure_virtual
+504 (int (*)(...))__cxa_pure_virtual
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QAbstractItemView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))__cxa_pure_virtual
+688 (int (*)(...))__cxa_pure_virtual
+696 (int (*)(...))__cxa_pure_virtual
+704 (int (*)(...))__cxa_pure_virtual
+712 (int (*)(...))__cxa_pure_virtual
+720 (int (*)(...))__cxa_pure_virtual
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 0
+792 0
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractItemView
+ size=48 align=8
+ base size=48 base align=8
+QAbstractItemView (0x0x7faf629958f0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16)
+ QAbstractScrollArea (0x0x7faf62995958) 0
+ primary-for QAbstractItemView (0x0x7faf629958f0)
+ QFrame (0x0x7faf629a64e0) 0
+ primary-for QAbstractScrollArea (0x0x7faf62995958)
+ QWidget (0x0x7faf667532a0) 0
+ primary-for QFrame (0x0x7faf629a64e0)
+ QObject (0x0x7faf60bdaae0) 0
+ primary-for QWidget (0x0x7faf667532a0)
+ QPaintDevice (0x0x7faf60bdab40) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 35 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+32 (int (*)(...))QAccessibleWidget::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleWidget::window
+56 (int (*)(...))QAccessibleWidget::relations
+64 (int (*)(...))QAccessibleWidget::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleWidget::parent
+88 (int (*)(...))QAccessibleWidget::child
+96 (int (*)(...))QAccessibleWidget::childCount
+104 (int (*)(...))QAccessibleWidget::indexOfChild
+112 (int (*)(...))QAccessibleWidget::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleWidget::rect
+136 (int (*)(...))QAccessibleWidget::role
+144 (int (*)(...))QAccessibleWidget::state
+152 (int (*)(...))QAccessibleWidget::foregroundColor
+160 (int (*)(...))QAccessibleWidget::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleWidget::interface_cast
+184 (int (*)(...))QAccessibleWidget::actionNames
+192 (int (*)(...))QAccessibleWidget::doAction
+200 (int (*)(...))QAccessibleWidget::keyBindingsForAction
+208 (int (*)(...))-16
+216 (int (*)(...))(& _ZTI17QAccessibleWidget)
+224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev
+232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev
+240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv
+248 (int (*)(...))QAccessibleActionInterface::localizedActionName
+256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString
+272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString
+
+Class QAccessibleWidget
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleWidget (0x0x7faf66784850) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16)
+ QAccessibleObject (0x0x7faf629a68f0) 0
+ primary-for QAccessibleWidget (0x0x7faf66784850)
+ QAccessibleInterface (0x0x7faf609883c0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7faf629a68f0)
+ QAccessibleActionInterface (0x0x7faf609885a0) 16 nearly-empty
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224)
+
+Class QAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAction::QPrivateSignal (0x0x7faf609ea720) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 (int (*)(...))QAction::metaObject
+24 (int (*)(...))QAction::qt_metacast
+32 (int (*)(...))QAction::qt_metacall
+40 (int (*)(...))QAction::~QAction
+48 (int (*)(...))QAction::~QAction
+56 (int (*)(...))QAction::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x0x7faf629ff8f0) 0
+ vptr=((& QAction::_ZTV7QAction) + 16)
+ QObject (0x0x7faf609ea6c0) 0
+ primary-for QAction (0x0x7faf629ff8f0)
+
+Class QActionGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QActionGroup::QPrivateSignal (0x0x7faf60658300) 0 empty
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 (int (*)(...))QActionGroup::metaObject
+24 (int (*)(...))QActionGroup::qt_metacast
+32 (int (*)(...))QActionGroup::qt_metacall
+40 (int (*)(...))QActionGroup::~QActionGroup
+48 (int (*)(...))QActionGroup::~QActionGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x0x7faf629ff958) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16)
+ QObject (0x0x7faf606582a0) 0
+ primary-for QActionGroup (0x0x7faf629ff958)
+
+Class QApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QApplication::QPrivateSignal (0x0x7faf606794e0) 0 empty
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 (int (*)(...))QApplication::metaObject
+24 (int (*)(...))QApplication::qt_metacast
+32 (int (*)(...))QApplication::qt_metacall
+40 (int (*)(...))QApplication::~QApplication
+48 (int (*)(...))QApplication::~QApplication
+56 (int (*)(...))QApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QApplication::notify
+120 (int (*)(...))QApplication::compressEvent
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x0x7faf629ffd00) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16)
+ QGuiApplication (0x0x7faf629ffd68) 0
+ primary-for QApplication (0x0x7faf629ffd00)
+ QCoreApplication (0x0x7faf62613d00) 0
+ primary-for QGuiApplication (0x0x7faf629ffd68)
+ QObject (0x0x7faf606792a0) 0
+ primary-for QCoreApplication (0x0x7faf62613d00)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x0x7faf606e2840) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 (int (*)(...))QSpacerItem::~QSpacerItem
+24 (int (*)(...))QSpacerItem::~QSpacerItem
+32 (int (*)(...))QSpacerItem::sizeHint
+40 (int (*)(...))QSpacerItem::minimumSize
+48 (int (*)(...))QSpacerItem::maximumSize
+56 (int (*)(...))QSpacerItem::expandingDirections
+64 (int (*)(...))QSpacerItem::setGeometry
+72 (int (*)(...))QSpacerItem::geometry
+80 (int (*)(...))QSpacerItem::isEmpty
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QSpacerItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x0x7faf62613d68) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16)
+ QLayoutItem (0x0x7faf6076a300) 0
+ primary-for QSpacerItem (0x0x7faf62613d68)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 (int (*)(...))QWidgetItem::~QWidgetItem
+24 (int (*)(...))QWidgetItem::~QWidgetItem
+32 (int (*)(...))QWidgetItem::sizeHint
+40 (int (*)(...))QWidgetItem::minimumSize
+48 (int (*)(...))QWidgetItem::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x0x7faf627421a0) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16)
+ QLayoutItem (0x0x7faf607895a0) 0
+ primary-for QWidgetItem (0x0x7faf627421a0)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+32 (int (*)(...))QWidgetItemV2::sizeHint
+40 (int (*)(...))QWidgetItemV2::minimumSize
+48 (int (*)(...))QWidgetItemV2::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItemV2::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x0x7faf62742208) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16)
+ QWidgetItem (0x0x7faf62784340) 0
+ primary-for QWidgetItemV2 (0x0x7faf62742208)
+ QLayoutItem (0x0x7faf60451300) 0
+ primary-for QWidgetItem (0x0x7faf62784340)
+
+Class QLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLayout::QPrivateSignal (0x0x7faf60451780) 0 empty
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 47 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 (int (*)(...))QLayout::metaObject
+24 (int (*)(...))QLayout::qt_metacast
+32 (int (*)(...))QLayout::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QLayout::setGeometry
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))-16
+232 (int (*)(...))(& _ZTI7QLayout)
+240 0
+248 0
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+272 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 (int (*)(...))QLayoutItem::hasHeightForWidth
+320 (int (*)(...))QLayoutItem::heightForWidth
+328 (int (*)(...))QLayoutItem::minimumHeightForWidth
+336 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+344 (int (*)(...))QLayoutItem::widget
+352 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+360 (int (*)(...))QLayoutItem::spacerItem
+368 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x0x7faf6679ff50) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16)
+ QObject (0x0x7faf604514e0) 0
+ primary-for QLayout (0x0x7faf6679ff50)
+ QLayoutItem (0x0x7faf604515a0) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 240)
+
+Class QGridLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGridLayout::QPrivateSignal (0x0x7faf60485b40) 0 empty
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 (int (*)(...))QGridLayout::metaObject
+24 (int (*)(...))QGridLayout::qt_metacast
+32 (int (*)(...))QGridLayout::qt_metacall
+40 (int (*)(...))QGridLayout::~QGridLayout
+48 (int (*)(...))QGridLayout::~QGridLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGridLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QGridLayout::addItem
+136 (int (*)(...))QGridLayout::expandingDirections
+144 (int (*)(...))QGridLayout::minimumSize
+152 (int (*)(...))QGridLayout::maximumSize
+160 (int (*)(...))QGridLayout::setGeometry
+168 (int (*)(...))QGridLayout::itemAt
+176 (int (*)(...))QGridLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QGridLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QGridLayout::sizeHint
+232 (int (*)(...))QGridLayout::hasHeightForWidth
+240 (int (*)(...))QGridLayout::heightForWidth
+248 (int (*)(...))QGridLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QGridLayout)
+272 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+280 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+288 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+296 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+304 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+312 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+320 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+352 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+360 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+368 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x0x7faf627843a8) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16)
+ QLayout (0x0x7faf667bba80) 0
+ primary-for QGridLayout (0x0x7faf627843a8)
+ QObject (0x0x7faf6046bb40) 0
+ primary-for QLayout (0x0x7faf667bba80)
+ QLayoutItem (0x0x7faf60485ae0) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 272)
+
+Class QBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBoxLayout::QPrivateSignal (0x0x7faf604d9300) 0 empty
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 (int (*)(...))QBoxLayout::metaObject
+24 (int (*)(...))QBoxLayout::qt_metacast
+32 (int (*)(...))QBoxLayout::qt_metacall
+40 (int (*)(...))QBoxLayout::~QBoxLayout
+48 (int (*)(...))QBoxLayout::~QBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI10QBoxLayout)
+272 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+280 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x0x7faf6279b7b8) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16)
+ QLayout (0x0x7faf667bbe00) 0
+ primary-for QBoxLayout (0x0x7faf6279b7b8)
+ QObject (0x0x7faf604bae40) 0
+ primary-for QLayout (0x0x7faf667bbe00)
+ QLayoutItem (0x0x7faf604d92a0) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 272)
+
+Class QHBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHBoxLayout::QPrivateSignal (0x0x7faf6052ea20) 0 empty
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 (int (*)(...))QHBoxLayout::metaObject
+24 (int (*)(...))QHBoxLayout::qt_metacast
+32 (int (*)(...))QHBoxLayout::qt_metacall
+40 (int (*)(...))QHBoxLayout::~QHBoxLayout
+48 (int (*)(...))QHBoxLayout::~QHBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QHBoxLayout)
+272 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+280 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x0x7faf627e6138) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16)
+ QBoxLayout (0x0x7faf627e61a0) 0
+ primary-for QHBoxLayout (0x0x7faf627e6138)
+ QLayout (0x0x7faf667d3310) 0
+ primary-for QBoxLayout (0x0x7faf627e61a0)
+ QObject (0x0x7faf6052e420) 0
+ primary-for QLayout (0x0x7faf667d3310)
+ QLayoutItem (0x0x7faf6052e480) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 272)
+
+Class QVBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVBoxLayout::QPrivateSignal (0x0x7faf6054c1e0) 0 empty
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 (int (*)(...))QVBoxLayout::metaObject
+24 (int (*)(...))QVBoxLayout::qt_metacast
+32 (int (*)(...))QVBoxLayout::qt_metacall
+40 (int (*)(...))QVBoxLayout::~QVBoxLayout
+48 (int (*)(...))QVBoxLayout::~QVBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QVBoxLayout)
+272 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+280 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x0x7faf627e6618) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16)
+ QBoxLayout (0x0x7faf627e6680) 0
+ primary-for QVBoxLayout (0x0x7faf627e6618)
+ QLayout (0x0x7faf667d3460) 0
+ primary-for QBoxLayout (0x0x7faf627e6680)
+ QObject (0x0x7faf6052ed20) 0
+ primary-for QLayout (0x0x7faf667d3460)
+ QLayoutItem (0x0x7faf6054c180) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 272)
+
+Class QButtonGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QButtonGroup::QPrivateSignal (0x0x7faf6059d120) 0 empty
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 (int (*)(...))QButtonGroup::metaObject
+24 (int (*)(...))QButtonGroup::qt_metacast
+32 (int (*)(...))QButtonGroup::qt_metacall
+40 (int (*)(...))QButtonGroup::~QButtonGroup
+48 (int (*)(...))QButtonGroup::~QButtonGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x0x7faf627e6b60) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16)
+ QObject (0x0x7faf6059d0c0) 0
+ primary-for QButtonGroup (0x0x7faf627e6b60)
+
+Class QCalendarWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCalendarWidget::QPrivateSignal (0x0x7faf605b9660) 0 empty
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 (int (*)(...))QCalendarWidget::metaObject
+24 (int (*)(...))QCalendarWidget::qt_metacast
+32 (int (*)(...))QCalendarWidget::qt_metacall
+40 (int (*)(...))QCalendarWidget::~QCalendarWidget
+48 (int (*)(...))QCalendarWidget::~QCalendarWidget
+56 (int (*)(...))QCalendarWidget::event
+64 (int (*)(...))QCalendarWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCalendarWidget::sizeHint
+136 (int (*)(...))QCalendarWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QCalendarWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QCalendarWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QCalendarWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCalendarWidget::paintCell
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QCalendarWidget)
+456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCalendarWidget
+ size=48 align=8
+ base size=48 base align=8
+QCalendarWidget (0x0x7faf627e6bc8) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16)
+ QWidget (0x0x7faf667d3690) 0
+ primary-for QCalendarWidget (0x0x7faf627e6bc8)
+ QObject (0x0x7faf605b9000) 0
+ primary-for QWidget (0x0x7faf667d3690)
+ QPaintDevice (0x0x7faf605b9060) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456)
+
+Class QCheckBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCheckBox::QPrivateSignal (0x0x7faf603657e0) 0 empty
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 (int (*)(...))QCheckBox::metaObject
+24 (int (*)(...))QCheckBox::qt_metacast
+32 (int (*)(...))QCheckBox::qt_metacall
+40 (int (*)(...))QCheckBox::~QCheckBox
+48 (int (*)(...))QCheckBox::~QCheckBox
+56 (int (*)(...))QCheckBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCheckBox::sizeHint
+136 (int (*)(...))QCheckBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QCheckBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCheckBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCheckBox::hitButton
+440 (int (*)(...))QCheckBox::checkStateSet
+448 (int (*)(...))QCheckBox::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI9QCheckBox)
+472 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCheckBox
+ size=48 align=8
+ base size=48 base align=8
+QCheckBox (0x0x7faf627e6d68) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16)
+ QAbstractButton (0x0x7faf627e6dd0) 0
+ primary-for QCheckBox (0x0x7faf627e6d68)
+ QWidget (0x0x7faf667f0930) 0
+ primary-for QAbstractButton (0x0x7faf627e6dd0)
+ QObject (0x0x7faf60234b40) 0
+ primary-for QWidget (0x0x7faf667f0930)
+ QPaintDevice (0x0x7faf60365780) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 472)
+
+Class QDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialog::QPrivateSignal (0x0x7faf603ab060) 0 empty
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 (int (*)(...))QDialog::metaObject
+24 (int (*)(...))QDialog::qt_metacast
+32 (int (*)(...))QDialog::qt_metacall
+40 (int (*)(...))QDialog::~QDialog
+48 (int (*)(...))QDialog::~QDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QDialog)
+488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev
+496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialog
+ size=48 align=8
+ base size=48 base align=8
+QDialog (0x0x7faf627e6e38) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16)
+ QWidget (0x0x7faf667f0a80) 0
+ primary-for QDialog (0x0x7faf627e6e38)
+ QObject (0x0x7faf6038dba0) 0
+ primary-for QWidget (0x0x7faf667f0a80)
+ QPaintDevice (0x0x7faf6038dc00) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488)
+
+Class QColorDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColorDialog::QPrivateSignal (0x0x7faf6000c360) 0 empty
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 (int (*)(...))QColorDialog::metaObject
+24 (int (*)(...))QColorDialog::qt_metacast
+32 (int (*)(...))QColorDialog::qt_metacall
+40 (int (*)(...))QColorDialog::~QColorDialog
+48 (int (*)(...))QColorDialog::~QColorDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QColorDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QColorDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QColorDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColorDialog
+ size=48 align=8
+ base size=48 base align=8
+QColorDialog (0x0x7faf627fcb60) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16)
+ QDialog (0x0x7faf627fcbc8) 0
+ primary-for QColorDialog (0x0x7faf627fcb60)
+ QWidget (0x0x7faf667f0ee0) 0
+ primary-for QDialog (0x0x7faf627fcbc8)
+ QObject (0x0x7faf603e3d80) 0
+ primary-for QWidget (0x0x7faf667f0ee0)
+ QPaintDevice (0x0x7faf6000c300) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x0x7faf5fee4d80) 0
+
+Class QColumnView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColumnView::QPrivateSignal (0x0x7faf5ff08060) 0 empty
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 107 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 (int (*)(...))QColumnView::metaObject
+24 (int (*)(...))QColumnView::qt_metacast
+32 (int (*)(...))QColumnView::qt_metacall
+40 (int (*)(...))QColumnView::~QColumnView
+48 (int (*)(...))QColumnView::~QColumnView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QColumnView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QColumnView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QColumnView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QColumnView::setModel
+472 (int (*)(...))QColumnView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QColumnView::visualRect
+496 (int (*)(...))QColumnView::scrollTo
+504 (int (*)(...))QColumnView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QColumnView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QColumnView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QColumnView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QColumnView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QColumnView::moveCursor
+688 (int (*)(...))QColumnView::horizontalOffset
+696 (int (*)(...))QColumnView::verticalOffset
+704 (int (*)(...))QColumnView::isIndexHidden
+712 (int (*)(...))QColumnView::setSelection
+720 (int (*)(...))QColumnView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QColumnView::createColumn
+776 (int (*)(...))-16
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColumnView
+ size=48 align=8
+ base size=48 base align=8
+QColumnView (0x0x7faf62416af8) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16)
+ QAbstractItemView (0x0x7faf62416b60) 0
+ primary-for QColumnView (0x0x7faf62416af8)
+ QAbstractScrollArea (0x0x7faf62416c30) 0
+ primary-for QAbstractItemView (0x0x7faf62416b60)
+ QFrame (0x0x7faf62416c98) 0
+ primary-for QAbstractScrollArea (0x0x7faf62416c30)
+ QWidget (0x0x7faf664931c0) 0
+ primary-for QFrame (0x0x7faf62416c98)
+ QObject (0x0x7faf5fee4e40) 0
+ primary-for QWidget (0x0x7faf664931c0)
+ QPaintDevice (0x0x7faf5ff08000) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792)
+
+Class QComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QComboBox::QPrivateSignal (0x0x7faf5ff08cc0) 0 empty
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 (int (*)(...))QComboBox::metaObject
+24 (int (*)(...))QComboBox::qt_metacast
+32 (int (*)(...))QComboBox::qt_metacall
+40 (int (*)(...))QComboBox::~QComboBox
+48 (int (*)(...))QComboBox::~QComboBox
+56 (int (*)(...))QComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI9QComboBox)
+464 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev
+472 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QComboBox
+ size=48 align=8
+ base size=48 base align=8
+QComboBox (0x0x7faf6242d000) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16)
+ QWidget (0x0x7faf66493230) 0
+ primary-for QComboBox (0x0x7faf6242d000)
+ QObject (0x0x7faf5ff084e0) 0
+ primary-for QWidget (0x0x7faf66493230)
+ QPaintDevice (0x0x7faf5ff08c60) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 464)
+
+Class QPushButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPushButton::QPrivateSignal (0x0x7faf5fc115a0) 0 empty
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 (int (*)(...))QPushButton::metaObject
+24 (int (*)(...))QPushButton::qt_metacast
+32 (int (*)(...))QPushButton::qt_metacall
+40 (int (*)(...))QPushButton::~QPushButton
+48 (int (*)(...))QPushButton::~QPushButton
+56 (int (*)(...))QPushButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QPushButton::sizeHint
+136 (int (*)(...))QPushButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPushButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QPushButton)
+472 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev
+480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPushButton
+ size=48 align=8
+ base size=48 base align=8
+QPushButton (0x0x7faf6242d068) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16)
+ QAbstractButton (0x0x7faf6242d6e8) 0
+ primary-for QPushButton (0x0x7faf6242d068)
+ QWidget (0x0x7faf66493850) 0
+ primary-for QAbstractButton (0x0x7faf6242d6e8)
+ QObject (0x0x7faf5ff83c00) 0
+ primary-for QWidget (0x0x7faf66493850)
+ QPaintDevice (0x0x7faf5ff83c60) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 472)
+
+Class QCommandLinkButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommandLinkButton::QPrivateSignal (0x0x7faf5fc6a120) 0 empty
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 (int (*)(...))QCommandLinkButton::metaObject
+24 (int (*)(...))QCommandLinkButton::qt_metacast
+32 (int (*)(...))QCommandLinkButton::qt_metacall
+40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+56 (int (*)(...))QCommandLinkButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCommandLinkButton::sizeHint
+136 (int (*)(...))QCommandLinkButton::minimumSizeHint
+144 (int (*)(...))QCommandLinkButton::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCommandLinkButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI18QCommandLinkButton)
+472 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCommandLinkButton
+ size=48 align=8
+ base size=48 base align=8
+QCommandLinkButton (0x0x7faf6242d750) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16)
+ QPushButton (0x0x7faf6242d9c0) 0
+ primary-for QCommandLinkButton (0x0x7faf6242d750)
+ QAbstractButton (0x0x7faf62460208) 0
+ primary-for QPushButton (0x0x7faf6242d9c0)
+ QWidget (0x0x7faf66493c40) 0
+ primary-for QAbstractButton (0x0x7faf62460208)
+ QObject (0x0x7faf5fc40ea0) 0
+ primary-for QWidget (0x0x7faf66493c40)
+ QPaintDevice (0x0x7faf5fc6a0c0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 472)
+
+Class QCommonStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommonStyle::QPrivateSignal (0x0x7faf5fc870c0) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 37 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 (int (*)(...))QCommonStyle::metaObject
+24 (int (*)(...))QCommonStyle::qt_metacast
+32 (int (*)(...))QCommonStyle::qt_metacall
+40 (int (*)(...))QCommonStyle::~QCommonStyle
+48 (int (*)(...))QCommonStyle::~QCommonStyle
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCommonStyle::polish
+120 (int (*)(...))QCommonStyle::unpolish
+128 (int (*)(...))QCommonStyle::polish
+136 (int (*)(...))QCommonStyle::unpolish
+144 (int (*)(...))QCommonStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))QCommonStyle::drawPrimitive
+200 (int (*)(...))QCommonStyle::drawControl
+208 (int (*)(...))QCommonStyle::subElementRect
+216 (int (*)(...))QCommonStyle::drawComplexControl
+224 (int (*)(...))QCommonStyle::hitTestComplexControl
+232 (int (*)(...))QCommonStyle::subControlRect
+240 (int (*)(...))QCommonStyle::pixelMetric
+248 (int (*)(...))QCommonStyle::sizeFromContents
+256 (int (*)(...))QCommonStyle::styleHint
+264 (int (*)(...))QCommonStyle::standardPixmap
+272 (int (*)(...))QCommonStyle::standardIcon
+280 (int (*)(...))QCommonStyle::generatedIconPixmap
+288 (int (*)(...))QCommonStyle::layoutSpacing
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x0x7faf62460270) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16)
+ QStyle (0x0x7faf624605b0) 0
+ primary-for QCommonStyle (0x0x7faf62460270)
+ QObject (0x0x7faf5fc87060) 0
+ primary-for QStyle (0x0x7faf624605b0)
+
+Class QCompleter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompleter::QPrivateSignal (0x0x7faf5fce1240) 0 empty
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 (int (*)(...))QCompleter::metaObject
+24 (int (*)(...))QCompleter::qt_metacast
+32 (int (*)(...))QCompleter::qt_metacall
+40 (int (*)(...))QCompleter::~QCompleter
+48 (int (*)(...))QCompleter::~QCompleter
+56 (int (*)(...))QCompleter::event
+64 (int (*)(...))QCompleter::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCompleter::pathFromIndex
+120 (int (*)(...))QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x0x7faf62460618) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16)
+ QObject (0x0x7faf5fce11e0) 0
+ primary-for QCompleter (0x0x7faf62460618)
+
+Class QDataWidgetMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDataWidgetMapper::QPrivateSignal (0x0x7faf5fce1cc0) 0 empty
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 (int (*)(...))QDataWidgetMapper::metaObject
+24 (int (*)(...))QDataWidgetMapper::qt_metacast
+32 (int (*)(...))QDataWidgetMapper::qt_metacall
+40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x0x7faf6247c618) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16)
+ QObject (0x0x7faf5fce19c0) 0
+ primary-for QDataWidgetMapper (0x0x7faf6247c618)
+
+Class QDateTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateTimeEdit::QPrivateSignal (0x0x7faf5f429de0) 0 empty
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 (int (*)(...))QDateTimeEdit::metaObject
+24 (int (*)(...))QDateTimeEdit::qt_metacast
+32 (int (*)(...))QDateTimeEdit::qt_metacall
+40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QDateTimeEdit)
+504 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateTimeEdit (0x0x7faf6247c680) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16)
+ QAbstractSpinBox (0x0x7faf6247ca28) 0
+ primary-for QDateTimeEdit (0x0x7faf6247c680)
+ QWidget (0x0x7faf664bda10) 0
+ primary-for QAbstractSpinBox (0x0x7faf6247ca28)
+ QObject (0x0x7faf5f429420) 0
+ primary-for QWidget (0x0x7faf664bda10)
+ QPaintDevice (0x0x7faf5f429480) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 504)
+
+Class QTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeEdit::QPrivateSignal (0x0x7faf5f4c0300) 0 empty
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 (int (*)(...))QTimeEdit::metaObject
+24 (int (*)(...))QTimeEdit::qt_metacast
+32 (int (*)(...))QTimeEdit::qt_metacall
+40 (int (*)(...))QTimeEdit::~QTimeEdit
+48 (int (*)(...))QTimeEdit::~QTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QTimeEdit)
+504 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QTimeEdit (0x0x7faf62494888) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16)
+ QDateTimeEdit (0x0x7faf625572d8) 0
+ primary-for QTimeEdit (0x0x7faf62494888)
+ QAbstractSpinBox (0x0x7faf62557340) 0
+ primary-for QDateTimeEdit (0x0x7faf625572d8)
+ QWidget (0x0x7faf663ad150) 0
+ primary-for QAbstractSpinBox (0x0x7faf62557340)
+ QObject (0x0x7faf5f4c0060) 0
+ primary-for QWidget (0x0x7faf663ad150)
+ QPaintDevice (0x0x7faf5f4c02a0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 504)
+
+Class QDateEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateEdit::QPrivateSignal (0x0x7faf5f520360) 0 empty
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 (int (*)(...))QDateEdit::metaObject
+24 (int (*)(...))QDateEdit::qt_metacast
+32 (int (*)(...))QDateEdit::qt_metacall
+40 (int (*)(...))QDateEdit::~QDateEdit
+48 (int (*)(...))QDateEdit::~QDateEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QDateEdit)
+504 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev
+512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateEdit (0x0x7faf62557548) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16)
+ QDateTimeEdit (0x0x7faf625577b8) 0
+ primary-for QDateEdit (0x0x7faf62557548)
+ QAbstractSpinBox (0x0x7faf62569bc8) 0
+ primary-for QDateTimeEdit (0x0x7faf625577b8)
+ QWidget (0x0x7faf663ad310) 0
+ primary-for QAbstractSpinBox (0x0x7faf62569bc8)
+ QObject (0x0x7faf5f5200c0) 0
+ primary-for QWidget (0x0x7faf663ad310)
+ QPaintDevice (0x0x7faf5f520120) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 504)
+
+Class QDesktopWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDesktopWidget::QPrivateSignal (0x0x7faf5f603cc0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 (int (*)(...))QDesktopWidget::metaObject
+24 (int (*)(...))QDesktopWidget::qt_metacast
+32 (int (*)(...))QDesktopWidget::qt_metacall
+40 (int (*)(...))QDesktopWidget::~QDesktopWidget
+48 (int (*)(...))QDesktopWidget::~QDesktopWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDesktopWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QDesktopWidget)
+448 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+456 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDesktopWidget
+ size=48 align=8
+ base size=48 base align=8
+QDesktopWidget (0x0x7faf62569c30) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16)
+ QWidget (0x0x7faf6607a000) 0
+ primary-for QDesktopWidget (0x0x7faf62569c30)
+ QObject (0x0x7faf5f603840) 0
+ primary-for QWidget (0x0x7faf6607a000)
+ QPaintDevice (0x0x7faf5f603c60) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 448)
+
+Class QDial::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDial::QPrivateSignal (0x0x7faf5f331a80) 0 empty
+
+Vtable for QDial
+QDial::_ZTV5QDial: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 (int (*)(...))QDial::metaObject
+24 (int (*)(...))QDial::qt_metacast
+32 (int (*)(...))QDial::qt_metacall
+40 (int (*)(...))QDial::~QDial
+48 (int (*)(...))QDial::~QDial
+56 (int (*)(...))QDial::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDial::sizeHint
+136 (int (*)(...))QDial::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDial::mousePressEvent
+176 (int (*)(...))QDial::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QDial::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDial::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDial::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDial::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI5QDial)
+456 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev
+464 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDial
+ size=48 align=8
+ base size=48 base align=8
+QDial (0x0x7faf623dc270) 0
+ vptr=((& QDial::_ZTV5QDial) + 16)
+ QAbstractSlider (0x0x7faf623dc2d8) 0
+ primary-for QDial (0x0x7faf623dc270)
+ QWidget (0x0x7faf6607a070) 0
+ primary-for QAbstractSlider (0x0x7faf623dc2d8)
+ QObject (0x0x7faf5f331720) 0
+ primary-for QWidget (0x0x7faf6607a070)
+ QPaintDevice (0x0x7faf5f331a20) 16
+ vptr=((& QDial::_ZTV5QDial) + 456)
+
+Class QDialogButtonBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialogButtonBox::QPrivateSignal (0x0x7faf5f375360) 0 empty
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 (int (*)(...))QDialogButtonBox::metaObject
+24 (int (*)(...))QDialogButtonBox::qt_metacast
+32 (int (*)(...))QDialogButtonBox::qt_metacall
+40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+56 (int (*)(...))QDialogButtonBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDialogButtonBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QDialogButtonBox)
+448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialogButtonBox
+ size=48 align=8
+ base size=48 base align=8
+QDialogButtonBox (0x0x7faf623dc820) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16)
+ QWidget (0x0x7faf6607ad90) 0
+ primary-for QDialogButtonBox (0x0x7faf623dc820)
+ QObject (0x0x7faf5f34d9c0) 0
+ primary-for QWidget (0x0x7faf6607ad90)
+ QPaintDevice (0x0x7faf5f375300) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 (int (*)(...))QFileIconProvider::~QFileIconProvider
+24 (int (*)(...))QFileIconProvider::~QFileIconProvider
+32 (int (*)(...))QFileIconProvider::icon
+40 (int (*)(...))QFileIconProvider::icon
+48 (int (*)(...))QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x0x7faf5f0e6540) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16)
+
+Class QDirModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDirModel::QPrivateSignal (0x0x7faf5ec412a0) 0 empty
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 (int (*)(...))QDirModel::metaObject
+24 (int (*)(...))QDirModel::qt_metacast
+32 (int (*)(...))QDirModel::qt_metacall
+40 (int (*)(...))QDirModel::~QDirModel
+48 (int (*)(...))QDirModel::~QDirModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDirModel::index
+120 (int (*)(...))QDirModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QDirModel::rowCount
+144 (int (*)(...))QDirModel::columnCount
+152 (int (*)(...))QDirModel::hasChildren
+160 (int (*)(...))QDirModel::data
+168 (int (*)(...))QDirModel::setData
+176 (int (*)(...))QDirModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QDirModel::mimeTypes
+216 (int (*)(...))QDirModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QDirModel::dropMimeData
+240 (int (*)(...))QDirModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QDirModel::flags
+328 (int (*)(...))QDirModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x0x7faf623fa8f0) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16)
+ QAbstractItemModel (0x0x7faf6200e478) 0
+ primary-for QDirModel (0x0x7faf623fa8f0)
+ QObject (0x0x7faf5ec41240) 0
+ primary-for QAbstractItemModel (0x0x7faf6200e478)
+
+Class QDockWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDockWidget::QPrivateSignal (0x0x7faf5ea1f5a0) 0 empty
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 (int (*)(...))QDockWidget::metaObject
+24 (int (*)(...))QDockWidget::qt_metacast
+32 (int (*)(...))QDockWidget::qt_metacall
+40 (int (*)(...))QDockWidget::~QDockWidget
+48 (int (*)(...))QDockWidget::~QDockWidget
+56 (int (*)(...))QDockWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDockWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QDockWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDockWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QDockWidget)
+448 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDockWidget
+ size=48 align=8
+ base size=48 base align=8
+QDockWidget (0x0x7faf6200e4e0) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16)
+ QWidget (0x0x7faf661601c0) 0
+ primary-for QDockWidget (0x0x7faf6200e4e0)
+ QObject (0x0x7faf5ec41600) 0
+ primary-for QWidget (0x0x7faf661601c0)
+ QPaintDevice (0x0x7faf5ec41660) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 448)
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x0x7faf5e873240) 0
+
+Class QErrorMessage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QErrorMessage::QPrivateSignal (0x0x7faf5e7fb9c0) 0 empty
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 (int (*)(...))QErrorMessage::metaObject
+24 (int (*)(...))QErrorMessage::qt_metacast
+32 (int (*)(...))QErrorMessage::qt_metacall
+40 (int (*)(...))QErrorMessage::~QErrorMessage
+48 (int (*)(...))QErrorMessage::~QErrorMessage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QErrorMessage::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QErrorMessage::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QErrorMessage
+ size=48 align=8
+ base size=48 base align=8
+QErrorMessage (0x0x7faf61e1e7b8) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16)
+ QDialog (0x0x7faf61e1e9c0) 0
+ primary-for QErrorMessage (0x0x7faf61e1e7b8)
+ QWidget (0x0x7faf65e36850) 0
+ primary-for QDialog (0x0x7faf61e1e9c0)
+ QObject (0x0x7faf5e7fb840) 0
+ primary-for QWidget (0x0x7faf65e36850)
+ QPaintDevice (0x0x7faf5e7fb900) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488)
+
+Class QFileDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDialog::QPrivateSignal (0x0x7faf5e4e1480) 0 empty
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 (int (*)(...))QFileDialog::metaObject
+24 (int (*)(...))QFileDialog::qt_metacast
+32 (int (*)(...))QFileDialog::qt_metacall
+40 (int (*)(...))QFileDialog::~QFileDialog
+48 (int (*)(...))QFileDialog::~QFileDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFileDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFileDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFileDialog::done
+456 (int (*)(...))QFileDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFileDialog
+ size=48 align=8
+ base size=48 base align=8
+QFileDialog (0x0x7faf61e1ea28) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16)
+ QDialog (0x0x7faf61e1eaf8) 0
+ primary-for QFileDialog (0x0x7faf61e1ea28)
+ QWidget (0x0x7faf65e369a0) 0
+ primary-for QDialog (0x0x7faf61e1eaf8)
+ QObject (0x0x7faf5e4aa600) 0
+ primary-for QWidget (0x0x7faf65e369a0)
+ QPaintDevice (0x0x7faf5e4e1420) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488)
+
+Class QFileSystemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemModel::QPrivateSignal (0x0x7faf5e2e37e0) 0 empty
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 (int (*)(...))QFileSystemModel::metaObject
+24 (int (*)(...))QFileSystemModel::qt_metacast
+32 (int (*)(...))QFileSystemModel::qt_metacall
+40 (int (*)(...))QFileSystemModel::~QFileSystemModel
+48 (int (*)(...))QFileSystemModel::~QFileSystemModel
+56 (int (*)(...))QFileSystemModel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QFileSystemModel::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileSystemModel::index
+120 (int (*)(...))QFileSystemModel::parent
+128 (int (*)(...))QFileSystemModel::sibling
+136 (int (*)(...))QFileSystemModel::rowCount
+144 (int (*)(...))QFileSystemModel::columnCount
+152 (int (*)(...))QFileSystemModel::hasChildren
+160 (int (*)(...))QFileSystemModel::data
+168 (int (*)(...))QFileSystemModel::setData
+176 (int (*)(...))QFileSystemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QFileSystemModel::mimeTypes
+216 (int (*)(...))QFileSystemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QFileSystemModel::dropMimeData
+240 (int (*)(...))QFileSystemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QFileSystemModel::fetchMore
+312 (int (*)(...))QFileSystemModel::canFetchMore
+320 (int (*)(...))QFileSystemModel::flags
+328 (int (*)(...))QFileSystemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x0x7faf61e372d8) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16)
+ QAbstractItemModel (0x0x7faf61e37478) 0
+ primary-for QFileSystemModel (0x0x7faf61e372d8)
+ QObject (0x0x7faf5e2e3780) 0
+ primary-for QAbstractItemModel (0x0x7faf61e37478)
+
+Class QFocusFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFocusFrame::QPrivateSignal (0x0x7faf5e30ed80) 0 empty
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 (int (*)(...))QFocusFrame::metaObject
+24 (int (*)(...))QFocusFrame::qt_metacast
+32 (int (*)(...))QFocusFrame::qt_metacall
+40 (int (*)(...))QFocusFrame::~QFocusFrame
+48 (int (*)(...))QFocusFrame::~QFocusFrame
+56 (int (*)(...))QFocusFrame::event
+64 (int (*)(...))QFocusFrame::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFocusFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QFocusFrame)
+448 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFocusFrame
+ size=48 align=8
+ base size=48 base align=8
+QFocusFrame (0x0x7faf61e37680) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16)
+ QWidget (0x0x7faf65ee3770) 0
+ primary-for QFocusFrame (0x0x7faf61e37680)
+ QObject (0x0x7faf5e30e780) 0
+ primary-for QWidget (0x0x7faf65ee3770)
+ QPaintDevice (0x0x7faf5e30e840) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 448)
+
+Class QFontComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontComboBox::QPrivateSignal (0x0x7faf5e0f85a0) 0 empty
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 (int (*)(...))QFontComboBox::metaObject
+24 (int (*)(...))QFontComboBox::qt_metacast
+32 (int (*)(...))QFontComboBox::qt_metacall
+40 (int (*)(...))QFontComboBox::~QFontComboBox
+48 (int (*)(...))QFontComboBox::~QFontComboBox
+56 (int (*)(...))QFontComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFontComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI13QFontComboBox)
+464 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+472 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontComboBox
+ size=48 align=8
+ base size=48 base align=8
+QFontComboBox (0x0x7faf61e378f0) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16)
+ QComboBox (0x0x7faf61e37d00) 0
+ primary-for QFontComboBox (0x0x7faf61e378f0)
+ QWidget (0x0x7faf65ee3850) 0
+ primary-for QComboBox (0x0x7faf61e37d00)
+ QObject (0x0x7faf5e3848a0) 0
+ primary-for QWidget (0x0x7faf65ee3850)
+ QPaintDevice (0x0x7faf5e384900) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 464)
+
+Class QFontDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontDialog::QPrivateSignal (0x0x7faf5dce0d80) 0 empty
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 (int (*)(...))QFontDialog::metaObject
+24 (int (*)(...))QFontDialog::qt_metacast
+32 (int (*)(...))QFontDialog::qt_metacall
+40 (int (*)(...))QFontDialog::~QFontDialog
+48 (int (*)(...))QFontDialog::~QFontDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QFontDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFontDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFontDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFontDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontDialog
+ size=48 align=8
+ base size=48 base align=8
+QFontDialog (0x0x7faf61e4c478) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16)
+ QDialog (0x0x7faf61e4c4e0) 0
+ primary-for QFontDialog (0x0x7faf61e4c478)
+ QWidget (0x0x7faf65f22cb0) 0
+ primary-for QDialog (0x0x7faf61e4c4e0)
+ QObject (0x0x7faf5dc67a20) 0
+ primary-for QWidget (0x0x7faf65f22cb0)
+ QPaintDevice (0x0x7faf5dc67a80) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488)
+
+Class QFormLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFormLayout::QPrivateSignal (0x0x7faf5da52840) 0 empty
+
+Class QFormLayout::TakeRowResult
+ size=16 align=8
+ base size=16 base align=8
+QFormLayout::TakeRowResult (0x0x7faf5da528a0) 0
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 50 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 (int (*)(...))QFormLayout::metaObject
+24 (int (*)(...))QFormLayout::qt_metacast
+32 (int (*)(...))QFormLayout::qt_metacall
+40 (int (*)(...))QFormLayout::~QFormLayout
+48 (int (*)(...))QFormLayout::~QFormLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFormLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QFormLayout::addItem
+136 (int (*)(...))QFormLayout::expandingDirections
+144 (int (*)(...))QFormLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QFormLayout::setGeometry
+168 (int (*)(...))QFormLayout::itemAt
+176 (int (*)(...))QFormLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QFormLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QFormLayout::sizeHint
+232 (int (*)(...))QFormLayout::hasHeightForWidth
+240 (int (*)(...))QFormLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI11QFormLayout)
+264 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+272 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+280 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+288 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+312 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+344 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x0x7faf61ea4d68) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16)
+ QLayout (0x0x7faf65f7bbd0) 0
+ primary-for QFormLayout (0x0x7faf61ea4d68)
+ QObject (0x0x7faf5da32780) 0
+ primary-for QLayout (0x0x7faf65f7bbd0)
+ QLayoutItem (0x0x7faf5da327e0) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 264)
+
+Class QGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGesture::QPrivateSignal (0x0x7faf5d7a0360) 0 empty
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 (int (*)(...))QGesture::metaObject
+24 (int (*)(...))QGesture::qt_metacast
+32 (int (*)(...))QGesture::qt_metacall
+40 (int (*)(...))QGesture::~QGesture
+48 (int (*)(...))QGesture::~QGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x0x7faf61987340) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16)
+ QObject (0x0x7faf5d7a0180) 0
+ primary-for QGesture (0x0x7faf61987340)
+
+Class QPanGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPanGesture::QPrivateSignal (0x0x7faf5d7bc4e0) 0 empty
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 (int (*)(...))QPanGesture::metaObject
+24 (int (*)(...))QPanGesture::qt_metacast
+32 (int (*)(...))QPanGesture::qt_metacall
+40 (int (*)(...))QPanGesture::~QPanGesture
+48 (int (*)(...))QPanGesture::~QPanGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x0x7faf619875b0) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16)
+ QGesture (0x0x7faf619879c0) 0
+ primary-for QPanGesture (0x0x7faf619875b0)
+ QObject (0x0x7faf5d7bc1e0) 0
+ primary-for QGesture (0x0x7faf619879c0)
+
+Class QPinchGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPinchGesture::QPrivateSignal (0x0x7faf5d7edcc0) 0 empty
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 (int (*)(...))QPinchGesture::metaObject
+24 (int (*)(...))QPinchGesture::qt_metacast
+32 (int (*)(...))QPinchGesture::qt_metacall
+40 (int (*)(...))QPinchGesture::~QPinchGesture
+48 (int (*)(...))QPinchGesture::~QPinchGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x0x7faf61987a28) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16)
+ QGesture (0x0x7faf61987d68) 0
+ primary-for QPinchGesture (0x0x7faf61987a28)
+ QObject (0x0x7faf5d7ed780) 0
+ primary-for QGesture (0x0x7faf61987d68)
+
+Class QSwipeGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSwipeGesture::QPrivateSignal (0x0x7faf5d383120) 0 empty
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 (int (*)(...))QSwipeGesture::metaObject
+24 (int (*)(...))QSwipeGesture::qt_metacast
+32 (int (*)(...))QSwipeGesture::qt_metacall
+40 (int (*)(...))QSwipeGesture::~QSwipeGesture
+48 (int (*)(...))QSwipeGesture::~QSwipeGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x0x7faf619ae548) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16)
+ QGesture (0x0x7faf619aea28) 0
+ primary-for QSwipeGesture (0x0x7faf619ae548)
+ QObject (0x0x7faf5d3830c0) 0
+ primary-for QGesture (0x0x7faf619aea28)
+
+Class QTapGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapGesture::QPrivateSignal (0x0x7faf5d05e9c0) 0 empty
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 (int (*)(...))QTapGesture::metaObject
+24 (int (*)(...))QTapGesture::qt_metacast
+32 (int (*)(...))QTapGesture::qt_metacall
+40 (int (*)(...))QTapGesture::~QTapGesture
+48 (int (*)(...))QTapGesture::~QTapGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x0x7faf619aea90) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16)
+ QGesture (0x0x7faf619aedd0) 0
+ primary-for QTapGesture (0x0x7faf619aea90)
+ QObject (0x0x7faf5d05e900) 0
+ primary-for QGesture (0x0x7faf619aedd0)
+
+Class QTapAndHoldGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapAndHoldGesture::QPrivateSignal (0x0x7faf5d0fd3c0) 0 empty
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 (int (*)(...))QTapAndHoldGesture::metaObject
+24 (int (*)(...))QTapAndHoldGesture::qt_metacast
+32 (int (*)(...))QTapAndHoldGesture::qt_metacall
+40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x0x7faf619aee38) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16)
+ QGesture (0x0x7faf616e0068) 0
+ primary-for QTapAndHoldGesture (0x0x7faf619aee38)
+ QObject (0x0x7faf5d07e4e0) 0
+ primary-for QGesture (0x0x7faf616e0068)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 (int (*)(...))QGestureEvent::~QGestureEvent
+24 (int (*)(...))QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=56 align=8
+ base size=56 base align=8
+QGestureEvent (0x0x7faf616e00d0) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16)
+ QEvent (0x0x7faf5d11d060) 0
+ primary-for QGestureEvent (0x0x7faf616e00d0)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 0
+24 0
+32 (int (*)(...))QGestureRecognizer::create
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x0x7faf5d1b7d20) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 0
+24 0
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItem::isObscuredBy
+88 (int (*)(...))QGraphicsItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x0x7faf5ce4af00) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16)
+
+Class QGraphicsObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsObject::QPrivateSignal (0x0x7faf5cf7a180) 0 empty
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 (int (*)(...))QGraphicsObject::metaObject
+24 (int (*)(...))QGraphicsObject::qt_metacast
+32 (int (*)(...))QGraphicsObject::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))-16
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 0
+136 0
+144 (int (*)(...))QGraphicsItem::advance
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))QGraphicsItem::shape
+168 (int (*)(...))QGraphicsItem::contains
+176 (int (*)(...))QGraphicsItem::collidesWithItem
+184 (int (*)(...))QGraphicsItem::collidesWithPath
+192 (int (*)(...))QGraphicsItem::isObscuredBy
+200 (int (*)(...))QGraphicsItem::opaqueArea
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))QGraphicsItem::type
+224 (int (*)(...))QGraphicsItem::sceneEventFilter
+232 (int (*)(...))QGraphicsItem::sceneEvent
+240 (int (*)(...))QGraphicsItem::contextMenuEvent
+248 (int (*)(...))QGraphicsItem::dragEnterEvent
+256 (int (*)(...))QGraphicsItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsItem::dragMoveEvent
+272 (int (*)(...))QGraphicsItem::dropEvent
+280 (int (*)(...))QGraphicsItem::focusInEvent
+288 (int (*)(...))QGraphicsItem::focusOutEvent
+296 (int (*)(...))QGraphicsItem::hoverEnterEvent
+304 (int (*)(...))QGraphicsItem::hoverMoveEvent
+312 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+320 (int (*)(...))QGraphicsItem::keyPressEvent
+328 (int (*)(...))QGraphicsItem::keyReleaseEvent
+336 (int (*)(...))QGraphicsItem::mousePressEvent
+344 (int (*)(...))QGraphicsItem::mouseMoveEvent
+352 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+368 (int (*)(...))QGraphicsItem::wheelEvent
+376 (int (*)(...))QGraphicsItem::inputMethodEvent
+384 (int (*)(...))QGraphicsItem::inputMethodQuery
+392 (int (*)(...))QGraphicsItem::itemChange
+400 (int (*)(...))QGraphicsItem::supportsExtension
+408 (int (*)(...))QGraphicsItem::setExtension
+416 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x0x7faf65c04620) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16)
+ QObject (0x0x7faf5cf5dde0) 0
+ primary-for QGraphicsObject (0x0x7faf65c04620)
+ QGraphicsItem (0x0x7faf5cf7a120) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 0
+24 0
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy
+88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x0x7faf61742270) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16)
+ QGraphicsItem (0x0x7faf5cfca780) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7faf61742270)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPathItem::boundingRect
+48 (int (*)(...))QGraphicsPathItem::shape
+56 (int (*)(...))QGraphicsPathItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPathItem::isObscuredBy
+88 (int (*)(...))QGraphicsPathItem::opaqueArea
+96 (int (*)(...))QGraphicsPathItem::paint
+104 (int (*)(...))QGraphicsPathItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPathItem::supportsExtension
+296 (int (*)(...))QGraphicsPathItem::setExtension
+304 (int (*)(...))QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x0x7faf617ecdd0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7faf617ece38) 0
+ primary-for QGraphicsPathItem (0x0x7faf617ecdd0)
+ QGraphicsItem (0x0x7faf5cfeb360) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7faf617ece38)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsRectItem::boundingRect
+48 (int (*)(...))QGraphicsRectItem::shape
+56 (int (*)(...))QGraphicsRectItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsRectItem::isObscuredBy
+88 (int (*)(...))QGraphicsRectItem::opaqueArea
+96 (int (*)(...))QGraphicsRectItem::paint
+104 (int (*)(...))QGraphicsRectItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsRectItem::supportsExtension
+296 (int (*)(...))QGraphicsRectItem::setExtension
+304 (int (*)(...))QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x0x7faf614b02d8) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7faf614b0340) 0
+ primary-for QGraphicsRectItem (0x0x7faf614b02d8)
+ QGraphicsItem (0x0x7faf5cfeba20) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7faf614b0340)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsEllipseItem::boundingRect
+48 (int (*)(...))QGraphicsEllipseItem::shape
+56 (int (*)(...))QGraphicsEllipseItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy
+88 (int (*)(...))QGraphicsEllipseItem::opaqueArea
+96 (int (*)(...))QGraphicsEllipseItem::paint
+104 (int (*)(...))QGraphicsEllipseItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsEllipseItem::supportsExtension
+296 (int (*)(...))QGraphicsEllipseItem::setExtension
+304 (int (*)(...))QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x0x7faf614b0820) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7faf614b0888) 0
+ primary-for QGraphicsEllipseItem (0x0x7faf614b0820)
+ QGraphicsItem (0x0x7faf5ccd5600) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7faf614b0888)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPolygonItem::boundingRect
+48 (int (*)(...))QGraphicsPolygonItem::shape
+56 (int (*)(...))QGraphicsPolygonItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy
+88 (int (*)(...))QGraphicsPolygonItem::opaqueArea
+96 (int (*)(...))QGraphicsPolygonItem::paint
+104 (int (*)(...))QGraphicsPolygonItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPolygonItem::supportsExtension
+296 (int (*)(...))QGraphicsPolygonItem::setExtension
+304 (int (*)(...))QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x0x7faf614b0a28) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7faf614b0a90) 0
+ primary-for QGraphicsPolygonItem (0x0x7faf614b0a28)
+ QGraphicsItem (0x0x7faf5ccd5b40) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7faf614b0a90)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsLineItem::boundingRect
+48 (int (*)(...))QGraphicsLineItem::shape
+56 (int (*)(...))QGraphicsLineItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsLineItem::isObscuredBy
+88 (int (*)(...))QGraphicsLineItem::opaqueArea
+96 (int (*)(...))QGraphicsLineItem::paint
+104 (int (*)(...))QGraphicsLineItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsLineItem::supportsExtension
+296 (int (*)(...))QGraphicsLineItem::setExtension
+304 (int (*)(...))QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x0x7faf614b0af8) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16)
+ QGraphicsItem (0x0x7faf5ccf3720) 0
+ primary-for QGraphicsLineItem (0x0x7faf614b0af8)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPixmapItem::boundingRect
+48 (int (*)(...))QGraphicsPixmapItem::shape
+56 (int (*)(...))QGraphicsPixmapItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy
+88 (int (*)(...))QGraphicsPixmapItem::opaqueArea
+96 (int (*)(...))QGraphicsPixmapItem::paint
+104 (int (*)(...))QGraphicsPixmapItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPixmapItem::supportsExtension
+296 (int (*)(...))QGraphicsPixmapItem::setExtension
+304 (int (*)(...))QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x0x7faf614cf820) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16)
+ QGraphicsItem (0x0x7faf5ccf3de0) 0
+ primary-for QGraphicsPixmapItem (0x0x7faf614cf820)
+
+Class QGraphicsTextItem::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTextItem::QPrivateSignal (0x0x7faf5cd865a0) 0 empty
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 (int (*)(...))QGraphicsTextItem::metaObject
+24 (int (*)(...))QGraphicsTextItem::qt_metacast
+32 (int (*)(...))QGraphicsTextItem::qt_metacall
+40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsTextItem::boundingRect
+120 (int (*)(...))QGraphicsTextItem::shape
+128 (int (*)(...))QGraphicsTextItem::contains
+136 (int (*)(...))QGraphicsTextItem::paint
+144 (int (*)(...))QGraphicsTextItem::isObscuredBy
+152 (int (*)(...))QGraphicsTextItem::opaqueArea
+160 (int (*)(...))QGraphicsTextItem::type
+168 (int (*)(...))QGraphicsTextItem::sceneEvent
+176 (int (*)(...))QGraphicsTextItem::mousePressEvent
+184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent
+192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent
+200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent
+208 (int (*)(...))QGraphicsTextItem::contextMenuEvent
+216 (int (*)(...))QGraphicsTextItem::keyPressEvent
+224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent
+232 (int (*)(...))QGraphicsTextItem::focusInEvent
+240 (int (*)(...))QGraphicsTextItem::focusOutEvent
+248 (int (*)(...))QGraphicsTextItem::dragEnterEvent
+256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsTextItem::dragMoveEvent
+272 (int (*)(...))QGraphicsTextItem::dropEvent
+280 (int (*)(...))QGraphicsTextItem::inputMethodEvent
+288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent
+296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent
+304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent
+312 (int (*)(...))QGraphicsTextItem::inputMethodQuery
+320 (int (*)(...))QGraphicsTextItem::supportsExtension
+328 (int (*)(...))QGraphicsTextItem::setExtension
+336 (int (*)(...))QGraphicsTextItem::extension
+344 (int (*)(...))-16
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 (int (*)(...))QGraphicsItem::advance
+384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 (int (*)(...))QGraphicsItem::collidesWithItem
+416 (int (*)(...))QGraphicsItem::collidesWithPath
+424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 (int (*)(...))QGraphicsItem::sceneEventFilter
+464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 (int (*)(...))QGraphicsItem::wheelEvent
+608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 (int (*)(...))QGraphicsItem::itemChange
+632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x0x7faf614cf888) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16)
+ QGraphicsObject (0x0x7faf6587fee0) 0
+ primary-for QGraphicsTextItem (0x0x7faf614cf888)
+ QObject (0x0x7faf5cd86180) 0
+ primary-for QGraphicsObject (0x0x7faf6587fee0)
+ QGraphicsItem (0x0x7faf5cd86540) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect
+48 (int (*)(...))QGraphicsSimpleTextItem::shape
+56 (int (*)(...))QGraphicsSimpleTextItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy
+88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea
+96 (int (*)(...))QGraphicsSimpleTextItem::paint
+104 (int (*)(...))QGraphicsSimpleTextItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension
+296 (int (*)(...))QGraphicsSimpleTextItem::setExtension
+304 (int (*)(...))QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x0x7faf614e37b8) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7faf614e3820) 0
+ primary-for QGraphicsSimpleTextItem (0x0x7faf614e37b8)
+ QGraphicsItem (0x0x7faf5cdc31e0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7faf614e3820)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsItemGroup::boundingRect
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItemGroup::isObscuredBy
+88 (int (*)(...))QGraphicsItemGroup::opaqueArea
+96 (int (*)(...))QGraphicsItemGroup::paint
+104 (int (*)(...))QGraphicsItemGroup::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x0x7faf614e38f0) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16)
+ QGraphicsItem (0x0x7faf5cde65a0) 0
+ primary-for QGraphicsItemGroup (0x0x7faf614e38f0)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 0
+24 0
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins
+48 (int (*)(...))QGraphicsLayoutItem::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x0x7faf5ca26ae0) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 0
+24 0
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))QGraphicsLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x0x7faf614e3958) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16)
+ QGraphicsLayoutItem (0x0x7faf5cb16240) 0
+ primary-for QGraphicsLayout (0x0x7faf614e3958)
+
+Class QGraphicsAnchor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsAnchor::QPrivateSignal (0x0x7faf5cb344e0) 0 empty
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 (int (*)(...))QGraphicsAnchor::metaObject
+24 (int (*)(...))QGraphicsAnchor::qt_metacast
+32 (int (*)(...))QGraphicsAnchor::qt_metacall
+40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x0x7faf614e3c98) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16)
+ QObject (0x0x7faf5cb34480) 0
+ primary-for QGraphicsAnchor (0x0x7faf614e3c98)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 (int (*)(...))QGraphicsAnchorLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsAnchorLayout::sizeHint
+64 (int (*)(...))QGraphicsAnchorLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsAnchorLayout::count
+88 (int (*)(...))QGraphicsAnchorLayout::itemAt
+96 (int (*)(...))QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x0x7faf614e3d00) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16)
+ QGraphicsLayout (0x0x7faf614fa3a8) 0
+ primary-for QGraphicsAnchorLayout (0x0x7faf614e3d00)
+ QGraphicsLayoutItem (0x0x7faf5cb53960) 0
+ primary-for QGraphicsLayout (0x0x7faf614fa3a8)
+
+Class QGraphicsEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsEffect::QPrivateSignal (0x0x7faf5cbf77e0) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 (int (*)(...))QGraphicsEffect::metaObject
+24 (int (*)(...))QGraphicsEffect::qt_metacast
+32 (int (*)(...))QGraphicsEffect::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x0x7faf614fa410) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16)
+ QObject (0x0x7faf5cbf7060) 0
+ primary-for QGraphicsEffect (0x0x7faf614fa410)
+
+Class QGraphicsColorizeEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsColorizeEffect::QPrivateSignal (0x0x7faf5c8738a0) 0 empty
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 (int (*)(...))QGraphicsColorizeEffect::metaObject
+24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast
+32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall
+40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsColorizeEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x0x7faf61507bc8) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16)
+ QGraphicsEffect (0x0x7faf61507d68) 0
+ primary-for QGraphicsColorizeEffect (0x0x7faf61507bc8)
+ QObject (0x0x7faf5c873540) 0
+ primary-for QGraphicsEffect (0x0x7faf61507d68)
+
+Class QGraphicsBlurEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsBlurEffect::QPrivateSignal (0x0x7faf5c90dae0) 0 empty
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 (int (*)(...))QGraphicsBlurEffect::metaObject
+24 (int (*)(...))QGraphicsBlurEffect::qt_metacast
+32 (int (*)(...))QGraphicsBlurEffect::qt_metacall
+40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor
+120 (int (*)(...))QGraphicsBlurEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x0x7faf61507f70) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16)
+ QGraphicsEffect (0x0x7faf6151f000) 0
+ primary-for QGraphicsBlurEffect (0x0x7faf61507f70)
+ QObject (0x0x7faf5c90d6c0) 0
+ primary-for QGraphicsEffect (0x0x7faf6151f000)
+
+Class QGraphicsDropShadowEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsDropShadowEffect::QPrivateSignal (0x0x7faf5c6c68a0) 0 empty
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 (int (*)(...))QGraphicsDropShadowEffect::metaObject
+24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast
+32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall
+40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor
+120 (int (*)(...))QGraphicsDropShadowEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x0x7faf6153a068) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16)
+ QGraphicsEffect (0x0x7faf6153a0d0) 0
+ primary-for QGraphicsDropShadowEffect (0x0x7faf6153a068)
+ QObject (0x0x7faf5c6c67e0) 0
+ primary-for QGraphicsEffect (0x0x7faf6153a0d0)
+
+Class QGraphicsOpacityEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsOpacityEffect::QPrivateSignal (0x0x7faf5c7097e0) 0 empty
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 (int (*)(...))QGraphicsOpacityEffect::metaObject
+24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast
+32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall
+40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsOpacityEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x0x7faf6153a478) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16)
+ QGraphicsEffect (0x0x7faf6153a4e0) 0
+ primary-for QGraphicsOpacityEffect (0x0x7faf6153a478)
+ QObject (0x0x7faf5c709720) 0
+ primary-for QGraphicsEffect (0x0x7faf6153a4e0)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+32 (int (*)(...))QGraphicsGridLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsGridLayout::sizeHint
+64 (int (*)(...))QGraphicsGridLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsGridLayout::count
+88 (int (*)(...))QGraphicsGridLayout::itemAt
+96 (int (*)(...))QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x0x7faf6153a820) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16)
+ QGraphicsLayout (0x0x7faf6153a888) 0
+ primary-for QGraphicsGridLayout (0x0x7faf6153a820)
+ QGraphicsLayoutItem (0x0x7faf5c7274e0) 0
+ primary-for QGraphicsLayout (0x0x7faf6153a888)
+
+Class QGraphicsItemAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsItemAnimation::QPrivateSignal (0x0x7faf5c727c00) 0 empty
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 (int (*)(...))QGraphicsItemAnimation::metaObject
+24 (int (*)(...))QGraphicsItemAnimation::qt_metacast
+32 (int (*)(...))QGraphicsItemAnimation::qt_metacall
+40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep
+120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x0x7faf615562d8) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16)
+ QObject (0x0x7faf5c727780) 0
+ primary-for QGraphicsItemAnimation (0x0x7faf615562d8)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 (int (*)(...))QGraphicsLinearLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsLinearLayout::sizeHint
+64 (int (*)(...))QGraphicsLinearLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsLinearLayout::count
+88 (int (*)(...))QGraphicsLinearLayout::itemAt
+96 (int (*)(...))QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x0x7faf61556340) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16)
+ QGraphicsLayout (0x0x7faf6156e340) 0
+ primary-for QGraphicsLinearLayout (0x0x7faf61556340)
+ QGraphicsLayoutItem (0x0x7faf5c743240) 0
+ primary-for QGraphicsLayout (0x0x7faf6156e340)
+
+Class QGraphicsWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsWidget::QPrivateSignal (0x0x7faf5c76b360) 0 empty
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 (int (*)(...))QGraphicsWidget::metaObject
+24 (int (*)(...))QGraphicsWidget::qt_metacast
+32 (int (*)(...))QGraphicsWidget::qt_metacall
+40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+56 (int (*)(...))QGraphicsWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsWidget::type
+136 (int (*)(...))QGraphicsWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsWidget::focusInEvent
+256 (int (*)(...))QGraphicsWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsWidget::focusOutEvent
+272 (int (*)(...))QGraphicsWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsWidget::resizeEvent
+304 (int (*)(...))QGraphicsWidget::showEvent
+312 (int (*)(...))QGraphicsWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-16
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 (int (*)(...))QGraphicsItem::advance
+400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 (int (*)(...))QGraphicsItem::contains
+424 (int (*)(...))QGraphicsItem::collidesWithItem
+432 (int (*)(...))QGraphicsItem::collidesWithPath
+440 (int (*)(...))QGraphicsItem::isObscuredBy
+448 (int (*)(...))QGraphicsItem::opaqueArea
+456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 (int (*)(...))QGraphicsItem::sceneEventFilter
+480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 (int (*)(...))QGraphicsItem::contextMenuEvent
+496 (int (*)(...))QGraphicsItem::dragEnterEvent
+504 (int (*)(...))QGraphicsItem::dragLeaveEvent
+512 (int (*)(...))QGraphicsItem::dragMoveEvent
+520 (int (*)(...))QGraphicsItem::dropEvent
+528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 (int (*)(...))QGraphicsItem::hoverEnterEvent
+552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 (int (*)(...))QGraphicsItem::keyPressEvent
+576 (int (*)(...))QGraphicsItem::keyReleaseEvent
+584 (int (*)(...))QGraphicsItem::mousePressEvent
+592 (int (*)(...))QGraphicsItem::mouseMoveEvent
+600 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+616 (int (*)(...))QGraphicsItem::wheelEvent
+624 (int (*)(...))QGraphicsItem::inputMethodEvent
+632 (int (*)(...))QGraphicsItem::inputMethodQuery
+640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 (int (*)(...))QGraphicsItem::supportsExtension
+656 (int (*)(...))QGraphicsItem::setExtension
+664 (int (*)(...))QGraphicsItem::extension
+672 (int (*)(...))-32
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x0x7faf65775d90) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16)
+ QGraphicsObject (0x0x7faf65775e00) 0
+ primary-for QGraphicsWidget (0x0x7faf65775d90)
+ QObject (0x0x7faf5c743f60) 0
+ primary-for QGraphicsObject (0x0x7faf65775e00)
+ QGraphicsItem (0x0x7faf5c76b000) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376)
+ QGraphicsLayoutItem (0x0x7faf5c76b0c0) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688)
+
+Class QGraphicsProxyWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsProxyWidget::QPrivateSignal (0x0x7faf5c789a20) 0 empty
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 107 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 (int (*)(...))QGraphicsProxyWidget::metaObject
+24 (int (*)(...))QGraphicsProxyWidget::qt_metacast
+32 (int (*)(...))QGraphicsProxyWidget::qt_metacall
+40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 (int (*)(...))QGraphicsProxyWidget::event
+64 (int (*)(...))QGraphicsProxyWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsProxyWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsProxyWidget::type
+136 (int (*)(...))QGraphicsProxyWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsProxyWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsProxyWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsProxyWidget::focusInEvent
+256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent
+272 (int (*)(...))QGraphicsProxyWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsProxyWidget::resizeEvent
+304 (int (*)(...))QGraphicsProxyWidget::showEvent
+312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent
+368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent
+376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent
+384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent
+392 (int (*)(...))QGraphicsProxyWidget::dropEvent
+400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent
+408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent
+416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent
+424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent
+432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent
+440 (int (*)(...))QGraphicsProxyWidget::wheelEvent
+448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent
+456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery
+472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent
+480 (int (*)(...))-16
+488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+512 (int (*)(...))QGraphicsItem::advance
+520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+536 (int (*)(...))QGraphicsItem::contains
+544 (int (*)(...))QGraphicsItem::collidesWithItem
+552 (int (*)(...))QGraphicsItem::collidesWithPath
+560 (int (*)(...))QGraphicsItem::isObscuredBy
+568 (int (*)(...))QGraphicsItem::opaqueArea
+576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+592 (int (*)(...))QGraphicsItem::sceneEventFilter
+600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent
+752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE
+760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+768 (int (*)(...))QGraphicsItem::supportsExtension
+776 (int (*)(...))QGraphicsItem::setExtension
+784 (int (*)(...))QGraphicsItem::extension
+792 (int (*)(...))-32
+800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+848 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x0x7faf6156e7b8) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16)
+ QGraphicsWidget (0x0x7faf6542d150) 0
+ primary-for QGraphicsProxyWidget (0x0x7faf6156e7b8)
+ QGraphicsObject (0x0x7faf6542d1c0) 0
+ primary-for QGraphicsWidget (0x0x7faf6542d150)
+ QObject (0x0x7faf5c7895a0) 0
+ primary-for QGraphicsObject (0x0x7faf6542d1c0)
+ QGraphicsItem (0x0x7faf5c789900) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496)
+ QGraphicsLayoutItem (0x0x7faf5c789960) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808)
+
+Class QGraphicsScene::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScene::QPrivateSignal (0x0x7faf5c7c43c0) 0 empty
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 (int (*)(...))QGraphicsScene::metaObject
+24 (int (*)(...))QGraphicsScene::qt_metacast
+32 (int (*)(...))QGraphicsScene::qt_metacall
+40 (int (*)(...))QGraphicsScene::~QGraphicsScene
+48 (int (*)(...))QGraphicsScene::~QGraphicsScene
+56 (int (*)(...))QGraphicsScene::event
+64 (int (*)(...))QGraphicsScene::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScene::inputMethodQuery
+120 (int (*)(...))QGraphicsScene::contextMenuEvent
+128 (int (*)(...))QGraphicsScene::dragEnterEvent
+136 (int (*)(...))QGraphicsScene::dragMoveEvent
+144 (int (*)(...))QGraphicsScene::dragLeaveEvent
+152 (int (*)(...))QGraphicsScene::dropEvent
+160 (int (*)(...))QGraphicsScene::focusInEvent
+168 (int (*)(...))QGraphicsScene::focusOutEvent
+176 (int (*)(...))QGraphicsScene::helpEvent
+184 (int (*)(...))QGraphicsScene::keyPressEvent
+192 (int (*)(...))QGraphicsScene::keyReleaseEvent
+200 (int (*)(...))QGraphicsScene::mousePressEvent
+208 (int (*)(...))QGraphicsScene::mouseMoveEvent
+216 (int (*)(...))QGraphicsScene::mouseReleaseEvent
+224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent
+232 (int (*)(...))QGraphicsScene::wheelEvent
+240 (int (*)(...))QGraphicsScene::inputMethodEvent
+248 (int (*)(...))QGraphicsScene::drawBackground
+256 (int (*)(...))QGraphicsScene::drawForeground
+264 (int (*)(...))QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x0x7faf615a94e0) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16)
+ QObject (0x0x7faf5c7c4300) 0
+ primary-for QGraphicsScene (0x0x7faf615a94e0)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x0x7faf615a99c0) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16)
+ QEvent (0x0x7faf5c473f00) 0
+ primary-for QGraphicsSceneEvent (0x0x7faf615a99c0)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x0x7faf615a9a28) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16)
+ QGraphicsSceneEvent (0x0x7faf615c2138) 0
+ primary-for QGraphicsSceneMouseEvent (0x0x7faf615a9a28)
+ QEvent (0x0x7faf5c4b1ba0) 0
+ primary-for QGraphicsSceneEvent (0x0x7faf615c2138)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x0x7faf615c21a0) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16)
+ QGraphicsSceneEvent (0x0x7faf615c2340) 0
+ primary-for QGraphicsSceneWheelEvent (0x0x7faf615c21a0)
+ QEvent (0x0x7faf5c4d20c0) 0
+ primary-for QGraphicsSceneEvent (0x0x7faf615c2340)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x0x7faf615c2548) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16)
+ QGraphicsSceneEvent (0x0x7faf615c27b8) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x0x7faf615c2548)
+ QEvent (0x0x7faf5c4d23c0) 0
+ primary-for QGraphicsSceneEvent (0x0x7faf615c27b8)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x0x7faf615c2bc8) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16)
+ QGraphicsSceneEvent (0x0x7faf615c2c30) 0
+ primary-for QGraphicsSceneHoverEvent (0x0x7faf615c2bc8)
+ QEvent (0x0x7faf5c4d27e0) 0
+ primary-for QGraphicsSceneEvent (0x0x7faf615c2c30)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x0x7faf615c2f70) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16)
+ QGraphicsSceneEvent (0x0x7faf615d7000) 0
+ primary-for QGraphicsSceneHelpEvent (0x0x7faf615c2f70)
+ QEvent (0x0x7faf5c51b780) 0
+ primary-for QGraphicsSceneEvent (0x0x7faf615d7000)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x0x7faf615d7340) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16)
+ QGraphicsSceneEvent (0x0x7faf615d73a8) 0
+ primary-for QGraphicsSceneDragDropEvent (0x0x7faf615d7340)
+ QEvent (0x0x7faf5c53d240) 0
+ primary-for QGraphicsSceneEvent (0x0x7faf615d73a8)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x0x7faf613a9068) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16)
+ QGraphicsSceneEvent (0x0x7faf613a90d0) 0
+ primary-for QGraphicsSceneResizeEvent (0x0x7faf613a9068)
+ QEvent (0x0x7faf5c53de40) 0
+ primary-for QGraphicsSceneEvent (0x0x7faf613a90d0)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x0x7faf613a9340) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16)
+ QGraphicsSceneEvent (0x0x7faf613a93a8) 0
+ primary-for QGraphicsSceneMoveEvent (0x0x7faf613a9340)
+ QEvent (0x0x7faf5c559f60) 0
+ primary-for QGraphicsSceneEvent (0x0x7faf613a93a8)
+
+Class QGraphicsTransform::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTransform::QPrivateSignal (0x0x7faf5c5b5ba0) 0 empty
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 (int (*)(...))QGraphicsTransform::metaObject
+24 (int (*)(...))QGraphicsTransform::qt_metacast
+32 (int (*)(...))QGraphicsTransform::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x0x7faf613a96e8) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16)
+ QObject (0x0x7faf5c5b5b40) 0
+ primary-for QGraphicsTransform (0x0x7faf613a96e8)
+
+Class QGraphicsScale::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScale::QPrivateSignal (0x0x7faf5c21b4e0) 0 empty
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 (int (*)(...))QGraphicsScale::metaObject
+24 (int (*)(...))QGraphicsScale::qt_metacast
+32 (int (*)(...))QGraphicsScale::qt_metacall
+40 (int (*)(...))QGraphicsScale::~QGraphicsScale
+48 (int (*)(...))QGraphicsScale::~QGraphicsScale
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x0x7faf613a9750) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16)
+ QGraphicsTransform (0x0x7faf613d7a90) 0
+ primary-for QGraphicsScale (0x0x7faf613a9750)
+ QObject (0x0x7faf5c21b480) 0
+ primary-for QGraphicsTransform (0x0x7faf613d7a90)
+
+Class QGraphicsRotation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsRotation::QPrivateSignal (0x0x7faf5c237900) 0 empty
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 (int (*)(...))QGraphicsRotation::metaObject
+24 (int (*)(...))QGraphicsRotation::qt_metacast
+32 (int (*)(...))QGraphicsRotation::qt_metacall
+40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x0x7faf613d7af8) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16)
+ QGraphicsTransform (0x0x7faf613d7e38) 0
+ primary-for QGraphicsRotation (0x0x7faf613d7af8)
+ QObject (0x0x7faf5c2378a0) 0
+ primary-for QGraphicsTransform (0x0x7faf613d7e38)
+
+Class QScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollArea::QPrivateSignal (0x0x7faf5c3a1900) 0 empty
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 68 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 (int (*)(...))QScrollArea::metaObject
+24 (int (*)(...))QScrollArea::qt_metacast
+32 (int (*)(...))QScrollArea::qt_metacall
+40 (int (*)(...))QScrollArea::~QScrollArea
+48 (int (*)(...))QScrollArea::~QScrollArea
+56 (int (*)(...))QScrollArea::event
+64 (int (*)(...))QScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QScrollArea::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QScrollArea::scrollContentsBy
+456 (int (*)(...))QScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QScrollArea (0x0x7faf613d7ea0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16)
+ QAbstractScrollArea (0x0x7faf613f1ea0) 0
+ primary-for QScrollArea (0x0x7faf613d7ea0)
+ QFrame (0x0x7faf613f1f08) 0
+ primary-for QAbstractScrollArea (0x0x7faf613f1ea0)
+ QWidget (0x0x7faf65220f50) 0
+ primary-for QFrame (0x0x7faf613f1f08)
+ QObject (0x0x7faf5c3a17e0) 0
+ primary-for QWidget (0x0x7faf65220f50)
+ QPaintDevice (0x0x7faf5c3a1840) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480)
+
+Class QGraphicsView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsView::QPrivateSignal (0x0x7faf5c401f60) 0 empty
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 (int (*)(...))QGraphicsView::metaObject
+24 (int (*)(...))QGraphicsView::qt_metacast
+32 (int (*)(...))QGraphicsView::qt_metacall
+40 (int (*)(...))QGraphicsView::~QGraphicsView
+48 (int (*)(...))QGraphicsView::~QGraphicsView
+56 (int (*)(...))QGraphicsView::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QGraphicsView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGraphicsView::mousePressEvent
+176 (int (*)(...))QGraphicsView::mouseReleaseEvent
+184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent
+192 (int (*)(...))QGraphicsView::mouseMoveEvent
+200 (int (*)(...))QGraphicsView::wheelEvent
+208 (int (*)(...))QGraphicsView::keyPressEvent
+216 (int (*)(...))QGraphicsView::keyReleaseEvent
+224 (int (*)(...))QGraphicsView::focusInEvent
+232 (int (*)(...))QGraphicsView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGraphicsView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGraphicsView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QGraphicsView::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QGraphicsView::dragEnterEvent
+320 (int (*)(...))QGraphicsView::dragMoveEvent
+328 (int (*)(...))QGraphicsView::dragLeaveEvent
+336 (int (*)(...))QGraphicsView::dropEvent
+344 (int (*)(...))QGraphicsView::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QGraphicsView::inputMethodEvent
+416 (int (*)(...))QGraphicsView::inputMethodQuery
+424 (int (*)(...))QGraphicsView::focusNextPrevChild
+432 (int (*)(...))QGraphicsView::setupViewport
+440 (int (*)(...))QGraphicsView::viewportEvent
+448 (int (*)(...))QGraphicsView::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QGraphicsView::drawBackground
+472 (int (*)(...))QGraphicsView::drawForeground
+480 (int (*)(...))QGraphicsView::drawItems
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGraphicsView
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsView (0x0x7faf6100c6e8) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16)
+ QAbstractScrollArea (0x0x7faf6100c750) 0
+ primary-for QGraphicsView (0x0x7faf6100c6e8)
+ QFrame (0x0x7faf6100cbc8) 0
+ primary-for QAbstractScrollArea (0x0x7faf6100c750)
+ QWidget (0x0x7faf652f20e0) 0
+ primary-for QFrame (0x0x7faf6100cbc8)
+ QObject (0x0x7faf5c3e41e0) 0
+ primary-for QWidget (0x0x7faf652f20e0)
+ QPaintDevice (0x0x7faf5c3e4240) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504)
+
+Class QGroupBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGroupBox::QPrivateSignal (0x0x7faf5bc0fc00) 0 empty
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 (int (*)(...))QGroupBox::metaObject
+24 (int (*)(...))QGroupBox::qt_metacast
+32 (int (*)(...))QGroupBox::qt_metacall
+40 (int (*)(...))QGroupBox::~QGroupBox
+48 (int (*)(...))QGroupBox::~QGroupBox
+56 (int (*)(...))QGroupBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QGroupBox::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QGroupBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGroupBox::mousePressEvent
+176 (int (*)(...))QGroupBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QGroupBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QGroupBox::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGroupBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGroupBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QGroupBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QGroupBox)
+448 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGroupBox
+ size=48 align=8
+ base size=48 base align=8
+QGroupBox (0x0x7faf61027dd0) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16)
+ QWidget (0x0x7faf653c6bd0) 0
+ primary-for QGroupBox (0x0x7faf61027dd0)
+ QObject (0x0x7faf5bc0f8a0) 0
+ primary-for QWidget (0x0x7faf653c6bd0)
+ QPaintDevice (0x0x7faf5bc0f900) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 448)
+
+Class QHeaderView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHeaderView::QPrivateSignal (0x0x7faf5bc4c060) 0 empty
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 108 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 (int (*)(...))QHeaderView::metaObject
+24 (int (*)(...))QHeaderView::qt_metacast
+32 (int (*)(...))QHeaderView::qt_metacall
+40 (int (*)(...))QHeaderView::~QHeaderView
+48 (int (*)(...))QHeaderView::~QHeaderView
+56 (int (*)(...))QHeaderView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QHeaderView::setVisible
+128 (int (*)(...))QHeaderView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QHeaderView::mousePressEvent
+176 (int (*)(...))QHeaderView::mouseReleaseEvent
+184 (int (*)(...))QHeaderView::mouseDoubleClickEvent
+192 (int (*)(...))QHeaderView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QHeaderView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QHeaderView::viewportEvent
+448 (int (*)(...))QHeaderView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QHeaderView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QHeaderView::visualRect
+496 (int (*)(...))QHeaderView::scrollTo
+504 (int (*)(...))QHeaderView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QHeaderView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QHeaderView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QHeaderView::dataChanged
+568 (int (*)(...))QHeaderView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QHeaderView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QHeaderView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QHeaderView::moveCursor
+688 (int (*)(...))QHeaderView::horizontalOffset
+696 (int (*)(...))QHeaderView::verticalOffset
+704 (int (*)(...))QHeaderView::isIndexHidden
+712 (int (*)(...))QHeaderView::setSelection
+720 (int (*)(...))QHeaderView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QHeaderView::paintSection
+776 (int (*)(...))QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QHeaderView
+ size=48 align=8
+ base size=48 base align=8
+QHeaderView (0x0x7faf61048820) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16)
+ QAbstractItemView (0x0x7faf61048888) 0
+ primary-for QHeaderView (0x0x7faf61048820)
+ QAbstractScrollArea (0x0x7faf61048bc8) 0
+ primary-for QAbstractItemView (0x0x7faf61048888)
+ QFrame (0x0x7faf61048c30) 0
+ primary-for QAbstractScrollArea (0x0x7faf61048bc8)
+ QWidget (0x0x7faf64eab000) 0
+ primary-for QFrame (0x0x7faf61048c30)
+ QObject (0x0x7faf5bc2ad80) 0
+ primary-for QWidget (0x0x7faf64eab000)
+ QPaintDevice (0x0x7faf5bc2ade0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800)
+
+Class QLineEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLineEdit::QPrivateSignal (0x0x7faf5bd731e0) 0 empty
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 (int (*)(...))QLineEdit::metaObject
+24 (int (*)(...))QLineEdit::qt_metacast
+32 (int (*)(...))QLineEdit::qt_metacall
+40 (int (*)(...))QLineEdit::~QLineEdit
+48 (int (*)(...))QLineEdit::~QLineEdit
+56 (int (*)(...))QLineEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLineEdit::sizeHint
+136 (int (*)(...))QLineEdit::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLineEdit::mousePressEvent
+176 (int (*)(...))QLineEdit::mouseReleaseEvent
+184 (int (*)(...))QLineEdit::mouseDoubleClickEvent
+192 (int (*)(...))QLineEdit::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLineEdit::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLineEdit::focusInEvent
+232 (int (*)(...))QLineEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLineEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLineEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QLineEdit::dragEnterEvent
+320 (int (*)(...))QLineEdit::dragMoveEvent
+328 (int (*)(...))QLineEdit::dragLeaveEvent
+336 (int (*)(...))QLineEdit::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLineEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QLineEdit::inputMethodEvent
+416 (int (*)(...))QLineEdit::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QLineEdit)
+448 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev
+456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLineEdit
+ size=48 align=8
+ base size=48 base align=8
+QLineEdit (0x0x7faf60e42750) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16)
+ QWidget (0x0x7faf64eab8c0) 0
+ primary-for QLineEdit (0x0x7faf60e42750)
+ QObject (0x0x7faf5bd4cc00) 0
+ primary-for QWidget (0x0x7faf64eab8c0)
+ QPaintDevice (0x0x7faf5bd4cc60) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 448)
+
+Class QInputDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputDialog::QPrivateSignal (0x0x7faf5bdc1000) 0 empty
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 (int (*)(...))QInputDialog::metaObject
+24 (int (*)(...))QInputDialog::qt_metacast
+32 (int (*)(...))QInputDialog::qt_metacall
+40 (int (*)(...))QInputDialog::~QInputDialog
+48 (int (*)(...))QInputDialog::~QInputDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QInputDialog::setVisible
+128 (int (*)(...))QInputDialog::sizeHint
+136 (int (*)(...))QInputDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QInputDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QInputDialog
+ size=48 align=8
+ base size=48 base align=8
+QInputDialog (0x0x7faf60e429c0) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16)
+ QDialog (0x0x7faf60e42a28) 0
+ primary-for QInputDialog (0x0x7faf60e429c0)
+ QWidget (0x0x7faf64eabd20) 0
+ primary-for QDialog (0x0x7faf60e42a28)
+ QObject (0x0x7faf5bd92d20) 0
+ primary-for QWidget (0x0x7faf64eabd20)
+ QPaintDevice (0x0x7faf5bd92f60) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488)
+
+Class QItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemDelegate::QPrivateSignal (0x0x7faf5b8a2120) 0 empty
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 (int (*)(...))QItemDelegate::metaObject
+24 (int (*)(...))QItemDelegate::qt_metacast
+32 (int (*)(...))QItemDelegate::qt_metacall
+40 (int (*)(...))QItemDelegate::~QItemDelegate
+48 (int (*)(...))QItemDelegate::~QItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemDelegate::paint
+120 (int (*)(...))QItemDelegate::sizeHint
+128 (int (*)(...))QItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QItemDelegate::setEditorData
+152 (int (*)(...))QItemDelegate::setModelData
+160 (int (*)(...))QItemDelegate::updateEditorGeometry
+168 (int (*)(...))QItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QItemDelegate::drawDisplay
+200 (int (*)(...))QItemDelegate::drawDecoration
+208 (int (*)(...))QItemDelegate::drawFocus
+216 (int (*)(...))QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x0x7faf60e74680) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16)
+ QAbstractItemDelegate (0x0x7faf60e746e8) 0
+ primary-for QItemDelegate (0x0x7faf60e74680)
+ QObject (0x0x7faf5b8835a0) 0
+ primary-for QAbstractItemDelegate (0x0x7faf60e746e8)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x0x7faf5b909000) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+32 (int (*)(...))QItemEditorFactory::createEditor
+40 (int (*)(...))QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x0x7faf5b9942a0) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16)
+
+Class QKeyEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeyEventTransition::QPrivateSignal (0x0x7faf5b636ea0) 0 empty
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 (int (*)(...))QKeyEventTransition::metaObject
+24 (int (*)(...))QKeyEventTransition::qt_metacast
+32 (int (*)(...))QKeyEventTransition::qt_metacall
+40 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+48 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QKeyEventTransition::eventTest
+120 (int (*)(...))QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x0x7faf60e9b680) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16)
+ QEventTransition (0x0x7faf60e9b6e8) 0
+ primary-for QKeyEventTransition (0x0x7faf60e9b680)
+ QAbstractTransition (0x0x7faf60ebe0d0) 0
+ primary-for QEventTransition (0x0x7faf60e9b6e8)
+ QObject (0x0x7faf5b6368a0) 0
+ primary-for QAbstractTransition (0x0x7faf60ebe0d0)
+
+Class QKeySequenceEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeySequenceEdit::QPrivateSignal (0x0x7faf5b673180) 0 empty
+
+Vtable for QKeySequenceEdit
+QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+16 (int (*)(...))QKeySequenceEdit::metaObject
+24 (int (*)(...))QKeySequenceEdit::qt_metacast
+32 (int (*)(...))QKeySequenceEdit::qt_metacall
+40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+56 (int (*)(...))QKeySequenceEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QKeySequenceEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QKeySequenceEdit::keyPressEvent
+216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev
+456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QKeySequenceEdit
+ size=48 align=8
+ base size=48 base align=8
+QKeySequenceEdit (0x0x7faf60ebe138) 0
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16)
+ QWidget (0x0x7faf64fc2150) 0
+ primary-for QKeySequenceEdit (0x0x7faf60ebe138)
+ QObject (0x0x7faf5b653b40) 0
+ primary-for QWidget (0x0x7faf64fc2150)
+ QPaintDevice (0x0x7faf5b673120) 16
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448)
+
+Class QLabel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLabel::QPrivateSignal (0x0x7faf59ea2480) 0 empty
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 (int (*)(...))QLabel::metaObject
+24 (int (*)(...))QLabel::qt_metacast
+32 (int (*)(...))QLabel::qt_metacall
+40 (int (*)(...))QLabel::~QLabel
+48 (int (*)(...))QLabel::~QLabel
+56 (int (*)(...))QLabel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLabel::sizeHint
+136 (int (*)(...))QLabel::minimumSizeHint
+144 (int (*)(...))QLabel::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLabel::mousePressEvent
+176 (int (*)(...))QLabel::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QLabel::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLabel::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLabel::focusInEvent
+232 (int (*)(...))QLabel::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLabel::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLabel::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLabel::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QLabel::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QLabel)
+448 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev
+456 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLabel
+ size=48 align=8
+ base size=48 base align=8
+QLabel (0x0x7faf60ed51a0) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16)
+ QFrame (0x0x7faf60ed5208) 0
+ primary-for QLabel (0x0x7faf60ed51a0)
+ QWidget (0x0x7faf64fc22a0) 0
+ primary-for QFrame (0x0x7faf60ed5208)
+ QObject (0x0x7faf59e71cc0) 0
+ primary-for QWidget (0x0x7faf64fc22a0)
+ QPaintDevice (0x0x7faf59e71d20) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 448)
+
+Class QLCDNumber::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLCDNumber::QPrivateSignal (0x0x7faf59ea2f60) 0 empty
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 (int (*)(...))QLCDNumber::metaObject
+24 (int (*)(...))QLCDNumber::qt_metacast
+32 (int (*)(...))QLCDNumber::qt_metacall
+40 (int (*)(...))QLCDNumber::~QLCDNumber
+48 (int (*)(...))QLCDNumber::~QLCDNumber
+56 (int (*)(...))QLCDNumber::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLCDNumber::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLCDNumber::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QLCDNumber)
+448 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLCDNumber
+ size=48 align=8
+ base size=48 base align=8
+QLCDNumber (0x0x7faf60c5f1a0) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16)
+ QFrame (0x0x7faf60c5f208) 0
+ primary-for QLCDNumber (0x0x7faf60c5f1a0)
+ QWidget (0x0x7faf64fc24d0) 0
+ primary-for QFrame (0x0x7faf60c5f208)
+ QObject (0x0x7faf59ea2c00) 0
+ primary-for QWidget (0x0x7faf64fc24d0)
+ QPaintDevice (0x0x7faf59ea2c60) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 448)
+
+Class QListView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListView::QPrivateSignal (0x0x7faf59a661e0) 0 empty
+
+Vtable for QListView
+QListView::_ZTV9QListView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 (int (*)(...))QListView::metaObject
+24 (int (*)(...))QListView::qt_metacast
+32 (int (*)(...))QListView::qt_metacall
+40 (int (*)(...))QListView::~QListView
+48 (int (*)(...))QListView::~QListView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QListView)
+784 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev
+792 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListView
+ size=48 align=8
+ base size=48 base align=8
+QListView (0x0x7faf60c5f3a8) 0
+ vptr=((& QListView::_ZTV9QListView) + 16)
+ QAbstractItemView (0x0x7faf60c5faf8) 0
+ primary-for QListView (0x0x7faf60c5f3a8)
+ QAbstractScrollArea (0x0x7faf60c5fb60) 0
+ primary-for QAbstractItemView (0x0x7faf60c5faf8)
+ QFrame (0x0x7faf60c79000) 0
+ primary-for QAbstractScrollArea (0x0x7faf60c5fb60)
+ QWidget (0x0x7faf64fc2b60) 0
+ primary-for QFrame (0x0x7faf60c79000)
+ QObject (0x0x7faf59a31600) 0
+ primary-for QWidget (0x0x7faf64fc2b60)
+ QPaintDevice (0x0x7faf59a31b40) 16
+ vptr=((& QListView::_ZTV9QListView) + 784)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 (int (*)(...))QListWidgetItem::~QListWidgetItem
+24 (int (*)(...))QListWidgetItem::~QListWidgetItem
+32 (int (*)(...))QListWidgetItem::clone
+40 (int (*)(...))QListWidgetItem::setBackgroundColor
+48 (int (*)(...))QListWidgetItem::data
+56 (int (*)(...))QListWidgetItem::setData
+64 (int (*)(...))QListWidgetItem::operator<
+72 (int (*)(...))QListWidgetItem::read
+80 (int (*)(...))QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x0x7faf59929f00) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16)
+
+Class QListWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListWidget::QPrivateSignal (0x0x7faf5959dae0) 0 empty
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 110 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 (int (*)(...))QListWidget::metaObject
+24 (int (*)(...))QListWidget::qt_metacast
+32 (int (*)(...))QListWidget::qt_metacall
+40 (int (*)(...))QListWidget::~QListWidget
+48 (int (*)(...))QListWidget::~QListWidget
+56 (int (*)(...))QListWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QListWidget::setModel
+472 (int (*)(...))QListWidget::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))QListWidget::mimeTypes
+776 (int (*)(...))QListWidget::mimeData
+784 (int (*)(...))QListWidget::dropMimeData
+792 (int (*)(...))QListWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListWidget
+ size=48 align=8
+ base size=48 base align=8
+QListWidget (0x0x7faf60c79410) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16)
+ QListView (0x0x7faf60c79680) 0
+ primary-for QListWidget (0x0x7faf60c79410)
+ QAbstractItemView (0x0x7faf60d4aaf8) 0
+ primary-for QListView (0x0x7faf60c79680)
+ QAbstractScrollArea (0x0x7faf60d4ab60) 0
+ primary-for QAbstractItemView (0x0x7faf60d4aaf8)
+ QFrame (0x0x7faf60dd0680) 0
+ primary-for QAbstractScrollArea (0x0x7faf60d4ab60)
+ QWidget (0x0x7faf64d0f540) 0
+ primary-for QFrame (0x0x7faf60dd0680)
+ QObject (0x0x7faf5959d180) 0
+ primary-for QWidget (0x0x7faf64d0f540)
+ QPaintDevice (0x0x7faf5959da80) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816)
+
+Class QMainWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMainWindow::QPrivateSignal (0x0x7faf595fc2a0) 0 empty
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 (int (*)(...))QMainWindow::metaObject
+24 (int (*)(...))QMainWindow::qt_metacast
+32 (int (*)(...))QMainWindow::qt_metacall
+40 (int (*)(...))QMainWindow::~QMainWindow
+48 (int (*)(...))QMainWindow::~QMainWindow
+56 (int (*)(...))QMainWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QMainWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMainWindow::createPopupMenu
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI11QMainWindow)
+456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev
+464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMainWindow
+ size=48 align=8
+ base size=48 base align=8
+QMainWindow (0x0x7faf60dd06e8) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16)
+ QWidget (0x0x7faf64d0f7e0) 0
+ primary-for QMainWindow (0x0x7faf60dd06e8)
+ QObject (0x0x7faf595fc120) 0
+ primary-for QWidget (0x0x7faf64d0f7e0)
+ QPaintDevice (0x0x7faf595fc1e0) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 456)
+
+Class QMdiArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiArea::QPrivateSignal (0x0x7faf59077660) 0 empty
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 68 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 (int (*)(...))QMdiArea::metaObject
+24 (int (*)(...))QMdiArea::qt_metacast
+32 (int (*)(...))QMdiArea::qt_metacall
+40 (int (*)(...))QMdiArea::~QMdiArea
+48 (int (*)(...))QMdiArea::~QMdiArea
+56 (int (*)(...))QMdiArea::event
+64 (int (*)(...))QMdiArea::eventFilter
+72 (int (*)(...))QMdiArea::timerEvent
+80 (int (*)(...))QMdiArea::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiArea::sizeHint
+136 (int (*)(...))QMdiArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QMdiArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMdiArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QMdiArea::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMdiArea::setupViewport
+440 (int (*)(...))QMdiArea::viewportEvent
+448 (int (*)(...))QMdiArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiArea
+ size=48 align=8
+ base size=48 base align=8
+QMdiArea (0x0x7faf60a1e068) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16)
+ QAbstractScrollArea (0x0x7faf60a1e208) 0
+ primary-for QMdiArea (0x0x7faf60a1e068)
+ QFrame (0x0x7faf60a1e270) 0
+ primary-for QAbstractScrollArea (0x0x7faf60a1e208)
+ QWidget (0x0x7faf64dab380) 0
+ primary-for QFrame (0x0x7faf60a1e270)
+ QObject (0x0x7faf590770c0) 0
+ primary-for QWidget (0x0x7faf64dab380)
+ QPaintDevice (0x0x7faf59077600) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480)
+
+Class QMdiSubWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiSubWindow::QPrivateSignal (0x0x7faf59092ea0) 0 empty
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 (int (*)(...))QMdiSubWindow::metaObject
+24 (int (*)(...))QMdiSubWindow::qt_metacast
+32 (int (*)(...))QMdiSubWindow::qt_metacall
+40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+56 (int (*)(...))QMdiSubWindow::event
+64 (int (*)(...))QMdiSubWindow::eventFilter
+72 (int (*)(...))QMdiSubWindow::timerEvent
+80 (int (*)(...))QMdiSubWindow::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiSubWindow::sizeHint
+136 (int (*)(...))QMdiSubWindow::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMdiSubWindow::mousePressEvent
+176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent
+184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent
+192 (int (*)(...))QMdiSubWindow::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMdiSubWindow::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMdiSubWindow::focusInEvent
+232 (int (*)(...))QMdiSubWindow::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMdiSubWindow::leaveEvent
+256 (int (*)(...))QMdiSubWindow::paintEvent
+264 (int (*)(...))QMdiSubWindow::moveEvent
+272 (int (*)(...))QMdiSubWindow::resizeEvent
+280 (int (*)(...))QMdiSubWindow::closeEvent
+288 (int (*)(...))QMdiSubWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMdiSubWindow::showEvent
+352 (int (*)(...))QMdiSubWindow::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMdiSubWindow::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI13QMdiSubWindow)
+448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiSubWindow
+ size=48 align=8
+ base size=48 base align=8
+QMdiSubWindow (0x0x7faf60a1e6e8) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16)
+ QWidget (0x0x7faf64dca230) 0
+ primary-for QMdiSubWindow (0x0x7faf60a1e6e8)
+ QObject (0x0x7faf59092de0) 0
+ primary-for QWidget (0x0x7faf64dca230)
+ QPaintDevice (0x0x7faf59092e40) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448)
+
+Class QMenu::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenu::QPrivateSignal (0x0x7faf5c4c47e0) 0 empty
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 (int (*)(...))QMenu::metaObject
+24 (int (*)(...))QMenu::qt_metacast
+32 (int (*)(...))QMenu::qt_metacall
+40 (int (*)(...))QMenu::~QMenu
+48 (int (*)(...))QMenu::~QMenu
+56 (int (*)(...))QMenu::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QMenu::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMenu::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenu::mousePressEvent
+176 (int (*)(...))QMenu::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenu::mouseMoveEvent
+200 (int (*)(...))QMenu::wheelEvent
+208 (int (*)(...))QMenu::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QMenu::enterEvent
+248 (int (*)(...))QMenu::leaveEvent
+256 (int (*)(...))QMenu::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenu::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QMenu::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenu::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QMenu::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI5QMenu)
+448 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev
+456 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenu
+ size=48 align=8
+ base size=48 base align=8
+QMenu (0x0x7faf60a37000) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16)
+ QWidget (0x0x7faf64dcaee0) 0
+ primary-for QMenu (0x0x7faf60a37000)
+ QObject (0x0x7faf5c4c4720) 0
+ primary-for QWidget (0x0x7faf64dcaee0)
+ QPaintDevice (0x0x7faf5c4c4780) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 448)
+
+Class QMenuBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenuBar::QPrivateSignal (0x0x7faf5c4c4c00) 0 empty
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 (int (*)(...))QMenuBar::metaObject
+24 (int (*)(...))QMenuBar::qt_metacast
+32 (int (*)(...))QMenuBar::qt_metacall
+40 (int (*)(...))QMenuBar::~QMenuBar
+48 (int (*)(...))QMenuBar::~QMenuBar
+56 (int (*)(...))QMenuBar::event
+64 (int (*)(...))QMenuBar::eventFilter
+72 (int (*)(...))QMenuBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QMenuBar::setVisible
+128 (int (*)(...))QMenuBar::sizeHint
+136 (int (*)(...))QMenuBar::minimumSizeHint
+144 (int (*)(...))QMenuBar::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenuBar::mousePressEvent
+176 (int (*)(...))QMenuBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenuBar::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMenuBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMenuBar::focusInEvent
+232 (int (*)(...))QMenuBar::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMenuBar::leaveEvent
+256 (int (*)(...))QMenuBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMenuBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenuBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenuBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QMenuBar)
+448 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev
+456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenuBar
+ size=48 align=8
+ base size=48 base align=8
+QMenuBar (0x0x7faf60a37208) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16)
+ QWidget (0x0x7faf64dcaf50) 0
+ primary-for QMenuBar (0x0x7faf60a37208)
+ QObject (0x0x7faf5c4c4b40) 0
+ primary-for QWidget (0x0x7faf64dcaf50)
+ QPaintDevice (0x0x7faf5c4c4ba0) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 448)
+
+Class QMessageBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMessageBox::QPrivateSignal (0x0x7faf5c4c4f60) 0 empty
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 (int (*)(...))QMessageBox::metaObject
+24 (int (*)(...))QMessageBox::qt_metacast
+32 (int (*)(...))QMessageBox::qt_metacall
+40 (int (*)(...))QMessageBox::~QMessageBox
+48 (int (*)(...))QMessageBox::~QMessageBox
+56 (int (*)(...))QMessageBox::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMessageBox::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMessageBox::resizeEvent
+280 (int (*)(...))QMessageBox::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMessageBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMessageBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMessageBox
+ size=48 align=8
+ base size=48 base align=8
+QMessageBox (0x0x7faf60a37478) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16)
+ QDialog (0x0x7faf60a37888) 0
+ primary-for QMessageBox (0x0x7faf60a37478)
+ QWidget (0x0x7faf64a330e0) 0
+ primary-for QDialog (0x0x7faf60a37888)
+ QObject (0x0x7faf5c4c4ea0) 0
+ primary-for QWidget (0x0x7faf64a330e0)
+ QPaintDevice (0x0x7faf5c4c4f00) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488)
+
+Class QMouseEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMouseEventTransition::QPrivateSignal (0x0x7faf65d3dba0) 0 empty
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 (int (*)(...))QMouseEventTransition::metaObject
+24 (int (*)(...))QMouseEventTransition::qt_metacast
+32 (int (*)(...))QMouseEventTransition::qt_metacall
+40 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+48 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMouseEventTransition::eventTest
+120 (int (*)(...))QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x0x7faf60a37c98) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16)
+ QEventTransition (0x0x7faf60a4e000) 0
+ primary-for QMouseEventTransition (0x0x7faf60a37c98)
+ QAbstractTransition (0x0x7faf60a4e068) 0
+ primary-for QEventTransition (0x0x7faf60a4e000)
+ QObject (0x0x7faf65d3db40) 0
+ primary-for QAbstractTransition (0x0x7faf60a4e068)
+
+Class QOpenGLWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWidget::QPrivateSignal (0x0x7faf65d3de40) 0 empty
+
+Vtable for QOpenGLWidget
+QOpenGLWidget::_ZTV13QOpenGLWidget: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWidget)
+16 (int (*)(...))QOpenGLWidget::metaObject
+24 (int (*)(...))QOpenGLWidget::qt_metacast
+32 (int (*)(...))QOpenGLWidget::qt_metacall
+40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+56 (int (*)(...))QOpenGLWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QOpenGLWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QOpenGLWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QOpenGLWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QOpenGLWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QOpenGLWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QOpenGLWidget::initializeGL
+440 (int (*)(...))QOpenGLWidget::resizeGL
+448 (int (*)(...))QOpenGLWidget::paintGL
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI13QOpenGLWidget)
+472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev
+480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv
+504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QOpenGLWidget
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLWidget (0x0x7faf60a4e750) 0
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16)
+ QWidget (0x0x7faf64abb2a0) 0
+ primary-for QOpenGLWidget (0x0x7faf60a4e750)
+ QObject (0x0x7faf65d3dd80) 0
+ primary-for QWidget (0x0x7faf64abb2a0)
+ QPaintDevice (0x0x7faf65d3dde0) 16
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472)
+
+Class QTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextEdit::QPrivateSignal (0x0x7faf63979120) 0 empty
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x0x7faf63979180) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 (int (*)(...))QTextEdit::metaObject
+24 (int (*)(...))QTextEdit::qt_metacast
+32 (int (*)(...))QTextEdit::qt_metacall
+40 (int (*)(...))QTextEdit::~QTextEdit
+48 (int (*)(...))QTextEdit::~QTextEdit
+56 (int (*)(...))QTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextEdit::mousePressEvent
+176 (int (*)(...))QTextEdit::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextEdit::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextEdit::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextEdit::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI9QTextEdit)
+520 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev
+528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QTextEdit (0x0x7faf60a4ef70) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16)
+ QAbstractScrollArea (0x0x7faf60adb000) 0
+ primary-for QTextEdit (0x0x7faf60a4ef70)
+ QFrame (0x0x7faf60adb478) 0
+ primary-for QAbstractScrollArea (0x0x7faf60adb000)
+ QWidget (0x0x7faf64abb540) 0
+ primary-for QFrame (0x0x7faf60adb478)
+ QObject (0x0x7faf63979060) 0
+ primary-for QWidget (0x0x7faf64abb540)
+ QPaintDevice (0x0x7faf639790c0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 520)
+
+Class QPlainTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextEdit::QPrivateSignal (0x0x7faf63979de0) 0 empty
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 (int (*)(...))QPlainTextEdit::metaObject
+24 (int (*)(...))QPlainTextEdit::qt_metacast
+32 (int (*)(...))QPlainTextEdit::qt_metacall
+40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+56 (int (*)(...))QPlainTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QPlainTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QPlainTextEdit::mousePressEvent
+176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent
+184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QPlainTextEdit::mouseMoveEvent
+200 (int (*)(...))QPlainTextEdit::wheelEvent
+208 (int (*)(...))QPlainTextEdit::keyPressEvent
+216 (int (*)(...))QPlainTextEdit::keyReleaseEvent
+224 (int (*)(...))QPlainTextEdit::focusInEvent
+232 (int (*)(...))QPlainTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPlainTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QPlainTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QPlainTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QPlainTextEdit::dragEnterEvent
+320 (int (*)(...))QPlainTextEdit::dragMoveEvent
+328 (int (*)(...))QPlainTextEdit::dragLeaveEvent
+336 (int (*)(...))QPlainTextEdit::dropEvent
+344 (int (*)(...))QPlainTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QPlainTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QPlainTextEdit::inputMethodEvent
+416 (int (*)(...))QPlainTextEdit::inputMethodQuery
+424 (int (*)(...))QPlainTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QPlainTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QPlainTextEdit::loadResource
+472 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QPlainTextEdit::canInsertFromMimeData
+488 (int (*)(...))QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))QPlainTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI14QPlainTextEdit)
+520 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPlainTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QPlainTextEdit (0x0x7faf60adbf70) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16)
+ QAbstractScrollArea (0x0x7faf60af2618) 0
+ primary-for QPlainTextEdit (0x0x7faf60adbf70)
+ QFrame (0x0x7faf60af2680) 0
+ primary-for QAbstractScrollArea (0x0x7faf60af2618)
+ QWidget (0x0x7faf64b0c460) 0
+ primary-for QFrame (0x0x7faf60af2680)
+ QObject (0x0x7faf63979d20) 0
+ primary-for QWidget (0x0x7faf64b0c460)
+ QPaintDevice (0x0x7faf63979d80) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 520)
+
+Class QPlainTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextDocumentLayout::QPrivateSignal (0x0x7faf61a483c0) 0 empty
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 (int (*)(...))QPlainTextDocumentLayout::metaObject
+24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast
+32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall
+40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPlainTextDocumentLayout::draw
+120 (int (*)(...))QPlainTextDocumentLayout::hitTest
+128 (int (*)(...))QPlainTextDocumentLayout::pageCount
+136 (int (*)(...))QPlainTextDocumentLayout::documentSize
+144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect
+152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect
+160 (int (*)(...))QPlainTextDocumentLayout::documentChanged
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x0x7faf60b481a0) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16)
+ QAbstractTextDocumentLayout (0x0x7faf60b48208) 0
+ primary-for QPlainTextDocumentLayout (0x0x7faf60b481a0)
+ QObject (0x0x7faf61a48360) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7faf60b48208)
+
+Class QProgressBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressBar::QPrivateSignal (0x0x7faf61a48660) 0 empty
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 (int (*)(...))QProgressBar::metaObject
+24 (int (*)(...))QProgressBar::qt_metacast
+32 (int (*)(...))QProgressBar::qt_metacall
+40 (int (*)(...))QProgressBar::~QProgressBar
+48 (int (*)(...))QProgressBar::~QProgressBar
+56 (int (*)(...))QProgressBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QProgressBar::sizeHint
+136 (int (*)(...))QProgressBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QProgressBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QProgressBar::text
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI12QProgressBar)
+456 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev
+464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressBar
+ size=48 align=8
+ base size=48 base align=8
+QProgressBar (0x0x7faf60b483a8) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16)
+ QWidget (0x0x7faf64b0c770) 0
+ primary-for QProgressBar (0x0x7faf60b483a8)
+ QObject (0x0x7faf61a485a0) 0
+ primary-for QWidget (0x0x7faf64b0c770)
+ QPaintDevice (0x0x7faf61a48600) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 456)
+
+Class QProgressDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressDialog::QPrivateSignal (0x0x7faf61a489c0) 0 empty
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 (int (*)(...))QProgressDialog::metaObject
+24 (int (*)(...))QProgressDialog::qt_metacast
+32 (int (*)(...))QProgressDialog::qt_metacall
+40 (int (*)(...))QProgressDialog::~QProgressDialog
+48 (int (*)(...))QProgressDialog::~QProgressDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QProgressDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QProgressDialog::resizeEvent
+280 (int (*)(...))QProgressDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QProgressDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QProgressDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressDialog
+ size=48 align=8
+ base size=48 base align=8
+QProgressDialog (0x0x7faf60b485b0) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16)
+ QDialog (0x0x7faf60b48618) 0
+ primary-for QProgressDialog (0x0x7faf60b485b0)
+ QWidget (0x0x7faf64b0c9a0) 0
+ primary-for QDialog (0x0x7faf60b48618)
+ QObject (0x0x7faf61a48900) 0
+ primary-for QWidget (0x0x7faf64b0c9a0)
+ QPaintDevice (0x0x7faf61a48960) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488)
+
+Class QProxyStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProxyStyle::QPrivateSignal (0x0x7faf61a48c00) 0 empty
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 37 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 (int (*)(...))QProxyStyle::metaObject
+24 (int (*)(...))QProxyStyle::qt_metacast
+32 (int (*)(...))QProxyStyle::qt_metacall
+40 (int (*)(...))QProxyStyle::~QProxyStyle
+48 (int (*)(...))QProxyStyle::~QProxyStyle
+56 (int (*)(...))QProxyStyle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProxyStyle::polish
+120 (int (*)(...))QProxyStyle::unpolish
+128 (int (*)(...))QProxyStyle::polish
+136 (int (*)(...))QProxyStyle::unpolish
+144 (int (*)(...))QProxyStyle::polish
+152 (int (*)(...))QProxyStyle::itemTextRect
+160 (int (*)(...))QProxyStyle::itemPixmapRect
+168 (int (*)(...))QProxyStyle::drawItemText
+176 (int (*)(...))QProxyStyle::drawItemPixmap
+184 (int (*)(...))QProxyStyle::standardPalette
+192 (int (*)(...))QProxyStyle::drawPrimitive
+200 (int (*)(...))QProxyStyle::drawControl
+208 (int (*)(...))QProxyStyle::subElementRect
+216 (int (*)(...))QProxyStyle::drawComplexControl
+224 (int (*)(...))QProxyStyle::hitTestComplexControl
+232 (int (*)(...))QProxyStyle::subControlRect
+240 (int (*)(...))QProxyStyle::pixelMetric
+248 (int (*)(...))QProxyStyle::sizeFromContents
+256 (int (*)(...))QProxyStyle::styleHint
+264 (int (*)(...))QProxyStyle::standardPixmap
+272 (int (*)(...))QProxyStyle::standardIcon
+280 (int (*)(...))QProxyStyle::generatedIconPixmap
+288 (int (*)(...))QProxyStyle::layoutSpacing
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x0x7faf60b5e4e0) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16)
+ QCommonStyle (0x0x7faf60b5e548) 0
+ primary-for QProxyStyle (0x0x7faf60b5e4e0)
+ QStyle (0x0x7faf60b88000) 0
+ primary-for QCommonStyle (0x0x7faf60b5e548)
+ QObject (0x0x7faf61a48ba0) 0
+ primary-for QStyle (0x0x7faf60b88000)
+
+Class QRadioButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRadioButton::QPrivateSignal (0x0x7faf61a48ea0) 0 empty
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 (int (*)(...))QRadioButton::metaObject
+24 (int (*)(...))QRadioButton::qt_metacast
+32 (int (*)(...))QRadioButton::qt_metacall
+40 (int (*)(...))QRadioButton::~QRadioButton
+48 (int (*)(...))QRadioButton::~QRadioButton
+56 (int (*)(...))QRadioButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QRadioButton::sizeHint
+136 (int (*)(...))QRadioButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QRadioButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRadioButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QRadioButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI12QRadioButton)
+472 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRadioButton
+ size=48 align=8
+ base size=48 base align=8
+QRadioButton (0x0x7faf60b88068) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16)
+ QAbstractButton (0x0x7faf60b88478) 0
+ primary-for QRadioButton (0x0x7faf60b88068)
+ QWidget (0x0x7faf64b0ccb0) 0
+ primary-for QAbstractButton (0x0x7faf60b88478)
+ QObject (0x0x7faf61a48de0) 0
+ primary-for QWidget (0x0x7faf64b0ccb0)
+ QPaintDevice (0x0x7faf61a48e40) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 472)
+
+Class QScrollBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollBar::QPrivateSignal (0x0x7faf608d9180) 0 empty
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 (int (*)(...))QScrollBar::metaObject
+24 (int (*)(...))QScrollBar::qt_metacast
+32 (int (*)(...))QScrollBar::qt_metacall
+40 (int (*)(...))QScrollBar::~QScrollBar
+48 (int (*)(...))QScrollBar::~QScrollBar
+56 (int (*)(...))QScrollBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollBar::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QScrollBar::mousePressEvent
+176 (int (*)(...))QScrollBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QScrollBar::mouseMoveEvent
+200 (int (*)(...))QScrollBar::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QScrollBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QScrollBar::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QScrollBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QScrollBar::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI10QScrollBar)
+456 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev
+464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollBar
+ size=48 align=8
+ base size=48 base align=8
+QScrollBar (0x0x7faf60b884e0) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16)
+ QAbstractSlider (0x0x7faf60b887b8) 0
+ primary-for QScrollBar (0x0x7faf60b884e0)
+ QWidget (0x0x7faf64b215b0) 0
+ primary-for QAbstractSlider (0x0x7faf60b887b8)
+ QObject (0x0x7faf608d90c0) 0
+ primary-for QWidget (0x0x7faf64b215b0)
+ QPaintDevice (0x0x7faf608d9120) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 456)
+
+Vtable for QScrollerProperties
+QScrollerProperties::_ZTV19QScrollerProperties: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollerProperties)
+16 (int (*)(...))QScrollerProperties::~QScrollerProperties
+24 (int (*)(...))QScrollerProperties::~QScrollerProperties
+
+Class QScrollerProperties
+ size=16 align=8
+ base size=16 base align=8
+QScrollerProperties (0x0x7faf608d9360) 0
+ vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16)
+
+Class QScroller::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScroller::QPrivateSignal (0x0x7faf608d9840) 0 empty
+
+Vtable for QScroller
+QScroller::_ZTV9QScroller: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QScroller)
+16 (int (*)(...))QScroller::metaObject
+24 (int (*)(...))QScroller::qt_metacast
+32 (int (*)(...))QScroller::qt_metacall
+40 (int (*)(...))QScroller::~QScroller
+48 (int (*)(...))QScroller::~QScroller
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScroller
+ size=24 align=8
+ base size=24 base align=8
+QScroller (0x0x7faf60b88820) 0
+ vptr=((& QScroller::_ZTV9QScroller) + 16)
+ QObject (0x0x7faf608d97e0) 0
+ primary-for QScroller (0x0x7faf60b88820)
+
+Class QShortcut::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QShortcut::QPrivateSignal (0x0x7faf608d9b40) 0 empty
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 (int (*)(...))QShortcut::metaObject
+24 (int (*)(...))QShortcut::qt_metacast
+32 (int (*)(...))QShortcut::qt_metacall
+40 (int (*)(...))QShortcut::~QShortcut
+48 (int (*)(...))QShortcut::~QShortcut
+56 (int (*)(...))QShortcut::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x0x7faf60b889c0) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16)
+ QObject (0x0x7faf608d9ae0) 0
+ primary-for QShortcut (0x0x7faf60b889c0)
+
+Class QSizeGrip::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSizeGrip::QPrivateSignal (0x0x7faf608d9e40) 0 empty
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 (int (*)(...))QSizeGrip::metaObject
+24 (int (*)(...))QSizeGrip::qt_metacast
+32 (int (*)(...))QSizeGrip::qt_metacall
+40 (int (*)(...))QSizeGrip::~QSizeGrip
+48 (int (*)(...))QSizeGrip::~QSizeGrip
+56 (int (*)(...))QSizeGrip::event
+64 (int (*)(...))QSizeGrip::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QSizeGrip::setVisible
+128 (int (*)(...))QSizeGrip::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSizeGrip::mousePressEvent
+176 (int (*)(...))QSizeGrip::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSizeGrip::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSizeGrip::paintEvent
+264 (int (*)(...))QSizeGrip::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QSizeGrip::showEvent
+352 (int (*)(...))QSizeGrip::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QSizeGrip)
+448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSizeGrip
+ size=48 align=8
+ base size=48 base align=8
+QSizeGrip (0x0x7faf60b88af8) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16)
+ QWidget (0x0x7faf649992a0) 0
+ primary-for QSizeGrip (0x0x7faf60b88af8)
+ QObject (0x0x7faf608d9d80) 0
+ primary-for QWidget (0x0x7faf649992a0)
+ QPaintDevice (0x0x7faf608d9de0) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448)
+
+Class QSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSpinBox::QPrivateSignal (0x0x7faf5e9d1120) 0 empty
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 (int (*)(...))QSpinBox::metaObject
+24 (int (*)(...))QSpinBox::qt_metacast
+32 (int (*)(...))QSpinBox::qt_metacall
+40 (int (*)(...))QSpinBox::~QSpinBox
+48 (int (*)(...))QSpinBox::~QSpinBox
+56 (int (*)(...))QSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSpinBox::validate
+440 (int (*)(...))QSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QSpinBox::valueFromText
+480 (int (*)(...))QSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI8QSpinBox)
+504 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QSpinBox (0x0x7faf60b88b60) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16)
+ QAbstractSpinBox (0x0x7faf60b88d00) 0
+ primary-for QSpinBox (0x0x7faf60b88b60)
+ QWidget (0x0x7faf64999690) 0
+ primary-for QAbstractSpinBox (0x0x7faf60b88d00)
+ QObject (0x0x7faf5e9d1060) 0
+ primary-for QWidget (0x0x7faf64999690)
+ QPaintDevice (0x0x7faf5e9d10c0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 504)
+
+Class QDoubleSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleSpinBox::QPrivateSignal (0x0x7faf5e9d13c0) 0 empty
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 (int (*)(...))QDoubleSpinBox::metaObject
+24 (int (*)(...))QDoubleSpinBox::qt_metacast
+32 (int (*)(...))QDoubleSpinBox::qt_metacall
+40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDoubleSpinBox::validate
+440 (int (*)(...))QDoubleSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QDoubleSpinBox::valueFromText
+480 (int (*)(...))QDoubleSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+504 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDoubleSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QDoubleSpinBox (0x0x7faf60b88d68) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16)
+ QAbstractSpinBox (0x0x7faf60b88dd0) 0
+ primary-for QDoubleSpinBox (0x0x7faf60b88d68)
+ QWidget (0x0x7faf649997e0) 0
+ primary-for QAbstractSpinBox (0x0x7faf60b88dd0)
+ QObject (0x0x7faf5e9d1300) 0
+ primary-for QWidget (0x0x7faf649997e0)
+ QPaintDevice (0x0x7faf5e9d1360) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 504)
+
+Class QSplashScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplashScreen::QPrivateSignal (0x0x7faf5e9d1660) 0 empty
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 (int (*)(...))QSplashScreen::metaObject
+24 (int (*)(...))QSplashScreen::qt_metacast
+32 (int (*)(...))QSplashScreen::qt_metacall
+40 (int (*)(...))QSplashScreen::~QSplashScreen
+48 (int (*)(...))QSplashScreen::~QSplashScreen
+56 (int (*)(...))QSplashScreen::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplashScreen::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplashScreen::drawContents
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI13QSplashScreen)
+456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplashScreen
+ size=48 align=8
+ base size=48 base align=8
+QSplashScreen (0x0x7faf60ba1af8) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16)
+ QWidget (0x0x7faf64999930) 0
+ primary-for QSplashScreen (0x0x7faf60ba1af8)
+ QObject (0x0x7faf5e9d15a0) 0
+ primary-for QWidget (0x0x7faf64999930)
+ QPaintDevice (0x0x7faf5e9d1600) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456)
+
+Class QSplitter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitter::QPrivateSignal (0x0x7faf5e9d1900) 0 empty
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 (int (*)(...))QSplitter::metaObject
+24 (int (*)(...))QSplitter::qt_metacast
+32 (int (*)(...))QSplitter::qt_metacall
+40 (int (*)(...))QSplitter::~QSplitter
+48 (int (*)(...))QSplitter::~QSplitter
+56 (int (*)(...))QSplitter::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QSplitter::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitter::sizeHint
+136 (int (*)(...))QSplitter::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitter::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QSplitter::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplitter::createHandle
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI9QSplitter)
+456 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev
+464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitter
+ size=48 align=8
+ base size=48 base align=8
+QSplitter (0x0x7faf60ba1b60) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16)
+ QFrame (0x0x7faf60bb8a28) 0
+ primary-for QSplitter (0x0x7faf60ba1b60)
+ QWidget (0x0x7faf64999b60) 0
+ primary-for QFrame (0x0x7faf60bb8a28)
+ QObject (0x0x7faf5e9d1840) 0
+ primary-for QWidget (0x0x7faf64999b60)
+ QPaintDevice (0x0x7faf5e9d18a0) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 456)
+
+Class QSplitterHandle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitterHandle::QPrivateSignal (0x0x7faf5e9d1ba0) 0 empty
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 (int (*)(...))QSplitterHandle::metaObject
+24 (int (*)(...))QSplitterHandle::qt_metacast
+32 (int (*)(...))QSplitterHandle::qt_metacall
+40 (int (*)(...))QSplitterHandle::~QSplitterHandle
+48 (int (*)(...))QSplitterHandle::~QSplitterHandle
+56 (int (*)(...))QSplitterHandle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitterHandle::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplitterHandle::mousePressEvent
+176 (int (*)(...))QSplitterHandle::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSplitterHandle::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSplitterHandle::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitterHandle::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI15QSplitterHandle)
+448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitterHandle
+ size=48 align=8
+ base size=48 base align=8
+QSplitterHandle (0x0x7faf60bb8a90) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16)
+ QWidget (0x0x7faf64999cb0) 0
+ primary-for QSplitterHandle (0x0x7faf60bb8a90)
+ QObject (0x0x7faf5e9d1ae0) 0
+ primary-for QWidget (0x0x7faf64999cb0)
+ QPaintDevice (0x0x7faf5e9d1b40) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448)
+
+Class QStackedLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedLayout::QPrivateSignal (0x0x7faf5e9d1e40) 0 empty
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 50 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 (int (*)(...))QStackedLayout::metaObject
+24 (int (*)(...))QStackedLayout::qt_metacast
+32 (int (*)(...))QStackedLayout::qt_metacall
+40 (int (*)(...))QStackedLayout::~QStackedLayout
+48 (int (*)(...))QStackedLayout::~QStackedLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QStackedLayout::addItem
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QStackedLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QStackedLayout::setGeometry
+168 (int (*)(...))QStackedLayout::itemAt
+176 (int (*)(...))QStackedLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QStackedLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QStackedLayout::sizeHint
+232 (int (*)(...))QStackedLayout::hasHeightForWidth
+240 (int (*)(...))QStackedLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI14QStackedLayout)
+264 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+272 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+280 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+288 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+312 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv
+344 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x0x7faf60bb8dd0) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16)
+ QLayout (0x0x7faf64999e00) 0
+ primary-for QStackedLayout (0x0x7faf60bb8dd0)
+ QObject (0x0x7faf5e9d1d80) 0
+ primary-for QLayout (0x0x7faf64999e00)
+ QLayoutItem (0x0x7faf5e9d1de0) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 264)
+
+Class QStackedWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedWidget::QPrivateSignal (0x0x7faf5cf431e0) 0 empty
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 (int (*)(...))QStackedWidget::metaObject
+24 (int (*)(...))QStackedWidget::qt_metacast
+32 (int (*)(...))QStackedWidget::qt_metacall
+40 (int (*)(...))QStackedWidget::~QStackedWidget
+48 (int (*)(...))QStackedWidget::~QStackedWidget
+56 (int (*)(...))QStackedWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QStackedWidget)
+448 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStackedWidget
+ size=48 align=8
+ base size=48 base align=8
+QStackedWidget (0x0x7faf60bb8e38) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16)
+ QFrame (0x0x7faf60be3958) 0
+ primary-for QStackedWidget (0x0x7faf60bb8e38)
+ QWidget (0x0x7faf6462d070) 0
+ primary-for QFrame (0x0x7faf60be3958)
+ QObject (0x0x7faf5cf43120) 0
+ primary-for QWidget (0x0x7faf6462d070)
+ QPaintDevice (0x0x7faf5cf43180) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 448)
+
+Class QStatusBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStatusBar::QPrivateSignal (0x0x7faf5cf43480) 0 empty
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 (int (*)(...))QStatusBar::metaObject
+24 (int (*)(...))QStatusBar::qt_metacast
+32 (int (*)(...))QStatusBar::qt_metacall
+40 (int (*)(...))QStatusBar::~QStatusBar
+48 (int (*)(...))QStatusBar::~QStatusBar
+56 (int (*)(...))QStatusBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QStatusBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QStatusBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QStatusBar::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QStatusBar)
+448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev
+456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStatusBar
+ size=48 align=8
+ base size=48 base align=8
+QStatusBar (0x0x7faf60be39c0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16)
+ QWidget (0x0x7faf6462d1c0) 0
+ primary-for QStatusBar (0x0x7faf60be39c0)
+ QObject (0x0x7faf5cf433c0) 0
+ primary-for QWidget (0x0x7faf6462d1c0)
+ QPaintDevice (0x0x7faf5cf43420) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 448)
+
+Class QStyledItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyledItemDelegate::QPrivateSignal (0x0x7faf5cf436c0) 0 empty
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 (int (*)(...))QStyledItemDelegate::metaObject
+24 (int (*)(...))QStyledItemDelegate::qt_metacast
+32 (int (*)(...))QStyledItemDelegate::qt_metacall
+40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QStyledItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyledItemDelegate::paint
+120 (int (*)(...))QStyledItemDelegate::sizeHint
+128 (int (*)(...))QStyledItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QStyledItemDelegate::setEditorData
+152 (int (*)(...))QStyledItemDelegate::setModelData
+160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry
+168 (int (*)(...))QStyledItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QStyledItemDelegate::displayText
+200 (int (*)(...))QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x0x7faf60c052d8) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16)
+ QAbstractItemDelegate (0x0x7faf60c05340) 0
+ primary-for QStyledItemDelegate (0x0x7faf60c052d8)
+ QObject (0x0x7faf5cf43660) 0
+ primary-for QAbstractItemDelegate (0x0x7faf60c05340)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x0x7faf5cf438a0) 0 empty
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x0x7faf60c054e0) 0
+ QPainter (0x0x7faf5cf43900) 0
+
+Class QStylePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStylePlugin::QPrivateSignal (0x0x7faf5c2291e0) 0 empty
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 (int (*)(...))QStylePlugin::metaObject
+24 (int (*)(...))QStylePlugin::qt_metacast
+32 (int (*)(...))QStylePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QStylePlugin
+ size=16 align=8
+ base size=16 base align=8
+QStylePlugin (0x0x7faf60c05618) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16)
+ QObject (0x0x7faf5c229180) 0
+ primary-for QStylePlugin (0x0x7faf60c05618)
+
+Class QSystemTrayIcon::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSystemTrayIcon::QPrivateSignal (0x0x7faf5c229360) 0 empty
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 (int (*)(...))QSystemTrayIcon::metaObject
+24 (int (*)(...))QSystemTrayIcon::qt_metacast
+32 (int (*)(...))QSystemTrayIcon::qt_metacall
+40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+56 (int (*)(...))QSystemTrayIcon::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x0x7faf60c05680) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16)
+ QObject (0x0x7faf5c229300) 0
+ primary-for QSystemTrayIcon (0x0x7faf60c05680)
+
+Class QTableView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableView::QPrivateSignal (0x0x7faf5c2296c0) 0 empty
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 (int (*)(...))QTableView::metaObject
+24 (int (*)(...))QTableView::qt_metacast
+32 (int (*)(...))QTableView::qt_metacall
+40 (int (*)(...))QTableView::~QTableView
+48 (int (*)(...))QTableView::~QTableView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableView::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI10QTableView)
+784 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev
+792 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableView
+ size=48 align=8
+ base size=48 base align=8
+QTableView (0x0x7faf6081f000) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16)
+ QAbstractItemView (0x0x7faf6081f068) 0
+ primary-for QTableView (0x0x7faf6081f000)
+ QAbstractScrollArea (0x0x7faf6081f138) 0
+ primary-for QAbstractItemView (0x0x7faf6081f068)
+ QFrame (0x0x7faf6081f1a0) 0
+ primary-for QAbstractScrollArea (0x0x7faf6081f138)
+ QWidget (0x0x7faf6462dd90) 0
+ primary-for QFrame (0x0x7faf6081f1a0)
+ QObject (0x0x7faf5c229600) 0
+ primary-for QWidget (0x0x7faf6462dd90)
+ QPaintDevice (0x0x7faf5c229660) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x0x7faf5c229900) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+32 (int (*)(...))QTableWidgetItem::clone
+40 (int (*)(...))QTableWidgetItem::data
+48 (int (*)(...))QTableWidgetItem::setData
+56 (int (*)(...))QTableWidgetItem::operator<
+64 (int (*)(...))QTableWidgetItem::read
+72 (int (*)(...))QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x0x7faf5c229ba0) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16)
+
+Class QTableWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableWidget::QPrivateSignal (0x0x7faf5c1dc900) 0 empty
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 110 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 (int (*)(...))QTableWidget::metaObject
+24 (int (*)(...))QTableWidget::qt_metacast
+32 (int (*)(...))QTableWidget::qt_metacall
+40 (int (*)(...))QTableWidget::~QTableWidget
+48 (int (*)(...))QTableWidget::~QTableWidget
+56 (int (*)(...))QTableWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTableWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableWidget::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))QTableWidget::mimeTypes
+776 (int (*)(...))QTableWidget::mimeData
+784 (int (*)(...))QTableWidget::dropMimeData
+792 (int (*)(...))QTableWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableWidget
+ size=48 align=8
+ base size=48 base align=8
+QTableWidget (0x0x7faf608360d0) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16)
+ QTableView (0x0x7faf60836138) 0
+ primary-for QTableWidget (0x0x7faf608360d0)
+ QAbstractItemView (0x0x7faf608364e0) 0
+ primary-for QTableView (0x0x7faf60836138)
+ QAbstractScrollArea (0x0x7faf60836548) 0
+ primary-for QAbstractItemView (0x0x7faf608364e0)
+ QFrame (0x0x7faf60836bc8) 0
+ primary-for QAbstractScrollArea (0x0x7faf60836548)
+ QWidget (0x0x7faf64658310) 0
+ primary-for QFrame (0x0x7faf60836bc8)
+ QObject (0x0x7faf5c1dc840) 0
+ primary-for QWidget (0x0x7faf64658310)
+ QPaintDevice (0x0x7faf5c1dc8a0) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816)
+
+Class QTextBrowser::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBrowser::QPrivateSignal (0x0x7faf5c1dcd20) 0 empty
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 78 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 (int (*)(...))QTextBrowser::metaObject
+24 (int (*)(...))QTextBrowser::qt_metacast
+32 (int (*)(...))QTextBrowser::qt_metacall
+40 (int (*)(...))QTextBrowser::~QTextBrowser
+48 (int (*)(...))QTextBrowser::~QTextBrowser
+56 (int (*)(...))QTextBrowser::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextBrowser::mousePressEvent
+176 (int (*)(...))QTextBrowser::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextBrowser::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextBrowser::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextBrowser::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextBrowser::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextBrowser::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextBrowser::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))QTextBrowser::setSource
+512 (int (*)(...))QTextBrowser::backward
+520 (int (*)(...))QTextBrowser::forward
+528 (int (*)(...))QTextBrowser::home
+536 (int (*)(...))QTextBrowser::reload
+544 (int (*)(...))-16
+552 (int (*)(...))(& _ZTI12QTextBrowser)
+560 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+584 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+592 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+600 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+608 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+616 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextBrowser
+ size=48 align=8
+ base size=48 base align=8
+QTextBrowser (0x0x7faf60836c30) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16)
+ QTextEdit (0x0x7faf60836ea0) 0
+ primary-for QTextBrowser (0x0x7faf60836c30)
+ QAbstractScrollArea (0x0x7faf60853b60) 0
+ primary-for QTextEdit (0x0x7faf60836ea0)
+ QFrame (0x0x7faf60853bc8) 0
+ primary-for QAbstractScrollArea (0x0x7faf60853b60)
+ QWidget (0x0x7faf646584d0) 0
+ primary-for QFrame (0x0x7faf60853bc8)
+ QObject (0x0x7faf5c1dcc60) 0
+ primary-for QWidget (0x0x7faf646584d0)
+ QPaintDevice (0x0x7faf5c1dccc0) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 560)
+
+Class QToolBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBar::QPrivateSignal (0x0x7faf5f0f4000) 0 empty
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 (int (*)(...))QToolBar::metaObject
+24 (int (*)(...))QToolBar::qt_metacast
+32 (int (*)(...))QToolBar::qt_metacall
+40 (int (*)(...))QToolBar::~QToolBar
+48 (int (*)(...))QToolBar::~QToolBar
+56 (int (*)(...))QToolBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QToolBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QToolBar)
+448 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev
+456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBar
+ size=48 align=8
+ base size=48 base align=8
+QToolBar (0x0x7faf60853f08) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16)
+ QWidget (0x0x7faf64658620) 0
+ primary-for QToolBar (0x0x7faf60853f08)
+ QObject (0x0x7faf5c1dcf00) 0
+ primary-for QWidget (0x0x7faf64658620)
+ QPaintDevice (0x0x7faf5c1dcf60) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 448)
+
+Class QToolBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBox::QPrivateSignal (0x0x7faf5f0f4960) 0 empty
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 (int (*)(...))QToolBox::metaObject
+24 (int (*)(...))QToolBox::qt_metacast
+32 (int (*)(...))QToolBox::qt_metacall
+40 (int (*)(...))QToolBox::~QToolBox
+48 (int (*)(...))QToolBox::~QToolBox
+56 (int (*)(...))QToolBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QToolBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolBox::itemInserted
+440 (int (*)(...))QToolBox::itemRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI8QToolBox)
+464 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev
+472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBox
+ size=48 align=8
+ base size=48 base align=8
+QToolBox (0x0x7faf60948a28) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16)
+ QFrame (0x0x7faf60948a90) 0
+ primary-for QToolBox (0x0x7faf60948a28)
+ QWidget (0x0x7faf64658d20) 0
+ primary-for QFrame (0x0x7faf60948a90)
+ QObject (0x0x7faf5f0f48a0) 0
+ primary-for QWidget (0x0x7faf64658d20)
+ QPaintDevice (0x0x7faf5f0f4900) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 464)
+
+Class QToolButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolButton::QPrivateSignal (0x0x7faf5f0f4d20) 0 empty
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 (int (*)(...))QToolButton::metaObject
+24 (int (*)(...))QToolButton::qt_metacast
+32 (int (*)(...))QToolButton::qt_metacall
+40 (int (*)(...))QToolButton::~QToolButton
+48 (int (*)(...))QToolButton::~QToolButton
+56 (int (*)(...))QToolButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QToolButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QToolButton::sizeHint
+136 (int (*)(...))QToolButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QToolButton::mousePressEvent
+176 (int (*)(...))QToolButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QToolButton::enterEvent
+248 (int (*)(...))QToolButton::leaveEvent
+256 (int (*)(...))QToolButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolButton::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QToolButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QToolButton)
+472 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev
+480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolButton
+ size=48 align=8
+ base size=48 base align=8
+QToolButton (0x0x7faf60948d68) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16)
+ QAbstractButton (0x0x7faf60948dd0) 0
+ primary-for QToolButton (0x0x7faf60948d68)
+ QWidget (0x0x7faf64658e70) 0
+ primary-for QAbstractButton (0x0x7faf60948dd0)
+ QObject (0x0x7faf5f0f4c60) 0
+ primary-for QWidget (0x0x7faf64658e70)
+ QPaintDevice (0x0x7faf5f0f4cc0) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 472)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x0x7faf5c1c5000) 0 empty
+
+Class QTreeView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeView::QPrivateSignal (0x0x7faf5c1c5180) 0 empty
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 108 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 (int (*)(...))QTreeView::metaObject
+24 (int (*)(...))QTreeView::qt_metacast
+32 (int (*)(...))QTreeView::qt_metacall
+40 (int (*)(...))QTreeView::~QTreeView
+48 (int (*)(...))QTreeView::~QTreeView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeView::setModel
+472 (int (*)(...))QTreeView::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeView
+ size=48 align=8
+ base size=48 base align=8
+QTreeView (0x0x7faf6097c6e8) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16)
+ QAbstractItemView (0x0x7faf6097c750) 0
+ primary-for QTreeView (0x0x7faf6097c6e8)
+ QAbstractScrollArea (0x0x7faf609a3618) 0
+ primary-for QAbstractItemView (0x0x7faf6097c750)
+ QFrame (0x0x7faf609a3680) 0
+ primary-for QAbstractScrollArea (0x0x7faf609a3618)
+ QWidget (0x0x7faf6468f460) 0
+ primary-for QFrame (0x0x7faf609a3680)
+ QObject (0x0x7faf5c1c50c0) 0
+ primary-for QWidget (0x0x7faf6468f460)
+ QPaintDevice (0x0x7faf5c1c5120) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x0x7faf5c1c53c0) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+32 (int (*)(...))QTreeWidgetItem::clone
+40 (int (*)(...))QTreeWidgetItem::data
+48 (int (*)(...))QTreeWidgetItem::setData
+56 (int (*)(...))QTreeWidgetItem::operator<
+64 (int (*)(...))QTreeWidgetItem::read
+72 (int (*)(...))QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x0x7faf5c1c5e40) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16)
+
+Class QTreeWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeWidget::QPrivateSignal (0x0x7faf5a1cee40) 0 empty
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 112 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 (int (*)(...))QTreeWidget::metaObject
+24 (int (*)(...))QTreeWidget::qt_metacast
+32 (int (*)(...))QTreeWidget::qt_metacall
+40 (int (*)(...))QTreeWidget::~QTreeWidget
+48 (int (*)(...))QTreeWidget::~QTreeWidget
+56 (int (*)(...))QTreeWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTreeWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeWidget::setModel
+472 (int (*)(...))QTreeWidget::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))QTreeWidget::mimeTypes
+792 (int (*)(...))QTreeWidget::mimeData
+800 (int (*)(...))QTreeWidget::dropMimeData
+808 (int (*)(...))QTreeWidget::supportedDropActions
+816 (int (*)(...))-16
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeWidget
+ size=48 align=8
+ base size=48 base align=8
+QTreeWidget (0x0x7faf6060aea0) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16)
+ QTreeView (0x0x7faf60620b60) 0
+ primary-for QTreeWidget (0x0x7faf6060aea0)
+ QAbstractItemView (0x0x7faf60620bc8) 0
+ primary-for QTreeView (0x0x7faf60620b60)
+ QAbstractScrollArea (0x0x7faf606593a8) 0
+ primary-for QAbstractItemView (0x0x7faf60620bc8)
+ QFrame (0x0x7faf60659410) 0
+ primary-for QAbstractScrollArea (0x0x7faf606593a8)
+ QWidget (0x0x7faf647250e0) 0
+ primary-for QFrame (0x0x7faf60659410)
+ QObject (0x0x7faf5a1ced80) 0
+ primary-for QWidget (0x0x7faf647250e0)
+ QPaintDevice (0x0x7faf5a1cede0) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832)
+
+Class QUndoGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoGroup::QPrivateSignal (0x0x7faf59d462a0) 0 empty
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 (int (*)(...))QUndoGroup::metaObject
+24 (int (*)(...))QUndoGroup::qt_metacast
+32 (int (*)(...))QUndoGroup::qt_metacall
+40 (int (*)(...))QUndoGroup::~QUndoGroup
+48 (int (*)(...))QUndoGroup::~QUndoGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x0x7faf60659888) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16)
+ QObject (0x0x7faf59d46240) 0
+ primary-for QUndoGroup (0x0x7faf60659888)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 (int (*)(...))QUndoCommand::~QUndoCommand
+24 (int (*)(...))QUndoCommand::~QUndoCommand
+32 (int (*)(...))QUndoCommand::undo
+40 (int (*)(...))QUndoCommand::redo
+48 (int (*)(...))QUndoCommand::id
+56 (int (*)(...))QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x0x7faf59d46480) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16)
+
+Class QUndoStack::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoStack::QPrivateSignal (0x0x7faf59d46540) 0 empty
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 (int (*)(...))QUndoStack::metaObject
+24 (int (*)(...))QUndoStack::qt_metacast
+32 (int (*)(...))QUndoStack::qt_metacall
+40 (int (*)(...))QUndoStack::~QUndoStack
+48 (int (*)(...))QUndoStack::~QUndoStack
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x0x7faf606598f0) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16)
+ QObject (0x0x7faf59d464e0) 0
+ primary-for QUndoStack (0x0x7faf606598f0)
+
+Class QUndoView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoView::QPrivateSignal (0x0x7faf59d467e0) 0 empty
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 (int (*)(...))QUndoView::metaObject
+24 (int (*)(...))QUndoView::qt_metacast
+32 (int (*)(...))QUndoView::qt_metacall
+40 (int (*)(...))QUndoView::~QUndoView
+48 (int (*)(...))QUndoView::~QUndoView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QUndoView
+ size=48 align=8
+ base size=48 base align=8
+QUndoView (0x0x7faf6066f958) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16)
+ QListView (0x0x7faf6066f9c0) 0
+ primary-for QUndoView (0x0x7faf6066f958)
+ QAbstractItemView (0x0x7faf606d4000) 0
+ primary-for QListView (0x0x7faf6066f9c0)
+ QAbstractScrollArea (0x0x7faf606d4068) 0
+ primary-for QAbstractItemView (0x0x7faf606d4000)
+ QFrame (0x0x7faf606d46e8) 0
+ primary-for QAbstractScrollArea (0x0x7faf606d4068)
+ QWidget (0x0x7faf64725460) 0
+ primary-for QFrame (0x0x7faf606d46e8)
+ QObject (0x0x7faf59d46720) 0
+ primary-for QWidget (0x0x7faf64725460)
+ QPaintDevice (0x0x7faf59d46780) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x0x7faf59d469c0) 0 empty
+
+Class QWidgetAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidgetAction::QPrivateSignal (0x0x7faf59d46a80) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 (int (*)(...))QWidgetAction::metaObject
+24 (int (*)(...))QWidgetAction::qt_metacast
+32 (int (*)(...))QWidgetAction::qt_metacall
+40 (int (*)(...))QWidgetAction::~QWidgetAction
+48 (int (*)(...))QWidgetAction::~QWidgetAction
+56 (int (*)(...))QWidgetAction::event
+64 (int (*)(...))QWidgetAction::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidgetAction::createWidget
+120 (int (*)(...))QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x0x7faf606d4750) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16)
+ QAction (0x0x7faf606d48f0) 0
+ primary-for QWidgetAction (0x0x7faf606d4750)
+ QObject (0x0x7faf59d46a20) 0
+ primary-for QAction (0x0x7faf606d48f0)
+
+Class QWizard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizard::QPrivateSignal (0x0x7faf59d46d20) 0 empty
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 (int (*)(...))QWizard::metaObject
+24 (int (*)(...))QWizard::qt_metacast
+32 (int (*)(...))QWizard::qt_metacall
+40 (int (*)(...))QWizard::~QWizard
+48 (int (*)(...))QWizard::~QWizard
+56 (int (*)(...))QWizard::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWizard::setVisible
+128 (int (*)(...))QWizard::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWizard::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWizard::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QWizard::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))QWizard::validateCurrentPage
+480 (int (*)(...))QWizard::nextId
+488 (int (*)(...))QWizard::initializePage
+496 (int (*)(...))QWizard::cleanupPage
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI7QWizard)
+520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev
+528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizard
+ size=48 align=8
+ base size=48 base align=8
+QWizard (0x0x7faf606d4dd0) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16)
+ QDialog (0x0x7faf606d4e38) 0
+ primary-for QWizard (0x0x7faf606d4dd0)
+ QWidget (0x0x7faf64725700) 0
+ primary-for QDialog (0x0x7faf606d4e38)
+ QObject (0x0x7faf59d46c60) 0
+ primary-for QWidget (0x0x7faf64725700)
+ QPaintDevice (0x0x7faf59d46cc0) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520)
+
+Class QWizardPage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizardPage::QPrivateSignal (0x0x7faf6a0f2900) 0 empty
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 (int (*)(...))QWizardPage::metaObject
+24 (int (*)(...))QWizardPage::qt_metacast
+32 (int (*)(...))QWizardPage::qt_metacall
+40 (int (*)(...))QWizardPage::~QWizardPage
+48 (int (*)(...))QWizardPage::~QWizardPage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QWizardPage::initializePage
+440 (int (*)(...))QWizardPage::cleanupPage
+448 (int (*)(...))QWizardPage::validatePage
+456 (int (*)(...))QWizardPage::isComplete
+464 (int (*)(...))QWizardPage::nextId
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QWizardPage)
+488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev
+496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizardPage
+ size=48 align=8
+ base size=48 base align=8
+QWizardPage (0x0x7faf60732680) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16)
+ QWidget (0x0x7faf644fb8c0) 0
+ primary-for QWizardPage (0x0x7faf60732680)
+ QObject (0x0x7faf6a0f2840) 0
+ primary-for QWidget (0x0x7faf644fb8c0)
+ QPaintDevice (0x0x7faf6a0f28a0) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 488)
+
+Class QAbstractPrintDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractPrintDialog::QPrivateSignal (0x0x7faf6a0f2ba0) 0 empty
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 (int (*)(...))QAbstractPrintDialog::metaObject
+24 (int (*)(...))QAbstractPrintDialog::qt_metacast
+32 (int (*)(...))QAbstractPrintDialog::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))__cxa_pure_virtual
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+488 0
+496 0
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractPrintDialog
+ size=48 align=8
+ base size=48 base align=8
+QAbstractPrintDialog (0x0x7faf607326e8) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16)
+ QDialog (0x0x7faf60732a28) 0
+ primary-for QAbstractPrintDialog (0x0x7faf607326e8)
+ QWidget (0x0x7faf644fb930) 0
+ primary-for QDialog (0x0x7faf60732a28)
+ QObject (0x0x7faf6a0f2ae0) 0
+ primary-for QWidget (0x0x7faf644fb930)
+ QPaintDevice (0x0x7faf6a0f2b40) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 488)
+
+Class QPageSetupDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPageSetupDialog::QPrivateSignal (0x0x7faf6364f6c0) 0 empty
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 (int (*)(...))QPageSetupDialog::metaObject
+24 (int (*)(...))QPageSetupDialog::qt_metacast
+32 (int (*)(...))QPageSetupDialog::qt_metacall
+40 (int (*)(...))QPageSetupDialog::~QPageSetupDialog
+48 (int (*)(...))QPageSetupDialog::~QPageSetupDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QPageSetupDialog::exec
+448 (int (*)(...))QPageSetupDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI16QPageSetupDialog)
+488 (int (*)(...))QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+496 (int (*)(...))QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPageSetupDialog
+ size=48 align=8
+ base size=48 base align=8
+QPageSetupDialog (0x0x7faf60781208) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16)
+ QDialog (0x0x7faf60781b60) 0
+ primary-for QPageSetupDialog (0x0x7faf60781208)
+ QWidget (0x0x7faf6405c7e0) 0
+ primary-for QDialog (0x0x7faf60781b60)
+ QObject (0x0x7faf6364f600) 0
+ primary-for QWidget (0x0x7faf6405c7e0)
+ QPaintDevice (0x0x7faf6364f660) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 488)
+
+Class QPrintDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPrintDialog::QPrivateSignal (0x0x7faf6364f960) 0 empty
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 (int (*)(...))QPrintDialog::metaObject
+24 (int (*)(...))QPrintDialog::qt_metacast
+32 (int (*)(...))QPrintDialog::qt_metacall
+40 (int (*)(...))QPrintDialog::~QPrintDialog
+48 (int (*)(...))QPrintDialog::~QPrintDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QPrintDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QPrintDialog::exec
+448 (int (*)(...))QPrintDialog::done
+456 (int (*)(...))QPrintDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QPrintDialog)
+488 (int (*)(...))QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+496 (int (*)(...))QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPrintDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintDialog (0x0x7faf60781bc8) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16)
+ QAbstractPrintDialog (0x0x7faf60798dd0) 0
+ primary-for QPrintDialog (0x0x7faf60781bc8)
+ QDialog (0x0x7faf60798e38) 0
+ primary-for QAbstractPrintDialog (0x0x7faf60798dd0)
+ QWidget (0x0x7faf6405c850) 0
+ primary-for QDialog (0x0x7faf60798e38)
+ QObject (0x0x7faf6364f8a0) 0
+ primary-for QWidget (0x0x7faf6405c850)
+ QPaintDevice (0x0x7faf6364f900) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 488)
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 (int (*)(...))QPrinter::~QPrinter
+24 (int (*)(...))QPrinter::~QPrinter
+32 (int (*)(...))QPrinter::devType
+40 (int (*)(...))QPrinter::paintEngine
+48 (int (*)(...))QPrinter::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPrinter::newPage
+88 (int (*)(...))QPrinter::setPageSize
+96 (int (*)(...))QPrinter::setPageSizeMM
+104 (int (*)(...))QPrinter::setMargins
+
+Class QPrinter
+ size=40 align=8
+ base size=40 base align=8
+QPrinter (0x0x7faf60454618) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16)
+ QPagedPaintDevice (0x0x7faf60454680) 0
+ primary-for QPrinter (0x0x7faf60454618)
+ QPaintDevice (0x0x7faf6364fb40) 0
+ primary-for QPagedPaintDevice (0x0x7faf60454680)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x0x7faf6364ff00) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16)
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x0x7faf616ad180) 0
+
+Class QPrintPreviewDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPrintPreviewDialog::QPrivateSignal (0x0x7faf616ad3c0) 0 empty
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 (int (*)(...))QPrintPreviewDialog::metaObject
+24 (int (*)(...))QPrintPreviewDialog::qt_metacast
+32 (int (*)(...))QPrintPreviewDialog::qt_metacall
+40 (int (*)(...))QPrintPreviewDialog::~QPrintPreviewDialog
+48 (int (*)(...))QPrintPreviewDialog::~QPrintPreviewDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QPrintPreviewDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QPrintPreviewDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 (int (*)(...))QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 (int (*)(...))QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x0x7faf60454af8) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16)
+ QDialog (0x0x7faf60454b60) 0
+ primary-for QPrintPreviewDialog (0x0x7faf60454af8)
+ QWidget (0x0x7faf63e50930) 0
+ primary-for QDialog (0x0x7faf60454b60)
+ QObject (0x0x7faf616ad300) 0
+ primary-for QWidget (0x0x7faf63e50930)
+ QPaintDevice (0x0x7faf616ad360) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488)
+
+Class QPrintPreviewWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPrintPreviewWidget::QPrivateSignal (0x0x7faf616ad660) 0 empty
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 (int (*)(...))QPrintPreviewWidget::metaObject
+24 (int (*)(...))QPrintPreviewWidget::qt_metacast
+32 (int (*)(...))QPrintPreviewWidget::qt_metacall
+40 (int (*)(...))QPrintPreviewWidget::~QPrintPreviewWidget
+48 (int (*)(...))QPrintPreviewWidget::~QPrintPreviewWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QPrintPreviewWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+448 (int (*)(...))QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+456 (int (*)(...))QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x0x7faf6046e5b0) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16)
+ QWidget (0x0x7faf63e50d90) 0
+ primary-for QPrintPreviewWidget (0x0x7faf6046e5b0)
+ QObject (0x0x7faf616ad5a0) 0
+ primary-for QWidget (0x0x7faf63e50d90)
+ QPaintDevice (0x0x7faf616ad600) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 448)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf60917ae0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf60917e40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5f10d060) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5f10d3c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5f10d5a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5f10d900) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5f10dae0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5f10de40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5dc06060) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5dc063c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5dc065a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5dc06900) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5dc06ae0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5dc06e40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5d8ef060) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5d8ef3c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5d9078a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5d907c00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5d907d80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5ce88120) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5ce882a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5ce88600) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5ce88780) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5ce88ae0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5ce88c60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5cc7b000) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5cc7b180) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5cc7b4e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5cc7b660) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5cc7b9c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7faf5cc7bb40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7faf5cc7bea0) 0 empty
+
diff --git a/tests/auto/bic/data/QtSql.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtSql.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..2798ef1cac
--- /dev/null
+++ b/tests/auto/bic/data/QtSql.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,5404 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f7c583aad20) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f7c5708c4e0) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f7c5708c720) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f7c5708c960) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f7c5708cba0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f7c5708cd20) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f7c570c7120) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7f7c570f8240) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f7c5714d900) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f7c5714d9c0) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7f7c5714dd80) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7f7c5714dde0) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7f7c5714de40) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7f7c5714dea0) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7f7c5714df00) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f7c5717b000) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f7c5717b0c0) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f7c5717b180) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f7c5717b240) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f7c5717b5a0) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7f7c5717b900) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f7c5717b960) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7f7c5717bf00) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f7c56dcc5a0) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7f7c571ab4e0) 0 empty
+ std::__nonesuch (0x0x7f7c56dcca80) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f7c56e4a420) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f7c56e4a480) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f7c56ea6180) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f7c56ea61e0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f7c571ab9c0) 0 empty
+ std::input_iterator_tag (0x0x7f7c56ea6240) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f7c571aba28) 0 empty
+ std::forward_iterator_tag (0x0x7f7c571aba90) 0 empty
+ std::input_iterator_tag (0x0x7f7c56ea62a0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f7c571abaf8) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f7c571abb60) 0 empty
+ std::forward_iterator_tag (0x0x7f7c571abbc8) 0 empty
+ std::input_iterator_tag (0x0x7f7c56ea6300) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f7c56f2cde0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f7c56f2cf00) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f7c56f5b240) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f7c56f5b540) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f7c56f5b660) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f7c56be3960) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f7c56be3c60) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f7c56be3cc0) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7f7c56be3d80) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f7c56be3de0) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7f7c56be3e40) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7f7c56be3ea0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f7c56c2c180) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f7c56c2c420) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f7c56c2c480) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f7c56cdd240) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f7c571abf08) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7f7c56cdd420) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f7c571abf08)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f7c56cdd600) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f7c571abf70) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7f7c56cdd9c0) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f7c571abf70)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f7c56d06000) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7f7c56cddba0) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f7c56d06000)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f7c56cddd80) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f7c56d18360) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f7c56d06068) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7f7c56d18a20) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f7c56d06068)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f7c56d060d0) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7f7c56d06138) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f7c56d060d0)
+ std::exception (0x0x7f7c56d18c00) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f7c56d06138)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f7c56d18de0) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7f7c56d4a000) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f7c569c14e0) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f7c56b75f60) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f7c56ba5060) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f7c566379c0) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f7c56637ae0) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f7c56637e40) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f7c566773c0) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f7c566b1b40) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f7c5674af60) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f7c566f0f70) 0
+ std::__atomic_flag_base (0x0x7f7c56766000) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f7c5644b6e8) 0
+ QAtomicInteger<int> (0x0x7f7c5644b750) 0
+ QBasicAtomicInteger<int> (0x0x7f7c56285f60) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f7c55eb62a0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f7c55ef4840) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f7c55ef4f60) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f7c55f142d8) 0
+ QGenericArgument (0x0x7f7c55f3a240) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f7c55f3a660) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f7c55f3aa80) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f7c55beb5a0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f7c55beb840) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f7c55cb6660) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f7c55cb69c0) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f7c55d14cc0) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f7c55a0d540) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f7c55a0d600) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f7c55abc720) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f7c55abc7e0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f7c55abc840) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f7c55abc8a0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f7c55abc900) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f7c55abca20) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f7c55abca80) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f7c557fea20) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f7c557fea80) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f7c555b9ae0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f7c555b9c60) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f7c5572cde0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f7c557791e0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f7c55779480) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f7c55779660) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f7c553c4660) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f7c553ba270) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7f7c553c4720) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7c553ba270)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f7c553ba2d8) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7f7c553ba340) 0
+ primary-for std::domain_error (0x0x7f7c553ba2d8)
+ std::exception (0x0x7f7c553c4780) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7c553ba340)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f7c553ba3a8) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7f7c553ba410) 0
+ primary-for std::invalid_argument (0x0x7f7c553ba3a8)
+ std::exception (0x0x7f7c553c47e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7c553ba410)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f7c553ba478) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7f7c553ba4e0) 0
+ primary-for std::length_error (0x0x7f7c553ba478)
+ std::exception (0x0x7f7c553c4840) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7c553ba4e0)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f7c553ba548) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7f7c553ba5b0) 0
+ primary-for std::out_of_range (0x0x7f7c553ba548)
+ std::exception (0x0x7f7c553c48a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7c553ba5b0)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f7c553ba618) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7f7c553c4900) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7c553ba618)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f7c553ba680) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7f7c553ba6e8) 0
+ primary-for std::range_error (0x0x7f7c553ba680)
+ std::exception (0x0x7f7c553c4960) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7c553ba6e8)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f7c553ba750) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7f7c553ba7b8) 0
+ primary-for std::overflow_error (0x0x7f7c553ba750)
+ std::exception (0x0x7f7c553c49c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7c553ba7b8)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f7c553ba820) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7f7c553ba888) 0
+ primary-for std::underflow_error (0x0x7f7c553ba820)
+ std::exception (0x0x7f7c553c4a20) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7c553ba888)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f7c553c4ba0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f7c553c4f00) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f7c55424780) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f7c553bac98) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7f7c553bad00) 0
+ primary-for std::system_error (0x0x7f7c553bac98)
+ std::exception (0x0x7f7c5544b360) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7c553bad00)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f7c553baf70) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7f7c55498000) 0
+ primary-for std::ios_base::failure (0x0x7f7c553baf70)
+ std::runtime_error (0x0x7f7c55498068) 0
+ primary-for std::system_error (0x0x7f7c55498000)
+ std::exception (0x0x7f7c5547f900) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f7c55498068)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f7c5547f960) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f7c5547f9c0) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f7c5547fa20) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f7c5547f8a0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f7c55571360) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f7c5522e540) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7f7c54dd6750 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7f7c54dd6820 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f7c54e154e0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f7c54e155b0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f7c54e16ea0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f7c54e16f00) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f7c54f83300) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f7c54c0c180) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f7c54c0c600) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f7c54ce33c0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f7c54d61de0) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f7c54d61d80) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f7c54b30f60) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f7c548d07e0) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f7c546e6ae0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f7c546e6ba0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f7c543bb0c0) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f7c549738f0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f7c543bb7e0) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f7c54973a28) 0
+ std::_Bit_iterator_base (0x0x7f7c54973a90) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f7c543bbe40) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f7c54973af8) 0
+ std::_Bit_iterator_base (0x0x7f7c54973b60) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f7c543ed660) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f7c541a2cc0) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f7c542a6a80) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f7c542a6ae0) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f7c544905b0) 0 empty
+ QListData::NotIndirectLayout (0x0x7f7c542a6b40) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f7c542961c0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f7c542a6ba0) 0 empty
+ QListData::NotIndirectLayout (0x0x7f7c542a6c00) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f7c54490618) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f7c542a6c60) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f7c542a6cc0) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f7c542a6a20) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f7c53f91ea0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f7c54090540) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f7c540904e0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f7c54092340) 0
+ QList<QString> (0x0x7f7c540923a8) 0
+ QListSpecialMethods<QString> (0x0x7f7c54090780) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f7c54158300) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f7c53ddd420) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7f7c53ddd780) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7f7c53bc0d20) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f7c53bc0d80) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f7c53bc0f00) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f7c53be3000) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f7c53f586e8) 0
+ std::__uses_alloc_base (0x0x7f7c53bc0f60) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f7c53d4b360) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f7c539667e0) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f7c53966b40) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f7c5398e0c0) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f7c5398e600) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f7c539f17e0) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f7c539f1ea0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f7c53a1ad20) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f7c53702420) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f7c5375b960) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f7c5359b780) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f7c532cf240) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f7c532cf2a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f7c532cf480) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f7c532cf420) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f7c533952a0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f7c53395420) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f7c53395cc0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f7c5336f8f0) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7f7c53395c60) 0
+ primary-for QAbstractAnimation (0x0x7f7c5336f8f0)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f7c533d00c0) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f7c5336f958) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7f7c533d0060) 0
+ primary-for QAnimationDriver (0x0x7f7c5336f958)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f7c533d0300) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f7c5336f9c0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7f7c533d02a0) 0
+ primary-for QEventLoop (0x0x7f7c5336f9c0)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f7c533d0ba0) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f7c533d0c60) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f7c533d0cc0) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f7c5336faf8) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7f7c533d0c00) 0
+ primary-for QAbstractEventDispatcher (0x0x7f7c5336faf8)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f7c5309e478) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7f7c530b0360) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f7c5309e478)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f7c530b0420) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f7c530b0480) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f7c530b0780) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f7c52ea6720) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f7c52edf3c0) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f7c52facd20) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f7c52faccc0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f7c52fcf000) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f7c52cd45a0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f7c52cd4660) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f7c52cd4600) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f7c52cd46c0) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f7c52cd4540) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f7c52e2d960) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f7c52a8f000) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f7c52e74f60) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f7c52a8f120) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f7c52a8f0c0) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f7c52b582a0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f7c52baeea0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f7c52c7ecc0) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f7c52893068) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7f7c52c7ec60) 0
+ primary-for QAbstractItemModel (0x0x7f7c52893068)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f7c5295b0c0) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f7c52893680) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7f7c528936e8) 0
+ primary-for QAbstractTableModel (0x0x7f7c52893680)
+ QObject (0x0x7f7c5295b060) 0
+ primary-for QAbstractItemModel (0x0x7f7c528936e8)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f7c5295b240) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f7c52893750) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7f7c528937b8) 0
+ primary-for QAbstractListModel (0x0x7f7c52893750)
+ QObject (0x0x7f7c5295b1e0) 0
+ primary-for QAbstractItemModel (0x0x7f7c528937b8)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f7c5295b960) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f7c5295ba20) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f7c52893888) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7f7c528938f0) 0
+ primary-for QAbstractProxyModel (0x0x7f7c52893888)
+ QObject (0x0x7f7c5295b9c0) 0
+ primary-for QAbstractItemModel (0x0x7f7c528938f0)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f7c5295bc60) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f7c52893958) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7f7c5295bc00) 0
+ primary-for QAbstractState (0x0x7f7c52893958)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f7c5295bea0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f7c528939c0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7f7c5295be40) 0
+ primary-for QAbstractTransition (0x0x7f7c528939c0)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f7c529f51e0) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f7c52893a28) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7f7c52893a90) 0
+ primary-for QAnimationGroup (0x0x7f7c52893a28)
+ QObject (0x0x7f7c529f5180) 0
+ primary-for QAbstractAnimation (0x0x7f7c52893a90)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f7c52a47540) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f7c5268a900) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f7c526d3d80) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f7c52749180) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f7c5274c000) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7f7c52749120) 0
+ primary-for QIODevice (0x0x7f7c5274c000)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f7c52749ae0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f7c5274c138) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7f7c5274c1a0) 0
+ primary-for QBuffer (0x0x7f7c5274c138)
+ QObject (0x0x7f7c52749a80) 0
+ primary-for QIODevice (0x0x7f7c5274c1a0)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f7c52749d80) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f7c52749d20) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f7c52749f00) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f7c52749ea0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f7c527b1de0) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f7c5280cd80) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f7c52877660) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f7c524e3300) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f7c524e3360) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f7c524e32a0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f7c525b3a20) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f7c522da000) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f7c522da8a0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f7c523ac3c0) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f7c52402060) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f7c524021e0) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f7c52086de0) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f7c52086d80) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f7c52231e40) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f7c52231f00) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f7c51edb240) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f7c51edb9c0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f7c51f888a0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f7c51ff5660) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f7c520690c0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f7c51dd0060) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f7c51e1fba0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f7c51e1fc60) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f7c51891c60) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f7c519296c0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f7c51929720) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f7c51929660) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f7c51a3f120) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f7c51a3f180) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f7c51a3f0c0) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f7c518388a0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f7c514f1840) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f7c515245a0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f7c515aa6c0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f7c515aa8a0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f7c512a0e40) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f7c5131e5a0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f7c5130d340) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7f7c5131e960) 0
+ primary-for QTimerEvent (0x0x7f7c5130d340)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f7c5130d3a8) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7f7c5131ea20) 0
+ primary-for QChildEvent (0x0x7f7c5130d3a8)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f7c5130d8f0) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7f7c513650c0) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f7c5130d8f0)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f7c5130d958) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7f7c51365180) 0
+ primary-for QDeferredDeleteEvent (0x0x7f7c5130d958)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f7c513652a0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f7c5130d9c0) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7f7c51365240) 0
+ primary-for QCoreApplication (0x0x7f7c5130d9c0)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f7c513654e0) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f7c51365660) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7f7c5130da28) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7f7c5130da90) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7f7c5130da28)
+ QObject (0x0x7f7c51365600) 0
+ primary-for QAbstractItemModel (0x0x7f7c5130da90)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f7c51365840) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f7c51365960) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f7c51365ae0) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f7c51424240) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f7c51424960) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f7c5116a6c0) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f7c5115dc98) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7f7c5115dd00) 0
+ primary-for QFileDevice (0x0x7f7c5115dc98)
+ QObject (0x0x7f7c5116a660) 0
+ primary-for QIODevice (0x0x7f7c5115dd00)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f7c511bf000) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f7c5115de38) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7f7c5115dea0) 0
+ primary-for QFile (0x0x7f7c5115de38)
+ QIODevice (0x0x7f7c5115df08) 0
+ primary-for QFileDevice (0x0x7f7c5115dea0)
+ QObject (0x0x7f7c5116af60) 0
+ primary-for QIODevice (0x0x7f7c5115df08)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f7c511bf660) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f7c5123aa20) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f7c50ea7d80) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f7c50ef7540) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f7c50fff660) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f7c50fc91a0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7f7c50fc9208) 0
+ primary-for QEventTransition (0x0x7f7c50fc91a0)
+ QObject (0x0x7f7c50fff600) 0
+ primary-for QAbstractTransition (0x0x7f7c50fc9208)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f7c50fc9270) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7f7c50fff840) 0 nearly-empty
+ primary-for QException (0x0x7f7c50fc9270)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f7c50fc92d8) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7f7c50fc9340) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f7c50fc92d8)
+ std::exception (0x0x7f7c50fff8a0) 0 nearly-empty
+ primary-for QException (0x0x7f7c50fc9340)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f7c50fff900) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f7c50fff9c0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f7c50fffa20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f7c50fffc60) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f7c50fc93a8) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7f7c50fffc00) 0
+ primary-for QFileSelector (0x0x7f7c50fc93a8)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f7c50fffea0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f7c50fc9410) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7f7c50fffe40) 0
+ primary-for QFileSystemWatcher (0x0x7f7c50fc9410)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f7c50c55120) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f7c50fc9478) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7f7c50fc94e0) 0
+ primary-for QFinalState (0x0x7f7c50fc9478)
+ QObject (0x0x7f7c50c550c0) 0
+ primary-for QAbstractState (0x0x7f7c50fc94e0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f7c50c55300) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f7c50c555a0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f7c50fc95b0) 0
+ QBasicMutex (0x0x7f7c50cd9240) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f7c50cd9480) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f7c50cd9900) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f7c50cd9f00) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f7c50d26120) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f7c50d7d900) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f7c50e1ac00) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f7c50d9ebc8) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7f7c50e1aba0) 0
+ primary-for QFutureWatcherBase (0x0x7f7c50d9ebc8)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f7c50a44f60) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f7c50a5d410) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7f7c50a5d478) 0
+ primary-for QHistoryState (0x0x7f7c50a5d410)
+ QObject (0x0x7f7c50a44f00) 0
+ primary-for QAbstractState (0x0x7f7c50a5d478)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f7c50a742a0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f7c50a5d4e0) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f7c50a5d548) 0
+ primary-for QIdentityProxyModel (0x0x7f7c50a5d4e0)
+ QAbstractItemModel (0x0x7f7c50a5d5b0) 0
+ primary-for QAbstractProxyModel (0x0x7f7c50a5d548)
+ QObject (0x0x7f7c50a74240) 0
+ primary-for QAbstractItemModel (0x0x7f7c50a5d5b0)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f7c50a74480) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f7c50b30d80) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f7c50b2cf08) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7f7c50b30d20) 0
+ primary-for QItemSelectionModel (0x0x7f7c50b2cf08)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f7c50b600d0) 0
+ QList<QItemSelectionRange> (0x0x7f7c50b60138) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f7c50b5c8a0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f7c50bff1e0) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f7c509513c0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f7c5099e360) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f7c5099e600) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f7c509e1960) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f7c509e19c0) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f7c509e1900) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f7c507118a0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f7c50711900) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f7c5077c120) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f7c5077c180) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f7c5077c0c0) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f7c5048f4e0) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f7c504941a0) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7f7c5048f480) 0
+ primary-for QLibrary (0x0x7f7c504941a0)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f7c504db360) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f7c5048fe40) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f7c5056fa80) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f7c5056fae0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f7c505e1900) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f7c50251a80) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f7c502c1e40) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f7c5036a120) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f7c504002a0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f7c504004e0) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f7c50400480) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f7c50400900) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f7c500b4840) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f7c4ff24060) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f7c4ff240c0) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f7c4ff8c900) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f7c4ffcbb40) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f7c4ffcbc60) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f7c5002a240) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f7c50017dd0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7f7c5002a1e0) 0
+ primary-for QMimeData (0x0x7f7c50017dd0)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f7c5002a420) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f7c4fc89540) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f7c4fc89600) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f7c4fc90138) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7f7c4fc895a0) 0
+ primary-for QObjectCleanupHandler (0x0x7f7c4fc90138)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f7c4fc89720) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f7c4fcf5ea0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f7c4fd049c0) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f7c4fd04a28) 0
+ primary-for QParallelAnimationGroup (0x0x7f7c4fd049c0)
+ QAbstractAnimation (0x0x7f7c4fd04a90) 0
+ primary-for QAnimationGroup (0x0x7f7c4fd04a28)
+ QObject (0x0x7f7c4fcf5e40) 0
+ primary-for QAbstractAnimation (0x0x7f7c4fd04a90)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f7c4fd1e120) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f7c4fd04af8) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7f7c4fd04b60) 0
+ primary-for QPauseAnimation (0x0x7f7c4fd04af8)
+ QObject (0x0x7f7c4fd1e0c0) 0
+ primary-for QAbstractAnimation (0x0x7f7c4fd04b60)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f7c4fd1ed20) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f7c4fd6dea0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f7c4fd70ea0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7f7c4fd6de40) 0
+ primary-for QPluginLoader (0x0x7f7c4fd70ea0)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f7c4fd94000) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f7c4fde7660) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f7c4fde2af8) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7f7c4fde2b60) 0
+ primary-for QProcess (0x0x7f7c4fde2af8)
+ QObject (0x0x7f7c4fde7600) 0
+ primary-for QIODevice (0x0x7f7c4fde2b60)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f7c4fde7d20) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f7c4fde2bc8) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7f7c4fde2c30) 0
+ primary-for QVariantAnimation (0x0x7f7c4fde2bc8)
+ QObject (0x0x7f7c4fde7cc0) 0
+ primary-for QAbstractAnimation (0x0x7f7c4fde2c30)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f7c4fe39000) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f7c4fde2d00) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7f7c4fde2d68) 0
+ primary-for QPropertyAnimation (0x0x7f7c4fde2d00)
+ QAbstractAnimation (0x0x7f7c4fde2dd0) 0
+ primary-for QVariantAnimation (0x0x7f7c4fde2d68)
+ QObject (0x0x7f7c4fde7f60) 0
+ primary-for QAbstractAnimation (0x0x7f7c4fde2dd0)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f7c4faac720) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f7c4fbb7480) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f7c4fbb7420) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f7c4f9a41e0) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f7c4f7abe40) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f7c4f7abde0) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f7c4f83ca90) 0
+ QRandomGenerator (0x0x7f7c4f3d8960) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f7c4f3fd540) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f7c4f3fd7e0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f7c4f3fdcc0) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f7c4f47e1e0) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f7c4f4f6000) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f7c4f545f60) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f7c4f231000) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f7c4f2f3120) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f7c4f2f33c0) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f7c4f28b478) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7f7c4f28b4e0) 0
+ primary-for QSaveFile (0x0x7f7c4f28b478)
+ QIODevice (0x0x7f7c4f28b548) 0
+ primary-for QFileDevice (0x0x7f7c4f28b4e0)
+ QObject (0x0x7f7c4f2f3360) 0
+ primary-for QIODevice (0x0x7f7c4f28b548)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f7c4f2f39c0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f7c4f2f3b40) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f7c4f01bde0) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f7c4f02e270) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f7c4f02e2d8) 0
+ primary-for QSequentialAnimationGroup (0x0x7f7c4f02e270)
+ QAbstractAnimation (0x0x7f7c4f02e340) 0
+ primary-for QAnimationGroup (0x0x7f7c4f02e2d8)
+ QObject (0x0x7f7c4f01bd80) 0
+ primary-for QAbstractAnimation (0x0x7f7c4f02e340)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f7c4f040060) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f7c4f02e3a8) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7f7c4f040000) 0
+ primary-for QSettings (0x0x7f7c4f02e3a8)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f7c4f0404e0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f7c4f02e410) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7f7c4f040480) 0
+ primary-for QSharedMemory (0x0x7f7c4f02e410)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f7c4f040720) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f7c4f02e478) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7f7c4f0406c0) 0
+ primary-for QSignalMapper (0x0x7f7c4f02e478)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f7c4f040960) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f7c4f02e4e0) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7f7c4f02e548) 0
+ primary-for QSignalTransition (0x0x7f7c4f02e4e0)
+ QObject (0x0x7f7c4f040900) 0
+ primary-for QAbstractTransition (0x0x7f7c4f02e548)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f7c4f040c00) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f7c4f02e5b0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7f7c4f040ba0) 0
+ primary-for QSocketNotifier (0x0x7f7c4f02e5b0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f7c4f040e40) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f7c4f02e618) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f7c4f02e680) 0
+ primary-for QSortFilterProxyModel (0x0x7f7c4f02e618)
+ QAbstractItemModel (0x0x7f7c4f02e6e8) 0
+ primary-for QAbstractProxyModel (0x0x7f7c4f02e680)
+ QObject (0x0x7f7c4f040de0) 0
+ primary-for QAbstractItemModel (0x0x7f7c4f02e6e8)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f7c4f0c92a0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f7c4f0c9ba0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f7c4f02e888) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7f7c4f02e8f0) 0
+ primary-for QState (0x0x7f7c4f02e888)
+ QObject (0x0x7f7c4f0c9b40) 0
+ primary-for QAbstractState (0x0x7f7c4f02e8f0)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f7c4f119060) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f7c4f02ea90) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7f7c4f1190c0) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f7c4f02ea90)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f7c4f02eaf8) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7f7c4f119120) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f7c4f02eaf8)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f7c4f02e958) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7f7c4f02e9c0) 0
+ primary-for QStateMachine (0x0x7f7c4f02e958)
+ QAbstractState (0x0x7f7c4f02ea28) 0
+ primary-for QState (0x0x7f7c4f02e9c0)
+ QObject (0x0x7f7c4f119000) 0
+ primary-for QAbstractState (0x0x7f7c4f02ea28)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f7c4f1194e0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f7c4f1bb4e0) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f7c4ee46840) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f7c4ee28c30) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7f7c4ee28c98) 0
+ primary-for QStringListModel (0x0x7f7c4ee28c30)
+ QAbstractItemModel (0x0x7f7c4ee28d00) 0
+ primary-for QAbstractListModel (0x0x7f7c4ee28c98)
+ QObject (0x0x7f7c4ee467e0) 0
+ primary-for QAbstractItemModel (0x0x7f7c4ee28d00)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f7c4ee46960) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f7c4ee46a20) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f7c4ee46b40) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f7c4ee28d68) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7f7c4ee28dd0) 0
+ primary-for QTemporaryFile (0x0x7f7c4ee28d68)
+ QFileDevice (0x0x7f7c4ee28e38) 0
+ primary-for QFile (0x0x7f7c4ee28dd0)
+ QIODevice (0x0x7f7c4ee28ea0) 0
+ primary-for QFileDevice (0x0x7f7c4ee28e38)
+ QObject (0x0x7f7c4ee46ae0) 0
+ primary-for QIODevice (0x0x7f7c4ee28ea0)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f7c4ee46ea0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f7c4eea9720) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f7c4eea96c0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f7c4ef0f120) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f7c4ef0f300) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f7c4ef0f4e0) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f7c4eedc0d0) 0
+ std::__mutex_base (0x0x7f7c4ef0f540) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f7c4ef0f720) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f7c4ef0f780) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f7c4ef0f7e0) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f7c4ef58240) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f7c4eedc138) 0
+ std::__recursive_mutex_base (0x0x7f7c4ef582a0) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f7c4ef0a930) 0
+ std::__mutex_base (0x0x7f7c4ef58660) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f7c4ef586c0) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f7c4ef77310) 0
+ std::__recursive_mutex_base (0x0x7f7c4ef58a20) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f7c4ef58a80) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f7c4ef981e0) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f7c4eedc270) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7f7c4ef98720) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f7c4eedc270)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f7c4eedc2d8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7f7c4ef98840) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f7c4eedc2d8)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f7c4eedc340) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7f7c4ef98960) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f7c4eedc340)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f7c4eedc410) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7f7c4ef98a80) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f7c4eedc410)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f7c4ebc8ae0) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f7c4ebc8de0) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f7c4ebed120) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f7c4ebed480) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f7c4eedc478) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7f7c4ec65660) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f7c4eedc478)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f7c4ecd2600) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7f7c4ecd2a20) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f7c4ea1c8a0) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7f7c4ea47d20) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f7c4ea47d80) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f7c4ea47cc0) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f7c4e909180) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f7c4e909540) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f7c4e9095a0) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f7c4e68f8a0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f7c4e688d00) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7f7c4e688d68) 0
+ primary-for std::future_error (0x0x7f7c4e688d00)
+ std::exception (0x0x7f7c4e6bc000) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f7c4e688d68)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f7c4e6bc720) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f7c4e6bc6c0) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f7c4e481e40) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f7c4e4ae5b0) 0
+ std::__at_thread_exit_elt (0x0x7f7c4e481f00) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f7c4e6bc8a0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f7c4e6bc660) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f7c4dc422d8) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7f7c4dc37f00) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f7c4dc422d8)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f7c4dc777e0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f7c4dc42618) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7f7c4dc77780) 0
+ primary-for QThread (0x0x7f7c4dc42618)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f7c4dc77ba0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f7c4dc42680) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7f7c4dc77b40) 0
+ primary-for QThreadPool (0x0x7f7c4dc42680)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f7c4dc77d80) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f7c4dcbc480) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f7c4dc426e8) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7f7c4dcbc420) 0
+ primary-for QTimeLine (0x0x7f7c4dc426e8)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f7c4dcbc6c0) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f7c4dc42750) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7f7c4dcbc660) 0
+ primary-for QTimer (0x0x7f7c4dc42750)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f7c4dd26060) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f7c4dd26000) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f7c4d9c5120) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f7c4ddace38) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7f7c4d9c50c0) 0
+ primary-for QTranslator (0x0x7f7c4ddace38)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7f7c4d9c5360) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7f7c4ddacea0) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f7c4ddacf08) 0
+ primary-for QTransposeProxyModel (0x0x7f7c4ddacea0)
+ QAbstractItemModel (0x0x7f7c4ddacf70) 0
+ primary-for QAbstractProxyModel (0x0x7f7c4ddacf08)
+ QObject (0x0x7f7c4d9c5300) 0
+ primary-for QAbstractItemModel (0x0x7f7c4ddacf70)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f7c4d9c5540) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f7c4da4af00) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f7c4da6f060) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f7c4daf6420) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f7c4db60618) 0
+ QVector<QXmlStreamAttribute> (0x0x7f7c4db5ab40) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f7c4db5ae40) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f7c4d7d9de0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f7c4d836de0) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f7c4d89fea0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f7c4d89ff00) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f7c4d8dfde0) 0
+
+Vtable for QSqlDriverCreatorBase
+QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QSqlDriverCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverCreatorBase (0x0x7f7c4d9346c0) 0 nearly-empty
+ vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16)
+
+Class QSqlDatabase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDatabase (0x0x7f7c4d9349c0) 0
+
+Class QSqlDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlDriver::QPrivateSignal (0x0x7f7c4d934a80) 0 empty
+
+Vtable for QSqlDriver
+QSqlDriver::_ZTV10QSqlDriver: 38 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlDriver)
+16 (int (*)(...))QSqlDriver::metaObject
+24 (int (*)(...))QSqlDriver::qt_metacast
+32 (int (*)(...))QSqlDriver::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSqlDriver::isOpen
+120 (int (*)(...))QSqlDriver::beginTransaction
+128 (int (*)(...))QSqlDriver::commitTransaction
+136 (int (*)(...))QSqlDriver::rollbackTransaction
+144 (int (*)(...))QSqlDriver::tables
+152 (int (*)(...))QSqlDriver::primaryIndex
+160 (int (*)(...))QSqlDriver::record
+168 (int (*)(...))QSqlDriver::formatValue
+176 (int (*)(...))QSqlDriver::escapeIdentifier
+184 (int (*)(...))QSqlDriver::sqlStatement
+192 (int (*)(...))QSqlDriver::handle
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))__cxa_pure_virtual
+232 (int (*)(...))QSqlDriver::subscribeToNotification
+240 (int (*)(...))QSqlDriver::unsubscribeFromNotification
+248 (int (*)(...))QSqlDriver::subscribedToNotifications
+256 (int (*)(...))QSqlDriver::isIdentifierEscaped
+264 (int (*)(...))QSqlDriver::stripDelimiters
+272 (int (*)(...))QSqlDriver::cancelQuery
+280 (int (*)(...))QSqlDriver::setOpen
+288 (int (*)(...))QSqlDriver::setOpenError
+296 (int (*)(...))QSqlDriver::setLastError
+
+Class QSqlDriver
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriver (0x0x7f7c4d915410) 0
+ vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16)
+ QObject (0x0x7f7c4d934a20) 0
+ primary-for QSqlDriver (0x0x7f7c4d915410)
+
+Class QSqlDriverPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlDriverPlugin::QPrivateSignal (0x0x7f7c4d934cc0) 0 empty
+
+Vtable for QSqlDriverPlugin
+QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+16 (int (*)(...))QSqlDriverPlugin::metaObject
+24 (int (*)(...))QSqlDriverPlugin::qt_metacast
+32 (int (*)(...))QSqlDriverPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSqlDriverPlugin
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriverPlugin (0x0x7f7c4d915478) 0
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16)
+ QObject (0x0x7f7c4d934c60) 0
+ primary-for QSqlDriverPlugin (0x0x7f7c4d915478)
+
+Class QSqlError::Unused
+ size=8 align=4
+ base size=8 base align=4
+QSqlError::Unused (0x0x7f7c4d934e40) 0
+
+Class QSqlError
+ size=24 align=8
+ base size=24 base align=8
+QSqlError (0x0x7f7c4d934de0) 0
+
+Class QSqlField
+ size=24 align=8
+ base size=24 base align=8
+QSqlField (0x0x7f7c4d651180) 0
+
+Class QSqlRecord
+ size=8 align=8
+ base size=8 base align=8
+QSqlRecord (0x0x7f7c4d651300) 0
+
+Class QSqlIndex
+ size=32 align=8
+ base size=32 base align=8
+QSqlIndex (0x0x7f7c4d64d340) 0
+ QSqlRecord (0x0x7f7c4d6513c0) 0
+
+Class QSqlQuery
+ size=8 align=8
+ base size=8 base align=8
+QSqlQuery (0x0x7f7c4d6515a0) 0
+
+Class QSqlQueryModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlQueryModel::QPrivateSignal (0x0x7f7c4d651660) 0 empty
+
+Vtable for QSqlQueryModel
+QSqlQueryModel::_ZTV14QSqlQueryModel: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlQueryModel)
+16 (int (*)(...))QSqlQueryModel::metaObject
+24 (int (*)(...))QSqlQueryModel::qt_metacast
+32 (int (*)(...))QSqlQueryModel::qt_metacall
+40 (int (*)(...))QSqlQueryModel::~QSqlQueryModel
+48 (int (*)(...))QSqlQueryModel::~QSqlQueryModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))QSqlQueryModel::rowCount
+144 (int (*)(...))QSqlQueryModel::columnCount
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))QSqlQueryModel::data
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QSqlQueryModel::headerData
+184 (int (*)(...))QSqlQueryModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QSqlQueryModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QSqlQueryModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSqlQueryModel::fetchMore
+312 (int (*)(...))QSqlQueryModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QSqlQueryModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+384 (int (*)(...))QSqlQueryModel::clear
+392 (int (*)(...))QSqlQueryModel::queryChange
+400 (int (*)(...))QSqlQueryModel::indexInQuery
+
+Class QSqlQueryModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlQueryModel (0x0x7f7c4d64d478) 0
+ vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16)
+ QAbstractTableModel (0x0x7f7c4d64d4e0) 0
+ primary-for QSqlQueryModel (0x0x7f7c4d64d478)
+ QAbstractItemModel (0x0x7f7c4d64d548) 0
+ primary-for QAbstractTableModel (0x0x7f7c4d64d4e0)
+ QObject (0x0x7f7c4d651600) 0
+ primary-for QAbstractItemModel (0x0x7f7c4d64d548)
+
+Class QSqlTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlTableModel::QPrivateSignal (0x0x7f7c4d6518a0) 0 empty
+
+Vtable for QSqlTableModel
+QSqlTableModel::_ZTV14QSqlTableModel: 63 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlTableModel)
+16 (int (*)(...))QSqlTableModel::metaObject
+24 (int (*)(...))QSqlTableModel::qt_metacast
+32 (int (*)(...))QSqlTableModel::qt_metacall
+40 (int (*)(...))QSqlTableModel::~QSqlTableModel
+48 (int (*)(...))QSqlTableModel::~QSqlTableModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))QSqlTableModel::rowCount
+144 (int (*)(...))QSqlQueryModel::columnCount
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))QSqlTableModel::data
+168 (int (*)(...))QSqlTableModel::setData
+176 (int (*)(...))QSqlTableModel::headerData
+184 (int (*)(...))QSqlQueryModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QSqlTableModel::insertRows
+264 (int (*)(...))QSqlQueryModel::insertColumns
+272 (int (*)(...))QSqlTableModel::removeRows
+280 (int (*)(...))QSqlTableModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSqlQueryModel::fetchMore
+312 (int (*)(...))QSqlQueryModel::canFetchMore
+320 (int (*)(...))QSqlTableModel::flags
+328 (int (*)(...))QSqlTableModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QSqlQueryModel::roleNames
+368 (int (*)(...))QSqlTableModel::submit
+376 (int (*)(...))QSqlTableModel::revert
+384 (int (*)(...))QSqlTableModel::clear
+392 (int (*)(...))QSqlQueryModel::queryChange
+400 (int (*)(...))QSqlTableModel::indexInQuery
+408 (int (*)(...))QSqlTableModel::setTable
+416 (int (*)(...))QSqlTableModel::setEditStrategy
+424 (int (*)(...))QSqlTableModel::setSort
+432 (int (*)(...))QSqlTableModel::setFilter
+440 (int (*)(...))QSqlTableModel::revertRow
+448 (int (*)(...))QSqlTableModel::select
+456 (int (*)(...))QSqlTableModel::selectRow
+464 (int (*)(...))QSqlTableModel::updateRowInTable
+472 (int (*)(...))QSqlTableModel::insertRowIntoTable
+480 (int (*)(...))QSqlTableModel::deleteRowFromTable
+488 (int (*)(...))QSqlTableModel::orderByClause
+496 (int (*)(...))QSqlTableModel::selectStatement
+
+Class QSqlTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlTableModel (0x0x7f7c4d64d5b0) 0
+ vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16)
+ QSqlQueryModel (0x0x7f7c4d64d618) 0
+ primary-for QSqlTableModel (0x0x7f7c4d64d5b0)
+ QAbstractTableModel (0x0x7f7c4d64d680) 0
+ primary-for QSqlQueryModel (0x0x7f7c4d64d618)
+ QAbstractItemModel (0x0x7f7c4d64d6e8) 0
+ primary-for QAbstractTableModel (0x0x7f7c4d64d680)
+ QObject (0x0x7f7c4d651840) 0
+ primary-for QAbstractItemModel (0x0x7f7c4d64d6e8)
+
+Class QSqlRelation
+ size=24 align=8
+ base size=24 base align=8
+QSqlRelation (0x0x7f7c4d651a80) 0
+
+Class QSqlRelationalTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlRelationalTableModel::QPrivateSignal (0x0x7f7c4d7380c0) 0 empty
+
+Vtable for QSqlRelationalTableModel
+QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel)
+16 (int (*)(...))QSqlRelationalTableModel::metaObject
+24 (int (*)(...))QSqlRelationalTableModel::qt_metacast
+32 (int (*)(...))QSqlRelationalTableModel::qt_metacall
+40 (int (*)(...))QSqlRelationalTableModel::~QSqlRelationalTableModel
+48 (int (*)(...))QSqlRelationalTableModel::~QSqlRelationalTableModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))QSqlTableModel::rowCount
+144 (int (*)(...))QSqlQueryModel::columnCount
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))QSqlRelationalTableModel::data
+168 (int (*)(...))QSqlRelationalTableModel::setData
+176 (int (*)(...))QSqlTableModel::headerData
+184 (int (*)(...))QSqlQueryModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QSqlTableModel::insertRows
+264 (int (*)(...))QSqlQueryModel::insertColumns
+272 (int (*)(...))QSqlTableModel::removeRows
+280 (int (*)(...))QSqlRelationalTableModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSqlQueryModel::fetchMore
+312 (int (*)(...))QSqlQueryModel::canFetchMore
+320 (int (*)(...))QSqlTableModel::flags
+328 (int (*)(...))QSqlTableModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QSqlQueryModel::roleNames
+368 (int (*)(...))QSqlTableModel::submit
+376 (int (*)(...))QSqlTableModel::revert
+384 (int (*)(...))QSqlRelationalTableModel::clear
+392 (int (*)(...))QSqlQueryModel::queryChange
+400 (int (*)(...))QSqlTableModel::indexInQuery
+408 (int (*)(...))QSqlRelationalTableModel::setTable
+416 (int (*)(...))QSqlTableModel::setEditStrategy
+424 (int (*)(...))QSqlTableModel::setSort
+432 (int (*)(...))QSqlTableModel::setFilter
+440 (int (*)(...))QSqlRelationalTableModel::revertRow
+448 (int (*)(...))QSqlRelationalTableModel::select
+456 (int (*)(...))QSqlTableModel::selectRow
+464 (int (*)(...))QSqlRelationalTableModel::updateRowInTable
+472 (int (*)(...))QSqlRelationalTableModel::insertRowIntoTable
+480 (int (*)(...))QSqlTableModel::deleteRowFromTable
+488 (int (*)(...))QSqlRelationalTableModel::orderByClause
+496 (int (*)(...))QSqlRelationalTableModel::selectStatement
+504 (int (*)(...))QSqlRelationalTableModel::setRelation
+512 (int (*)(...))QSqlRelationalTableModel::relationModel
+
+Class QSqlRelationalTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlRelationalTableModel (0x0x7f7c4d726a28) 0
+ vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16)
+ QSqlTableModel (0x0x7f7c4d726a90) 0
+ primary-for QSqlRelationalTableModel (0x0x7f7c4d726a28)
+ QSqlQueryModel (0x0x7f7c4d726af8) 0
+ primary-for QSqlTableModel (0x0x7f7c4d726a90)
+ QAbstractTableModel (0x0x7f7c4d726b60) 0
+ primary-for QSqlQueryModel (0x0x7f7c4d726af8)
+ QAbstractItemModel (0x0x7f7c4d726bc8) 0
+ primary-for QAbstractTableModel (0x0x7f7c4d726b60)
+ QObject (0x0x7f7c4d738060) 0
+ primary-for QAbstractItemModel (0x0x7f7c4d726bc8)
+
+Vtable for QSqlResult
+QSqlResult::_ZTV10QSqlResult: 33 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlResult)
+16 0
+24 0
+32 (int (*)(...))QSqlResult::handle
+40 (int (*)(...))QSqlResult::setAt
+48 (int (*)(...))QSqlResult::setActive
+56 (int (*)(...))QSqlResult::setLastError
+64 (int (*)(...))QSqlResult::setQuery
+72 (int (*)(...))QSqlResult::setSelect
+80 (int (*)(...))QSqlResult::setForwardOnly
+88 (int (*)(...))QSqlResult::exec
+96 (int (*)(...))QSqlResult::prepare
+104 (int (*)(...))QSqlResult::savePrepare
+112 (int (*)(...))QSqlResult::bindValue
+120 (int (*)(...))QSqlResult::bindValue
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))QSqlResult::fetchNext
+168 (int (*)(...))QSqlResult::fetchPrevious
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QSqlResult::record
+216 (int (*)(...))QSqlResult::lastInsertId
+224 (int (*)(...))QSqlResult::virtual_hook
+232 (int (*)(...))QSqlResult::execBatch
+240 (int (*)(...))QSqlResult::detachFromResultSet
+248 (int (*)(...))QSqlResult::setNumericalPrecisionPolicy
+256 (int (*)(...))QSqlResult::nextResult
+
+Class QSqlResult
+ size=16 align=8
+ base size=16 base align=8
+QSqlResult (0x0x7f7c4d7382a0) 0
+ vptr=((& QSqlResult::_ZTV10QSqlResult) + 16)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d78a660) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d78a9c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d78aba0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d78af00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d7be120) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d7be480) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d7be660) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d7be9c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d7beba0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d7bef00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d2f4120) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d2f4480) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d2f4660) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d2f49c0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d2f4ba0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d2f4f00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d358420) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d358780) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d358900) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d358c60) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d358de0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d388180) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d388300) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d388660) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d3887e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d388b40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d388cc0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d3b8060) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d3b81e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d3b8540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f7c4d3b86c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f7c4d3b8a20) 0 empty
+
diff --git a/tests/auto/bic/data/QtTest.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtTest.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..c1c38fef56
--- /dev/null
+++ b/tests/auto/bic/data/QtTest.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,5074 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7fb6f561e2a0) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7fb6f566ba20) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7fb6f566bc60) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7fb6f566bea0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7fb6f5695120) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7fb6f56952a0) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7fb6f5695660) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7fb6f56d5780) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7fb6f572ce40) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7fb6f572cf00) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7fb6f5759300) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7fb6f5759360) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7fb6f57593c0) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7fb6f5759420) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7fb6f5759480) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7fb6f5759540) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7fb6f5759600) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7fb6f57596c0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7fb6f5759780) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7fb6f5759ae0) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7fb6f5759e40) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7fb6f5759ea0) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7fb6f539f480) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7fb6f539fae0) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7fb6f5794478) 0 empty
+ std::__nonesuch (0x0x7fb6f53dc000) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7fb6f5424960) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7fb6f54249c0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7fb6f547c6c0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7fb6f547c720) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7fb6f5794958) 0 empty
+ std::input_iterator_tag (0x0x7fb6f547c780) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7fb6f57949c0) 0 empty
+ std::forward_iterator_tag (0x0x7fb6f5794a28) 0 empty
+ std::input_iterator_tag (0x0x7fb6f547c7e0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7fb6f5794a90) 0 empty
+ std::bidirectional_iterator_tag (0x0x7fb6f5794af8) 0 empty
+ std::forward_iterator_tag (0x0x7fb6f5794b60) 0 empty
+ std::input_iterator_tag (0x0x7fb6f547c840) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7fb6f5531360) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7fb6f5531480) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7fb6f5531780) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7fb6f5531a80) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7fb6f5531ba0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7fb6f51bfea0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7fb6f52091e0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7fb6f5209240) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7fb6f5209300) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7fb6f5209360) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7fb6f52093c0) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7fb6f5209420) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7fb6f52096c0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7fb6f5209960) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7fb6f52099c0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7fb6f52bb780) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7fb6f5794ea0) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7fb6f52bb960) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7fb6f5794ea0)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7fb6f52bbb40) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7fb6f5794f08) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7fb6f52bbf00) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7fb6f5794f08)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7fb6f5794f70) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7fb6f52ef120) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7fb6f5794f70)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7fb6f52ef300) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7fb6f52ef8a0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7fb6f5323000) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7fb6f52eff60) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fb6f5323000)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7fb6f5323068) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7fb6f53230d0) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7fb6f5323068)
+ std::exception (0x0x7fb6f5328180) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fb6f53230d0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7fb6f5328360) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7fb6f5328540) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7fb6f4f9ca20) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7fb6f517a4e0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7fb6f517a5a0) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7fb6f4c19f00) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7fb6f4c4a060) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7fb6f4c4a3c0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7fb6f4c4a900) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7fb6f4cb00c0) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7fb6f4d444e0) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7fb6f4cdaf08) 0
+ std::__atomic_flag_base (0x0x7fb6f4d44540) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7fb6f4a52680) 0
+ QAtomicInteger<int> (0x0x7fb6f4a526e8) 0
+ QBasicAtomicInteger<int> (0x0x7fb6f48774e0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7fb6f44947e0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7fb6f44c4d80) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7fb6f45114e0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7fb6f4517270) 0
+ QGenericArgument (0x0x7fb6f4511780) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7fb6f4511ba0) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7fb6f4562000) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7fb6f41caae0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7fb6f41cad80) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7fb6f4296ba0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7fb6f4296f00) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7fb6f431f240) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7fb6f3fcfa80) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7fb6f3fcfb40) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7fb6f4092c60) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7fb6f4092d20) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7fb6f4092d80) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7fb6f4092de0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7fb6f4092e40) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7fb6f4092f60) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7fb6f40ed000) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7fb6f3dd5f60) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7fb6f3e0d000) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7fb6f3bb9060) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7fb6f3bb91e0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7fb6f3d42360) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7fb6f3d42720) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7fb6f3d429c0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7fb6f3d42ba0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7fb6f3d91ba0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7fb6f39b9208) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7fb6f3d91c60) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fb6f39b9208)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7fb6f39b9270) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7fb6f39b92d8) 0
+ primary-for std::domain_error (0x0x7fb6f39b9270)
+ std::exception (0x0x7fb6f3d91cc0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fb6f39b92d8)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7fb6f39b9340) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7fb6f39b93a8) 0
+ primary-for std::invalid_argument (0x0x7fb6f39b9340)
+ std::exception (0x0x7fb6f3d91d20) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fb6f39b93a8)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7fb6f39b9410) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7fb6f39b9478) 0
+ primary-for std::length_error (0x0x7fb6f39b9410)
+ std::exception (0x0x7fb6f3d91d80) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fb6f39b9478)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7fb6f39b94e0) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7fb6f39b9548) 0
+ primary-for std::out_of_range (0x0x7fb6f39b94e0)
+ std::exception (0x0x7fb6f3d91de0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fb6f39b9548)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7fb6f39b95b0) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7fb6f3d91e40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fb6f39b95b0)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7fb6f39b9618) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7fb6f39b9680) 0
+ primary-for std::range_error (0x0x7fb6f39b9618)
+ std::exception (0x0x7fb6f3d91ea0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fb6f39b9680)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7fb6f39b96e8) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7fb6f39b9750) 0
+ primary-for std::overflow_error (0x0x7fb6f39b96e8)
+ std::exception (0x0x7fb6f3d91f00) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fb6f39b9750)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7fb6f39b97b8) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7fb6f39b9820) 0
+ primary-for std::underflow_error (0x0x7fb6f39b97b8)
+ std::exception (0x0x7fb6f3d91f60) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fb6f39b9820)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7fb6f39f6120) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7fb6f39f6480) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7fb6f39f6cc0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7fb6f39b9c30) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7fb6f39b9c98) 0
+ primary-for std::system_error (0x0x7fb6f39b9c30)
+ std::exception (0x0x7fb6f3a268a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fb6f39b9c98)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7fb6f39b9f08) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7fb6f39b9f70) 0
+ primary-for std::ios_base::failure (0x0x7fb6f39b9f08)
+ std::runtime_error (0x0x7fb6f3a80000) 0
+ primary-for std::system_error (0x0x7fb6f39b9f70)
+ std::exception (0x0x7fb6f3a5be40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fb6f3a80000)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7fb6f3a5bea0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7fb6f3a5bf00) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7fb6f3a5bf60) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7fb6f3a5bde0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7fb6f3b538a0) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7fb6f3810a80) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7fb6f33c06e8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7fb6f33c07b8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7fb6f33ff478 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7fb6f33ff548 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7fb6f3431420) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7fb6f3431480) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7fb6f3560840) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7fb6f31ff6c0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7fb6f31ffb40) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7fb6f32d5900) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7fb6f336d360) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7fb6f336d300) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7fb6f31594e0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7fb6f2ed6d20) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7fb6f2d12060) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7fb6f2d12120) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7fb6f29cb600) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7fb6f2f7e888) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fb6f29cbd20) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7fb6f2f7e9c0) 0
+ std::_Bit_iterator_base (0x0x7fb6f2f7ea28) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fb6f29f83c0) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7fb6f2f7ea90) 0
+ std::_Bit_iterator_base (0x0x7fb6f2f7eaf8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fb6f29f8ba0) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7fb6f280a240) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7fb6f28cf000) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7fb6f28cf060) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7fb6f2ac3548) 0 empty
+ QListData::NotIndirectLayout (0x0x7fb6f28cf0c0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7fb6f28b50e0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fb6f28cf120) 0 empty
+ QListData::NotIndirectLayout (0x0x7fb6f28cf180) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7fb6f2ac35b0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fb6f28cf1e0) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7fb6f28cf240) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7fb6f28b6f60) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7fb6f25c4420) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7fb6f26a3a80) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7fb6f26a3a20) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7fb6f26ad2d8) 0
+ QList<QString> (0x0x7fb6f26ad340) 0
+ QListSpecialMethods<QString> (0x0x7fb6f26a3cc0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7fb6f2764840) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7fb6f23f1960) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7fb6f23f1cc0) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7fb6f21ec2a0) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7fb6f21ec300) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7fb6f21ec480) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7fb6f21ec540) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7fb6f2575680) 0
+ std::__uses_alloc_base (0x0x7fb6f21ec4e0) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7fb6f23538a0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7fb6f1f7cd20) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7fb6f1f960c0) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7fb6f1f96600) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7fb6f1f96b40) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7fb6f1fedd20) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7fb6f2023420) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7fb6f20bc2a0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7fb6f2112960) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7fb6f1d66ea0) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7fb6f1b9ccc0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7fb6f18cf780) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7fb6f18cf7e0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7fb6f18cf9c0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7fb6f18cf960) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7fb6f19ae7e0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7fb6f19ae960) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7fb6f19ce240) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7fb6f1989888) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7fb6f19ce1e0) 0
+ primary-for QAbstractAnimation (0x0x7fb6f1989888)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7fb6f19ce600) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7fb6f19898f0) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7fb6f19ce5a0) 0
+ primary-for QAnimationDriver (0x0x7fb6f19898f0)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7fb6f19ce840) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7fb6f1989958) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7fb6f19ce7e0) 0
+ primary-for QEventLoop (0x0x7fb6f1989958)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7fb6f1a24120) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7fb6f1a241e0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7fb6f1a24240) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7fb6f1989a90) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7fb6f1a24180) 0
+ primary-for QAbstractEventDispatcher (0x0x7fb6f1989a90)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7fb6f16be410) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7fb6f16b78a0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7fb6f16be410)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7fb6f16b7960) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7fb6f16b79c0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7fb6f16b7cc0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7fb6f14b3c60) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7fb6f14e8900) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7fb6f15d92a0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7fb6f15d9240) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7fb6f15d9540) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7fb6f12e6ae0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7fb6f12e6ba0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7fb6f12e6b40) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7fb6f12e6c00) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7fb6f12e6a80) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7fb6f13daea0) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7fb6f10a0540) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7fb6f10a04e0) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7fb6f10a0660) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7fb6f10a0600) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7fb6f11687e0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7fb6f11dc420) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7fb6f0eab240) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7fb6f0eb1000) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7fb6f0eab1e0) 0
+ primary-for QAbstractItemModel (0x0x7fb6f0eb1000)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7fb6f0f6a600) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7fb6f0eb1618) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7fb6f0eb1680) 0
+ primary-for QAbstractTableModel (0x0x7fb6f0eb1618)
+ QObject (0x0x7fb6f0f6a5a0) 0
+ primary-for QAbstractItemModel (0x0x7fb6f0eb1680)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7fb6f0f6a780) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7fb6f0eb16e8) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7fb6f0eb1750) 0
+ primary-for QAbstractListModel (0x0x7fb6f0eb16e8)
+ QObject (0x0x7fb6f0f6a720) 0
+ primary-for QAbstractItemModel (0x0x7fb6f0eb1750)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7fb6f0f6aea0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7fb6f0f6af60) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7fb6f0eb1820) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7fb6f0eb1888) 0
+ primary-for QAbstractProxyModel (0x0x7fb6f0eb1820)
+ QObject (0x0x7fb6f0f6af00) 0
+ primary-for QAbstractItemModel (0x0x7fb6f0eb1888)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7fb6f0fed1e0) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7fb6f0eb18f0) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7fb6f0fed180) 0
+ primary-for QAbstractState (0x0x7fb6f0eb18f0)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7fb6f0fed420) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7fb6f0eb1958) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7fb6f0fed3c0) 0
+ primary-for QAbstractTransition (0x0x7fb6f0eb1958)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7fb6f0fed720) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7fb6f0eb19c0) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7fb6f0eb1a28) 0
+ primary-for QAnimationGroup (0x0x7fb6f0eb19c0)
+ QObject (0x0x7fb6f0fed6c0) 0
+ primary-for QAbstractAnimation (0x0x7fb6f0eb1a28)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7fb6f105da80) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7fb6f1092e40) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7fb6f0d13300) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7fb6f0d5c6c0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7fb6f0d4ef70) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7fb6f0d5c660) 0
+ primary-for QIODevice (0x0x7fb6f0d4ef70)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7fb6f0da8060) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7fb6f0d820d0) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7fb6f0d82138) 0
+ primary-for QBuffer (0x0x7fb6f0d820d0)
+ QObject (0x0x7fb6f0da8000) 0
+ primary-for QIODevice (0x0x7fb6f0d82138)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7fb6f0da8300) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7fb6f0da82a0) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7fb6f0da8480) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7fb6f0da8420) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7fb6f0df4360) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7fb6f0e39300) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7fb6f0e87ba0) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7fb6f0af6840) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7fb6f0af68a0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7fb6f0af67e0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7fb6f0bc5f60) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7fb6f08e1540) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7fb6f08e1de0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7fb6f09be900) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7fb6f0a0c5a0) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7fb6f0a0c720) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7fb6f06c1360) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7fb6f06c1300) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7fb6f085e3c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7fb6f085e480) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7fb6f04e1780) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7fb6f04e1f00) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7fb6f059ade0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7fb6f0600ba0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7fb6f067e600) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7fb6f03c95a0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7fb6f044e120) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7fb6f044e1e0) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7fb6efeca1e0) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7fb6eff39c00) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7fb6eff39c60) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7fb6eff39ba0) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7fb6f0052660) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7fb6f00526c0) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7fb6f0052600) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7fb6efe46de0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7fb6efafcd80) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7fb6efb36ae0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7fb6efbb8c00) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7fb6efbb8de0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7fb6ef8d13c0) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7fb6ef925ae0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7fb6ef9282d8) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7fb6ef925ea0) 0
+ primary-for QTimerEvent (0x0x7fb6ef9282d8)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7fb6ef928340) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7fb6ef925f60) 0
+ primary-for QChildEvent (0x0x7fb6ef928340)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7fb6ef928888) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7fb6ef96e600) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7fb6ef928888)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7fb6ef9288f0) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7fb6ef96e6c0) 0
+ primary-for QDeferredDeleteEvent (0x0x7fb6ef9288f0)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7fb6ef96e7e0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7fb6ef928958) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7fb6ef96e780) 0
+ primary-for QCoreApplication (0x0x7fb6ef928958)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7fb6ef96ea20) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7fb6ef96eba0) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7fb6ef9289c0) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7fb6ef928a28) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7fb6ef9289c0)
+ QObject (0x0x7fb6ef96eb40) 0
+ primary-for QAbstractItemModel (0x0x7fb6ef928a28)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7fb6ef96ed80) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7fb6ef96eea0) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7fb6ef9fd060) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7fb6efa2f780) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7fb6efa2fea0) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7fb6ef77fc00) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7fb6ef777c30) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7fb6ef777c98) 0
+ primary-for QFileDevice (0x0x7fb6ef777c30)
+ QObject (0x0x7fb6ef77fba0) 0
+ primary-for QIODevice (0x0x7fb6ef777c98)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7fb6ef7ca540) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7fb6ef777dd0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7fb6ef777e38) 0
+ primary-for QFile (0x0x7fb6ef777dd0)
+ QIODevice (0x0x7fb6ef777ea0) 0
+ primary-for QFileDevice (0x0x7fb6ef777e38)
+ QObject (0x0x7fb6ef7ca4e0) 0
+ primary-for QIODevice (0x0x7fb6ef777ea0)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7fb6ef7caba0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7fb6ef848f60) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7fb6ef4da300) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7fb6ef4daa80) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7fb6ef60dba0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7fb6ef5e6138) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7fb6ef5e61a0) 0
+ primary-for QEventTransition (0x0x7fb6ef5e6138)
+ QObject (0x0x7fb6ef60db40) 0
+ primary-for QAbstractTransition (0x0x7fb6ef5e61a0)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7fb6ef5e6208) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7fb6ef60dd80) 0 nearly-empty
+ primary-for QException (0x0x7fb6ef5e6208)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7fb6ef5e6270) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7fb6ef5e62d8) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7fb6ef5e6270)
+ std::exception (0x0x7fb6ef60dde0) 0 nearly-empty
+ primary-for QException (0x0x7fb6ef5e62d8)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7fb6ef60de40) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7fb6ef60df00) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7fb6ef60df60) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7fb6ef6561e0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7fb6ef5e6340) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7fb6ef656180) 0
+ primary-for QFileSelector (0x0x7fb6ef5e6340)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7fb6ef656420) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7fb6ef5e63a8) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7fb6ef6563c0) 0
+ primary-for QFileSystemWatcher (0x0x7fb6ef5e63a8)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7fb6ef656660) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7fb6ef5e6410) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7fb6ef5e6478) 0
+ primary-for QFinalState (0x0x7fb6ef5e6410)
+ QObject (0x0x7fb6ef656600) 0
+ primary-for QAbstractState (0x0x7fb6ef5e6478)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7fb6ef656840) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7fb6ef656ae0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7fb6ef5e6548) 0
+ QBasicMutex (0x0x7fb6ef2ec780) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7fb6ef2ec9c0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7fb6ef2ece40) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7fb6ef314480) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7fb6ef314660) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7fb6ef38ae40) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7fb6ef449180) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7fb6ef3bbb60) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7fb6ef449120) 0
+ primary-for QFutureWatcherBase (0x0x7fb6ef3bbb60)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7fb6ef0764e0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7fb6ef0793a8) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7fb6ef079410) 0
+ primary-for QHistoryState (0x0x7fb6ef0793a8)
+ QObject (0x0x7fb6ef076480) 0
+ primary-for QAbstractState (0x0x7fb6ef079410)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7fb6ef0767e0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7fb6ef079478) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fb6ef0794e0) 0
+ primary-for QIdentityProxyModel (0x0x7fb6ef079478)
+ QAbstractItemModel (0x0x7fb6ef079548) 0
+ primary-for QAbstractProxyModel (0x0x7fb6ef0794e0)
+ QObject (0x0x7fb6ef076780) 0
+ primary-for QAbstractItemModel (0x0x7fb6ef079548)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7fb6ef0769c0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7fb6ef15c300) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7fb6ef148ea0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7fb6ef15c2a0) 0
+ primary-for QItemSelectionModel (0x0x7fb6ef148ea0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7fb6ef19f068) 0
+ QList<QItemSelectionRange> (0x0x7fb6ef19f0d0) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7fb6ef15cde0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7fb6ef209720) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7fb6eef5b900) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7fb6eefac8a0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7fb6eefacb40) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7fb6eeff0ea0) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7fb6eeff0f00) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7fb6eeff0e40) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7fb6eed1ede0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7fb6eed1ee40) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7fb6eed8e660) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7fb6eed8e6c0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7fb6eed8e600) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7fb6eeaa2a20) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7fb6eeaae138) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7fb6eeaa29c0) 0
+ primary-for QLibrary (0x0x7fb6eeaae138)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7fb6eeae68a0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7fb6eeae63c0) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7fb6eeba2000) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7fb6eeba2060) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7fb6eebefe40) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7fb6ee88a000) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7fb6ee8f23c0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7fb6ee96c660) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7fb6eea0f7e0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7fb6eea0fa20) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7fb6eea0f9c0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7fb6eea0fe40) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7fb6ee6c5d80) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7fb6ee52f5a0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7fb6ee52f600) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7fb6ee59be40) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7fb6ee5fb0c0) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7fb6ee5fb1e0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7fb6ee63b780) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7fb6ee62ed68) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7fb6ee63b720) 0
+ primary-for QMimeData (0x0x7fb6ee62ed68)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7fb6ee63b960) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7fb6ee296a80) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7fb6ee296b40) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7fb6ee2ab0d0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7fb6ee296ae0) 0
+ primary-for QObjectCleanupHandler (0x0x7fb6ee2ab0d0)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7fb6ee296c60) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7fb6ee327420) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7fb6ee320958) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7fb6ee3209c0) 0
+ primary-for QParallelAnimationGroup (0x0x7fb6ee320958)
+ QAbstractAnimation (0x0x7fb6ee320a28) 0
+ primary-for QAnimationGroup (0x0x7fb6ee3209c0)
+ QObject (0x0x7fb6ee3273c0) 0
+ primary-for QAbstractAnimation (0x0x7fb6ee320a28)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7fb6ee327660) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7fb6ee320a90) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7fb6ee320af8) 0
+ primary-for QPauseAnimation (0x0x7fb6ee320a90)
+ QObject (0x0x7fb6ee327600) 0
+ primary-for QAbstractAnimation (0x0x7fb6ee320af8)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7fb6ee35b2a0) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7fb6ee39a420) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7fb6ee38be38) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7fb6ee39a3c0) 0
+ primary-for QPluginLoader (0x0x7fb6ee38be38)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7fb6ee39a540) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7fb6ee3fbba0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7fb6ee3fca90) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7fb6ee3fcaf8) 0
+ primary-for QProcess (0x0x7fb6ee3fca90)
+ QObject (0x0x7fb6ee3fbb40) 0
+ primary-for QIODevice (0x0x7fb6ee3fcaf8)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7fb6ee4382a0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7fb6ee3fcb60) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7fb6ee3fcbc8) 0
+ primary-for QVariantAnimation (0x0x7fb6ee3fcb60)
+ QObject (0x0x7fb6ee438240) 0
+ primary-for QAbstractAnimation (0x0x7fb6ee3fcbc8)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7fb6ee438540) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7fb6ee3fcc98) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7fb6ee3fcd00) 0
+ primary-for QPropertyAnimation (0x0x7fb6ee3fcc98)
+ QAbstractAnimation (0x0x7fb6ee3fcd68) 0
+ primary-for QVariantAnimation (0x0x7fb6ee3fcd00)
+ QObject (0x0x7fb6ee4384e0) 0
+ primary-for QAbstractAnimation (0x0x7fb6ee3fcd68)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7fb6ee0bfc60) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7fb6ee1ba9c0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7fb6ee1ba960) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7fb6edfb8720) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7fb6edde43c0) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7fb6edde4360) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7fb6ede56a28) 0
+ QRandomGenerator (0x0x7fb6ed9e8ea0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7fb6eda0da80) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7fb6eda0dd20) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7fb6eda8f240) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7fb6eda8f720) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7fb6edafb540) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7fb6edb734e0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7fb6ed82d540) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7fb6ed8ea660) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7fb6ed8ea900) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7fb6ed8a3410) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7fb6ed8a3478) 0
+ primary-for QSaveFile (0x0x7fb6ed8a3410)
+ QIODevice (0x0x7fb6ed8a34e0) 0
+ primary-for QFileDevice (0x0x7fb6ed8a3478)
+ QObject (0x0x7fb6ed8ea8a0) 0
+ primary-for QIODevice (0x0x7fb6ed8a34e0)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7fb6ed8eaf00) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7fb6ed9430c0) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7fb6ed646360) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7fb6ed647208) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7fb6ed647270) 0
+ primary-for QSequentialAnimationGroup (0x0x7fb6ed647208)
+ QAbstractAnimation (0x0x7fb6ed6472d8) 0
+ primary-for QAnimationGroup (0x0x7fb6ed647270)
+ QObject (0x0x7fb6ed646300) 0
+ primary-for QAbstractAnimation (0x0x7fb6ed6472d8)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7fb6ed6465a0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7fb6ed647340) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7fb6ed646540) 0
+ primary-for QSettings (0x0x7fb6ed647340)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7fb6ed646a20) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7fb6ed6473a8) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7fb6ed6469c0) 0
+ primary-for QSharedMemory (0x0x7fb6ed6473a8)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7fb6ed646c60) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7fb6ed647410) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7fb6ed646c00) 0
+ primary-for QSignalMapper (0x0x7fb6ed647410)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7fb6ed646ea0) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7fb6ed647478) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7fb6ed6474e0) 0
+ primary-for QSignalTransition (0x0x7fb6ed647478)
+ QObject (0x0x7fb6ed646e40) 0
+ primary-for QAbstractTransition (0x0x7fb6ed6474e0)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7fb6ed6ad180) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7fb6ed647548) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7fb6ed6ad120) 0
+ primary-for QSocketNotifier (0x0x7fb6ed647548)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7fb6ed6ad3c0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7fb6ed6475b0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fb6ed647618) 0
+ primary-for QSortFilterProxyModel (0x0x7fb6ed6475b0)
+ QAbstractItemModel (0x0x7fb6ed647680) 0
+ primary-for QAbstractProxyModel (0x0x7fb6ed647618)
+ QObject (0x0x7fb6ed6ad360) 0
+ primary-for QAbstractItemModel (0x0x7fb6ed647680)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7fb6ed6ad7e0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7fb6ed71b120) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7fb6ed647820) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7fb6ed647888) 0
+ primary-for QState (0x0x7fb6ed647820)
+ QObject (0x0x7fb6ed71b0c0) 0
+ primary-for QAbstractState (0x0x7fb6ed647888)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7fb6ed71b5a0) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7fb6ed647a28) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7fb6ed71b600) 0
+ primary-for QStateMachine::SignalEvent (0x0x7fb6ed647a28)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7fb6ed647a90) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7fb6ed71b660) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7fb6ed647a90)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7fb6ed6478f0) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7fb6ed647958) 0
+ primary-for QStateMachine (0x0x7fb6ed6478f0)
+ QAbstractState (0x0x7fb6ed6479c0) 0
+ primary-for QState (0x0x7fb6ed647958)
+ QObject (0x0x7fb6ed71b540) 0
+ primary-for QAbstractState (0x0x7fb6ed6479c0)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7fb6ed71ba20) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7fb6ed7cda20) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7fb6ed455d80) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7fb6ed443bc8) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7fb6ed443c30) 0
+ primary-for QStringListModel (0x0x7fb6ed443bc8)
+ QAbstractItemModel (0x0x7fb6ed443c98) 0
+ primary-for QAbstractListModel (0x0x7fb6ed443c30)
+ QObject (0x0x7fb6ed455d20) 0
+ primary-for QAbstractItemModel (0x0x7fb6ed443c98)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7fb6ed455ea0) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7fb6ed455f60) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7fb6ed49d0c0) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7fb6ed443d00) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7fb6ed443d68) 0
+ primary-for QTemporaryFile (0x0x7fb6ed443d00)
+ QFileDevice (0x0x7fb6ed443dd0) 0
+ primary-for QFile (0x0x7fb6ed443d68)
+ QIODevice (0x0x7fb6ed443e38) 0
+ primary-for QFileDevice (0x0x7fb6ed443dd0)
+ QObject (0x0x7fb6ed49d060) 0
+ primary-for QIODevice (0x0x7fb6ed443e38)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7fb6ed49d420) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7fb6ed49dc60) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7fb6ed49dc00) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7fb6ed513660) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7fb6ed513840) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7fb6ed513a20) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7fb6ed4f9068) 0
+ std::__mutex_base (0x0x7fb6ed513a80) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7fb6ed513c60) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7fb6ed513cc0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7fb6ed513d20) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7fb6ed568780) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7fb6ed4f90d0) 0
+ std::__recursive_mutex_base (0x0x7fb6ed5687e0) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7fb6ed526ee0) 0
+ std::__mutex_base (0x0x7fb6ed568ba0) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7fb6ed568c00) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7fb6ed593230) 0
+ std::__recursive_mutex_base (0x0x7fb6ed568f60) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7fb6ed59d000) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7fb6ed59d720) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7fb6ed4f9208) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7fb6ed59dc60) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7fb6ed4f9208)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7fb6ed4f9270) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7fb6ed59dd80) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7fb6ed4f9270)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7fb6ed4f92d8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7fb6ed59dea0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7fb6ed4f92d8)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7fb6ed4f93a8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7fb6ed5d6000) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7fb6ed4f93a8)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7fb6ed1f9060) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7fb6ed1f9360) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7fb6ed1f9660) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7fb6ed1f99c0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7fb6ed4f9410) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7fb6ed274ba0) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7fb6ed4f9410)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7fb6ed2d9b40) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7fb6ed2d9f60) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7fb6ed01ade0) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7fb6ed07d2a0) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7fb6ed07d300) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7fb6ed07d240) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7fb6ecf0d6c0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7fb6ecf0da80) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7fb6ecf0dae0) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7fb6ecc9dde0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7fb6ecca3c98) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7fb6ecca3d00) 0
+ primary-for std::future_error (0x0x7fb6ecca3c98)
+ std::exception (0x0x7fb6eccc9540) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fb6ecca3d00)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7fb6eccc9c60) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7fb6eccc9c00) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7fb6ecace3c0) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7fb6ecaca548) 0
+ std::__at_thread_exit_elt (0x0x7fb6ecace480) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7fb6eccc9de0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7fb6eccc9ba0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7fb6ec25d270) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7fb6ec281480) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7fb6ec25d270)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7fb6ec281d20) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7fb6ec25d5b0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7fb6ec281cc0) 0
+ primary-for QThread (0x0x7fb6ec25d5b0)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7fb6ec2c1120) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7fb6ec25d618) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7fb6ec2c10c0) 0
+ primary-for QThreadPool (0x0x7fb6ec25d618)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7fb6ec2c1300) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7fb6ec2c19c0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7fb6ec25d680) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7fb6ec2c1960) 0
+ primary-for QTimeLine (0x0x7fb6ec25d680)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7fb6ec2c1c00) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7fb6ec25d6e8) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7fb6ec2c1ba0) 0
+ primary-for QTimer (0x0x7fb6ec25d6e8)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7fb6ec3355a0) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7fb6ec335540) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7fb6ec3d4660) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7fb6ec3c3dd0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7fb6ec3d4600) 0
+ primary-for QTranslator (0x0x7fb6ec3c3dd0)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7fb6ec3d48a0) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7fb6ec3c3e38) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7fb6ec3c3ea0) 0
+ primary-for QTransposeProxyModel (0x0x7fb6ec3c3e38)
+ QAbstractItemModel (0x0x7fb6ec3c3f08) 0
+ primary-for QAbstractProxyModel (0x0x7fb6ec3c3ea0)
+ QObject (0x0x7fb6ec3d4840) 0
+ primary-for QAbstractItemModel (0x0x7fb6ec3c3f08)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7fb6ec3d4a80) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7fb6ec07b480) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7fb6ec07b5a0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7fb6ec10a960) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7fb6ec17c5b0) 0
+ QVector<QXmlStreamAttribute> (0x0x7fb6ec1840c0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7fb6ec1843c0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7fb6ebe0a360) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7fb6ebe69360) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7fb6ebed2420) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7fb6ebed2480) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7fb6ebf2e360) 0
+
+Class QAbstractItemModelTester::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModelTester::QPrivateSignal (0x0x7fb6ebf2e5a0) 0 empty
+
+Vtable for QAbstractItemModelTester
+QAbstractItemModelTester::_ZTV24QAbstractItemModelTester: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractItemModelTester)
+16 (int (*)(...))QAbstractItemModelTester::metaObject
+24 (int (*)(...))QAbstractItemModelTester::qt_metacast
+32 (int (*)(...))QAbstractItemModelTester::qt_metacall
+40 (int (*)(...))QAbstractItemModelTester::~QAbstractItemModelTester
+48 (int (*)(...))QAbstractItemModelTester::~QAbstractItemModelTester
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAbstractItemModelTester
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModelTester (0x0x7fb6ebf2d270) 0
+ vptr=((& QAbstractItemModelTester::_ZTV24QAbstractItemModelTester) + 16)
+ QObject (0x0x7fb6ebf2e540) 0
+ primary-for QAbstractItemModelTester (0x0x7fb6ebf2d270)
+
+Class QTest::QBenchmarkIterationController
+ size=4 align=4
+ base size=4 base align=4
+QTest::QBenchmarkIterationController (0x0x7fb6ebf2e7e0) 0
+
+Class QTestEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTestEventLoop::QPrivateSignal (0x0x7fb6ebf2e8a0) 0 empty
+
+Vtable for QTestEventLoop
+QTestEventLoop::_ZTV14QTestEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTestEventLoop)
+16 (int (*)(...))QTestEventLoop::metaObject
+24 (int (*)(...))QTestEventLoop::qt_metacast
+32 (int (*)(...))QTestEventLoop::qt_metacall
+40 (int (*)(...))QTestEventLoop::~QTestEventLoop
+48 (int (*)(...))QTestEventLoop::~QTestEventLoop
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTestEventLoop::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTestEventLoop
+ size=32 align=8
+ base size=32 base align=8
+QTestEventLoop (0x0x7fb6ebf2d2d8) 0
+ vptr=((& QTestEventLoop::_ZTV14QTestEventLoop) + 16)
+ QObject (0x0x7fb6ebf2e840) 0
+ primary-for QTestEventLoop (0x0x7fb6ebf2d2d8)
+
+Vtable for QSignalSpy
+QSignalSpy::_ZTV10QSignalSpy: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSignalSpy)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QSignalSpy::qt_metacall
+40 (int (*)(...))QSignalSpy::~QSignalSpy
+48 (int (*)(...))QSignalSpy::~QSignalSpy
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalSpy
+ size=80 align=8
+ base size=73 base align=8
+QSignalSpy (0x0x7fb6ebf96e00) 0
+ vptr=((& QSignalSpy::_ZTV10QSignalSpy) + 16)
+ QObject (0x0x7fb6ebf80e40) 0
+ primary-for QSignalSpy (0x0x7fb6ebf96e00)
+ QList<QList<QVariant> > (0x0x7fb6ebfa32d8) 16
+ QListSpecialMethods<QList<QVariant> > (0x0x7fb6ebf80ea0) 16 empty
+
+Class QTestData
+ size=8 align=8
+ base size=8 base align=8
+QTestData (0x0x7fb6ebc7c2a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6ebd49540) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6ebd498a0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6ebd49a80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6ebd49de0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6ebd82000) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6ebd82360) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6ebd82540) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6ebd828a0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6ebd82a80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6ebd82de0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6ebdba000) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6ebdba360) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6ebdba540) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6ebdba8a0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6ebdbaa80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6ebdbade0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6eb914300) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6eb914660) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6eb9147e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6eb914b40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6eb914cc0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6eb949060) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6eb9491e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6eb949540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6eb9496c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6eb949a20) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6eb949ba0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6eb949f00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6eb97a0c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6eb97a420) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fb6eb97a5a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fb6eb97a900) 0 empty
+
diff --git a/tests/auto/bic/data/QtWidgets.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtWidgets.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..1033bac08c
--- /dev/null
+++ b/tests/auto/bic/data/QtWidgets.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,19561 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f8bbfb75600) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f8bbfbcbd80) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f8bbfbf3000) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f8bbfbf3240) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f8bbfbf3480) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f8bbfbf3600) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f8bbfbf39c0) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7f8bbfc31ae0) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f8bbfcb41e0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f8bbfcb42a0) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7f8bbfcb4660) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7f8bbfcb46c0) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7f8bbfcb4720) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7f8bbfcb4780) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7f8bbfcb47e0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f8bbfcb48a0) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f8bbfcb4960) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f8bbfcb4a20) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f8bbfcb4ae0) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f8bbfcb4e40) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7f8bbfcf01e0) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f8bbfcf0240) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7f8bbfcf07e0) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f8bbfcf0e40) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7f8bbfce76e8) 0 empty
+ std::__nonesuch (0x0x7f8bbfd39360) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f8bbfd83cc0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f8bbfd83d20) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f8bbf3e1a20) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f8bbf3e1a80) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f8bbfce7bc8) 0 empty
+ std::input_iterator_tag (0x0x7f8bbf3e1ae0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f8bbfce7c30) 0 empty
+ std::forward_iterator_tag (0x0x7f8bbfce7c98) 0 empty
+ std::input_iterator_tag (0x0x7f8bbf3e1b40) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f8bbfce7d00) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f8bbfce7d68) 0 empty
+ std::forward_iterator_tag (0x0x7f8bbfce7dd0) 0 empty
+ std::input_iterator_tag (0x0x7f8bbf3e1ba0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f8bbf4926c0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f8bbf4927e0) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f8bbf492ae0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f8bbf492de0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f8bbf492f00) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f8bbf54e240) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f8bbf54e540) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f8bbf54e5a0) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7f8bbf54e660) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f8bbf54e6c0) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7f8bbf54e720) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7f8bbf54e780) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f8bbf54ea20) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f8bbf54ecc0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f8bbf54ed20) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f8bbf5afae0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f8bbf44b138) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7f8bbf5afcc0) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f8bbf44b138)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f8bbf5afea0) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f8bbf44b1a0) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7f8bbf24e2a0) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f8bbf44b1a0)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f8bbf44b208) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7f8bbf24e480) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f8bbf44b208)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f8bbf24e660) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f8bbf24ec00) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f8bbf44b270) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7f8bbf27f300) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f8bbf44b270)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f8bbf44b2d8) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7f8bbf44b340) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f8bbf44b2d8)
+ std::exception (0x0x7f8bbf27f4e0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f8bbf44b340)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f8bbf27f6c0) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7f8bbf27f8a0) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f8bbf2f7d80) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f8bbf0d5840) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f8bbf0d5900) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f8bbef972a0) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f8bbef973c0) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f8bbef97720) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f8bbef97c60) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f8bbec0f420) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f8bbeca5840) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f8bbec541a0) 0
+ std::__atomic_flag_base (0x0x7f8bbeca58a0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f8bbec548f0) 0
+ QAtomicInteger<int> (0x0x7f8bbec54958) 0
+ QBasicAtomicInteger<int> (0x0x7f8bbe7d8840) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f8bbe3f4b40) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f8bbe462120) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f8bbe462840) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f8bbe42b4e0) 0
+ QGenericArgument (0x0x7f8bbe462ae0) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f8bbe462f00) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f8bbe4c0360) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f8bbe529e40) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f8bbe54b120) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f8bbe1f8f00) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f8bbe2182a0) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f8bbe27d5a0) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f8bbe32dde0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f8bbe32dea0) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f8bbe020000) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f8bbe0200c0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f8bbe020120) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f8bbe020180) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f8bbe0201e0) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f8bbe020300) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f8bbe020360) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f8bbe161300) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f8bbe161360) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f8bbdf193c0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f8bbdf19540) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f8bbdc946c0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f8bbdc94a80) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f8bbdc94d20) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f8bbdc94f00) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f8bbdcedf00) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f8bbdcf0478) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7f8bbdd38000) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f8bbdcf0478)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f8bbdcf04e0) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7f8bbdcf0548) 0
+ primary-for std::domain_error (0x0x7f8bbdcf04e0)
+ std::exception (0x0x7f8bbdd38060) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f8bbdcf0548)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f8bbdcf05b0) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7f8bbdcf0618) 0
+ primary-for std::invalid_argument (0x0x7f8bbdcf05b0)
+ std::exception (0x0x7f8bbdd380c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f8bbdcf0618)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f8bbdcf0680) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7f8bbdcf06e8) 0
+ primary-for std::length_error (0x0x7f8bbdcf0680)
+ std::exception (0x0x7f8bbdd38120) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f8bbdcf06e8)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f8bbdcf0750) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7f8bbdcf07b8) 0
+ primary-for std::out_of_range (0x0x7f8bbdcf0750)
+ std::exception (0x0x7f8bbdd38180) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f8bbdcf07b8)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f8bbdcf0820) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7f8bbdd381e0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f8bbdcf0820)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f8bbdcf0888) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7f8bbdcf08f0) 0
+ primary-for std::range_error (0x0x7f8bbdcf0888)
+ std::exception (0x0x7f8bbdd38240) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f8bbdcf08f0)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f8bbdcf0958) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7f8bbdcf09c0) 0
+ primary-for std::overflow_error (0x0x7f8bbdcf0958)
+ std::exception (0x0x7f8bbdd382a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f8bbdcf09c0)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f8bbdcf0a28) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7f8bbdcf0a90) 0
+ primary-for std::underflow_error (0x0x7f8bbdcf0a28)
+ std::exception (0x0x7f8bbdd38300) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f8bbdcf0a90)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f8bbdd38480) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f8bbdd387e0) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f8bbdd83060) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f8bbdcf0ea0) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7f8bbdcf0f08) 0
+ primary-for std::system_error (0x0x7f8bbdcf0ea0)
+ std::exception (0x0x7f8bbdd83c00) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f8bbdcf0f08)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f8bbddc81a0) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7f8bbddc8208) 0
+ primary-for std::ios_base::failure (0x0x7f8bbddc81a0)
+ std::runtime_error (0x0x7f8bbddc8270) 0
+ primary-for std::system_error (0x0x7f8bbddc8208)
+ std::exception (0x0x7f8bbd9de1e0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f8bbddc8270)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f8bbd9de240) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f8bbd9de2a0) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f8bbd9de300) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f8bbd9de180) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f8bbdaafc00) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f8bbdb59de0) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7f8bbd722958 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7f8bbd722a28 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f8bbd7626e8 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f8bbd7627b8 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f8bbd78f780) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f8bbd78f7e0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f8bbd4baba0) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f8bbd55ea20) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f8bbd55eea0) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f8bbd231c60) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f8bbd2d16c0) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f8bbd2d1660) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f8bbd0b0840) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f8bbce530c0) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f8bbcc6d3c0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f8bbcc6d480) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f8bbcd2c960) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f8bbcee3af8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f8bbcd4e0c0) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f8bbcee3c30) 0
+ std::_Bit_iterator_base (0x0x7f8bbcee3c98) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f8bbcd4e720) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f8bbcee3d00) 0
+ std::_Bit_iterator_base (0x0x7f8bbcee3d68) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f8bbcd4ef00) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f8bbcb675a0) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f8bbc830360) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f8bbc8303c0) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f8bbc9f4820) 0 empty
+ QListData::NotIndirectLayout (0x0x7f8bbc830420) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f8bbc82a070) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f8bbc830480) 0 empty
+ QListData::NotIndirectLayout (0x0x7f8bbc8304e0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f8bbc9f4888) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f8bbc830540) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f8bbc8305a0) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f8bbc830300) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f8bbc922780) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f8bbc5fdde0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f8bbc5fdd80) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f8bbc60f548) 0
+ QList<QString> (0x0x7f8bbc60f5b0) 0
+ QListSpecialMethods<QString> (0x0x7f8bbc62a060) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f8bbc6b8ba0) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f8bbc74dcc0) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7f8bbc76f060) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7f8bbc54a600) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f8bbc54a660) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f8bbc54a7e0) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f8bbc54a8a0) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f8bbc4d68f0) 0
+ std::__uses_alloc_base (0x0x7f8bbc54a840) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f8bbc2adc00) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f8bbc3760c0) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f8bbc376420) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f8bbc376960) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f8bbc376ea0) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f8bbbfff0c0) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f8bbbfff780) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f8bbc09a600) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f8bbc0edcc0) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f8bbc169240) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f8bbbc37060) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f8bbbd32ae0) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f8bbbd32b40) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f8bbbd32d20) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f8bbbd32cc0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f8bbba0cb40) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f8bbba0ccc0) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f8bbba2e5a0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f8bbb9edaf8) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7f8bbba2e540) 0
+ primary-for QAbstractAnimation (0x0x7f8bbb9edaf8)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f8bbba2e960) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f8bbb9edb60) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7f8bbba2e900) 0
+ primary-for QAnimationDriver (0x0x7f8bbb9edb60)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f8bbba2eba0) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f8bbb9edbc8) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7f8bbba2eb40) 0
+ primary-for QEventLoop (0x0x7f8bbb9edbc8)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f8bbba84480) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f8bbba84540) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f8bbba845a0) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f8bbb9edd00) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7f8bbba844e0) 0
+ primary-for QAbstractEventDispatcher (0x0x7f8bbb9edd00)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f8bbbb1c680) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7f8bbbb13c00) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f8bbbb1c680)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f8bbbb13cc0) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f8bbbb13d20) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f8bbbb47060) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f8bbb945000) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f8bbb945c60) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f8bbb63a600) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f8bbb63a5a0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f8bbb63a8a0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f8bbb746e40) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f8bbb746f00) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f8bbb746ea0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f8bbb746f60) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f8bbb746de0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f8bbb4be240) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f8bbb5018a0) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f8bbb501840) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f8bbb5019c0) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f8bbb501960) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f8bbb5cfb40) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f8bbb23f780) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f8bbb30d5a0) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f8bbb313270) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7f8bbb30d540) 0
+ primary-for QAbstractItemModel (0x0x7f8bbb313270)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f8bbb3c9960) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f8bbb313888) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7f8bbb3138f0) 0
+ primary-for QAbstractTableModel (0x0x7f8bbb313888)
+ QObject (0x0x7f8bbb3c9900) 0
+ primary-for QAbstractItemModel (0x0x7f8bbb3138f0)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f8bbb3c9ae0) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f8bbb313958) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7f8bbb3139c0) 0
+ primary-for QAbstractListModel (0x0x7f8bbb313958)
+ QObject (0x0x7f8bbb3c9a80) 0
+ primary-for QAbstractItemModel (0x0x7f8bbb3139c0)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f8bbb00a240) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f8bbb00a300) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f8bbb313a90) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7f8bbb313af8) 0
+ primary-for QAbstractProxyModel (0x0x7f8bbb313a90)
+ QObject (0x0x7f8bbb00a2a0) 0
+ primary-for QAbstractItemModel (0x0x7f8bbb313af8)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f8bbb00a540) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f8bbb313b60) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7f8bbb00a4e0) 0
+ primary-for QAbstractState (0x0x7f8bbb313b60)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f8bbb00a780) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f8bbb313bc8) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7f8bbb00a720) 0
+ primary-for QAbstractTransition (0x0x7f8bbb313bc8)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f8bbb00aa80) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f8bbb313c30) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7f8bbb313c98) 0
+ primary-for QAnimationGroup (0x0x7f8bbb313c30)
+ QObject (0x0x7f8bbb00aa20) 0
+ primary-for QAbstractAnimation (0x0x7f8bbb313c98)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f8bbb0b5de0) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f8bbb1141e0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f8bbb172660) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f8bbb1bca20) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f8bbb1c9208) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7f8bbb1bc9c0) 0
+ primary-for QIODevice (0x0x7f8bbb1c9208)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f8bbae093c0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f8bbb1c9340) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7f8bbb1c93a8) 0
+ primary-for QBuffer (0x0x7f8bbb1c9340)
+ QObject (0x0x7f8bbae09360) 0
+ primary-for QIODevice (0x0x7f8bbb1c93a8)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f8bbae09660) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f8bbae09600) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f8bbae097e0) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f8bbae09780) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f8bbae566c0) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f8bbae97660) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f8bbaeeaf00) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f8bbaf55ba0) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f8bbaf55c00) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f8bbaf55b40) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f8bbac44300) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f8bbad438a0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f8bbada8180) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f8bbaa19c60) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f8bbaa62900) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f8bbaa62a80) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f8bbab216c0) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f8bbab21660) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f8bba8c4720) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f8bba8c47e0) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f8bba943ae0) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f8bba9732a0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f8bba629180) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f8bba662f00) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f8bba6e4960) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f8bba426900) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f8bba4b2480) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f8bba4b2540) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f8bba327540) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f8bba399f60) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f8bba3cc000) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f8bba399f00) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f8bba0b19c0) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f8bba0b1a20) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f8bba0b1960) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f8bb9ec9180) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f8bb9f86120) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f8bb9f86e40) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f8bb9c1bf60) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f8bb9c3a180) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f8bb9d34720) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f8bb9d8be40) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f8bb9d8d548) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7f8bb9dce240) 0
+ primary-for QTimerEvent (0x0x7f8bb9d8d548)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f8bb9d8d5b0) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7f8bb9dce300) 0
+ primary-for QChildEvent (0x0x7f8bb9d8d5b0)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f8bb9d8daf8) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7f8bb9dce960) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f8bb9d8daf8)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f8bb9d8db60) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7f8bb9dcea20) 0
+ primary-for QDeferredDeleteEvent (0x0x7f8bb9d8db60)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f8bb9dceb40) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f8bb9d8dbc8) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7f8bb9dceae0) 0
+ primary-for QCoreApplication (0x0x7f8bb9d8dbc8)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f8bb9dced80) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f8bb9dcef00) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7f8bb9d8dc30) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7f8bb9d8dc98) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7f8bb9d8dc30)
+ QObject (0x0x7f8bb9dceea0) 0
+ primary-for QAbstractItemModel (0x0x7f8bb9d8dc98)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f8bb9a30120) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f8bb9a30240) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f8bb9a303c0) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f8bb9a8eae0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f8bb9ac0240) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f8bb97dcf60) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f8bb97deea0) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7f8bb97def08) 0
+ primary-for QFileDevice (0x0x7f8bb97deea0)
+ QObject (0x0x7f8bb97dcf00) 0
+ primary-for QIODevice (0x0x7f8bb97def08)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f8bb98158a0) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f8bb981c068) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7f8bb981c0d0) 0
+ primary-for QFile (0x0x7f8bb981c068)
+ QIODevice (0x0x7f8bb981c138) 0
+ primary-for QFileDevice (0x0x7f8bb981c0d0)
+ QObject (0x0x7f8bb9815840) 0
+ primary-for QIODevice (0x0x7f8bb981c138)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f8bb9815f00) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f8bb98c7300) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f8bb9976660) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f8bb9976de0) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f8bb96aef00) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f8bb968b3a8) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7f8bb968b410) 0
+ primary-for QEventTransition (0x0x7f8bb968b3a8)
+ QObject (0x0x7f8bb96aeea0) 0
+ primary-for QAbstractTransition (0x0x7f8bb968b410)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f8bb968b478) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7f8bb96e4120) 0 nearly-empty
+ primary-for QException (0x0x7f8bb968b478)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f8bb968b4e0) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7f8bb968b548) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f8bb968b4e0)
+ std::exception (0x0x7f8bb96e4180) 0 nearly-empty
+ primary-for QException (0x0x7f8bb968b548)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f8bb96e41e0) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f8bb96e42a0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f8bb96e4300) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f8bb96e4540) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f8bb968b5b0) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7f8bb96e44e0) 0
+ primary-for QFileSelector (0x0x7f8bb968b5b0)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f8bb96e4780) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f8bb968b618) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7f8bb96e4720) 0
+ primary-for QFileSystemWatcher (0x0x7f8bb968b618)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f8bb96e49c0) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f8bb968b680) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7f8bb968b6e8) 0
+ primary-for QFinalState (0x0x7f8bb968b680)
+ QObject (0x0x7f8bb96e4960) 0
+ primary-for QAbstractState (0x0x7f8bb968b6e8)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f8bb96e4ba0) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f8bb96e4e40) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f8bb968b7b8) 0
+ QBasicMutex (0x0x7f8bb9760ae0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f8bb9760d20) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f8bb97b71e0) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f8bb97b77e0) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f8bb97b79c0) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f8bb94481e0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f8bb94ed4e0) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f8bb9449dd0) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7f8bb94ed480) 0
+ primary-for QFutureWatcherBase (0x0x7f8bb9449dd0)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f8bb9518840) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f8bb9507618) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7f8bb9507680) 0
+ primary-for QHistoryState (0x0x7f8bb9507618)
+ QObject (0x0x7f8bb95187e0) 0
+ primary-for QAbstractState (0x0x7f8bb9507680)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f8bb9518b40) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f8bb95076e8) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f8bb9507750) 0
+ primary-for QIdentityProxyModel (0x0x7f8bb95076e8)
+ QAbstractItemModel (0x0x7f8bb95077b8) 0
+ primary-for QAbstractProxyModel (0x0x7f8bb9507750)
+ QObject (0x0x7f8bb9518ae0) 0
+ primary-for QAbstractItemModel (0x0x7f8bb95077b8)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f8bb9518d20) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f8bb91fe660) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f8bb9205138) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7f8bb91fe600) 0
+ primary-for QItemSelectionModel (0x0x7f8bb9205138)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f8bb92052d8) 0
+ QList<QItemSelectionRange> (0x0x7f8bb9205340) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f8bb9249180) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f8bb92aca80) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f8bb8ffbc60) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f8bb9038c00) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f8bb9038ea0) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f8bb90b0240) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f8bb90b02a0) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f8bb90b01e0) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f8bb8ddf180) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f8bb8ddf1e0) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f8bb8e329c0) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f8bb8e32a20) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f8bb8e32960) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f8bb8f3dd80) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f8bb8f503a8) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7f8bb8f3dd20) 0
+ primary-for QLibrary (0x0x7f8bb8f503a8)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f8bb8f6fc00) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f8bb8f6f720) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f8bb8c3f360) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f8bb8c3f3c0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f8bb8cb81e0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f8bb8d27360) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f8bb8d92720) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f8bb8a0a9c0) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f8bb8ab1b40) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f8bb8ab1d80) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f8bb8ab1d20) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f8bb8b1e1e0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f8bb8b9e120) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f8bb85d1900) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f8bb85d1960) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f8bb865b1e0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f8bb869d420) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f8bb869d540) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f8bb86d9ae0) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f8bb86f0000) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7f8bb86d9a80) 0
+ primary-for QMimeData (0x0x7f8bb86f0000)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f8bb86d9cc0) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f8bb8739de0) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f8bb8739ea0) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f8bb874f340) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7f8bb8739e40) 0
+ primary-for QObjectCleanupHandler (0x0x7f8bb874f340)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f8bb8768000) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f8bb87c9780) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f8bb87c0bc8) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f8bb87c0c30) 0
+ primary-for QParallelAnimationGroup (0x0x7f8bb87c0bc8)
+ QAbstractAnimation (0x0x7f8bb87c0c98) 0
+ primary-for QAnimationGroup (0x0x7f8bb87c0c30)
+ QObject (0x0x7f8bb87c9720) 0
+ primary-for QAbstractAnimation (0x0x7f8bb87c0c98)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f8bb87c99c0) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f8bb87c0d00) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7f8bb87c0d68) 0
+ primary-for QPauseAnimation (0x0x7f8bb87c0d00)
+ QObject (0x0x7f8bb87c9960) 0
+ primary-for QAbstractAnimation (0x0x7f8bb87c0d68)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f8bb83f9600) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f8bb843e780) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f8bb84490d0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7f8bb843e720) 0
+ primary-for QPluginLoader (0x0x7f8bb84490d0)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f8bb843e8a0) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f8bb849af00) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f8bb849dd00) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7f8bb849dd68) 0
+ primary-for QProcess (0x0x7f8bb849dd00)
+ QObject (0x0x7f8bb849aea0) 0
+ primary-for QIODevice (0x0x7f8bb849dd68)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f8bb84db600) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f8bb849ddd0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7f8bb849de38) 0
+ primary-for QVariantAnimation (0x0x7f8bb849ddd0)
+ QObject (0x0x7f8bb84db5a0) 0
+ primary-for QAbstractAnimation (0x0x7f8bb849de38)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f8bb84db8a0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f8bb849df08) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7f8bb849df70) 0
+ primary-for QPropertyAnimation (0x0x7f8bb849df08)
+ QAbstractAnimation (0x0x7f8bb84fb000) 0
+ primary-for QVariantAnimation (0x0x7f8bb849df70)
+ QObject (0x0x7f8bb84db840) 0
+ primary-for QAbstractAnimation (0x0x7f8bb84fb000)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f8bb8589000) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f8bb825ed20) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f8bb825ecc0) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f8bb8048a80) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f8bb7e89720) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f8bb7e896c0) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f8bb7efcc98) 0
+ QRandomGenerator (0x0x7f8bb7f2a240) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f8bb7f2ade0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f8bb7faa0c0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f8bb7faa5a0) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f8bb7faaa80) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f8bb7c1a8a0) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f8bb7c92840) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f8bb7d4c8a0) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f8bb7a059c0) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f8bb7a05c60) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f8bb7dca680) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7f8bb7dca6e8) 0
+ primary-for QSaveFile (0x0x7f8bb7dca680)
+ QIODevice (0x0x7f8bb7dca750) 0
+ primary-for QFileDevice (0x0x7f8bb7dca6e8)
+ QObject (0x0x7f8bb7a05c00) 0
+ primary-for QIODevice (0x0x7f8bb7dca750)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f8bb7a5f2a0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f8bb7a5f420) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f8bb7b6b6c0) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f8bb7b6d478) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f8bb7b6d4e0) 0
+ primary-for QSequentialAnimationGroup (0x0x7f8bb7b6d478)
+ QAbstractAnimation (0x0x7f8bb7b6d548) 0
+ primary-for QAnimationGroup (0x0x7f8bb7b6d4e0)
+ QObject (0x0x7f8bb7b6b660) 0
+ primary-for QAbstractAnimation (0x0x7f8bb7b6d548)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f8bb7b6b900) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f8bb7b6d5b0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7f8bb7b6b8a0) 0
+ primary-for QSettings (0x0x7f8bb7b6d5b0)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f8bb7b6bd80) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f8bb7b6d618) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7f8bb7b6bd20) 0
+ primary-for QSharedMemory (0x0x7f8bb7b6d618)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f8bb7bb9000) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f8bb7b6d680) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7f8bb7b6bf60) 0
+ primary-for QSignalMapper (0x0x7f8bb7b6d680)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f8bb7bb9240) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f8bb7b6d6e8) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7f8bb7b6d750) 0
+ primary-for QSignalTransition (0x0x7f8bb7b6d6e8)
+ QObject (0x0x7f8bb7bb91e0) 0
+ primary-for QAbstractTransition (0x0x7f8bb7b6d750)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f8bb7bb94e0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f8bb7b6d7b8) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7f8bb7bb9480) 0
+ primary-for QSocketNotifier (0x0x7f8bb7b6d7b8)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f8bb7bb9720) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f8bb7b6d820) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f8bb7b6d888) 0
+ primary-for QSortFilterProxyModel (0x0x7f8bb7b6d820)
+ QAbstractItemModel (0x0x7f8bb7b6d8f0) 0
+ primary-for QAbstractProxyModel (0x0x7f8bb7b6d888)
+ QObject (0x0x7f8bb7bb96c0) 0
+ primary-for QAbstractItemModel (0x0x7f8bb7b6d8f0)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f8bb7bb9b40) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f8bb7833480) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f8bb7b6da90) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7f8bb7b6daf8) 0
+ primary-for QState (0x0x7f8bb7b6da90)
+ QObject (0x0x7f8bb7833420) 0
+ primary-for QAbstractState (0x0x7f8bb7b6daf8)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f8bb7833900) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f8bb7b6dc98) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7f8bb7833960) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f8bb7b6dc98)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f8bb7b6dd00) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7f8bb78339c0) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f8bb7b6dd00)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f8bb7b6db60) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7f8bb7b6dbc8) 0
+ primary-for QStateMachine (0x0x7f8bb7b6db60)
+ QAbstractState (0x0x7f8bb7b6dc30) 0
+ primary-for QState (0x0x7f8bb7b6dbc8)
+ QObject (0x0x7f8bb78338a0) 0
+ primary-for QAbstractState (0x0x7f8bb7b6dc30)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f8bb7833d80) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f8bb78eed80) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f8bb799e120) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f8bb795fe38) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7f8bb795fea0) 0
+ primary-for QStringListModel (0x0x7f8bb795fe38)
+ QAbstractItemModel (0x0x7f8bb795ff08) 0
+ primary-for QAbstractListModel (0x0x7f8bb795fea0)
+ QObject (0x0x7f8bb799e0c0) 0
+ primary-for QAbstractItemModel (0x0x7f8bb795ff08)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f8bb799e240) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f8bb799e300) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f8bb799e420) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f8bb795ff70) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7f8bb75d0000) 0
+ primary-for QTemporaryFile (0x0x7f8bb795ff70)
+ QFileDevice (0x0x7f8bb75d0068) 0
+ primary-for QFile (0x0x7f8bb75d0000)
+ QIODevice (0x0x7f8bb75d00d0) 0
+ primary-for QFileDevice (0x0x7f8bb75d0068)
+ QObject (0x0x7f8bb799e3c0) 0
+ primary-for QIODevice (0x0x7f8bb75d00d0)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f8bb799e780) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f8bb7620000) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f8bb799ef60) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f8bb76209c0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f8bb7620ba0) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f8bb7620d80) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f8bb75d02d8) 0
+ std::__mutex_base (0x0x7f8bb7620de0) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f8bb7679000) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f8bb7679060) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f8bb76790c0) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f8bb7679ae0) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f8bb75d0340) 0
+ std::__recursive_mutex_base (0x0x7f8bb7679b40) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f8bb7662e70) 0
+ std::__mutex_base (0x0x7f8bb7679f00) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f8bb7679f60) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f8bb76bd1c0) 0
+ std::__recursive_mutex_base (0x0x7f8bb76c0300) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f8bb76c0360) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f8bb76c0a80) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f8bb75d0478) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7f8bb76f6000) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f8bb75d0478)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f8bb75d04e0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7f8bb76f6120) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f8bb75d04e0)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f8bb75d0548) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7f8bb76f6240) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f8bb75d0548)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f8bb75d0618) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7f8bb76f6360) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f8bb75d0618)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f8bb771b3c0) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f8bb771b6c0) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f8bb771b9c0) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f8bb771bd20) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f8bb75d0680) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7f8bb7795f00) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f8bb75d0680)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f8bb73f9ea0) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7f8bb7429300) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f8bb756e180) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7f8bb759c600) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f8bb759c660) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f8bb759c5a0) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f8bb702da20) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f8bb702dde0) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f8bb702de40) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f8bb6de4180) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f8bb71c8f08) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7f8bb71c8f70) 0
+ primary-for std::future_error (0x0x7f8bb71c8f08)
+ std::exception (0x0x7f8bb6de48a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f8bb71c8f70)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f8bb6e18000) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f8bb6de4f60) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f8bb6bf1720) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f8bb6bee7b8) 0
+ std::__at_thread_exit_elt (0x0x7f8bb6bf17e0) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f8bb6e18180) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f8bb6de4f00) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f8bb676f4e0) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7f8bb679b7e0) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f8bb676f4e0)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f8bb63d10c0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f8bb676f820) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7f8bb63d1060) 0
+ primary-for QThread (0x0x7f8bb676f820)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f8bb63d1480) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f8bb676f888) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7f8bb63d1420) 0
+ primary-for QThreadPool (0x0x7f8bb676f888)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f8bb63d1660) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f8bb63d1d20) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f8bb676f8f0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7f8bb63d1cc0) 0
+ primary-for QTimeLine (0x0x7f8bb676f8f0)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f8bb63d1f60) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f8bb676f958) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7f8bb63d1f00) 0
+ primary-for QTimer (0x0x7f8bb676f958)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f8bb6457900) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f8bb64578a0) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f8bb64f89c0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f8bb6505068) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7f8bb64f8960) 0
+ primary-for QTranslator (0x0x7f8bb6505068)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7f8bb64f8c00) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7f8bb65050d0) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f8bb6505138) 0
+ primary-for QTransposeProxyModel (0x0x7f8bb65050d0)
+ QAbstractItemModel (0x0x7f8bb65051a0) 0
+ primary-for QAbstractProxyModel (0x0x7f8bb6505138)
+ QObject (0x0x7f8bb64f8ba0) 0
+ primary-for QAbstractItemModel (0x0x7f8bb65051a0)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f8bb64f8de0) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f8bb659d7e0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f8bb659d900) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f8bb622bcc0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f8bb62a0820) 0
+ QVector<QXmlStreamAttribute> (0x0x7f8bb62a7420) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f8bb62a7720) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f8bb632e6c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f8bb63886c0) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f8bb5ff6780) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f8bb5ff67e0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f8bb604d6c0) 0
+
+Class QRgba64
+ size=8 align=8
+ base size=8 base align=8
+QRgba64 (0x0x7f8bb604dcc0) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x0x7f8bb6107d20) 0
+
+Class QRegion::QRegionData
+ size=16 align=8
+ base size=16 base align=8
+QRegion::QRegionData (0x0x7f8bb61b51e0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x0x7f8bb61b5180) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x0x7f8bb5e88de0) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x0x7f8bb5f75960) 0
+
+Class QTouchDevice
+ size=8 align=8
+ base size=8 base align=8
+QTouchDevice (0x0x7f8bb5be0a20) 0
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 (int (*)(...))QInputEvent::~QInputEvent
+24 (int (*)(...))QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputEvent (0x0x7f8bb5fcca90) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16)
+ QEvent (0x0x7f8bb5c2b300) 0
+ primary-for QInputEvent (0x0x7f8bb5fcca90)
+
+Vtable for QEnterEvent
+QEnterEvent::_ZTV11QEnterEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QEnterEvent)
+16 (int (*)(...))QEnterEvent::~QEnterEvent
+24 (int (*)(...))QEnterEvent::~QEnterEvent
+
+Class QEnterEvent
+ size=72 align=8
+ base size=72 base align=8
+QEnterEvent (0x0x7f8bb5fccaf8) 0
+ vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16)
+ QEvent (0x0x7f8bb5c2b4e0) 0
+ primary-for QEnterEvent (0x0x7f8bb5fccaf8)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 (int (*)(...))QMouseEvent::~QMouseEvent
+24 (int (*)(...))QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=104 align=8
+ base size=100 base align=8
+QMouseEvent (0x0x7f8bb5fccb60) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16)
+ QInputEvent (0x0x7f8bb5fccbc8) 0
+ primary-for QMouseEvent (0x0x7f8bb5fccb60)
+ QEvent (0x0x7f8bb5c2b8a0) 0
+ primary-for QInputEvent (0x0x7f8bb5fccbc8)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 (int (*)(...))QHoverEvent::~QHoverEvent
+24 (int (*)(...))QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=64 align=8
+ base size=64 base align=8
+QHoverEvent (0x0x7f8bb5fccc30) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16)
+ QInputEvent (0x0x7f8bb5fccc98) 0
+ primary-for QHoverEvent (0x0x7f8bb5fccc30)
+ QEvent (0x0x7f8bb5c2bd80) 0
+ primary-for QInputEvent (0x0x7f8bb5fccc98)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 (int (*)(...))QWheelEvent::~QWheelEvent
+24 (int (*)(...))QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=96 align=8
+ base size=96 base align=8
+QWheelEvent (0x0x7f8bb5fccd00) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16)
+ QInputEvent (0x0x7f8bb5fccd68) 0
+ primary-for QWheelEvent (0x0x7f8bb5fccd00)
+ QEvent (0x0x7f8bb5c2bf60) 0
+ primary-for QInputEvent (0x0x7f8bb5fccd68)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 (int (*)(...))QTabletEvent::~QTabletEvent
+24 (int (*)(...))QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=128 align=8
+ base size=128 base align=8
+QTabletEvent (0x0x7f8bb5fccdd0) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16)
+ QInputEvent (0x0x7f8bb5fcce38) 0
+ primary-for QTabletEvent (0x0x7f8bb5fccdd0)
+ QEvent (0x0x7f8bb5c77600) 0
+ primary-for QInputEvent (0x0x7f8bb5fcce38)
+
+Vtable for QNativeGestureEvent
+QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QNativeGestureEvent)
+16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+
+Class QNativeGestureEvent
+ size=112 align=8
+ base size=112 base align=8
+QNativeGestureEvent (0x0x7f8bb5fccea0) 0
+ vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16)
+ QInputEvent (0x0x7f8bb5fccf08) 0
+ primary-for QNativeGestureEvent (0x0x7f8bb5fccea0)
+ QEvent (0x0x7f8bb5c77f00) 0
+ primary-for QInputEvent (0x0x7f8bb5fccf08)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 (int (*)(...))QKeyEvent::~QKeyEvent
+24 (int (*)(...))QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=64 align=8
+ base size=59 base align=8
+QKeyEvent (0x0x7f8bb5fccf70) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16)
+ QInputEvent (0x0x7f8bb5cab000) 0
+ primary-for QKeyEvent (0x0x7f8bb5fccf70)
+ QEvent (0x0x7f8bb5ca7240) 0
+ primary-for QInputEvent (0x0x7f8bb5cab000)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 (int (*)(...))QFocusEvent::~QFocusEvent
+24 (int (*)(...))QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x0x7f8bb5cab068) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16)
+ QEvent (0x0x7f8bb5ca7540) 0
+ primary-for QFocusEvent (0x0x7f8bb5cab068)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 (int (*)(...))QPaintEvent::~QPaintEvent
+24 (int (*)(...))QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x0x7f8bb5cab0d0) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16)
+ QEvent (0x0x7f8bb5ca7660) 0
+ primary-for QPaintEvent (0x0x7f8bb5cab0d0)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 (int (*)(...))QMoveEvent::~QMoveEvent
+24 (int (*)(...))QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x0x7f8bb5cab138) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16)
+ QEvent (0x0x7f8bb5ca7780) 0
+ primary-for QMoveEvent (0x0x7f8bb5cab138)
+
+Vtable for QExposeEvent
+QExposeEvent::_ZTV12QExposeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QExposeEvent)
+16 (int (*)(...))QExposeEvent::~QExposeEvent
+24 (int (*)(...))QExposeEvent::~QExposeEvent
+
+Class QExposeEvent
+ size=32 align=8
+ base size=32 base align=8
+QExposeEvent (0x0x7f8bb5cab1a0) 0
+ vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16)
+ QEvent (0x0x7f8bb5ca78a0) 0
+ primary-for QExposeEvent (0x0x7f8bb5cab1a0)
+
+Vtable for QPlatformSurfaceEvent
+QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent)
+16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+
+Class QPlatformSurfaceEvent
+ size=24 align=8
+ base size=24 base align=8
+QPlatformSurfaceEvent (0x0x7f8bb5cab208) 0
+ vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16)
+ QEvent (0x0x7f8bb5ca7960) 0
+ primary-for QPlatformSurfaceEvent (0x0x7f8bb5cab208)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 (int (*)(...))QResizeEvent::~QResizeEvent
+24 (int (*)(...))QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x0x7f8bb5cab270) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16)
+ QEvent (0x0x7f8bb5ca7a20) 0
+ primary-for QResizeEvent (0x0x7f8bb5cab270)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 (int (*)(...))QCloseEvent::~QCloseEvent
+24 (int (*)(...))QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x0x7f8bb5cab2d8) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16)
+ QEvent (0x0x7f8bb5ca7b40) 0
+ primary-for QCloseEvent (0x0x7f8bb5cab2d8)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 (int (*)(...))QIconDragEvent::~QIconDragEvent
+24 (int (*)(...))QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x0x7f8bb5cab340) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16)
+ QEvent (0x0x7f8bb5ca7ba0) 0
+ primary-for QIconDragEvent (0x0x7f8bb5cab340)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 (int (*)(...))QShowEvent::~QShowEvent
+24 (int (*)(...))QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x0x7f8bb5cab3a8) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16)
+ QEvent (0x0x7f8bb5ca7c00) 0
+ primary-for QShowEvent (0x0x7f8bb5cab3a8)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 (int (*)(...))QHideEvent::~QHideEvent
+24 (int (*)(...))QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x0x7f8bb5cab410) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16)
+ QEvent (0x0x7f8bb5ca7c60) 0
+ primary-for QHideEvent (0x0x7f8bb5cab410)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=56 align=8
+ base size=49 base align=8
+QContextMenuEvent (0x0x7f8bb5cab478) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16)
+ QInputEvent (0x0x7f8bb5cab4e0) 0
+ primary-for QContextMenuEvent (0x0x7f8bb5cab478)
+ QEvent (0x0x7f8bb5ca7cc0) 0
+ primary-for QInputEvent (0x0x7f8bb5cab4e0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x0x7f8bb5cef060) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x0x7f8bb5cab548) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16)
+ QEvent (0x0x7f8bb5cef000) 0
+ primary-for QInputMethodEvent (0x0x7f8bb5cab548)
+
+Class QInputMethodQueryEvent::QueryPair
+ size=24 align=8
+ base size=24 base align=8
+QInputMethodQueryEvent::QueryPair (0x0x7f8bb5d6b3c0) 0
+
+Vtable for QInputMethodQueryEvent
+QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent)
+16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+
+Class QInputMethodQueryEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodQueryEvent (0x0x7f8bb5d67750) 0
+ vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16)
+ QEvent (0x0x7f8bb5d6b360) 0
+ primary-for QInputMethodQueryEvent (0x0x7f8bb5d67750)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 (int (*)(...))QDropEvent::~QDropEvent
+24 (int (*)(...))QDropEvent::~QDropEvent
+
+Class QDropEvent
+ size=72 align=8
+ base size=72 base align=8
+QDropEvent (0x0x7f8bb59d9820) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16)
+ QEvent (0x0x7f8bb59e7120) 0
+ primary-for QDropEvent (0x0x7f8bb59d9820)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+
+Class QDragMoveEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragMoveEvent (0x0x7f8bb59d9888) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16)
+ QDropEvent (0x0x7f8bb59d98f0) 0
+ primary-for QDragMoveEvent (0x0x7f8bb59d9888)
+ QEvent (0x0x7f8bb59e74e0) 0
+ primary-for QDropEvent (0x0x7f8bb59d98f0)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+
+Class QDragEnterEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragEnterEvent (0x0x7f8bb59d9958) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16)
+ QDragMoveEvent (0x0x7f8bb59d99c0) 0
+ primary-for QDragEnterEvent (0x0x7f8bb59d9958)
+ QDropEvent (0x0x7f8bb59d9a28) 0
+ primary-for QDragMoveEvent (0x0x7f8bb59d99c0)
+ QEvent (0x0x7f8bb59e7720) 0
+ primary-for QDropEvent (0x0x7f8bb59d9a28)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x0x7f8bb59d9a90) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16)
+ QEvent (0x0x7f8bb59e7780) 0
+ primary-for QDragLeaveEvent (0x0x7f8bb59d9a90)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 (int (*)(...))QHelpEvent::~QHelpEvent
+24 (int (*)(...))QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x0x7f8bb59d9af8) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16)
+ QEvent (0x0x7f8bb59e77e0) 0
+ primary-for QHelpEvent (0x0x7f8bb59d9af8)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x0x7f8bb59d9b60) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16)
+ QEvent (0x0x7f8bb59e7a80) 0
+ primary-for QStatusTipEvent (0x0x7f8bb59d9b60)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x0x7f8bb59d9bc8) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16)
+ QEvent (0x0x7f8bb59e7b40) 0
+ primary-for QWhatsThisClickedEvent (0x0x7f8bb59d9bc8)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 (int (*)(...))QActionEvent::~QActionEvent
+24 (int (*)(...))QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x0x7f8bb59d9c30) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16)
+ QEvent (0x0x7f8bb59e7c00) 0
+ primary-for QActionEvent (0x0x7f8bb59d9c30)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=40 align=8
+ base size=40 base align=8
+QFileOpenEvent (0x0x7f8bb59d9c98) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16)
+ QEvent (0x0x7f8bb59e7d20) 0
+ primary-for QFileOpenEvent (0x0x7f8bb59d9c98)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x0x7f8bb59d9d00) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16)
+ QEvent (0x0x7f8bb59e7e40) 0
+ primary-for QToolBarChangeEvent (0x0x7f8bb59d9d00)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 (int (*)(...))QShortcutEvent::~QShortcutEvent
+24 (int (*)(...))QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x0x7f8bb59d9d68) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16)
+ QEvent (0x0x7f8bb59e7f00) 0
+ primary-for QShortcutEvent (0x0x7f8bb59d9d68)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=32 align=8
+ base size=25 base align=8
+QWindowStateChangeEvent (0x0x7f8bb59d9dd0) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16)
+ QEvent (0x0x7f8bb5a280c0) 0
+ primary-for QWindowStateChangeEvent (0x0x7f8bb59d9dd0)
+
+Class QPointingDeviceUniqueId
+ size=8 align=8
+ base size=8 base align=8
+QPointingDeviceUniqueId (0x0x7f8bb5a28240) 0
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x0x7f8bb5a73600) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 (int (*)(...))QTouchEvent::~QTouchEvent
+24 (int (*)(...))QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=72 align=8
+ base size=72 base align=8
+QTouchEvent (0x0x7f8bb5a71618) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16)
+ QInputEvent (0x0x7f8bb5a71680) 0
+ primary-for QTouchEvent (0x0x7f8bb5a71618)
+ QEvent (0x0x7f8bb5a735a0) 0
+ primary-for QInputEvent (0x0x7f8bb5a71680)
+
+Vtable for QScrollPrepareEvent
+QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollPrepareEvent)
+16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+
+Class QScrollPrepareEvent
+ size=112 align=8
+ base size=112 base align=8
+QScrollPrepareEvent (0x0x7f8bb5b83340) 0
+ vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16)
+ QEvent (0x0x7f8bb5b7bba0) 0
+ primary-for QScrollPrepareEvent (0x0x7f8bb5b83340)
+
+Vtable for QScrollEvent
+QScrollEvent::_ZTV12QScrollEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScrollEvent)
+16 (int (*)(...))QScrollEvent::~QScrollEvent
+24 (int (*)(...))QScrollEvent::~QScrollEvent
+
+Class QScrollEvent
+ size=64 align=8
+ base size=60 base align=8
+QScrollEvent (0x0x7f8bb5b833a8) 0
+ vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16)
+ QEvent (0x0x7f8bb5b7bc00) 0
+ primary-for QScrollEvent (0x0x7f8bb5b833a8)
+
+Vtable for QScreenOrientationChangeEvent
+QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent)
+16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+
+Class QScreenOrientationChangeEvent
+ size=40 align=8
+ base size=36 base align=8
+QScreenOrientationChangeEvent (0x0x7f8bb5b83410) 0
+ vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16)
+ QEvent (0x0x7f8bb5b7bc60) 0
+ primary-for QScreenOrientationChangeEvent (0x0x7f8bb5b83410)
+
+Vtable for QApplicationStateChangeEvent
+QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent)
+16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+
+Class QApplicationStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QApplicationStateChangeEvent (0x0x7f8bb5b83478) 0
+ vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16)
+ QEvent (0x0x7f8bb5b7bcc0) 0
+ primary-for QApplicationStateChangeEvent (0x0x7f8bb5b83478)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x0x7f8bb5b7bd20) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x0x7f8bb586b0d0) 0
+ QVector<QPoint> (0x0x7f8bb58551e0) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x0x7f8bb58e7410) 0
+ QVector<QPointF> (0x0x7f8bb58f42a0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x0x7f8bb598a120) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x0x7f8bb55d8f00) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x0x7f8bb55d8ea0) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x0x7f8bb57352a0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x0x7f8bb5735960) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 0
+24 0
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDevice
+ size=24 align=8
+ base size=24 base align=8
+QPaintDevice (0x0x7f8bb5403420) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16)
+
+Class QPixelFormat
+ size=8 align=8
+ base size=8 base align=8
+QPixelFormat (0x0x7f8bb5403a20) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 (int (*)(...))QImage::~QImage
+24 (int (*)(...))QImage::~QImage
+32 (int (*)(...))QImage::devType
+40 (int (*)(...))QImage::paintEngine
+48 (int (*)(...))QImage::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QImage
+ size=32 align=8
+ base size=32 base align=8
+QImage (0x0x7f8bb54c0270) 0
+ vptr=((& QImage::_ZTV6QImage) + 16)
+ QPaintDevice (0x0x7f8bb54cd360) 0
+ primary-for QImage (0x0x7f8bb54c0270)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 (int (*)(...))QPixmap::~QPixmap
+24 (int (*)(...))QPixmap::~QPixmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPixmap
+ size=32 align=8
+ base size=32 base align=8
+QPixmap (0x0x7f8bb55c3c98) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16)
+ QPaintDevice (0x0x7f8bb51de120) 0
+ primary-for QPixmap (0x0x7f8bb55c3c98)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x0x7f8bb5249600) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x0x7f8bb530fb40) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x0x7f8bb530fd80) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x0x7f8bb5308e38) 0
+ QGradient (0x0x7f8bb536b4e0) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x0x7f8bb5308ea0) 0
+ QGradient (0x0x7f8bb536b600) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x0x7f8bb5308f08) 0
+ QGradient (0x0x7f8bb536b720) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x0x7f8bb536b7e0) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x0x7f8bb5045180) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x0x7f8bb5045120) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x0x7f8bb50978a0) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x0x7f8bb510a240) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x0x7f8bb4e25000) 0
+ QTextFormat (0x0x7f8bb4df1de0) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x0x7f8bb4e9c410) 0
+ QTextFormat (0x0x7f8bb4e9a7e0) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x0x7f8bb4ef3958) 0
+ QTextFormat (0x0x7f8bb4efd4e0) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x0x7f8bb4f36d68) 0
+ QTextCharFormat (0x0x7f8bb4f36dd0) 0
+ QTextFormat (0x0x7f8bb4f42c60) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x0x7f8bb4f93340) 0
+ QTextFormat (0x0x7f8bb4f97300) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x0x7f8bb4be7888) 0
+ QTextFrameFormat (0x0x7f8bb4be78f0) 0
+ QTextFormat (0x0x7f8bb4bdaf00) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x0x7f8bb4c35e38) 0
+ QTextCharFormat (0x0x7f8bb4c35ea0) 0
+ QTextFormat (0x0x7f8bb4c437e0) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x0x7f8bb4c88c00) 0
+
+Class QRawFont
+ size=8 align=8
+ base size=8 base align=8
+QRawFont (0x0x7f8bb4c88de0) 0
+
+Class QGlyphRun
+ size=8 align=8
+ base size=8 base align=8
+QGlyphRun (0x0x7f8bb4d127e0) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x0x7f8bb4d8c900) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x0x7f8bb49f1a80) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x0x7f8bb49f1ea0) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x0x7f8bb49f1e40) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x0x7f8bb4aa05a0) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x0x7f8bb4aa0a20) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16)
+
+Class QTextDocument::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextDocument::QPrivateSignal (0x0x7f8bb4aa0cc0) 0 empty
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 (int (*)(...))QTextDocument::metaObject
+24 (int (*)(...))QTextDocument::qt_metacast
+32 (int (*)(...))QTextDocument::qt_metacall
+40 (int (*)(...))QTextDocument::~QTextDocument
+48 (int (*)(...))QTextDocument::~QTextDocument
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextDocument::clear
+120 (int (*)(...))QTextDocument::createObject
+128 (int (*)(...))QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x0x7f8bb4a9f9c0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16)
+ QObject (0x0x7f8bb4aa0c60) 0
+ primary-for QTextDocument (0x0x7f8bb4a9f9c0)
+
+Class QPalette::Data
+ size=4 align=4
+ base size=4 base align=4
+QPalette::Data (0x0x7f8bb4afe7e0) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x0x7f8bb4afe780) 0
+
+Class QAbstractTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTextDocumentLayout::QPrivateSignal (0x0x7f8bb47f5ba0) 0 empty
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x0x7f8bb47f5c00) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x0x7f8bb47f5c60) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 (int (*)(...))QAbstractTextDocumentLayout::metaObject
+24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast
+32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x0x7f8bb47fc6e8) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16)
+ QObject (0x0x7f8bb47f5b40) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7f8bb47fc6e8)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x0x7f8bb48c2840) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16)
+
+Class QAccessible::State
+ size=8 align=8
+ base size=5 base align=8
+QAccessible::State (0x0x7f8bb48c2a80) 0
+
+Vtable for QAccessible::ActivationObserver
+QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessible::ActivationObserver
+ size=8 align=8
+ base size=8 base align=8
+QAccessible::ActivationObserver (0x0x7f8bb48c2ae0) 0 nearly-empty
+ vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x0x7f8bb48c2a20) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x0x7f8bb48fc6c0) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset
+104 (int (*)(...))QAccessibleTextInterface::textAfterOffset
+112 (int (*)(...))QAccessibleTextInterface::textAtOffset
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x0x7f8bb48fca20) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x0x7f8bb48fca80) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x0x7f8bb48fcae0) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16)
+
+Vtable for QAccessibleTableCellInterface
+QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableCellInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableCellInterface (0x0x7f8bb48fcb40) 0 nearly-empty
+ vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x0x7f8bb48fcba0) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QAccessibleActionInterface::localizedActionName
+48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x0x7f8bb48fcc00) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x0x7f8bb48fcd20) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16)
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=28 base align=8
+QAccessibleEvent (0x0x7f8bb48fcd80) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16)
+
+Vtable for QAccessibleStateChangeEvent
+QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent)
+16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleStateChangeEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleStateChangeEvent (0x0x7f8bb48c7d00) 0
+ vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16)
+ QAccessibleEvent (0x0x7f8bb4965780) 0
+ primary-for QAccessibleStateChangeEvent (0x0x7f8bb48c7d00)
+
+Vtable for QAccessibleTextCursorEvent
+QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent)
+16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextCursorEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleTextCursorEvent (0x0x7f8bb48c7d68) 0
+ vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16)
+ QAccessibleEvent (0x0x7f8bb4965b40) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f8bb48c7d68)
+
+Vtable for QAccessibleTextSelectionEvent
+QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent)
+16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextSelectionEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleTextSelectionEvent (0x0x7f8bb48c7dd0) 0
+ vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7f8bb48c7e38) 0
+ primary-for QAccessibleTextSelectionEvent (0x0x7f8bb48c7dd0)
+ QAccessibleEvent (0x0x7f8bb4965f60) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f8bb48c7e38)
+
+Vtable for QAccessibleTextInsertEvent
+QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent)
+16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextInsertEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextInsertEvent (0x0x7f8bb48c7ea0) 0
+ vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7f8bb48c7f08) 0
+ primary-for QAccessibleTextInsertEvent (0x0x7f8bb48c7ea0)
+ QAccessibleEvent (0x0x7f8bb45d1420) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f8bb48c7f08)
+
+Vtable for QAccessibleTextRemoveEvent
+QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent)
+16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextRemoveEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextRemoveEvent (0x0x7f8bb48c7f70) 0
+ vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7f8bb45e5000) 0
+ primary-for QAccessibleTextRemoveEvent (0x0x7f8bb48c7f70)
+ QAccessibleEvent (0x0x7f8bb45d1840) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f8bb45e5000)
+
+Vtable for QAccessibleTextUpdateEvent
+QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent)
+16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextUpdateEvent
+ size=56 align=8
+ base size=56 base align=8
+QAccessibleTextUpdateEvent (0x0x7f8bb45e5068) 0
+ vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16)
+ QAccessibleTextCursorEvent (0x0x7f8bb45e50d0) 0
+ primary-for QAccessibleTextUpdateEvent (0x0x7f8bb45e5068)
+ QAccessibleEvent (0x0x7f8bb45d1c60) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f8bb45e50d0)
+
+Vtable for QAccessibleValueChangeEvent
+QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent)
+16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleValueChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleValueChangeEvent (0x0x7f8bb45e5138) 0
+ vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16)
+ QAccessibleEvent (0x0x7f8bb4601120) 0
+ primary-for QAccessibleValueChangeEvent (0x0x7f8bb45e5138)
+
+Vtable for QAccessibleTableModelChangeEvent
+QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent)
+16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTableModelChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTableModelChangeEvent (0x0x7f8bb45e51a0) 0
+ vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16)
+ QAccessibleEvent (0x0x7f8bb4601540) 0
+ primary-for QAccessibleTableModelChangeEvent (0x0x7f8bb45e51a0)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x0x7f8bb4601de0) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16)
+
+Class QAccessibleBridgePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessibleBridgePlugin::QPrivateSignal (0x0x7f8bb462d0c0) 0 empty
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 (int (*)(...))QAccessibleBridgePlugin::metaObject
+24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast
+32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleBridgePlugin (0x0x7f8bb45e5208) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16)
+ QObject (0x0x7f8bb462d060) 0
+ primary-for QAccessibleBridgePlugin (0x0x7f8bb45e5208)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 0
+24 0
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x0x7f8bb45e5270) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16)
+ QAccessibleInterface (0x0x7f8bb462d1e0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f8bb45e5270)
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 23 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleApplication::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleApplication::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleApplication::parent
+88 (int (*)(...))QAccessibleApplication::child
+96 (int (*)(...))QAccessibleApplication::childCount
+104 (int (*)(...))QAccessibleApplication::indexOfChild
+112 (int (*)(...))QAccessibleApplication::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))QAccessibleApplication::role
+144 (int (*)(...))QAccessibleApplication::state
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x0x7f8bb45e52d8) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16)
+ QAccessibleObject (0x0x7f8bb45e5340) 0
+ primary-for QAccessibleApplication (0x0x7f8bb45e52d8)
+ QAccessibleInterface (0x0x7f8bb462d240) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f8bb45e5340)
+
+Class QAccessiblePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessiblePlugin::QPrivateSignal (0x0x7f8bb462d300) 0 empty
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 (int (*)(...))QAccessiblePlugin::metaObject
+24 (int (*)(...))QAccessiblePlugin::qt_metacast
+32 (int (*)(...))QAccessiblePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessiblePlugin (0x0x7f8bb45e53a8) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16)
+ QObject (0x0x7f8bb462d2a0) 0
+ primary-for QAccessiblePlugin (0x0x7f8bb45e53a8)
+
+Class QSurfaceFormat
+ size=8 align=8
+ base size=8 base align=8
+QSurfaceFormat (0x0x7f8bb462d420) 0
+
+Vtable for QSurface
+QSurface::_ZTV8QSurface: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSurface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QSurface
+ size=24 align=8
+ base size=24 base align=8
+QSurface (0x0x7f8bb462df60) 0
+ vptr=((& QSurface::_ZTV8QSurface) + 16)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x0x7f8bb46a1360) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x0x7f8bb4756ea0) 0
+
+Class QWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWindow::QPrivateSignal (0x0x7f8bb4421c60) 0 empty
+
+Vtable for QWindow
+QWindow::_ZTV7QWindow: 45 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWindow)
+16 (int (*)(...))QWindow::metaObject
+24 (int (*)(...))QWindow::qt_metacast
+32 (int (*)(...))QWindow::qt_metacall
+40 (int (*)(...))QWindow::~QWindow
+48 (int (*)(...))QWindow::~QWindow
+56 (int (*)(...))QWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))-16
+304 (int (*)(...))(& _ZTI7QWindow)
+312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev
+320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev
+328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+
+Class QWindow
+ size=40 align=8
+ base size=40 base align=8
+QWindow (0x0x7f8bb4424d90) 0
+ vptr=((& QWindow::_ZTV7QWindow) + 16)
+ QObject (0x0x7f8bb4421ba0) 0
+ primary-for QWindow (0x0x7f8bb4424d90)
+ QSurface (0x0x7f8bb4421c00) 16
+ vptr=((& QWindow::_ZTV7QWindow) + 312)
+
+Class QBackingStore
+ size=8 align=8
+ base size=8 base align=8
+QBackingStore (0x0x7f8bb4474540) 0
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 (int (*)(...))QBitmap::~QBitmap
+24 (int (*)(...))QBitmap::~QBitmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QBitmap
+ size=32 align=8
+ base size=32 base align=8
+QBitmap (0x0x7f8bb442a680) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16)
+ QPixmap (0x0x7f8bb442a6e8) 0
+ primary-for QBitmap (0x0x7f8bb442a680)
+ QPaintDevice (0x0x7f8bb4474600) 0
+ primary-for QPixmap (0x0x7f8bb442a6e8)
+
+Class QClipboard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QClipboard::QPrivateSignal (0x0x7f8bb44ceb40) 0 empty
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 (int (*)(...))QClipboard::metaObject
+24 (int (*)(...))QClipboard::qt_metacast
+32 (int (*)(...))QClipboard::qt_metacall
+40 (int (*)(...))QClipboard::~QClipboard
+48 (int (*)(...))QClipboard::~QClipboard
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x0x7f8bb44c99c0) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16)
+ QObject (0x0x7f8bb44ceae0) 0
+ primary-for QClipboard (0x0x7f8bb44c99c0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x0x7f8bb44cec60) 0 empty
+
+Class QDrag::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDrag::QPrivateSignal (0x0x7f8bb44ced20) 0 empty
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 (int (*)(...))QDrag::metaObject
+24 (int (*)(...))QDrag::qt_metacast
+32 (int (*)(...))QDrag::qt_metacall
+40 (int (*)(...))QDrag::~QDrag
+48 (int (*)(...))QDrag::~QDrag
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x0x7f8bb44c9a28) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16)
+ QObject (0x0x7f8bb44cecc0) 0
+ primary-for QDrag (0x0x7f8bb44c9a28)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x0x7f8bb44cef00) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x0x7f8bb452df60) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x0x7f8bb4594300) 0
+
+Class QGenericPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGenericPlugin::QPrivateSignal (0x0x7f8bb42fe3c0) 0 empty
+
+Vtable for QGenericPlugin
+QGenericPlugin::_ZTV14QGenericPlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGenericPlugin)
+16 (int (*)(...))QGenericPlugin::metaObject
+24 (int (*)(...))QGenericPlugin::qt_metacast
+32 (int (*)(...))QGenericPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGenericPlugin
+ size=16 align=8
+ base size=16 base align=8
+QGenericPlugin (0x0x7f8bb41e55b0) 0
+ vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16)
+ QObject (0x0x7f8bb42fe360) 0
+ primary-for QGenericPlugin (0x0x7f8bb41e55b0)
+
+Class QGenericPluginFactory
+ size=1 align=1
+ base size=0 base align=1
+QGenericPluginFactory (0x0x7f8bb42fe4e0) 0 empty
+
+Class QInputMethod::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputMethod::QPrivateSignal (0x0x7f8bb42fe5a0) 0 empty
+
+Vtable for QInputMethod
+QInputMethod::_ZTV12QInputMethod: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputMethod)
+16 (int (*)(...))QInputMethod::metaObject
+24 (int (*)(...))QInputMethod::qt_metacast
+32 (int (*)(...))QInputMethod::qt_metacall
+40 (int (*)(...))QInputMethod::~QInputMethod
+48 (int (*)(...))QInputMethod::~QInputMethod
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QInputMethod
+ size=16 align=8
+ base size=16 base align=8
+QInputMethod (0x0x7f8bb41e5618) 0
+ vptr=((& QInputMethod::_ZTV12QInputMethod) + 16)
+ QObject (0x0x7f8bb42fe540) 0
+ primary-for QInputMethod (0x0x7f8bb41e5618)
+
+Class QGuiApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGuiApplication::QPrivateSignal (0x0x7f8bb42fe8a0) 0 empty
+
+Vtable for QGuiApplication
+QGuiApplication::_ZTV15QGuiApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGuiApplication)
+16 (int (*)(...))QGuiApplication::metaObject
+24 (int (*)(...))QGuiApplication::qt_metacast
+32 (int (*)(...))QGuiApplication::qt_metacall
+40 (int (*)(...))QGuiApplication::~QGuiApplication
+48 (int (*)(...))QGuiApplication::~QGuiApplication
+56 (int (*)(...))QGuiApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGuiApplication::notify
+120 (int (*)(...))QGuiApplication::compressEvent
+
+Class QGuiApplication
+ size=16 align=8
+ base size=16 base align=8
+QGuiApplication (0x0x7f8bb41e5680) 0
+ vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16)
+ QCoreApplication (0x0x7f8bb41e56e8) 0
+ primary-for QGuiApplication (0x0x7f8bb41e5680)
+ QObject (0x0x7f8bb42fe840) 0
+ primary-for QCoreApplication (0x0x7f8bb41e56e8)
+
+Class QIconEngine::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngine::AvailableSizesArgument (0x0x7f8bb435a060) 0
+
+Class QIconEngine::ScaledPixmapArgument
+ size=56 align=8
+ base size=56 base align=8
+QIconEngine::ScaledPixmapArgument (0x0x7f8bb435a1e0) 0
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QIconEngine::actualSize
+48 (int (*)(...))QIconEngine::pixmap
+56 (int (*)(...))QIconEngine::addPixmap
+64 (int (*)(...))QIconEngine::addFile
+72 (int (*)(...))QIconEngine::key
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QIconEngine::read
+96 (int (*)(...))QIconEngine::write
+104 (int (*)(...))QIconEngine::availableSizes
+112 (int (*)(...))QIconEngine::iconName
+120 (int (*)(...))QIconEngine::virtual_hook
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x0x7f8bb435a000) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16)
+
+Class QIconEnginePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIconEnginePlugin::QPrivateSignal (0x0x7f8bb435a2a0) 0 empty
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 (int (*)(...))QIconEnginePlugin::metaObject
+24 (int (*)(...))QIconEnginePlugin::qt_metacast
+32 (int (*)(...))QIconEnginePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=16 align=8
+ base size=16 base align=8
+QIconEnginePlugin (0x0x7f8bb41e5c98) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16)
+ QObject (0x0x7f8bb435a240) 0
+ primary-for QIconEnginePlugin (0x0x7f8bb41e5c98)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 0
+24 0
+32 (int (*)(...))QImageIOHandler::name
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QImageIOHandler::write
+64 (int (*)(...))QImageIOHandler::option
+72 (int (*)(...))QImageIOHandler::setOption
+80 (int (*)(...))QImageIOHandler::supportsOption
+88 (int (*)(...))QImageIOHandler::jumpToNextImage
+96 (int (*)(...))QImageIOHandler::jumpToImage
+104 (int (*)(...))QImageIOHandler::loopCount
+112 (int (*)(...))QImageIOHandler::imageCount
+120 (int (*)(...))QImageIOHandler::nextImageDelay
+128 (int (*)(...))QImageIOHandler::currentImageNumber
+136 (int (*)(...))QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x0x7f8bb435a3c0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16)
+
+Class QImageIOPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QImageIOPlugin::QPrivateSignal (0x0x7f8bb435a600) 0 empty
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 (int (*)(...))QImageIOPlugin::metaObject
+24 (int (*)(...))QImageIOPlugin::qt_metacast
+32 (int (*)(...))QImageIOPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=16 align=8
+ base size=16 base align=8
+QImageIOPlugin (0x0x7f8bb41e5d00) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16)
+ QObject (0x0x7f8bb435a5a0) 0
+ primary-for QImageIOPlugin (0x0x7f8bb41e5d00)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x0x7f8bb435ade0) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x0x7f8bb435af00) 0
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x0x7f8bb4004060) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x0x7f8bb40861e0) 0
+
+Class QQuaternion
+ size=16 align=4
+ base size=16 base align=4
+QQuaternion (0x0x7f8bb4106420) 0
+
+Class QMatrix4x4
+ size=68 align=4
+ base size=68 base align=4
+QMatrix4x4 (0x0x7f8bb4196d20) 0
+
+Class QMovie::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMovie::QPrivateSignal (0x0x7f8bb3e69ba0) 0 empty
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 (int (*)(...))QMovie::metaObject
+24 (int (*)(...))QMovie::qt_metacast
+32 (int (*)(...))QMovie::qt_metacall
+40 (int (*)(...))QMovie::~QMovie
+48 (int (*)(...))QMovie::~QMovie
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x0x7f8bb3e4d478) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16)
+ QObject (0x0x7f8bb3e69b40) 0
+ primary-for QMovie (0x0x7f8bb3e4d478)
+
+Class QOffscreenSurface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOffscreenSurface::QPrivateSignal (0x0x7f8bb3f59000) 0 empty
+
+Vtable for QOffscreenSurface
+QOffscreenSurface::_ZTV17QOffscreenSurface: 26 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOffscreenSurface)
+16 (int (*)(...))QOffscreenSurface::metaObject
+24 (int (*)(...))QOffscreenSurface::qt_metacast
+32 (int (*)(...))QOffscreenSurface::qt_metacall
+40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOffscreenSurface::surfaceType
+120 (int (*)(...))QOffscreenSurface::format
+128 (int (*)(...))QOffscreenSurface::size
+136 (int (*)(...))QOffscreenSurface::surfaceHandle
+144 (int (*)(...))-16
+152 (int (*)(...))(& _ZTI17QOffscreenSurface)
+160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev
+168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev
+176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv
+184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv
+192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv
+200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv
+
+Class QOffscreenSurface
+ size=40 align=8
+ base size=40 base align=8
+QOffscreenSurface (0x0x7f8bb3e37bd0) 0
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16)
+ QObject (0x0x7f8bb3e69f00) 0
+ primary-for QOffscreenSurface (0x0x7f8bb3e37bd0)
+ QSurface (0x0x7f8bb3e69f60) 16
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160)
+
+Class QOpenGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLBuffer (0x0x7f8bb3f59240) 0
+
+Class QOpenGLVersionStatus
+ size=12 align=4
+ base size=12 base align=4
+QOpenGLVersionStatus (0x0x7f8bb3f59a80) 0
+
+Class QOpenGLVersionFunctionsBackend
+ size=16 align=8
+ base size=12 base align=8
+QOpenGLVersionFunctionsBackend (0x0x7f8bb37f3660) 0
+
+Class QOpenGLVersionFunctionsStorage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionFunctionsStorage (0x0x7f8bb37f3840) 0
+
+Class QAbstractOpenGLFunctionsPrivate
+ size=16 align=8
+ base size=9 base align=8
+QAbstractOpenGLFunctionsPrivate (0x0x7f8bb37f38a0) 0
+
+Vtable for QAbstractOpenGLFunctions
+QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions)
+16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions
+
+Class QAbstractOpenGLFunctions
+ size=16 align=8
+ base size=16 base align=8
+QAbstractOpenGLFunctions (0x0x7f8bb37f3a80) 0
+ vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16)
+
+Class QOpenGLFunctions_1_0_CoreBackend::Functions
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7f8bb37f3c60) 0
+
+Class QOpenGLFunctions_1_0_CoreBackend
+ size=400 align=8
+ base size=400 base align=8
+QOpenGLFunctions_1_0_CoreBackend (0x0x7f8bb3802340) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb37f3c00) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend::Functions
+ size=128 align=8
+ base size=128 base align=8
+QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7f8bb37f3f60) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend
+ size=144 align=8
+ base size=144 base align=8
+QOpenGLFunctions_1_1_CoreBackend (0x0x7f8bb38023a8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb37f3f00) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7f8bb38362a0) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_1_2_CoreBackend (0x0x7f8bb3802410) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb3836240) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7f8bb38365a0) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_1_3_CoreBackend (0x0x7f8bb3802478) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb3836540) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend::Functions
+ size=56 align=8
+ base size=56 base align=8
+QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7f8bb3836900) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_4_CoreBackend (0x0x7f8bb38024e0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb38368a0) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7f8bb3836c00) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_1_5_CoreBackend (0x0x7f8bb3802548) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb3836ba0) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend::Functions
+ size=744 align=8
+ base size=744 base align=8
+QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7f8bb3836f00) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend
+ size=760 align=8
+ base size=760 base align=8
+QOpenGLFunctions_2_0_CoreBackend (0x0x7f8bb38025b0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb3836ea0) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7f8bb3875240) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_2_1_CoreBackend (0x0x7f8bb3802618) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb38751e0) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend::Functions
+ size=672 align=8
+ base size=672 base align=8
+QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7f8bb3875540) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend
+ size=688 align=8
+ base size=688 base align=8
+QOpenGLFunctions_3_0_CoreBackend (0x0x7f8bb3802680) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb38754e0) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7f8bb3875840) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_3_1_CoreBackend (0x0x7f8bb38026e8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb38757e0) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7f8bb3875b40) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_3_2_CoreBackend (0x0x7f8bb3802750) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb3875ae0) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend::Functions
+ size=464 align=8
+ base size=464 base align=8
+QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7f8bb3875e40) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend
+ size=480 align=8
+ base size=480 base align=8
+QOpenGLFunctions_3_3_CoreBackend (0x0x7f8bb38027b8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb3875de0) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend::Functions
+ size=368 align=8
+ base size=368 base align=8
+QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7f8bb38bd180) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_4_0_CoreBackend (0x0x7f8bb3802820) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb38bd120) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend::Functions
+ size=704 align=8
+ base size=704 base align=8
+QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7f8bb38bd480) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend
+ size=720 align=8
+ base size=720 base align=8
+QOpenGLFunctions_4_1_CoreBackend (0x0x7f8bb3802888) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb38bd420) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7f8bb38bd780) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_2_CoreBackend (0x0x7f8bb38028f0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb38bd720) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend::Functions
+ size=344 align=8
+ base size=344 base align=8
+QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7f8bb38bda80) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend
+ size=360 align=8
+ base size=360 base align=8
+QOpenGLFunctions_4_3_CoreBackend (0x0x7f8bb3802958) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb38bda20) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7f8bb38bdd80) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_4_4_CoreBackend (0x0x7f8bb38029c0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb38bdd20) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend::Functions
+ size=848 align=8
+ base size=848 base align=8
+QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7f8bb390f120) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend
+ size=864 align=8
+ base size=864 base align=8
+QOpenGLFunctions_4_5_CoreBackend (0x0x7f8bb3802a28) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb390f0c0) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions
+ size=2064 align=8
+ base size=2064 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7f8bb390f420) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend
+ size=2080 align=8
+ base size=2080 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7f8bb3802a90) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb390f3c0) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions
+ size=136 align=8
+ base size=136 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7f8bb390f720) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7f8bb3802af8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb390f6c0) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7f8bb390fa20) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend
+ size=272 align=8
+ base size=272 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7f8bb3802b60) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb390f9c0) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions
+ size=296 align=8
+ base size=296 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7f8bb390fd20) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend
+ size=312 align=8
+ base size=312 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7f8bb3802bc8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb390fcc0) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7f8bb399b060) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend
+ size=320 align=8
+ base size=320 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7f8bb3802c30) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb399b000) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions
+ size=288 align=8
+ base size=288 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7f8bb399b360) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7f8bb3802c98) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb399b300) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions
+ size=160 align=8
+ base size=160 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7f8bb399b660) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend
+ size=176 align=8
+ base size=176 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7f8bb3802d00) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb399b600) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions
+ size=240 align=8
+ base size=240 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7f8bb399b960) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7f8bb3802d68) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb399b900) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7f8bb399bc60) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7f8bb3802dd0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f8bb399bc00) 0
+
+Class QOpenGLVersionProfile
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionProfile (0x0x7f8bb399bf00) 0
+
+Class QOpenGLContextGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContextGroup::QPrivateSignal (0x0x7f8bb25e0a20) 0 empty
+
+Vtable for QOpenGLContextGroup
+QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOpenGLContextGroup)
+16 (int (*)(...))QOpenGLContextGroup::metaObject
+24 (int (*)(...))QOpenGLContextGroup::qt_metacast
+32 (int (*)(...))QOpenGLContextGroup::qt_metacall
+40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContextGroup
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContextGroup (0x0x7f8bb25e6820) 0
+ vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16)
+ QObject (0x0x7f8bb25e09c0) 0
+ primary-for QOpenGLContextGroup (0x0x7f8bb25e6820)
+
+Class QOpenGLContext::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContext::QPrivateSignal (0x0x7f8bb25e0c60) 0 empty
+
+Vtable for QOpenGLContext
+QOpenGLContext::_ZTV14QOpenGLContext: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QOpenGLContext)
+16 (int (*)(...))QOpenGLContext::metaObject
+24 (int (*)(...))QOpenGLContext::qt_metacast
+32 (int (*)(...))QOpenGLContext::qt_metacall
+40 (int (*)(...))QOpenGLContext::~QOpenGLContext
+48 (int (*)(...))QOpenGLContext::~QOpenGLContext
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContext
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContext (0x0x7f8bb25e6888) 0
+ vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16)
+ QObject (0x0x7f8bb25e0c00) 0
+ primary-for QOpenGLContext (0x0x7f8bb25e6888)
+
+Class QOpenGLDebugMessage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLDebugMessage (0x0x7f8bb25e0ea0) 0
+
+Class QOpenGLDebugLogger::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLDebugLogger::QPrivateSignal (0x0x7f8bb26d1660) 0 empty
+
+Vtable for QOpenGLDebugLogger
+QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger)
+16 (int (*)(...))QOpenGLDebugLogger::metaObject
+24 (int (*)(...))QOpenGLDebugLogger::qt_metacast
+32 (int (*)(...))QOpenGLDebugLogger::qt_metacall
+40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLDebugLogger
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLDebugLogger (0x0x7f8bb26752d8) 0
+ vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16)
+ QObject (0x0x7f8bb26d1600) 0
+ primary-for QOpenGLDebugLogger (0x0x7f8bb26752d8)
+
+Class QOpenGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFunctions (0x0x7f8bb26d1ae0) 0
+
+Class QOpenGLFunctionsPrivate::Functions
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate::Functions (0x0x7f8bb2773480) 0
+
+Class QOpenGLFunctionsPrivate
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate (0x0x7f8bb2773420) 0
+
+Class QOpenGLExtraFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLExtraFunctions (0x0x7f8bb2675680) 0
+ QOpenGLFunctions (0x0x7f8bb2469240) 0
+
+Class QOpenGLExtraFunctionsPrivate::Functions
+ size=1728 align=8
+ base size=1728 base align=8
+QOpenGLExtraFunctionsPrivate::Functions (0x0x7f8bb24695a0) 0
+
+Class QOpenGLExtraFunctionsPrivate
+ size=2880 align=8
+ base size=2880 base align=8
+QOpenGLExtraFunctionsPrivate (0x0x7f8bb26756e8) 0
+ QOpenGLFunctionsPrivate (0x0x7f8bb2469540) 0
+
+Vtable for QOpenGLFramebufferObject
+QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject)
+16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+
+Class QOpenGLFramebufferObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLFramebufferObject (0x0x7f8bb2254060) 0
+ vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16)
+
+Class QOpenGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFramebufferObjectFormat (0x0x7f8bb2254300) 0
+
+Vtable for QOpenGLPaintDevice
+QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice)
+16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+32 (int (*)(...))QOpenGLPaintDevice::devType
+40 (int (*)(...))QOpenGLPaintDevice::paintEngine
+48 (int (*)(...))QOpenGLPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget
+
+Class QOpenGLPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QOpenGLPaintDevice (0x0x7f8bb2249478) 0
+ vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16)
+ QPaintDevice (0x0x7f8bb2254360) 0
+ primary-for QOpenGLPaintDevice (0x0x7f8bb2249478)
+
+Class QOpenGLPixelTransferOptions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLPixelTransferOptions (0x0x7f8bb22545a0) 0
+
+Class QOpenGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShader::QPrivateSignal (0x0x7f8bb22d73c0) 0 empty
+
+Vtable for QOpenGLShader
+QOpenGLShader::_ZTV13QOpenGLShader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLShader)
+16 (int (*)(...))QOpenGLShader::metaObject
+24 (int (*)(...))QOpenGLShader::qt_metacast
+32 (int (*)(...))QOpenGLShader::qt_metacall
+40 (int (*)(...))QOpenGLShader::~QOpenGLShader
+48 (int (*)(...))QOpenGLShader::~QOpenGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLShader
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShader (0x0x7f8bb22d65b0) 0
+ vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16)
+ QObject (0x0x7f8bb22d7360) 0
+ primary-for QOpenGLShader (0x0x7f8bb22d65b0)
+
+Class QOpenGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShaderProgram::QPrivateSignal (0x0x7f8bb22d7cc0) 0 empty
+
+Vtable for QOpenGLShaderProgram
+QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram)
+16 (int (*)(...))QOpenGLShaderProgram::metaObject
+24 (int (*)(...))QOpenGLShaderProgram::qt_metacast
+32 (int (*)(...))QOpenGLShaderProgram::qt_metacall
+40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOpenGLShaderProgram::link
+
+Class QOpenGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShaderProgram (0x0x7f8bb22d66e8) 0
+ vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16)
+ QObject (0x0x7f8bb22d7c60) 0
+ primary-for QOpenGLShaderProgram (0x0x7f8bb22d66e8)
+
+Class QOpenGLTexture
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTexture (0x0x7f8bb22d7ea0) 0
+
+Class QOpenGLTextureBlitter
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTextureBlitter (0x0x7f8bb1fea3c0) 0
+
+Class QOpenGLTimerQuery::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimerQuery::QPrivateSignal (0x0x7f8bb1fea600) 0 empty
+
+Vtable for QOpenGLTimerQuery
+QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery)
+16 (int (*)(...))QOpenGLTimerQuery::metaObject
+24 (int (*)(...))QOpenGLTimerQuery::qt_metacast
+32 (int (*)(...))QOpenGLTimerQuery::qt_metacall
+40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimerQuery
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimerQuery (0x0x7f8bb22d6820) 0
+ vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16)
+ QObject (0x0x7f8bb1fea5a0) 0
+ primary-for QOpenGLTimerQuery (0x0x7f8bb22d6820)
+
+Class QOpenGLTimeMonitor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimeMonitor::QPrivateSignal (0x0x7f8bb1fea840) 0 empty
+
+Vtable for QOpenGLTimeMonitor
+QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor)
+16 (int (*)(...))QOpenGLTimeMonitor::metaObject
+24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast
+32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall
+40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimeMonitor
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimeMonitor (0x0x7f8bb22d6888) 0
+ vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16)
+ QObject (0x0x7f8bb1fea7e0) 0
+ primary-for QOpenGLTimeMonitor (0x0x7f8bb22d6888)
+
+Class QOpenGLVertexArrayObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLVertexArrayObject::QPrivateSignal (0x0x7f8bb1feaa80) 0 empty
+
+Class QOpenGLVertexArrayObject::Binder
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVertexArrayObject::Binder (0x0x7f8bb1feaae0) 0
+
+Vtable for QOpenGLVertexArrayObject
+QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject)
+16 (int (*)(...))QOpenGLVertexArrayObject::metaObject
+24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast
+32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall
+40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLVertexArrayObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLVertexArrayObject (0x0x7f8bb22d68f0) 0
+ vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16)
+ QObject (0x0x7f8bb1feaa20) 0
+ primary-for QOpenGLVertexArrayObject (0x0x7f8bb22d68f0)
+
+Class QPaintDeviceWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPaintDeviceWindow::QPrivateSignal (0x0x7f8bb20391e0) 0 empty
+
+Vtable for QPaintDeviceWindow
+QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+16 (int (*)(...))QPaintDeviceWindow::metaObject
+24 (int (*)(...))QPaintDeviceWindow::qt_metacast
+32 (int (*)(...))QPaintDeviceWindow::qt_metacall
+40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QPaintDeviceWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev
+344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+384 (int (*)(...))-40
+392 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev
+408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev
+416 (int (*)(...))QPaintDevice::devType
+424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+440 (int (*)(...))QPaintDevice::initPainter
+448 (int (*)(...))QPaintDevice::redirected
+456 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDeviceWindow
+ size=64 align=8
+ base size=64 base align=8
+QPaintDeviceWindow (0x0x7f8bb2033230) 0
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16)
+ QWindow (0x0x7f8bb20332a0) 0
+ primary-for QPaintDeviceWindow (0x0x7f8bb2033230)
+ QObject (0x0x7f8bb20390c0) 0
+ primary-for QWindow (0x0x7f8bb20332a0)
+ QSurface (0x0x7f8bb2039120) 16
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336)
+ QPaintDevice (0x0x7f8bb2039180) 40
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400)
+
+Class QOpenGLWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWindow::QPrivateSignal (0x0x7f8bb20394e0) 0 empty
+
+Vtable for QOpenGLWindow
+QOpenGLWindow::_ZTV13QOpenGLWindow: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWindow)
+16 (int (*)(...))QOpenGLWindow::metaObject
+24 (int (*)(...))QOpenGLWindow::qt_metacast
+32 (int (*)(...))QOpenGLWindow::qt_metacall
+40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QOpenGLWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QOpenGLWindow::paintEvent
+304 (int (*)(...))QOpenGLWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QOpenGLWindow::initializeGL
+328 (int (*)(...))QOpenGLWindow::resizeGL
+336 (int (*)(...))QOpenGLWindow::paintGL
+344 (int (*)(...))QOpenGLWindow::paintUnderGL
+352 (int (*)(...))QOpenGLWindow::paintOverGL
+360 (int (*)(...))QOpenGLWindow::redirected
+368 (int (*)(...))-16
+376 (int (*)(...))(& _ZTI13QOpenGLWindow)
+384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev
+392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev
+400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+432 (int (*)(...))-40
+440 (int (*)(...))(& _ZTI13QOpenGLWindow)
+448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev
+456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev
+464 (int (*)(...))QPaintDevice::devType
+472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QPaintDevice::initPainter
+496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint
+504 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QOpenGLWindow
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLWindow (0x0x7f8bb22d69c0) 0
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16)
+ QPaintDeviceWindow (0x0x7f8bb2033460) 0
+ primary-for QOpenGLWindow (0x0x7f8bb22d69c0)
+ QWindow (0x0x7f8bb20334d0) 0
+ primary-for QPaintDeviceWindow (0x0x7f8bb2033460)
+ QObject (0x0x7f8bb20393c0) 0
+ primary-for QWindow (0x0x7f8bb20334d0)
+ QSurface (0x0x7f8bb2039420) 16
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384)
+ QPaintDevice (0x0x7f8bb2039480) 40
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448)
+
+Class QPageSize
+ size=8 align=8
+ base size=8 base align=8
+QPageSize (0x0x7f8bb20396c0) 0
+
+Class QPageLayout
+ size=8 align=8
+ base size=8 base align=8
+QPageLayout (0x0x7f8bb20e7120) 0
+
+Class QPagedPaintDevice::Margins
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice::Margins (0x0x7f8bb2140c60) 0
+
+Vtable for QPagedPaintDevice
+QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QPagedPaintDevice)
+16 0
+24 0
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QPagedPaintDevice::setPageSize
+96 (int (*)(...))QPagedPaintDevice::setPageSizeMM
+104 (int (*)(...))QPagedPaintDevice::setMargins
+
+Class QPagedPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice (0x0x7f8bb2139958) 0
+ vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16)
+ QPaintDevice (0x0x7f8bb2140c00) 0
+ primary-for QPagedPaintDevice (0x0x7f8bb2139958)
+
+Class QPainter::PixmapFragment
+ size=80 align=8
+ base size=80 base align=8
+QPainter::PixmapFragment (0x0x7f8bb2140d20) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x0x7f8bb2140cc0) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x0x7f8bb1f920c0) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QPaintEngine::drawRects
+64 (int (*)(...))QPaintEngine::drawRects
+72 (int (*)(...))QPaintEngine::drawLines
+80 (int (*)(...))QPaintEngine::drawLines
+88 (int (*)(...))QPaintEngine::drawEllipse
+96 (int (*)(...))QPaintEngine::drawEllipse
+104 (int (*)(...))QPaintEngine::drawPath
+112 (int (*)(...))QPaintEngine::drawPoints
+120 (int (*)(...))QPaintEngine::drawPoints
+128 (int (*)(...))QPaintEngine::drawPolygon
+136 (int (*)(...))QPaintEngine::drawPolygon
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QPaintEngine::drawTextItem
+160 (int (*)(...))QPaintEngine::drawTiledPixmap
+168 (int (*)(...))QPaintEngine::drawImage
+176 (int (*)(...))QPaintEngine::coordinateOffset
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x0x7f8bb1bd4000) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x0x7f8bb1bd47e0) 0
+
+Class QPdfWriter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPdfWriter::QPrivateSignal (0x0x7f8bb1c54f60) 0 empty
+
+Vtable for QPdfWriter
+QPdfWriter::_ZTV10QPdfWriter: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QPdfWriter)
+16 (int (*)(...))QPdfWriter::metaObject
+24 (int (*)(...))QPdfWriter::qt_metacast
+32 (int (*)(...))QPdfWriter::qt_metacall
+40 (int (*)(...))QPdfWriter::~QPdfWriter
+48 (int (*)(...))QPdfWriter::~QPdfWriter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPdfWriter::newPage
+120 (int (*)(...))QPdfWriter::setPageSize
+128 (int (*)(...))QPdfWriter::setPageSizeMM
+136 (int (*)(...))QPdfWriter::setMargins
+144 (int (*)(...))QPdfWriter::paintEngine
+152 (int (*)(...))QPdfWriter::metric
+160 (int (*)(...))-16
+168 (int (*)(...))(& _ZTI10QPdfWriter)
+176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev
+184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev
+192 (int (*)(...))QPaintDevice::devType
+200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv
+208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE
+216 (int (*)(...))QPaintDevice::initPainter
+224 (int (*)(...))QPaintDevice::redirected
+232 (int (*)(...))QPaintDevice::sharedPainter
+240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv
+248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE
+256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF
+264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE
+
+Class QPdfWriter
+ size=48 align=8
+ base size=48 base align=8
+QPdfWriter (0x0x7f8bb1c6f540) 0
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16)
+ QObject (0x0x7f8bb1c54ea0) 0
+ primary-for QPdfWriter (0x0x7f8bb1c6f540)
+ QPagedPaintDevice (0x0x7f8bb1fc5d00) 16
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176)
+ QPaintDevice (0x0x7f8bb1c54f00) 16
+ primary-for QPagedPaintDevice (0x0x7f8bb1fc5d00)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 (int (*)(...))QPicture::~QPicture
+24 (int (*)(...))QPicture::~QPicture
+32 (int (*)(...))QPicture::devType
+40 (int (*)(...))QPicture::paintEngine
+48 (int (*)(...))QPicture::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPicture::setData
+
+Class QPicture
+ size=32 align=8
+ base size=32 base align=8
+QPicture (0x0x7f8bb1fc5d68) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16)
+ QPaintDevice (0x0x7f8bb1c9f2a0) 0
+ primary-for QPicture (0x0x7f8bb1fc5d68)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x0x7f8bb1cf5540) 0
+
+Class QPictureFormatPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPictureFormatPlugin::QPrivateSignal (0x0x7f8bb1cf5600) 0 empty
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 (int (*)(...))QPictureFormatPlugin::metaObject
+24 (int (*)(...))QPictureFormatPlugin::qt_metacast
+32 (int (*)(...))QPictureFormatPlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPictureFormatPlugin::loadPicture
+120 (int (*)(...))QPictureFormatPlugin::savePicture
+128 (int (*)(...))__cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=16 align=8
+ base size=16 base align=8
+QPictureFormatPlugin (0x0x7f8bb1ce3f08) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16)
+ QObject (0x0x7f8bb1cf55a0) 0
+ primary-for QPictureFormatPlugin (0x0x7f8bb1ce3f08)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x0x7f8bb1cf5780) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x0x7f8bb1cf5720) 0 empty
+
+Class QRasterWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRasterWindow::QPrivateSignal (0x0x7f8bb1db6f00) 0 empty
+
+Vtable for QRasterWindow
+QRasterWindow::_ZTV13QRasterWindow: 59 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QRasterWindow)
+16 (int (*)(...))QRasterWindow::metaObject
+24 (int (*)(...))QRasterWindow::qt_metacast
+32 (int (*)(...))QRasterWindow::qt_metacall
+40 (int (*)(...))QRasterWindow::~QRasterWindow
+48 (int (*)(...))QRasterWindow::~QRasterWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QRasterWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QRasterWindow::redirected
+328 (int (*)(...))-16
+336 (int (*)(...))(& _ZTI13QRasterWindow)
+344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev
+352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+392 (int (*)(...))-40
+400 (int (*)(...))(& _ZTI13QRasterWindow)
+408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev
+416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev
+424 (int (*)(...))QPaintDevice::devType
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+448 (int (*)(...))QPaintDevice::initPainter
+456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint
+464 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QRasterWindow
+ size=64 align=8
+ base size=64 base align=8
+QRasterWindow (0x0x7f8bb1dc1b60) 0
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16)
+ QPaintDeviceWindow (0x0x7f8bb1dcb380) 0
+ primary-for QRasterWindow (0x0x7f8bb1dc1b60)
+ QWindow (0x0x7f8bb1dcb3f0) 0
+ primary-for QPaintDeviceWindow (0x0x7f8bb1dcb380)
+ QObject (0x0x7f8bb1db6de0) 0
+ primary-for QWindow (0x0x7f8bb1dcb3f0)
+ QSurface (0x0x7f8bb1db6e40) 16
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344)
+ QPaintDevice (0x0x7f8bb1db6ea0) 40
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408)
+
+Class QScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScreen::QPrivateSignal (0x0x7f8bb19e0180) 0 empty
+
+Vtable for QScreen
+QScreen::_ZTV7QScreen: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QScreen)
+16 (int (*)(...))QScreen::metaObject
+24 (int (*)(...))QScreen::qt_metacast
+32 (int (*)(...))QScreen::qt_metacall
+40 (int (*)(...))QScreen::~QScreen
+48 (int (*)(...))QScreen::~QScreen
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScreen
+ size=16 align=8
+ base size=16 base align=8
+QScreen (0x0x7f8bb1dc1c30) 0
+ vptr=((& QScreen::_ZTV7QScreen) + 16)
+ QObject (0x0x7f8bb19e0120) 0
+ primary-for QScreen (0x0x7f8bb1dc1c30)
+
+Class QSessionManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSessionManager::QPrivateSignal (0x0x7f8bb19e03c0) 0 empty
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 (int (*)(...))QSessionManager::metaObject
+24 (int (*)(...))QSessionManager::qt_metacast
+32 (int (*)(...))QSessionManager::qt_metacall
+40 (int (*)(...))QSessionManager::~QSessionManager
+48 (int (*)(...))QSessionManager::~QSessionManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x0x7f8bb1dc1c98) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16)
+ QObject (0x0x7f8bb19e0360) 0
+ primary-for QSessionManager (0x0x7f8bb1dc1c98)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 (int (*)(...))QStandardItem::~QStandardItem
+24 (int (*)(...))QStandardItem::~QStandardItem
+32 (int (*)(...))QStandardItem::data
+40 (int (*)(...))QStandardItem::setData
+48 (int (*)(...))QStandardItem::clone
+56 (int (*)(...))QStandardItem::type
+64 (int (*)(...))QStandardItem::read
+72 (int (*)(...))QStandardItem::write
+80 (int (*)(...))QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x0x7f8bb19e05a0) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16)
+
+Class QStandardItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStandardItemModel::QPrivateSignal (0x0x7f8bb1a4ed20) 0 empty
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 (int (*)(...))QStandardItemModel::metaObject
+24 (int (*)(...))QStandardItemModel::qt_metacast
+32 (int (*)(...))QStandardItemModel::qt_metacall
+40 (int (*)(...))QStandardItemModel::~QStandardItemModel
+48 (int (*)(...))QStandardItemModel::~QStandardItemModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStandardItemModel::index
+120 (int (*)(...))QStandardItemModel::parent
+128 (int (*)(...))QStandardItemModel::sibling
+136 (int (*)(...))QStandardItemModel::rowCount
+144 (int (*)(...))QStandardItemModel::columnCount
+152 (int (*)(...))QStandardItemModel::hasChildren
+160 (int (*)(...))QStandardItemModel::data
+168 (int (*)(...))QStandardItemModel::setData
+176 (int (*)(...))QStandardItemModel::headerData
+184 (int (*)(...))QStandardItemModel::setHeaderData
+192 (int (*)(...))QStandardItemModel::itemData
+200 (int (*)(...))QStandardItemModel::setItemData
+208 (int (*)(...))QStandardItemModel::mimeTypes
+216 (int (*)(...))QStandardItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QStandardItemModel::dropMimeData
+240 (int (*)(...))QStandardItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStandardItemModel::insertRows
+264 (int (*)(...))QStandardItemModel::insertColumns
+272 (int (*)(...))QStandardItemModel::removeRows
+280 (int (*)(...))QStandardItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStandardItemModel::flags
+328 (int (*)(...))QStandardItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x0x7f8bb1a45270) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16)
+ QAbstractItemModel (0x0x7f8bb1a452d8) 0
+ primary-for QStandardItemModel (0x0x7f8bb1a45270)
+ QObject (0x0x7f8bb1a4ecc0) 0
+ primary-for QAbstractItemModel (0x0x7f8bb1a452d8)
+
+Class QStaticText
+ size=8 align=8
+ base size=8 base align=8
+QStaticText (0x0x7f8bb1af9120) 0
+
+Class QStyleHints::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyleHints::QPrivateSignal (0x0x7f8bb1b4d4e0) 0 empty
+
+Vtable for QStyleHints
+QStyleHints::_ZTV11QStyleHints: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QStyleHints)
+16 (int (*)(...))QStyleHints::metaObject
+24 (int (*)(...))QStyleHints::qt_metacast
+32 (int (*)(...))QStyleHints::qt_metacall
+40 (int (*)(...))QStyleHints::~QStyleHints
+48 (int (*)(...))QStyleHints::~QStyleHints
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QStyleHints
+ size=16 align=8
+ base size=16 base align=8
+QStyleHints (0x0x7f8bb1b44618) 0
+ vptr=((& QStyleHints::_ZTV11QStyleHints) + 16)
+ QObject (0x0x7f8bb1b4d480) 0
+ primary-for QStyleHints (0x0x7f8bb1b44618)
+
+Class QTextObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextObject::QPrivateSignal (0x0x7f8bb1b4d720) 0 empty
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 (int (*)(...))QTextObject::metaObject
+24 (int (*)(...))QTextObject::qt_metacast
+32 (int (*)(...))QTextObject::qt_metacall
+40 (int (*)(...))QTextObject::~QTextObject
+48 (int (*)(...))QTextObject::~QTextObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x0x7f8bb1b44680) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16)
+ QObject (0x0x7f8bb1b4d6c0) 0
+ primary-for QTextObject (0x0x7f8bb1b44680)
+
+Class QTextBlockGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBlockGroup::QPrivateSignal (0x0x7f8bb1b4d960) 0 empty
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 (int (*)(...))QTextBlockGroup::metaObject
+24 (int (*)(...))QTextBlockGroup::qt_metacast
+32 (int (*)(...))QTextBlockGroup::qt_metacall
+40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x0x7f8bb1b446e8) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16)
+ QTextObject (0x0x7f8bb1b44750) 0
+ primary-for QTextBlockGroup (0x0x7f8bb1b446e8)
+ QObject (0x0x7f8bb1b4d900) 0
+ primary-for QTextObject (0x0x7f8bb1b44750)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x0x7f8bb1b4db40) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16)
+
+Class QTextFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextFrame::QPrivateSignal (0x0x7f8bb1b4dc00) 0 empty
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x0x7f8bb1b4dc60) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 (int (*)(...))QTextFrame::metaObject
+24 (int (*)(...))QTextFrame::qt_metacast
+32 (int (*)(...))QTextFrame::qt_metacall
+40 (int (*)(...))QTextFrame::~QTextFrame
+48 (int (*)(...))QTextFrame::~QTextFrame
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x0x7f8bb1b447b8) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16)
+ QTextObject (0x0x7f8bb1b44820) 0
+ primary-for QTextFrame (0x0x7f8bb1b447b8)
+ QObject (0x0x7f8bb1b4dba0) 0
+ primary-for QTextObject (0x0x7f8bb1b44820)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x0x7f8bb17e3600) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x0x7f8bb17e36c0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x0x7f8bb17e3660) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x0x7f8bc2cfab40) 0
+
+Class QSyntaxHighlighter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSyntaxHighlighter::QPrivateSignal (0x0x7f8bbef365a0) 0 empty
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 (int (*)(...))QSyntaxHighlighter::metaObject
+24 (int (*)(...))QSyntaxHighlighter::qt_metacast
+32 (int (*)(...))QSyntaxHighlighter::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x0x7f8bbec54b60) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16)
+ QObject (0x0x7f8bbef36420) 0
+ primary-for QSyntaxHighlighter (0x0x7f8bbec54b60)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x0x7f8bbef57540) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x0x7f8bbef576c0) 0
+
+Class QTextList::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextList::QPrivateSignal (0x0x7f8bbef57f00) 0 empty
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 (int (*)(...))QTextList::metaObject
+24 (int (*)(...))QTextList::qt_metacast
+32 (int (*)(...))QTextList::qt_metacall
+40 (int (*)(...))QTextList::~QTextList
+48 (int (*)(...))QTextList::~QTextList
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x0x7f8bbe42bf70) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16)
+ QTextBlockGroup (0x0x7f8bbe4e8000) 0
+ primary-for QTextList (0x0x7f8bbe42bf70)
+ QTextObject (0x0x7f8bbe4e8680) 0
+ primary-for QTextBlockGroup (0x0x7f8bbe4e8000)
+ QObject (0x0x7f8bbef57720) 0
+ primary-for QTextObject (0x0x7f8bbe4e8680)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x0x7f8bbebf4b40) 0
+
+Class QTextTable::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextTable::QPrivateSignal (0x0x7f8bbe4e9420) 0 empty
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 (int (*)(...))QTextTable::metaObject
+24 (int (*)(...))QTextTable::qt_metacast
+32 (int (*)(...))QTextTable::qt_metacall
+40 (int (*)(...))QTextTable::~QTextTable
+48 (int (*)(...))QTextTable::~QTextTable
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x0x7f8bbe4e86e8) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16)
+ QTextFrame (0x0x7f8bbe507680) 0
+ primary-for QTextTable (0x0x7f8bbe4e86e8)
+ QTextObject (0x0x7f8bbe5076e8) 0
+ primary-for QTextFrame (0x0x7f8bbe507680)
+ QObject (0x0x7f8bbe4c0c00) 0
+ primary-for QTextObject (0x0x7f8bbe5076e8)
+
+Class QValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QValidator::QPrivateSignal (0x0x7f8bbe50dd20) 0 empty
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 (int (*)(...))QValidator::metaObject
+24 (int (*)(...))QValidator::qt_metacast
+32 (int (*)(...))QValidator::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x0x7f8bbe51d5b0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16)
+ QObject (0x0x7f8bbe50dcc0) 0
+ primary-for QValidator (0x0x7f8bbe51d5b0)
+
+Class QIntValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIntValidator::QPrivateSignal (0x0x7f8bbe5b5de0) 0 empty
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 (int (*)(...))QIntValidator::metaObject
+24 (int (*)(...))QIntValidator::qt_metacast
+32 (int (*)(...))QIntValidator::qt_metacall
+40 (int (*)(...))QIntValidator::~QIntValidator
+48 (int (*)(...))QIntValidator::~QIntValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIntValidator::validate
+120 (int (*)(...))QIntValidator::fixup
+128 (int (*)(...))QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x0x7f8bbe51d618) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16)
+ QValidator (0x0x7f8bbe539068) 0
+ primary-for QIntValidator (0x0x7f8bbe51d618)
+ QObject (0x0x7f8bbe5b5d80) 0
+ primary-for QValidator (0x0x7f8bbe539068)
+
+Class QDoubleValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleValidator::QPrivateSignal (0x0x7f8bbe1dbc00) 0 empty
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 (int (*)(...))QDoubleValidator::metaObject
+24 (int (*)(...))QDoubleValidator::qt_metacast
+32 (int (*)(...))QDoubleValidator::qt_metacall
+40 (int (*)(...))QDoubleValidator::~QDoubleValidator
+48 (int (*)(...))QDoubleValidator::~QDoubleValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDoubleValidator::validate
+120 (int (*)(...))QValidator::fixup
+128 (int (*)(...))QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x0x7f8bbe5390d0) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16)
+ QValidator (0x0x7f8bbe539270) 0
+ primary-for QDoubleValidator (0x0x7f8bbe5390d0)
+ QObject (0x0x7f8bbe1dbb40) 0
+ primary-for QValidator (0x0x7f8bbe539270)
+
+Class QRegExpValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegExpValidator::QPrivateSignal (0x0x7f8bbda6f4e0) 0 empty
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 (int (*)(...))QRegExpValidator::metaObject
+24 (int (*)(...))QRegExpValidator::qt_metacast
+32 (int (*)(...))QRegExpValidator::qt_metacall
+40 (int (*)(...))QRegExpValidator::~QRegExpValidator
+48 (int (*)(...))QRegExpValidator::~QRegExpValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegExpValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x0x7f8bbe539478) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16)
+ QValidator (0x0x7f8bbe5396e8) 0
+ primary-for QRegExpValidator (0x0x7f8bbe539478)
+ QObject (0x0x7f8bbda6f120) 0
+ primary-for QValidator (0x0x7f8bbe5396e8)
+
+Class QRegularExpressionValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegularExpressionValidator::QPrivateSignal (0x0x7f8bbda94960) 0 empty
+
+Vtable for QRegularExpressionValidator
+QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QRegularExpressionValidator)
+16 (int (*)(...))QRegularExpressionValidator::metaObject
+24 (int (*)(...))QRegularExpressionValidator::qt_metacast
+32 (int (*)(...))QRegularExpressionValidator::qt_metacall
+40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegularExpressionValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegularExpressionValidator
+ size=16 align=8
+ base size=16 base align=8
+QRegularExpressionValidator (0x0x7f8bbe539888) 0
+ vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16)
+ QValidator (0x0x7f8bbe5398f0) 0
+ primary-for QRegularExpressionValidator (0x0x7f8bbe539888)
+ QObject (0x0x7f8bbda94900) 0
+ primary-for QValidator (0x0x7f8bbe5398f0)
+
+Class QSizePolicy::Bits
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy::Bits (0x0x7f8bbd87f420) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x0x7f8bbdaaf540) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x0x7f8bbbc94b40) 0
+
+Class QWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidget::QPrivateSignal (0x0x7f8bbbc94d20) 0 empty
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 (int (*)(...))QWidget::metaObject
+24 (int (*)(...))QWidget::qt_metacast
+32 (int (*)(...))QWidget::qt_metacall
+40 (int (*)(...))QWidget::~QWidget
+48 (int (*)(...))QWidget::~QWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI7QWidget)
+448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev
+456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWidget
+ size=48 align=8
+ base size=48 base align=8
+QWidget (0x0x7f8bba978c40) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16)
+ QObject (0x0x7f8bbbc94ba0) 0
+ primary-for QWidget (0x0x7f8bba978c40)
+ QPaintDevice (0x0x7f8bbbc94cc0) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 448)
+
+Class QAbstractButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractButton::QPrivateSignal (0x0x7f8bbb65bf60) 0 empty
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 (int (*)(...))QAbstractButton::metaObject
+24 (int (*)(...))QAbstractButton::qt_metacast
+32 (int (*)(...))QAbstractButton::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI15QAbstractButton)
+472 0
+480 0
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractButton
+ size=48 align=8
+ base size=48 base align=8
+QAbstractButton (0x0x7f8bbc9ca138) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16)
+ QWidget (0x0x7f8bbc2a5930) 0
+ primary-for QAbstractButton (0x0x7f8bbc9ca138)
+ QObject (0x0x7f8bbb65bde0) 0
+ primary-for QWidget (0x0x7f8bbc2a5930)
+ QPaintDevice (0x0x7f8bbb65bea0) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472)
+
+Class QAbstractSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSpinBox::QPrivateSignal (0x0x7f8bbb79ef60) 0 empty
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 (int (*)(...))QAbstractSpinBox::metaObject
+24 (int (*)(...))QAbstractSpinBox::qt_metacast
+32 (int (*)(...))QAbstractSpinBox::qt_metacall
+40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSpinBox::validate
+440 (int (*)(...))QAbstractSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+488 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSpinBox (0x0x7f8bbc9ca3a8) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16)
+ QWidget (0x0x7f8bbc2a59a0) 0
+ primary-for QAbstractSpinBox (0x0x7f8bbc9ca3a8)
+ QObject (0x0x7f8bbb79e960) 0
+ primary-for QWidget (0x0x7f8bbc2a59a0)
+ QPaintDevice (0x0x7f8bbb79e9c0) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 488)
+
+Class QAbstractSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSlider::QPrivateSignal (0x0x7f8bbb21e180) 0 empty
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 (int (*)(...))QAbstractSlider::metaObject
+24 (int (*)(...))QAbstractSlider::qt_metacast
+32 (int (*)(...))QAbstractSlider::qt_metacall
+40 (int (*)(...))QAbstractSlider::~QAbstractSlider
+48 (int (*)(...))QAbstractSlider::~QAbstractSlider
+56 (int (*)(...))QAbstractSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QAbstractSlider)
+456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSlider
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSlider (0x0x7f8bbc5f8478) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16)
+ QWidget (0x0x7f8bbc2e58c0) 0
+ primary-for QAbstractSlider (0x0x7f8bbc5f8478)
+ QObject (0x0x7f8bbb1fbcc0) 0
+ primary-for QWidget (0x0x7f8bbc2e58c0)
+ QPaintDevice (0x0x7f8bbb21e120) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456)
+
+Class QSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSlider::QPrivateSignal (0x0x7f8bbb293600) 0 empty
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 (int (*)(...))QSlider::metaObject
+24 (int (*)(...))QSlider::qt_metacast
+32 (int (*)(...))QSlider::qt_metacall
+40 (int (*)(...))QSlider::~QSlider
+48 (int (*)(...))QSlider::~QSlider
+56 (int (*)(...))QSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSlider::sizeHint
+136 (int (*)(...))QSlider::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSlider::mousePressEvent
+176 (int (*)(...))QSlider::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSlider::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSlider::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI7QSlider)
+456 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev
+464 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSlider
+ size=48 align=8
+ base size=48 base align=8
+QSlider (0x0x7f8bbc5f84e0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16)
+ QAbstractSlider (0x0x7f8bbc5f86e8) 0
+ primary-for QSlider (0x0x7f8bbc5f84e0)
+ QWidget (0x0x7f8bbde5d540) 0
+ primary-for QAbstractSlider (0x0x7f8bbc5f86e8)
+ QObject (0x0x7f8bbb23f540) 0
+ primary-for QWidget (0x0x7f8bbde5d540)
+ QPaintDevice (0x0x7f8bbb23f5a0) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 456)
+
+Class QStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyle::QPrivateSignal (0x0x7f8bbb293a80) 0 empty
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 37 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 (int (*)(...))QStyle::metaObject
+24 (int (*)(...))QStyle::qt_metacast
+32 (int (*)(...))QStyle::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyle::polish
+120 (int (*)(...))QStyle::unpolish
+128 (int (*)(...))QStyle::polish
+136 (int (*)(...))QStyle::unpolish
+144 (int (*)(...))QStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))__cxa_pure_virtual
+232 (int (*)(...))__cxa_pure_virtual
+240 (int (*)(...))__cxa_pure_virtual
+248 (int (*)(...))__cxa_pure_virtual
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))__cxa_pure_virtual
+272 (int (*)(...))__cxa_pure_virtual
+280 (int (*)(...))__cxa_pure_virtual
+288 (int (*)(...))__cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x0x7f8bbc60faf8) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16)
+ QObject (0x0x7f8bbb293a20) 0
+ primary-for QStyle (0x0x7f8bbc60faf8)
+
+Class QTabBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabBar::QPrivateSignal (0x0x7f8bbaf55900) 0 empty
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 (int (*)(...))QTabBar::metaObject
+24 (int (*)(...))QTabBar::qt_metacast
+32 (int (*)(...))QTabBar::qt_metacall
+40 (int (*)(...))QTabBar::~QTabBar
+48 (int (*)(...))QTabBar::~QTabBar
+56 (int (*)(...))QTabBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTabBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabBar::sizeHint
+136 (int (*)(...))QTabBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTabBar::mousePressEvent
+176 (int (*)(...))QTabBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QTabBar::mouseMoveEvent
+200 (int (*)(...))QTabBar::wheelEvent
+208 (int (*)(...))QTabBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabBar::showEvent
+352 (int (*)(...))QTabBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabBar::tabSizeHint
+440 (int (*)(...))QTabBar::minimumTabSizeHint
+448 (int (*)(...))QTabBar::tabInserted
+456 (int (*)(...))QTabBar::tabRemoved
+464 (int (*)(...))QTabBar::tabLayoutChange
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QTabBar)
+488 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev
+496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabBar
+ size=48 align=8
+ base size=48 base align=8
+QTabBar (0x0x7f8bbc690680) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16)
+ QWidget (0x0x7f8bbf279700) 0
+ primary-for QTabBar (0x0x7f8bbc690680)
+ QObject (0x0x7f8bbaf552a0) 0
+ primary-for QWidget (0x0x7f8bbf279700)
+ QPaintDevice (0x0x7f8bbaf55300) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 488)
+
+Class QTabWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabWidget::QPrivateSignal (0x0x7f8bbafb7a80) 0 empty
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 (int (*)(...))QTabWidget::metaObject
+24 (int (*)(...))QTabWidget::qt_metacast
+32 (int (*)(...))QTabWidget::qt_metacall
+40 (int (*)(...))QTabWidget::~QTabWidget
+48 (int (*)(...))QTabWidget::~QTabWidget
+56 (int (*)(...))QTabWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabWidget::sizeHint
+136 (int (*)(...))QTabWidget::minimumSizeHint
+144 (int (*)(...))QTabWidget::heightForWidth
+152 (int (*)(...))QTabWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QTabWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabWidget::tabInserted
+440 (int (*)(...))QTabWidget::tabRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI10QTabWidget)
+464 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabWidget
+ size=48 align=8
+ base size=48 base align=8
+QTabWidget (0x0x7f8bbc6ad000) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16)
+ QWidget (0x0x7f8bbf279d20) 0
+ primary-for QTabWidget (0x0x7f8bbc6ad000)
+ QObject (0x0x7f8bbaf96e40) 0
+ primary-for QWidget (0x0x7f8bbf279d20)
+ QPaintDevice (0x0x7f8bbaf96ea0) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 464)
+
+Class QRubberBand::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRubberBand::QPrivateSignal (0x0x7f8bbacf7300) 0 empty
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 (int (*)(...))QRubberBand::metaObject
+24 (int (*)(...))QRubberBand::qt_metacast
+32 (int (*)(...))QRubberBand::qt_metacall
+40 (int (*)(...))QRubberBand::~QRubberBand
+48 (int (*)(...))QRubberBand::~QRubberBand
+56 (int (*)(...))QRubberBand::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRubberBand::paintEvent
+264 (int (*)(...))QRubberBand::moveEvent
+272 (int (*)(...))QRubberBand::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QRubberBand::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QRubberBand::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QRubberBand)
+448 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev
+456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRubberBand
+ size=48 align=8
+ base size=48 base align=8
+QRubberBand (0x0x7f8bbc6ad068) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16)
+ QWidget (0x0x7f8bbf2fc230) 0
+ primary-for QRubberBand (0x0x7f8bbc6ad068)
+ QObject (0x0x7f8bbac440c0) 0
+ primary-for QWidget (0x0x7f8bbf2fc230)
+ QPaintDevice (0x0x7f8bbacf72a0) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 448)
+
+Class QFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFrame::QPrivateSignal (0x0x7f8bbab7ba80) 0 empty
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 (int (*)(...))QFrame::metaObject
+24 (int (*)(...))QFrame::qt_metacast
+32 (int (*)(...))QFrame::qt_metacall
+40 (int (*)(...))QFrame::~QFrame
+48 (int (*)(...))QFrame::~QFrame
+56 (int (*)(...))QFrame::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QFrame)
+448 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev
+456 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFrame
+ size=48 align=8
+ base size=48 base align=8
+QFrame (0x0x7f8bbc49f000) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16)
+ QWidget (0x0x7f8bbf2fc540) 0
+ primary-for QFrame (0x0x7f8bbc49f000)
+ QObject (0x0x7f8bbad12b40) 0
+ primary-for QWidget (0x0x7f8bbf2fc540)
+ QPaintDevice (0x0x7f8bbab7ba20) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 448)
+
+Class QStyleOption
+ size=64 align=8
+ base size=64 base align=8
+QStyleOption (0x0x7f8bbab9b540) 0
+
+Class QStyleOptionFocusRect
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFocusRect (0x0x7f8bbc49f068) 0
+ QStyleOption (0x0x7f8bbabbd180) 0
+
+Class QStyleOptionFrame
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFrame (0x0x7f8bbc49f208) 0
+ QStyleOption (0x0x7f8bba881cc0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=136 align=8
+ base size=132 base align=8
+QStyleOptionTabWidgetFrame (0x0x7f8bbc49f820) 0
+ QStyleOption (0x0x7f8bba7aa0c0) 0
+
+Class QStyleOptionTabBarBase
+ size=104 align=8
+ base size=101 base align=8
+QStyleOptionTabBarBase (0x0x7f8bbc49f888) 0
+ QStyleOption (0x0x7f8bba7aacc0) 0
+
+Class QStyleOptionHeader
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionHeader (0x0x7f8bbc49fa28) 0
+ QStyleOption (0x0x7f8bba3e5300) 0
+
+Class QStyleOptionButton
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionButton (0x0x7f8bbc49fc30) 0
+ QStyleOption (0x0x7f8bba3e5f60) 0
+
+Class QStyleOptionTab
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionTab (0x0x7f8bbc4bbd68) 0
+ QStyleOption (0x0x7f8bba562c60) 0
+
+Class QStyleOptionToolBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBar (0x0x7f8bbbbe2e38) 0
+ QStyleOption (0x0x7f8bba22b0c0) 0
+
+Class QStyleOptionProgressBar
+ size=104 align=8
+ base size=102 base align=8
+QStyleOptionProgressBar (0x0x7f8bbbca78f0) 0
+ QStyleOption (0x0x7f8bba093240) 0
+
+Class QStyleOptionMenuItem
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionMenuItem (0x0x7f8bbbca7958) 0
+ QStyleOption (0x0x7f8bba0b1480) 0
+
+Class QStyleOptionDockWidget
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionDockWidget (0x0x7f8bbbd314e0) 0
+ QStyleOption (0x0x7f8bba139360) 0
+
+Class QStyleOptionViewItem
+ size=192 align=8
+ base size=192 base align=8
+QStyleOptionViewItem (0x0x7f8bbbd31618) 0
+ QStyleOption (0x0x7f8bba139b40) 0
+
+Class QStyleOptionToolBox
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBox (0x0x7f8bbb9eda90) 0
+ QStyleOption (0x0x7f8bb9ea9c60) 0
+
+Class QStyleOptionRubberBand
+ size=72 align=8
+ base size=69 base align=8
+QStyleOptionRubberBand (0x0x7f8bbbba14e0) 0
+ QStyleOption (0x0x7f8bb9eed420) 0
+
+Class QStyleOptionComplex
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionComplex (0x0x7f8bbbba1548) 0
+ QStyleOption (0x0x7f8bb9c3a9c0) 0
+
+Class QStyleOptionSlider
+ size=128 align=8
+ base size=121 base align=8
+QStyleOptionSlider (0x0x7f8bbbba1a90) 0
+ QStyleOptionComplex (0x0x7f8bbbba1af8) 0
+ QStyleOption (0x0x7f8bb9c735a0) 0
+
+Class QStyleOptionSpinBox
+ size=88 align=8
+ base size=81 base align=8
+QStyleOptionSpinBox (0x0x7f8bbbba1f70) 0
+ QStyleOptionComplex (0x0x7f8bbbbc0000) 0
+ QStyleOption (0x0x7f8bb9cd5840) 0
+
+Class QStyleOptionToolButton
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionToolButton (0x0x7f8bbbbc0a28) 0
+ QStyleOptionComplex (0x0x7f8bbbbc0a90) 0
+ QStyleOption (0x0x7f8bb9cf5000) 0
+
+Class QStyleOptionComboBox
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionComboBox (0x0x7f8bbb7eb5b0) 0
+ QStyleOptionComplex (0x0x7f8bbb7eb618) 0
+ QStyleOption (0x0x7f8bb9b012a0) 0
+
+Class QStyleOptionTitleBar
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTitleBar (0x0x7f8bbb7eb888) 0
+ QStyleOptionComplex (0x0x7f8bbb7eb8f0) 0
+ QStyleOption (0x0x7f8bb9b1c1e0) 0
+
+Class QStyleOptionGroupBox
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionGroupBox (0x0x7f8bbb7eb958) 0
+ QStyleOptionComplex (0x0x7f8bbb7eba90) 0
+ QStyleOption (0x0x7f8bb9ba8240) 0
+
+Class QStyleOptionSizeGrip
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionSizeGrip (0x0x7f8bbb7ebaf8) 0
+ QStyleOptionComplex (0x0x7f8bbb7ebd00) 0
+ QStyleOption (0x0x7f8bb9bc61e0) 0
+
+Class QStyleOptionGraphicsItem
+ size=152 align=8
+ base size=152 base align=8
+QStyleOptionGraphicsItem (0x0x7f8bbb7ebd68) 0
+ QStyleOption (0x0x7f8bb9bc6de0) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x0x7f8bb9934b40) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x0x7f8bbb81c208) 0
+ QStyleHintReturn (0x0x7f8bb99594e0) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x0x7f8bbb81c9c0) 0
+ QStyleHintReturn (0x0x7f8bb9959540) 0
+
+Class QAbstractItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemDelegate::QPrivateSignal (0x0x7f8bb9604ea0) 0 empty
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 (int (*)(...))QAbstractItemDelegate::metaObject
+24 (int (*)(...))QAbstractItemDelegate::qt_metacast
+32 (int (*)(...))QAbstractItemDelegate::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QAbstractItemDelegate::setEditorData
+152 (int (*)(...))QAbstractItemDelegate::setModelData
+160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry
+168 (int (*)(...))QAbstractItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x0x7f8bbb835ea0) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16)
+ QObject (0x0x7f8bb9604de0) 0
+ primary-for QAbstractItemDelegate (0x0x7f8bbb835ea0)
+
+Class QAbstractScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractScrollArea::QPrivateSignal (0x0x7f8bb9642d20) 0 empty
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 68 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 (int (*)(...))QAbstractScrollArea::metaObject
+24 (int (*)(...))QAbstractScrollArea::qt_metacast
+32 (int (*)(...))QAbstractScrollArea::qt_metacall
+40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+56 (int (*)(...))QAbstractScrollArea::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QAbstractScrollArea (0x0x7f8bbb84d3a8) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16)
+ QFrame (0x0x7f8bbb84d410) 0
+ primary-for QAbstractScrollArea (0x0x7f8bbb84d3a8)
+ QWidget (0x0x7f8bbeeaeaf0) 0
+ primary-for QFrame (0x0x7f8bbb84d410)
+ QObject (0x0x7f8bb9624c60) 0
+ primary-for QWidget (0x0x7f8bbeeaeaf0)
+ QPaintDevice (0x0x7f8bb9624cc0) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480)
+
+Class QAbstractItemView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemView::QPrivateSignal (0x0x7f8bb96851e0) 0 empty
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 (int (*)(...))QAbstractItemView::metaObject
+24 (int (*)(...))QAbstractItemView::qt_metacast
+32 (int (*)(...))QAbstractItemView::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))__cxa_pure_virtual
+496 (int (*)(...))__cxa_pure_virtual
+504 (int (*)(...))__cxa_pure_virtual
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QAbstractItemView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))__cxa_pure_virtual
+688 (int (*)(...))__cxa_pure_virtual
+696 (int (*)(...))__cxa_pure_virtual
+704 (int (*)(...))__cxa_pure_virtual
+712 (int (*)(...))__cxa_pure_virtual
+720 (int (*)(...))__cxa_pure_virtual
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 0
+792 0
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractItemView
+ size=48 align=8
+ base size=48 base align=8
+QAbstractItemView (0x0x7f8bbb84d4e0) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16)
+ QAbstractScrollArea (0x0x7f8bbb84d548) 0
+ primary-for QAbstractItemView (0x0x7f8bbb84d4e0)
+ QFrame (0x0x7f8bbb84d888) 0
+ primary-for QAbstractScrollArea (0x0x7f8bbb84d548)
+ QWidget (0x0x7f8bbeeaed20) 0
+ primary-for QFrame (0x0x7f8bbb84d888)
+ QObject (0x0x7f8bb9667e40) 0
+ primary-for QWidget (0x0x7f8bbeeaed20)
+ QPaintDevice (0x0x7f8bb9667ea0) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 35 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+32 (int (*)(...))QAccessibleWidget::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleWidget::window
+56 (int (*)(...))QAccessibleWidget::relations
+64 (int (*)(...))QAccessibleWidget::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleWidget::parent
+88 (int (*)(...))QAccessibleWidget::child
+96 (int (*)(...))QAccessibleWidget::childCount
+104 (int (*)(...))QAccessibleWidget::indexOfChild
+112 (int (*)(...))QAccessibleWidget::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleWidget::rect
+136 (int (*)(...))QAccessibleWidget::role
+144 (int (*)(...))QAccessibleWidget::state
+152 (int (*)(...))QAccessibleWidget::foregroundColor
+160 (int (*)(...))QAccessibleWidget::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleWidget::interface_cast
+184 (int (*)(...))QAccessibleWidget::actionNames
+192 (int (*)(...))QAccessibleWidget::doAction
+200 (int (*)(...))QAccessibleWidget::keyBindingsForAction
+208 (int (*)(...))-16
+216 (int (*)(...))(& _ZTI17QAccessibleWidget)
+224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev
+232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev
+240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv
+248 (int (*)(...))QAccessibleActionInterface::localizedActionName
+256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString
+272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString
+
+Class QAccessibleWidget
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleWidget (0x0x7f8bbeed5ee0) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16)
+ QAccessibleObject (0x0x7f8bbb84dd68) 0
+ primary-for QAccessibleWidget (0x0x7f8bbeed5ee0)
+ QAccessibleInterface (0x0x7f8bb9249840) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f8bbb84dd68)
+ QAccessibleActionInterface (0x0x7f8bb92498a0) 16 nearly-empty
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224)
+
+Class QAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAction::QPrivateSignal (0x0x7f8bb9249b40) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 (int (*)(...))QAction::metaObject
+24 (int (*)(...))QAction::qt_metacast
+32 (int (*)(...))QAction::qt_metacall
+40 (int (*)(...))QAction::~QAction
+48 (int (*)(...))QAction::~QAction
+56 (int (*)(...))QAction::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x0x7f8bbb938888) 0
+ vptr=((& QAction::_ZTV7QAction) + 16)
+ QObject (0x0x7f8bb9249ae0) 0
+ primary-for QAction (0x0x7f8bbb938888)
+
+Class QActionGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QActionGroup::QPrivateSignal (0x0x7f8bb92ac180) 0 empty
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 (int (*)(...))QActionGroup::metaObject
+24 (int (*)(...))QActionGroup::qt_metacast
+32 (int (*)(...))QActionGroup::qt_metacall
+40 (int (*)(...))QActionGroup::~QActionGroup
+48 (int (*)(...))QActionGroup::~QActionGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x0x7f8bbb938bc8) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16)
+ QObject (0x0x7f8bb928df00) 0
+ primary-for QActionGroup (0x0x7f8bbb938bc8)
+
+Class QApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QApplication::QPrivateSignal (0x0x7f8bb92e9de0) 0 empty
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 (int (*)(...))QApplication::metaObject
+24 (int (*)(...))QApplication::qt_metacast
+32 (int (*)(...))QApplication::qt_metacall
+40 (int (*)(...))QApplication::~QApplication
+48 (int (*)(...))QApplication::~QApplication
+56 (int (*)(...))QApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QApplication::notify
+120 (int (*)(...))QApplication::compressEvent
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x0x7f8bbb938c30) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16)
+ QGuiApplication (0x0x7f8bbb65d2d8) 0
+ primary-for QApplication (0x0x7f8bbb938c30)
+ QCoreApplication (0x0x7f8bbb65d340) 0
+ primary-for QGuiApplication (0x0x7f8bbb65d2d8)
+ QObject (0x0x7f8bb92e94e0) 0
+ primary-for QCoreApplication (0x0x7f8bbb65d340)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x0x7f8bb932ba20) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 (int (*)(...))QSpacerItem::~QSpacerItem
+24 (int (*)(...))QSpacerItem::~QSpacerItem
+32 (int (*)(...))QSpacerItem::sizeHint
+40 (int (*)(...))QSpacerItem::minimumSize
+48 (int (*)(...))QSpacerItem::maximumSize
+56 (int (*)(...))QSpacerItem::expandingDirections
+64 (int (*)(...))QSpacerItem::setGeometry
+72 (int (*)(...))QSpacerItem::geometry
+80 (int (*)(...))QSpacerItem::isEmpty
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QSpacerItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x0x7f8bbb65d4e0) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16)
+ QLayoutItem (0x0x7f8bb936e840) 0
+ primary-for QSpacerItem (0x0x7f8bbb65d4e0)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 (int (*)(...))QWidgetItem::~QWidgetItem
+24 (int (*)(...))QWidgetItem::~QWidgetItem
+32 (int (*)(...))QWidgetItem::sizeHint
+40 (int (*)(...))QWidgetItem::minimumSize
+48 (int (*)(...))QWidgetItem::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x0x7f8bbb65d548) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16)
+ QLayoutItem (0x0x7f8bb9390d80) 0
+ primary-for QWidgetItem (0x0x7f8bbb65d548)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+32 (int (*)(...))QWidgetItemV2::sizeHint
+40 (int (*)(...))QWidgetItemV2::minimumSize
+48 (int (*)(...))QWidgetItemV2::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItemV2::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x0x7f8bbb6763a8) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16)
+ QWidgetItem (0x0x7f8bbb676410) 0
+ primary-for QWidgetItemV2 (0x0x7f8bbb6763a8)
+ QLayoutItem (0x0x7f8bb93ba420) 0
+ primary-for QWidgetItem (0x0x7f8bbb676410)
+
+Class QLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLayout::QPrivateSignal (0x0x7f8bb8fda960) 0 empty
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 47 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 (int (*)(...))QLayout::metaObject
+24 (int (*)(...))QLayout::qt_metacast
+32 (int (*)(...))QLayout::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QLayout::setGeometry
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))-16
+232 (int (*)(...))(& _ZTI7QLayout)
+240 0
+248 0
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+272 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 (int (*)(...))QLayoutItem::hasHeightForWidth
+320 (int (*)(...))QLayoutItem::heightForWidth
+328 (int (*)(...))QLayoutItem::minimumHeightForWidth
+336 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+344 (int (*)(...))QLayoutItem::widget
+352 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+360 (int (*)(...))QLayoutItem::spacerItem
+368 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x0x7f8bbef0ba10) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16)
+ QObject (0x0x7f8bb93ba720) 0
+ primary-for QLayout (0x0x7f8bbef0ba10)
+ QLayoutItem (0x0x7f8bb93ba780) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 240)
+
+Class QGridLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGridLayout::QPrivateSignal (0x0x7f8bb90ff2a0) 0 empty
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 (int (*)(...))QGridLayout::metaObject
+24 (int (*)(...))QGridLayout::qt_metacast
+32 (int (*)(...))QGridLayout::qt_metacall
+40 (int (*)(...))QGridLayout::~QGridLayout
+48 (int (*)(...))QGridLayout::~QGridLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGridLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QGridLayout::addItem
+136 (int (*)(...))QGridLayout::expandingDirections
+144 (int (*)(...))QGridLayout::minimumSize
+152 (int (*)(...))QGridLayout::maximumSize
+160 (int (*)(...))QGridLayout::setGeometry
+168 (int (*)(...))QGridLayout::itemAt
+176 (int (*)(...))QGridLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QGridLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QGridLayout::sizeHint
+232 (int (*)(...))QGridLayout::hasHeightForWidth
+240 (int (*)(...))QGridLayout::heightForWidth
+248 (int (*)(...))QGridLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QGridLayout)
+272 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+280 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+288 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+296 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+304 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+312 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+320 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+352 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+360 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+368 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x0x7f8bbb676a90) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16)
+ QLayout (0x0x7f8bbef26150) 0
+ primary-for QGridLayout (0x0x7f8bbb676a90)
+ QObject (0x0x7f8bb90ff180) 0
+ primary-for QLayout (0x0x7f8bbef26150)
+ QLayoutItem (0x0x7f8bb90ff1e0) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 272)
+
+Class QBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBoxLayout::QPrivateSignal (0x0x7f8bb9120900) 0 empty
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 (int (*)(...))QBoxLayout::metaObject
+24 (int (*)(...))QBoxLayout::qt_metacast
+32 (int (*)(...))QBoxLayout::qt_metacall
+40 (int (*)(...))QBoxLayout::~QBoxLayout
+48 (int (*)(...))QBoxLayout::~QBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI10QBoxLayout)
+272 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+280 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x0x7f8bbb676af8) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16)
+ QLayout (0x0x7f8bbef264d0) 0
+ primary-for QBoxLayout (0x0x7f8bbb676af8)
+ QObject (0x0x7f8bb9120660) 0
+ primary-for QLayout (0x0x7f8bbef264d0)
+ QLayoutItem (0x0x7f8bb9120720) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 272)
+
+Class QHBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHBoxLayout::QPrivateSignal (0x0x7f8bb91a3600) 0 empty
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 (int (*)(...))QHBoxLayout::metaObject
+24 (int (*)(...))QHBoxLayout::qt_metacast
+32 (int (*)(...))QHBoxLayout::qt_metacall
+40 (int (*)(...))QHBoxLayout::~QHBoxLayout
+48 (int (*)(...))QHBoxLayout::~QHBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QHBoxLayout)
+272 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+280 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x0x7f8bbb7c2270) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16)
+ QBoxLayout (0x0x7f8bbb7c22d8) 0
+ primary-for QHBoxLayout (0x0x7f8bbb7c2270)
+ QLayout (0x0x7f8bbef26cb0) 0
+ primary-for QBoxLayout (0x0x7f8bbb7c22d8)
+ QObject (0x0x7f8bb91434e0) 0
+ primary-for QLayout (0x0x7f8bbef26cb0)
+ QLayoutItem (0x0x7f8bb9143540) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 272)
+
+Class QVBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVBoxLayout::QPrivateSignal (0x0x7f8bb91c12a0) 0 empty
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 51 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 (int (*)(...))QVBoxLayout::metaObject
+24 (int (*)(...))QVBoxLayout::qt_metacast
+32 (int (*)(...))QVBoxLayout::qt_metacall
+40 (int (*)(...))QVBoxLayout::~QVBoxLayout
+48 (int (*)(...))QVBoxLayout::~QVBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QVBoxLayout)
+272 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+280 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x0x7f8bbb7c2750) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16)
+ QBoxLayout (0x0x7f8bbb7c27b8) 0
+ primary-for QVBoxLayout (0x0x7f8bbb7c2750)
+ QLayout (0x0x7f8bbef26ee0) 0
+ primary-for QBoxLayout (0x0x7f8bbb7c27b8)
+ QObject (0x0x7f8bb91a3cc0) 0
+ primary-for QLayout (0x0x7f8bbef26ee0)
+ QLayoutItem (0x0x7f8bb91c1240) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 272)
+
+Class QButtonGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QButtonGroup::QPrivateSignal (0x0x7f8bb91c1f00) 0 empty
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 (int (*)(...))QButtonGroup::metaObject
+24 (int (*)(...))QButtonGroup::qt_metacast
+32 (int (*)(...))QButtonGroup::qt_metacall
+40 (int (*)(...))QButtonGroup::~QButtonGroup
+48 (int (*)(...))QButtonGroup::~QButtonGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x0x7f8bbb7c2c98) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16)
+ QObject (0x0x7f8bb91c1ea0) 0
+ primary-for QButtonGroup (0x0x7f8bbb7c2c98)
+
+Class QCalendarWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCalendarWidget::QPrivateSignal (0x0x7f8bb8e0f3c0) 0 empty
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 (int (*)(...))QCalendarWidget::metaObject
+24 (int (*)(...))QCalendarWidget::qt_metacast
+32 (int (*)(...))QCalendarWidget::qt_metacall
+40 (int (*)(...))QCalendarWidget::~QCalendarWidget
+48 (int (*)(...))QCalendarWidget::~QCalendarWidget
+56 (int (*)(...))QCalendarWidget::event
+64 (int (*)(...))QCalendarWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCalendarWidget::sizeHint
+136 (int (*)(...))QCalendarWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QCalendarWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QCalendarWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QCalendarWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCalendarWidget::paintCell
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QCalendarWidget)
+456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCalendarWidget
+ size=48 align=8
+ base size=48 base align=8
+QCalendarWidget (0x0x7f8bbb7c2d00) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16)
+ QWidget (0x0x7f8bbef3e150) 0
+ primary-for QCalendarWidget (0x0x7f8bbb7c2d00)
+ QObject (0x0x7f8bb8e0f240) 0
+ primary-for QWidget (0x0x7f8bbef3e150)
+ QPaintDevice (0x0x7f8bb8e0f360) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456)
+
+Class QCheckBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCheckBox::QPrivateSignal (0x0x7f8bb8e9c7e0) 0 empty
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 (int (*)(...))QCheckBox::metaObject
+24 (int (*)(...))QCheckBox::qt_metacast
+32 (int (*)(...))QCheckBox::qt_metacall
+40 (int (*)(...))QCheckBox::~QCheckBox
+48 (int (*)(...))QCheckBox::~QCheckBox
+56 (int (*)(...))QCheckBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCheckBox::sizeHint
+136 (int (*)(...))QCheckBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QCheckBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCheckBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCheckBox::hitButton
+440 (int (*)(...))QCheckBox::checkStateSet
+448 (int (*)(...))QCheckBox::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI9QCheckBox)
+472 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCheckBox
+ size=48 align=8
+ base size=48 base align=8
+QCheckBox (0x0x7f8bbb7c2ea0) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16)
+ QAbstractButton (0x0x7f8bbb7c2f08) 0
+ primary-for QCheckBox (0x0x7f8bbb7c2ea0)
+ QWidget (0x0x7f8bbef3e620) 0
+ primary-for QAbstractButton (0x0x7f8bbb7c2f08)
+ QObject (0x0x7f8bb8e7ac00) 0
+ primary-for QWidget (0x0x7f8bbef3e620)
+ QPaintDevice (0x0x7f8bb8e9c780) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 472)
+
+Class QDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialog::QPrivateSignal (0x0x7f8bb8ebeb40) 0 empty
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 (int (*)(...))QDialog::metaObject
+24 (int (*)(...))QDialog::qt_metacast
+32 (int (*)(...))QDialog::qt_metacall
+40 (int (*)(...))QDialog::~QDialog
+48 (int (*)(...))QDialog::~QDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QDialog)
+488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev
+496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialog
+ size=48 align=8
+ base size=48 base align=8
+QDialog (0x0x7f8bbb7c2f70) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16)
+ QWidget (0x0x7f8bbef3e770) 0
+ primary-for QDialog (0x0x7f8bbb7c2f70)
+ QObject (0x0x7f8bb8ebe8a0) 0
+ primary-for QWidget (0x0x7f8bbef3e770)
+ QPaintDevice (0x0x7f8bb8ebe960) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488)
+
+Class QColorDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColorDialog::QPrivateSignal (0x0x7f8bb8f22960) 0 empty
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 (int (*)(...))QColorDialog::metaObject
+24 (int (*)(...))QColorDialog::qt_metacast
+32 (int (*)(...))QColorDialog::qt_metacall
+40 (int (*)(...))QColorDialog::~QColorDialog
+48 (int (*)(...))QColorDialog::~QColorDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QColorDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QColorDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QColorDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColorDialog
+ size=48 align=8
+ base size=48 base align=8
+QColorDialog (0x0x7f8bbb3e4ea0) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16)
+ QDialog (0x0x7f8bbb3e4f08) 0
+ primary-for QColorDialog (0x0x7f8bbb3e4ea0)
+ QWidget (0x0x7f8bbef3ea80) 0
+ primary-for QDialog (0x0x7f8bbb3e4f08)
+ QObject (0x0x7f8bb8f226c0) 0
+ primary-for QWidget (0x0x7f8bbef3ea80)
+ QPaintDevice (0x0x7f8bb8f22900) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x0x7f8bb8c71d80) 0
+
+Class QColumnView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColumnView::QPrivateSignal (0x0x7f8bb8cb8840) 0 empty
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 107 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 (int (*)(...))QColumnView::metaObject
+24 (int (*)(...))QColumnView::qt_metacast
+32 (int (*)(...))QColumnView::qt_metacall
+40 (int (*)(...))QColumnView::~QColumnView
+48 (int (*)(...))QColumnView::~QColumnView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QColumnView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QColumnView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QColumnView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QColumnView::setModel
+472 (int (*)(...))QColumnView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QColumnView::visualRect
+496 (int (*)(...))QColumnView::scrollTo
+504 (int (*)(...))QColumnView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QColumnView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QColumnView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QColumnView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QColumnView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QColumnView::moveCursor
+688 (int (*)(...))QColumnView::horizontalOffset
+696 (int (*)(...))QColumnView::verticalOffset
+704 (int (*)(...))QColumnView::isIndexHidden
+712 (int (*)(...))QColumnView::setSelection
+720 (int (*)(...))QColumnView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QColumnView::createColumn
+776 (int (*)(...))-16
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColumnView
+ size=48 align=8
+ base size=48 base align=8
+QColumnView (0x0x7f8bbb3fe3a8) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16)
+ QAbstractItemView (0x0x7f8bbb3fe410) 0
+ primary-for QColumnView (0x0x7f8bbb3fe3a8)
+ QAbstractScrollArea (0x0x7f8bbb3fea28) 0
+ primary-for QAbstractItemView (0x0x7f8bbb3fe410)
+ QFrame (0x0x7f8bbb3fea90) 0
+ primary-for QAbstractScrollArea (0x0x7f8bbb3fea28)
+ QWidget (0x0x7f8bbef54d20) 0
+ primary-for QFrame (0x0x7f8bbb3fea90)
+ QObject (0x0x7f8bb8c8e1e0) 0
+ primary-for QWidget (0x0x7f8bbef54d20)
+ QPaintDevice (0x0x7f8bb8c8e240) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792)
+
+Class QComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QComboBox::QPrivateSignal (0x0x7f8bb8ce59c0) 0 empty
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 (int (*)(...))QComboBox::metaObject
+24 (int (*)(...))QComboBox::qt_metacast
+32 (int (*)(...))QComboBox::qt_metacall
+40 (int (*)(...))QComboBox::~QComboBox
+48 (int (*)(...))QComboBox::~QComboBox
+56 (int (*)(...))QComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI9QComboBox)
+464 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev
+472 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QComboBox
+ size=48 align=8
+ base size=48 base align=8
+QComboBox (0x0x7f8bbb3fedd0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16)
+ QWidget (0x0x7f8bbef54d90) 0
+ primary-for QComboBox (0x0x7f8bbb3fedd0)
+ QObject (0x0x7f8bb8ce53c0) 0
+ primary-for QWidget (0x0x7f8bbef54d90)
+ QPaintDevice (0x0x7f8bb8ce5960) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 464)
+
+Class QPushButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPushButton::QPrivateSignal (0x0x7f8bb8d74600) 0 empty
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 (int (*)(...))QPushButton::metaObject
+24 (int (*)(...))QPushButton::qt_metacast
+32 (int (*)(...))QPushButton::qt_metacall
+40 (int (*)(...))QPushButton::~QPushButton
+48 (int (*)(...))QPushButton::~QPushButton
+56 (int (*)(...))QPushButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QPushButton::sizeHint
+136 (int (*)(...))QPushButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPushButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QPushButton)
+472 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev
+480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPushButton
+ size=48 align=8
+ base size=48 base align=8
+QPushButton (0x0x7f8bbb3fee38) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16)
+ QAbstractButton (0x0x7f8bbb411c98) 0
+ primary-for QPushButton (0x0x7f8bbb3fee38)
+ QWidget (0x0x7f8bbef777e0) 0
+ primary-for QAbstractButton (0x0x7f8bbb411c98)
+ QObject (0x0x7f8bb8d56f60) 0
+ primary-for QWidget (0x0x7f8bbef777e0)
+ QPaintDevice (0x0x7f8bb8d745a0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 472)
+
+Class QCommandLinkButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommandLinkButton::QPrivateSignal (0x0x7f8bb89ec5a0) 0 empty
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 (int (*)(...))QCommandLinkButton::metaObject
+24 (int (*)(...))QCommandLinkButton::qt_metacast
+32 (int (*)(...))QCommandLinkButton::qt_metacall
+40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+56 (int (*)(...))QCommandLinkButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCommandLinkButton::sizeHint
+136 (int (*)(...))QCommandLinkButton::minimumSizeHint
+144 (int (*)(...))QCommandLinkButton::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCommandLinkButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI18QCommandLinkButton)
+472 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCommandLinkButton
+ size=48 align=8
+ base size=48 base align=8
+QCommandLinkButton (0x0x7f8bbb411d00) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16)
+ QPushButton (0x0x7f8bbb411f70) 0
+ primary-for QCommandLinkButton (0x0x7f8bbb411d00)
+ QAbstractButton (0x0x7f8bbb4dc478) 0
+ primary-for QPushButton (0x0x7f8bbb411f70)
+ QWidget (0x0x7f8bbef77930) 0
+ primary-for QAbstractButton (0x0x7f8bbb4dc478)
+ QObject (0x0x7f8bb89ec300) 0
+ primary-for QWidget (0x0x7f8bbef77930)
+ QPaintDevice (0x0x7f8bb89ec360) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 472)
+
+Class QCommonStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommonStyle::QPrivateSignal (0x0x7f8bb8b1e8a0) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 37 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 (int (*)(...))QCommonStyle::metaObject
+24 (int (*)(...))QCommonStyle::qt_metacast
+32 (int (*)(...))QCommonStyle::qt_metacall
+40 (int (*)(...))QCommonStyle::~QCommonStyle
+48 (int (*)(...))QCommonStyle::~QCommonStyle
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCommonStyle::polish
+120 (int (*)(...))QCommonStyle::unpolish
+128 (int (*)(...))QCommonStyle::polish
+136 (int (*)(...))QCommonStyle::unpolish
+144 (int (*)(...))QCommonStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))QCommonStyle::drawPrimitive
+200 (int (*)(...))QCommonStyle::drawControl
+208 (int (*)(...))QCommonStyle::subElementRect
+216 (int (*)(...))QCommonStyle::drawComplexControl
+224 (int (*)(...))QCommonStyle::hitTestComplexControl
+232 (int (*)(...))QCommonStyle::subControlRect
+240 (int (*)(...))QCommonStyle::pixelMetric
+248 (int (*)(...))QCommonStyle::sizeFromContents
+256 (int (*)(...))QCommonStyle::styleHint
+264 (int (*)(...))QCommonStyle::standardPixmap
+272 (int (*)(...))QCommonStyle::standardIcon
+280 (int (*)(...))QCommonStyle::generatedIconPixmap
+288 (int (*)(...))QCommonStyle::layoutSpacing
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x0x7f8bbb4dc4e0) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16)
+ QStyle (0x0x7f8bbb4f54e0) 0
+ primary-for QCommonStyle (0x0x7f8bbb4dc4e0)
+ QObject (0x0x7f8bb8b1e720) 0
+ primary-for QStyle (0x0x7f8bbb4f54e0)
+
+Class QCompleter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompleter::QPrivateSignal (0x0x7f8bb8b45f60) 0 empty
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 (int (*)(...))QCompleter::metaObject
+24 (int (*)(...))QCompleter::qt_metacast
+32 (int (*)(...))QCompleter::qt_metacall
+40 (int (*)(...))QCompleter::~QCompleter
+48 (int (*)(...))QCompleter::~QCompleter
+56 (int (*)(...))QCompleter::event
+64 (int (*)(...))QCompleter::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCompleter::pathFromIndex
+120 (int (*)(...))QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x0x7f8bbb4f5548) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16)
+ QObject (0x0x7f8bb8b45b40) 0
+ primary-for QCompleter (0x0x7f8bbb4f5548)
+
+Class QDataWidgetMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDataWidgetMapper::QPrivateSignal (0x0x7f8bb8bc9240) 0 empty
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 (int (*)(...))QDataWidgetMapper::metaObject
+24 (int (*)(...))QDataWidgetMapper::qt_metacast
+32 (int (*)(...))QDataWidgetMapper::qt_metacall
+40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x0x7f8bbb5bc410) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16)
+ QObject (0x0x7f8bb8b9ecc0) 0
+ primary-for QDataWidgetMapper (0x0x7f8bbb5bc410)
+
+Class QDateTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateTimeEdit::QPrivateSignal (0x0x7f8bb894d540) 0 empty
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 (int (*)(...))QDateTimeEdit::metaObject
+24 (int (*)(...))QDateTimeEdit::qt_metacast
+32 (int (*)(...))QDateTimeEdit::qt_metacall
+40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QDateTimeEdit)
+504 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateTimeEdit (0x0x7f8bbb5bc478) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16)
+ QAbstractSpinBox (0x0x7f8bbb1d8f08) 0
+ primary-for QDateTimeEdit (0x0x7f8bbb5bc478)
+ QWidget (0x0x7f8bbef8e150) 0
+ primary-for QAbstractSpinBox (0x0x7f8bbb1d8f08)
+ QObject (0x0x7f8bb894d420) 0
+ primary-for QWidget (0x0x7f8bbef8e150)
+ QPaintDevice (0x0x7f8bb894d480) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 504)
+
+Class QTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeEdit::QPrivateSignal (0x0x7f8bb865ba20) 0 empty
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 (int (*)(...))QTimeEdit::metaObject
+24 (int (*)(...))QTimeEdit::qt_metacast
+32 (int (*)(...))QTimeEdit::qt_metacall
+40 (int (*)(...))QTimeEdit::~QTimeEdit
+48 (int (*)(...))QTimeEdit::~QTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QTimeEdit)
+504 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QTimeEdit (0x0x7f8bbb21b340) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16)
+ QDateTimeEdit (0x0x7f8bbb21ba28) 0
+ primary-for QTimeEdit (0x0x7f8bbb21b340)
+ QAbstractSpinBox (0x0x7f8bbb21ba90) 0
+ primary-for QDateTimeEdit (0x0x7f8bbb21ba28)
+ QWidget (0x0x7f8bbefaa700) 0
+ primary-for QAbstractSpinBox (0x0x7f8bbb21ba90)
+ QObject (0x0x7f8bb863bba0) 0
+ primary-for QWidget (0x0x7f8bbefaa700)
+ QPaintDevice (0x0x7f8bb865b9c0) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 504)
+
+Class QDateEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateEdit::QPrivateSignal (0x0x7f8bb869d1e0) 0 empty
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 (int (*)(...))QDateEdit::metaObject
+24 (int (*)(...))QDateEdit::qt_metacast
+32 (int (*)(...))QDateEdit::qt_metacall
+40 (int (*)(...))QDateEdit::~QDateEdit
+48 (int (*)(...))QDateEdit::~QDateEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QDateEdit)
+504 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev
+512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateEdit (0x0x7f8bbb236410) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16)
+ QDateTimeEdit (0x0x7f8bbb236478) 0
+ primary-for QDateEdit (0x0x7f8bbb236410)
+ QAbstractSpinBox (0x0x7f8bbb26a340) 0
+ primary-for QDateTimeEdit (0x0x7f8bbb236478)
+ QWidget (0x0x7f8bbefaa850) 0
+ primary-for QAbstractSpinBox (0x0x7f8bbb26a340)
+ QObject (0x0x7f8bb8682600) 0
+ primary-for QWidget (0x0x7f8bbefaa850)
+ QPaintDevice (0x0x7f8bb8682660) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 504)
+
+Class QDesktopWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDesktopWidget::QPrivateSignal (0x0x7f8bb86d95a0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 (int (*)(...))QDesktopWidget::metaObject
+24 (int (*)(...))QDesktopWidget::qt_metacast
+32 (int (*)(...))QDesktopWidget::qt_metacall
+40 (int (*)(...))QDesktopWidget::~QDesktopWidget
+48 (int (*)(...))QDesktopWidget::~QDesktopWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDesktopWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QDesktopWidget)
+448 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+456 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDesktopWidget
+ size=48 align=8
+ base size=48 base align=8
+QDesktopWidget (0x0x7f8bbb26a3a8) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16)
+ QWidget (0x0x7f8bbebfc0e0) 0
+ primary-for QDesktopWidget (0x0x7f8bbb26a3a8)
+ QObject (0x0x7f8bb86d9300) 0
+ primary-for QWidget (0x0x7f8bbebfc0e0)
+ QPaintDevice (0x0x7f8bb86d9360) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 448)
+
+Class QDial::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDial::QPrivateSignal (0x0x7f8bb87c94e0) 0 empty
+
+Vtable for QDial
+QDial::_ZTV5QDial: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 (int (*)(...))QDial::metaObject
+24 (int (*)(...))QDial::qt_metacast
+32 (int (*)(...))QDial::qt_metacall
+40 (int (*)(...))QDial::~QDial
+48 (int (*)(...))QDial::~QDial
+56 (int (*)(...))QDial::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDial::sizeHint
+136 (int (*)(...))QDial::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDial::mousePressEvent
+176 (int (*)(...))QDial::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QDial::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDial::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDial::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDial::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI5QDial)
+456 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev
+464 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDial
+ size=48 align=8
+ base size=48 base align=8
+QDial (0x0x7f8bbb26a548) 0
+ vptr=((& QDial::_ZTV5QDial) + 16)
+ QAbstractSlider (0x0x7f8bbb26a750) 0
+ primary-for QDial (0x0x7f8bbb26a548)
+ QWidget (0x0x7f8bbebfc150) 0
+ primary-for QAbstractSlider (0x0x7f8bbb26a750)
+ QObject (0x0x7f8bb8739b40) 0
+ primary-for QWidget (0x0x7f8bbebfc150)
+ QPaintDevice (0x0x7f8bb8739ba0) 16
+ vptr=((& QDial::_ZTV5QDial) + 456)
+
+Class QDialogButtonBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialogButtonBox::QPrivateSignal (0x0x7f8bb8420060) 0 empty
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 (int (*)(...))QDialogButtonBox::metaObject
+24 (int (*)(...))QDialogButtonBox::qt_metacast
+32 (int (*)(...))QDialogButtonBox::qt_metacall
+40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+56 (int (*)(...))QDialogButtonBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDialogButtonBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QDialogButtonBox)
+448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialogButtonBox
+ size=48 align=8
+ base size=48 base align=8
+QDialogButtonBox (0x0x7f8bbb26a7b8) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16)
+ QWidget (0x0x7f8bbebfc230) 0
+ primary-for QDialogButtonBox (0x0x7f8bbb26a7b8)
+ QObject (0x0x7f8bb83f9de0) 0
+ primary-for QWidget (0x0x7f8bbebfc230)
+ QPaintDevice (0x0x7f8bb8420000) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 (int (*)(...))QFileIconProvider::~QFileIconProvider
+24 (int (*)(...))QFileIconProvider::~QFileIconProvider
+32 (int (*)(...))QFileIconProvider::icon
+40 (int (*)(...))QFileIconProvider::icon
+48 (int (*)(...))QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x0x7f8bb7be2360) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16)
+
+Class QDirModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDirModel::QPrivateSignal (0x0x7f8bb7cd7c60) 0 empty
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 (int (*)(...))QDirModel::metaObject
+24 (int (*)(...))QDirModel::qt_metacast
+32 (int (*)(...))QDirModel::qt_metacall
+40 (int (*)(...))QDirModel::~QDirModel
+48 (int (*)(...))QDirModel::~QDirModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDirModel::index
+120 (int (*)(...))QDirModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QDirModel::rowCount
+144 (int (*)(...))QDirModel::columnCount
+152 (int (*)(...))QDirModel::hasChildren
+160 (int (*)(...))QDirModel::data
+168 (int (*)(...))QDirModel::setData
+176 (int (*)(...))QDirModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QDirModel::mimeTypes
+216 (int (*)(...))QDirModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QDirModel::dropMimeData
+240 (int (*)(...))QDirModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QDirModel::flags
+328 (int (*)(...))QDirModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x0x7f8bbb29e410) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16)
+ QAbstractItemModel (0x0x7f8bbb29eaf8) 0
+ primary-for QDirModel (0x0x7f8bbb29e410)
+ QObject (0x0x7f8bb7cd7300) 0
+ primary-for QAbstractItemModel (0x0x7f8bbb29eaf8)
+
+Class QDockWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDockWidget::QPrivateSignal (0x0x7f8bb7cf28a0) 0 empty
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 (int (*)(...))QDockWidget::metaObject
+24 (int (*)(...))QDockWidget::qt_metacast
+32 (int (*)(...))QDockWidget::qt_metacall
+40 (int (*)(...))QDockWidget::~QDockWidget
+48 (int (*)(...))QDockWidget::~QDockWidget
+56 (int (*)(...))QDockWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDockWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QDockWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDockWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QDockWidget)
+448 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDockWidget
+ size=48 align=8
+ base size=48 base align=8
+QDockWidget (0x0x7f8bbb29eb60) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16)
+ QWidget (0x0x7f8bbec94000) 0
+ primary-for QDockWidget (0x0x7f8bbb29eb60)
+ QObject (0x0x7f8bb7cf2240) 0
+ primary-for QWidget (0x0x7f8bbec94000)
+ QPaintDevice (0x0x7f8bb7cf2840) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 448)
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x0x7f8bb7b4ade0) 0
+
+Class QErrorMessage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QErrorMessage::QPrivateSignal (0x0x7f8bb78d24e0) 0 empty
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 (int (*)(...))QErrorMessage::metaObject
+24 (int (*)(...))QErrorMessage::qt_metacast
+32 (int (*)(...))QErrorMessage::qt_metacall
+40 (int (*)(...))QErrorMessage::~QErrorMessage
+48 (int (*)(...))QErrorMessage::~QErrorMessage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QErrorMessage::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QErrorMessage::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QErrorMessage
+ size=48 align=8
+ base size=48 base align=8
+QErrorMessage (0x0x7f8bbb0dff08) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16)
+ QDialog (0x0x7f8bbb0fd888) 0
+ primary-for QErrorMessage (0x0x7f8bbb0dff08)
+ QWidget (0x0x7f8bbeb650e0) 0
+ primary-for QDialog (0x0x7f8bbb0fd888)
+ QObject (0x0x7f8bb78d2240) 0
+ primary-for QWidget (0x0x7f8bbeb650e0)
+ QPaintDevice (0x0x7f8bb78d2300) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488)
+
+Class QFileDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDialog::QPrivateSignal (0x0x7f8bb78ee6c0) 0 empty
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 (int (*)(...))QFileDialog::metaObject
+24 (int (*)(...))QFileDialog::qt_metacast
+32 (int (*)(...))QFileDialog::qt_metacall
+40 (int (*)(...))QFileDialog::~QFileDialog
+48 (int (*)(...))QFileDialog::~QFileDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFileDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFileDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFileDialog::done
+456 (int (*)(...))QFileDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFileDialog
+ size=48 align=8
+ base size=48 base align=8
+QFileDialog (0x0x7f8bbb0fd8f0) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16)
+ QDialog (0x0x7f8bbb1135b0) 0
+ primary-for QFileDialog (0x0x7f8bbb0fd8f0)
+ QWidget (0x0x7f8bbeb654d0) 0
+ primary-for QDialog (0x0x7f8bbb1135b0)
+ QObject (0x0x7f8bb78ee360) 0
+ primary-for QWidget (0x0x7f8bbeb654d0)
+ QPaintDevice (0x0x7f8bb78ee660) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488)
+
+Class QFileSystemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemModel::QPrivateSignal (0x0x7f8bb7256a80) 0 empty
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 (int (*)(...))QFileSystemModel::metaObject
+24 (int (*)(...))QFileSystemModel::qt_metacast
+32 (int (*)(...))QFileSystemModel::qt_metacall
+40 (int (*)(...))QFileSystemModel::~QFileSystemModel
+48 (int (*)(...))QFileSystemModel::~QFileSystemModel
+56 (int (*)(...))QFileSystemModel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QFileSystemModel::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileSystemModel::index
+120 (int (*)(...))QFileSystemModel::parent
+128 (int (*)(...))QFileSystemModel::sibling
+136 (int (*)(...))QFileSystemModel::rowCount
+144 (int (*)(...))QFileSystemModel::columnCount
+152 (int (*)(...))QFileSystemModel::hasChildren
+160 (int (*)(...))QFileSystemModel::data
+168 (int (*)(...))QFileSystemModel::setData
+176 (int (*)(...))QFileSystemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QFileSystemModel::mimeTypes
+216 (int (*)(...))QFileSystemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QFileSystemModel::dropMimeData
+240 (int (*)(...))QFileSystemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QFileSystemModel::fetchMore
+312 (int (*)(...))QFileSystemModel::canFetchMore
+320 (int (*)(...))QFileSystemModel::flags
+328 (int (*)(...))QFileSystemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x0x7f8bbb151820) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16)
+ QAbstractItemModel (0x0x7f8bbb1973a8) 0
+ primary-for QFileSystemModel (0x0x7f8bbb151820)
+ QObject (0x0x7f8bb7256a20) 0
+ primary-for QAbstractItemModel (0x0x7f8bbb1973a8)
+
+Class QFocusFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFocusFrame::QPrivateSignal (0x0x7f8bb6ff24e0) 0 empty
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 (int (*)(...))QFocusFrame::metaObject
+24 (int (*)(...))QFocusFrame::qt_metacast
+32 (int (*)(...))QFocusFrame::qt_metacall
+40 (int (*)(...))QFocusFrame::~QFocusFrame
+48 (int (*)(...))QFocusFrame::~QFocusFrame
+56 (int (*)(...))QFocusFrame::event
+64 (int (*)(...))QFocusFrame::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFocusFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QFocusFrame)
+448 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFocusFrame
+ size=48 align=8
+ base size=48 base align=8
+QFocusFrame (0x0x7f8bbb197410) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16)
+ QWidget (0x0x7f8bbe88b310) 0
+ primary-for QFocusFrame (0x0x7f8bbb197410)
+ QObject (0x0x7f8bb6ff23c0) 0
+ primary-for QWidget (0x0x7f8bbe88b310)
+ QPaintDevice (0x0x7f8bb6ff2480) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 448)
+
+Class QFontComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontComboBox::QPrivateSignal (0x0x7f8bb7141000) 0 empty
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 (int (*)(...))QFontComboBox::metaObject
+24 (int (*)(...))QFontComboBox::qt_metacast
+32 (int (*)(...))QFontComboBox::qt_metacall
+40 (int (*)(...))QFontComboBox::~QFontComboBox
+48 (int (*)(...))QFontComboBox::~QFontComboBox
+56 (int (*)(...))QFontComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFontComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI13QFontComboBox)
+464 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+472 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontComboBox
+ size=48 align=8
+ base size=48 base align=8
+QFontComboBox (0x0x7f8bbb197750) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16)
+ QComboBox (0x0x7f8bbb1977b8) 0
+ primary-for QFontComboBox (0x0x7f8bbb197750)
+ QWidget (0x0x7f8bbe88b3f0) 0
+ primary-for QComboBox (0x0x7f8bbb1977b8)
+ QObject (0x0x7f8bb702d180) 0
+ primary-for QWidget (0x0x7f8bbe88b3f0)
+ QPaintDevice (0x0x7f8bb707bf60) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 464)
+
+Class QFontDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontDialog::QPrivateSignal (0x0x7f8bb6c9a4e0) 0 empty
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 (int (*)(...))QFontDialog::metaObject
+24 (int (*)(...))QFontDialog::qt_metacast
+32 (int (*)(...))QFontDialog::qt_metacall
+40 (int (*)(...))QFontDialog::~QFontDialog
+48 (int (*)(...))QFontDialog::~QFontDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QFontDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFontDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFontDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFontDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontDialog
+ size=48 align=8
+ base size=48 base align=8
+QFontDialog (0x0x7f8bbb1b5c30) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16)
+ QDialog (0x0x7f8bbb1c9bc8) 0
+ primary-for QFontDialog (0x0x7f8bbb1b5c30)
+ QWidget (0x0x7f8bbe8dc700) 0
+ primary-for QDialog (0x0x7f8bbb1c9bc8)
+ QObject (0x0x7f8bb6c9a360) 0
+ primary-for QWidget (0x0x7f8bbe8dc700)
+ QPaintDevice (0x0x7f8bb6c9a3c0) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488)
+
+Class QFormLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFormLayout::QPrivateSignal (0x0x7f8bb6a61420) 0 empty
+
+Class QFormLayout::TakeRowResult
+ size=16 align=8
+ base size=16 base align=8
+QFormLayout::TakeRowResult (0x0x7f8bb6a9c060) 0
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 50 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 (int (*)(...))QFormLayout::metaObject
+24 (int (*)(...))QFormLayout::qt_metacast
+32 (int (*)(...))QFormLayout::qt_metacall
+40 (int (*)(...))QFormLayout::~QFormLayout
+48 (int (*)(...))QFormLayout::~QFormLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFormLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QFormLayout::addItem
+136 (int (*)(...))QFormLayout::expandingDirections
+144 (int (*)(...))QFormLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QFormLayout::setGeometry
+168 (int (*)(...))QFormLayout::itemAt
+176 (int (*)(...))QFormLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QFormLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QFormLayout::sizeHint
+232 (int (*)(...))QFormLayout::hasHeightForWidth
+240 (int (*)(...))QFormLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI11QFormLayout)
+264 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+272 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+280 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+288 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+312 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+344 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x0x7f8bbaefb0d0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16)
+ QLayout (0x0x7f8bbe918a80) 0
+ primary-for QFormLayout (0x0x7f8bbaefb0d0)
+ QObject (0x0x7f8bb6a612a0) 0
+ primary-for QLayout (0x0x7f8bbe918a80)
+ QLayoutItem (0x0x7f8bb6a613c0) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 264)
+
+Class QGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGesture::QPrivateSignal (0x0x7f8bb6254ea0) 0 empty
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 (int (*)(...))QGesture::metaObject
+24 (int (*)(...))QGesture::qt_metacast
+32 (int (*)(...))QGesture::qt_metacall
+40 (int (*)(...))QGesture::~QGesture
+48 (int (*)(...))QGesture::~QGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x0x7f8bba65e1a0) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16)
+ QObject (0x0x7f8bb6254e40) 0
+ primary-for QGesture (0x0x7f8bba65e1a0)
+
+Class QPanGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPanGesture::QPrivateSignal (0x0x7f8bb6289d80) 0 empty
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 (int (*)(...))QPanGesture::metaObject
+24 (int (*)(...))QPanGesture::qt_metacast
+32 (int (*)(...))QPanGesture::qt_metacall
+40 (int (*)(...))QPanGesture::~QPanGesture
+48 (int (*)(...))QPanGesture::~QPanGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x0x7f8bba65ec30) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16)
+ QGesture (0x0x7f8bba65ec98) 0
+ primary-for QPanGesture (0x0x7f8bba65ec30)
+ QObject (0x0x7f8bb6289ba0) 0
+ primary-for QGesture (0x0x7f8bba65ec98)
+
+Class QPinchGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPinchGesture::QPrivateSignal (0x0x7f8bb60e5000) 0 empty
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 (int (*)(...))QPinchGesture::metaObject
+24 (int (*)(...))QPinchGesture::qt_metacast
+32 (int (*)(...))QPinchGesture::qt_metacall
+40 (int (*)(...))QPinchGesture::~QPinchGesture
+48 (int (*)(...))QPinchGesture::~QPinchGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x0x7f8bba676068) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16)
+ QGesture (0x0x7f8bba6760d0) 0
+ primary-for QPinchGesture (0x0x7f8bba676068)
+ QObject (0x0x7f8bb609df60) 0
+ primary-for QGesture (0x0x7f8bba6760d0)
+
+Class QSwipeGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSwipeGesture::QPrivateSignal (0x0x7f8bb5e1eba0) 0 empty
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 (int (*)(...))QSwipeGesture::metaObject
+24 (int (*)(...))QSwipeGesture::qt_metacast
+32 (int (*)(...))QSwipeGesture::qt_metacall
+40 (int (*)(...))QSwipeGesture::~QSwipeGesture
+48 (int (*)(...))QSwipeGesture::~QSwipeGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x0x7f8bba6764e0) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16)
+ QGesture (0x0x7f8bba6767b8) 0
+ primary-for QSwipeGesture (0x0x7f8bba6764e0)
+ QObject (0x0x7f8bb5e1eae0) 0
+ primary-for QGesture (0x0x7f8bba6767b8)
+
+Class QTapGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapGesture::QPrivateSignal (0x0x7f8bb5e6b600) 0 empty
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 (int (*)(...))QTapGesture::metaObject
+24 (int (*)(...))QTapGesture::qt_metacast
+32 (int (*)(...))QTapGesture::qt_metacall
+40 (int (*)(...))QTapGesture::~QTapGesture
+48 (int (*)(...))QTapGesture::~QTapGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x0x7f8bba676820) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16)
+ QGesture (0x0x7f8bba676958) 0
+ primary-for QTapGesture (0x0x7f8bba676820)
+ QObject (0x0x7f8bb5e6b5a0) 0
+ primary-for QGesture (0x0x7f8bba676958)
+
+Class QTapAndHoldGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapAndHoldGesture::QPrivateSignal (0x0x7f8bb5e88720) 0 empty
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 (int (*)(...))QTapAndHoldGesture::metaObject
+24 (int (*)(...))QTapAndHoldGesture::qt_metacast
+32 (int (*)(...))QTapAndHoldGesture::qt_metacall
+40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x0x7f8bba77b618) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16)
+ QGesture (0x0x7f8bba77b680) 0
+ primary-for QTapAndHoldGesture (0x0x7f8bba77b618)
+ QObject (0x0x7f8bb5e886c0) 0
+ primary-for QGesture (0x0x7f8bba77b680)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 (int (*)(...))QGestureEvent::~QGestureEvent
+24 (int (*)(...))QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=56 align=8
+ base size=56 base align=8
+QGestureEvent (0x0x7f8bba77b8f0) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16)
+ QEvent (0x0x7f8bb5ec47e0) 0
+ primary-for QGestureEvent (0x0x7f8bba77b8f0)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 0
+24 0
+32 (int (*)(...))QGestureRecognizer::create
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x0x7f8bb5f04840) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 0
+24 0
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItem::isObscuredBy
+88 (int (*)(...))QGraphicsItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x0x7f8bb5fa5c60) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16)
+
+Class QGraphicsObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsObject::QPrivateSignal (0x0x7f8bb594f420) 0 empty
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 (int (*)(...))QGraphicsObject::metaObject
+24 (int (*)(...))QGraphicsObject::qt_metacast
+32 (int (*)(...))QGraphicsObject::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))-16
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 0
+136 0
+144 (int (*)(...))QGraphicsItem::advance
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))QGraphicsItem::shape
+168 (int (*)(...))QGraphicsItem::contains
+176 (int (*)(...))QGraphicsItem::collidesWithItem
+184 (int (*)(...))QGraphicsItem::collidesWithPath
+192 (int (*)(...))QGraphicsItem::isObscuredBy
+200 (int (*)(...))QGraphicsItem::opaqueArea
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))QGraphicsItem::type
+224 (int (*)(...))QGraphicsItem::sceneEventFilter
+232 (int (*)(...))QGraphicsItem::sceneEvent
+240 (int (*)(...))QGraphicsItem::contextMenuEvent
+248 (int (*)(...))QGraphicsItem::dragEnterEvent
+256 (int (*)(...))QGraphicsItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsItem::dragMoveEvent
+272 (int (*)(...))QGraphicsItem::dropEvent
+280 (int (*)(...))QGraphicsItem::focusInEvent
+288 (int (*)(...))QGraphicsItem::focusOutEvent
+296 (int (*)(...))QGraphicsItem::hoverEnterEvent
+304 (int (*)(...))QGraphicsItem::hoverMoveEvent
+312 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+320 (int (*)(...))QGraphicsItem::keyPressEvent
+328 (int (*)(...))QGraphicsItem::keyReleaseEvent
+336 (int (*)(...))QGraphicsItem::mousePressEvent
+344 (int (*)(...))QGraphicsItem::mouseMoveEvent
+352 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+368 (int (*)(...))QGraphicsItem::wheelEvent
+376 (int (*)(...))QGraphicsItem::inputMethodEvent
+384 (int (*)(...))QGraphicsItem::inputMethodQuery
+392 (int (*)(...))QGraphicsItem::itemChange
+400 (int (*)(...))QGraphicsItem::supportsExtension
+408 (int (*)(...))QGraphicsItem::setExtension
+416 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x0x7f8bbe4afd90) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16)
+ QObject (0x0x7f8bb58d1ba0) 0
+ primary-for QGraphicsObject (0x0x7f8bbe4afd90)
+ QGraphicsItem (0x0x7f8bb58d1c00) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 0
+24 0
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy
+88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x0x7f8bba4ae138) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16)
+ QGraphicsItem (0x0x7f8bb594fae0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f8bba4ae138)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPathItem::boundingRect
+48 (int (*)(...))QGraphicsPathItem::shape
+56 (int (*)(...))QGraphicsPathItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPathItem::isObscuredBy
+88 (int (*)(...))QGraphicsPathItem::opaqueArea
+96 (int (*)(...))QGraphicsPathItem::paint
+104 (int (*)(...))QGraphicsPathItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPathItem::supportsExtension
+296 (int (*)(...))QGraphicsPathItem::setExtension
+304 (int (*)(...))QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x0x7f8bba4ae1a0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7f8bba4aeaf8) 0
+ primary-for QGraphicsPathItem (0x0x7f8bba4ae1a0)
+ QGraphicsItem (0x0x7f8bb596fc00) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f8bba4aeaf8)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsRectItem::boundingRect
+48 (int (*)(...))QGraphicsRectItem::shape
+56 (int (*)(...))QGraphicsRectItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsRectItem::isObscuredBy
+88 (int (*)(...))QGraphicsRectItem::opaqueArea
+96 (int (*)(...))QGraphicsRectItem::paint
+104 (int (*)(...))QGraphicsRectItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsRectItem::supportsExtension
+296 (int (*)(...))QGraphicsRectItem::setExtension
+304 (int (*)(...))QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x0x7f8bba4aeb60) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7f8bba54e068) 0
+ primary-for QGraphicsRectItem (0x0x7f8bba4aeb60)
+ QGraphicsItem (0x0x7f8bb59ba120) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f8bba54e068)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsEllipseItem::boundingRect
+48 (int (*)(...))QGraphicsEllipseItem::shape
+56 (int (*)(...))QGraphicsEllipseItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy
+88 (int (*)(...))QGraphicsEllipseItem::opaqueArea
+96 (int (*)(...))QGraphicsEllipseItem::paint
+104 (int (*)(...))QGraphicsEllipseItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsEllipseItem::supportsExtension
+296 (int (*)(...))QGraphicsEllipseItem::setExtension
+304 (int (*)(...))QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x0x7f8bba54e0d0) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7f8bba54e5b0) 0
+ primary-for QGraphicsEllipseItem (0x0x7f8bba54e0d0)
+ QGraphicsItem (0x0x7f8bb59bac00) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f8bba54e5b0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPolygonItem::boundingRect
+48 (int (*)(...))QGraphicsPolygonItem::shape
+56 (int (*)(...))QGraphicsPolygonItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy
+88 (int (*)(...))QGraphicsPolygonItem::opaqueArea
+96 (int (*)(...))QGraphicsPolygonItem::paint
+104 (int (*)(...))QGraphicsPolygonItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPolygonItem::supportsExtension
+296 (int (*)(...))QGraphicsPolygonItem::setExtension
+304 (int (*)(...))QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x0x7f8bba54e618) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7f8bba56e680) 0
+ primary-for QGraphicsPolygonItem (0x0x7f8bba54e618)
+ QGraphicsItem (0x0x7f8bb55d84e0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f8bba56e680)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsLineItem::boundingRect
+48 (int (*)(...))QGraphicsLineItem::shape
+56 (int (*)(...))QGraphicsLineItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsLineItem::isObscuredBy
+88 (int (*)(...))QGraphicsLineItem::opaqueArea
+96 (int (*)(...))QGraphicsLineItem::paint
+104 (int (*)(...))QGraphicsLineItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsLineItem::supportsExtension
+296 (int (*)(...))QGraphicsLineItem::setExtension
+304 (int (*)(...))QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x0x7f8bba56e6e8) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16)
+ QGraphicsItem (0x0x7f8bb56328a0) 0
+ primary-for QGraphicsLineItem (0x0x7f8bba56e6e8)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPixmapItem::boundingRect
+48 (int (*)(...))QGraphicsPixmapItem::shape
+56 (int (*)(...))QGraphicsPixmapItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy
+88 (int (*)(...))QGraphicsPixmapItem::opaqueArea
+96 (int (*)(...))QGraphicsPixmapItem::paint
+104 (int (*)(...))QGraphicsPixmapItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPixmapItem::supportsExtension
+296 (int (*)(...))QGraphicsPixmapItem::setExtension
+304 (int (*)(...))QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x0x7f8bba56ea90) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16)
+ QGraphicsItem (0x0x7f8bb5632d20) 0
+ primary-for QGraphicsPixmapItem (0x0x7f8bba56ea90)
+
+Class QGraphicsTextItem::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTextItem::QPrivateSignal (0x0x7f8bb5661840) 0 empty
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 (int (*)(...))QGraphicsTextItem::metaObject
+24 (int (*)(...))QGraphicsTextItem::qt_metacast
+32 (int (*)(...))QGraphicsTextItem::qt_metacall
+40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsTextItem::boundingRect
+120 (int (*)(...))QGraphicsTextItem::shape
+128 (int (*)(...))QGraphicsTextItem::contains
+136 (int (*)(...))QGraphicsTextItem::paint
+144 (int (*)(...))QGraphicsTextItem::isObscuredBy
+152 (int (*)(...))QGraphicsTextItem::opaqueArea
+160 (int (*)(...))QGraphicsTextItem::type
+168 (int (*)(...))QGraphicsTextItem::sceneEvent
+176 (int (*)(...))QGraphicsTextItem::mousePressEvent
+184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent
+192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent
+200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent
+208 (int (*)(...))QGraphicsTextItem::contextMenuEvent
+216 (int (*)(...))QGraphicsTextItem::keyPressEvent
+224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent
+232 (int (*)(...))QGraphicsTextItem::focusInEvent
+240 (int (*)(...))QGraphicsTextItem::focusOutEvent
+248 (int (*)(...))QGraphicsTextItem::dragEnterEvent
+256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsTextItem::dragMoveEvent
+272 (int (*)(...))QGraphicsTextItem::dropEvent
+280 (int (*)(...))QGraphicsTextItem::inputMethodEvent
+288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent
+296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent
+304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent
+312 (int (*)(...))QGraphicsTextItem::inputMethodQuery
+320 (int (*)(...))QGraphicsTextItem::supportsExtension
+328 (int (*)(...))QGraphicsTextItem::setExtension
+336 (int (*)(...))QGraphicsTextItem::extension
+344 (int (*)(...))-16
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 (int (*)(...))QGraphicsItem::advance
+384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 (int (*)(...))QGraphicsItem::collidesWithItem
+416 (int (*)(...))QGraphicsItem::collidesWithPath
+424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 (int (*)(...))QGraphicsItem::sceneEventFilter
+464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 (int (*)(...))QGraphicsItem::wheelEvent
+608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 (int (*)(...))QGraphicsItem::itemChange
+632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x0x7f8bba56eaf8) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16)
+ QGraphicsObject (0x0x7f8bbe535690) 0
+ primary-for QGraphicsTextItem (0x0x7f8bba56eaf8)
+ QObject (0x0x7f8bb5661360) 0
+ primary-for QGraphicsObject (0x0x7f8bbe535690)
+ QGraphicsItem (0x0x7f8bb56617e0) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect
+48 (int (*)(...))QGraphicsSimpleTextItem::shape
+56 (int (*)(...))QGraphicsSimpleTextItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy
+88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea
+96 (int (*)(...))QGraphicsSimpleTextItem::paint
+104 (int (*)(...))QGraphicsSimpleTextItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension
+296 (int (*)(...))QGraphicsSimpleTextItem::setExtension
+304 (int (*)(...))QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x0x7f8bba5aec30) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16)
+ QAbstractGraphicsShapeItem (0x0x7f8bba5aec98) 0
+ primary-for QGraphicsSimpleTextItem (0x0x7f8bba5aec30)
+ QGraphicsItem (0x0x7f8bb5683180) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f8bba5aec98)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsItemGroup::boundingRect
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItemGroup::isObscuredBy
+88 (int (*)(...))QGraphicsItemGroup::opaqueArea
+96 (int (*)(...))QGraphicsItemGroup::paint
+104 (int (*)(...))QGraphicsItemGroup::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x0x7f8bba2185b0) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16)
+ QGraphicsItem (0x0x7f8bb56835a0) 0
+ primary-for QGraphicsItemGroup (0x0x7f8bba2185b0)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 0
+24 0
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins
+48 (int (*)(...))QGraphicsLayoutItem::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x0x7f8bb569b2a0) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 0
+24 0
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))QGraphicsLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x0x7f8bba218618) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16)
+ QGraphicsLayoutItem (0x0x7f8bb56b3ea0) 0
+ primary-for QGraphicsLayout (0x0x7f8bba218618)
+
+Class QGraphicsAnchor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsAnchor::QPrivateSignal (0x0x7f8bb57179c0) 0 empty
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 (int (*)(...))QGraphicsAnchor::metaObject
+24 (int (*)(...))QGraphicsAnchor::qt_metacast
+32 (int (*)(...))QGraphicsAnchor::qt_metacall
+40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x0x7f8bba2351a0) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16)
+ QObject (0x0x7f8bb57175a0) 0
+ primary-for QGraphicsAnchor (0x0x7f8bba2351a0)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 (int (*)(...))QGraphicsAnchorLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsAnchorLayout::sizeHint
+64 (int (*)(...))QGraphicsAnchorLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsAnchorLayout::count
+88 (int (*)(...))QGraphicsAnchorLayout::itemAt
+96 (int (*)(...))QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x0x7f8bba235208) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16)
+ QGraphicsLayout (0x0x7f8bba2353a8) 0
+ primary-for QGraphicsAnchorLayout (0x0x7f8bba235208)
+ QGraphicsLayoutItem (0x0x7f8bb5735060) 0
+ primary-for QGraphicsLayout (0x0x7f8bba2353a8)
+
+Class QGraphicsEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsEffect::QPrivateSignal (0x0x7f8bb57836c0) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 (int (*)(...))QGraphicsEffect::metaObject
+24 (int (*)(...))QGraphicsEffect::qt_metacast
+32 (int (*)(...))QGraphicsEffect::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x0x7f8bba2355b0) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16)
+ QObject (0x0x7f8bb5783660) 0
+ primary-for QGraphicsEffect (0x0x7f8bba2355b0)
+
+Class QGraphicsColorizeEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsColorizeEffect::QPrivateSignal (0x0x7f8bb5540480) 0 empty
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 (int (*)(...))QGraphicsColorizeEffect::metaObject
+24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast
+32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall
+40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsColorizeEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x0x7f8bba24b548) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16)
+ QGraphicsEffect (0x0x7f8bba25ff70) 0
+ primary-for QGraphicsColorizeEffect (0x0x7f8bba24b548)
+ QObject (0x0x7f8bb55400c0) 0
+ primary-for QGraphicsEffect (0x0x7f8bba25ff70)
+
+Class QGraphicsBlurEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsBlurEffect::QPrivateSignal (0x0x7f8bb555ca20) 0 empty
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 (int (*)(...))QGraphicsBlurEffect::metaObject
+24 (int (*)(...))QGraphicsBlurEffect::qt_metacast
+32 (int (*)(...))QGraphicsBlurEffect::qt_metacall
+40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor
+120 (int (*)(...))QGraphicsBlurEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x0x7f8bba279000) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16)
+ QGraphicsEffect (0x0x7f8bba2798f0) 0
+ primary-for QGraphicsBlurEffect (0x0x7f8bba279000)
+ QObject (0x0x7f8bb555c2a0) 0
+ primary-for QGraphicsEffect (0x0x7f8bba2798f0)
+
+Class QGraphicsDropShadowEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsDropShadowEffect::QPrivateSignal (0x0x7f8bb52499c0) 0 empty
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 (int (*)(...))QGraphicsDropShadowEffect::metaObject
+24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast
+32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall
+40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor
+120 (int (*)(...))QGraphicsDropShadowEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x0x7f8bba279c30) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16)
+ QGraphicsEffect (0x0x7f8bba279c98) 0
+ primary-for QGraphicsDropShadowEffect (0x0x7f8bba279c30)
+ QObject (0x0x7f8bb5249960) 0
+ primary-for QGraphicsEffect (0x0x7f8bba279c98)
+
+Class QGraphicsOpacityEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsOpacityEffect::QPrivateSignal (0x0x7f8bb52ee180) 0 empty
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 (int (*)(...))QGraphicsOpacityEffect::metaObject
+24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast
+32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall
+40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsOpacityEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x0x7f8bba295618) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16)
+ QGraphicsEffect (0x0x7f8bba295680) 0
+ primary-for QGraphicsOpacityEffect (0x0x7f8bba295618)
+ QObject (0x0x7f8bb52ee120) 0
+ primary-for QGraphicsEffect (0x0x7f8bba295680)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+32 (int (*)(...))QGraphicsGridLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsGridLayout::sizeHint
+64 (int (*)(...))QGraphicsGridLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsGridLayout::count
+88 (int (*)(...))QGraphicsGridLayout::itemAt
+96 (int (*)(...))QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x0x7f8bba295750) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16)
+ QGraphicsLayout (0x0x7f8bba2957b8) 0
+ primary-for QGraphicsGridLayout (0x0x7f8bba295750)
+ QGraphicsLayoutItem (0x0x7f8bb530f420) 0
+ primary-for QGraphicsLayout (0x0x7f8bba2957b8)
+
+Class QGraphicsItemAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsItemAnimation::QPrivateSignal (0x0x7f8bb536bf60) 0 empty
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 (int (*)(...))QGraphicsItemAnimation::metaObject
+24 (int (*)(...))QGraphicsItemAnimation::qt_metacast
+32 (int (*)(...))QGraphicsItemAnimation::qt_metacall
+40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep
+120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x0x7f8bba2ab6e8) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16)
+ QObject (0x0x7f8bb536bf00) 0
+ primary-for QGraphicsItemAnimation (0x0x7f8bba2ab6e8)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 (int (*)(...))QGraphicsLinearLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsLinearLayout::sizeHint
+64 (int (*)(...))QGraphicsLinearLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsLinearLayout::count
+88 (int (*)(...))QGraphicsLinearLayout::itemAt
+96 (int (*)(...))QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x0x7f8bba2ab750) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16)
+ QGraphicsLayout (0x0x7f8bba2abaf8) 0
+ primary-for QGraphicsLinearLayout (0x0x7f8bba2ab750)
+ QGraphicsLayoutItem (0x0x7f8bb53af840) 0
+ primary-for QGraphicsLayout (0x0x7f8bba2abaf8)
+
+Class QGraphicsWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsWidget::QPrivateSignal (0x0x7f8bb4fd0900) 0 empty
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 (int (*)(...))QGraphicsWidget::metaObject
+24 (int (*)(...))QGraphicsWidget::qt_metacast
+32 (int (*)(...))QGraphicsWidget::qt_metacall
+40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+56 (int (*)(...))QGraphicsWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsWidget::type
+136 (int (*)(...))QGraphicsWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsWidget::focusInEvent
+256 (int (*)(...))QGraphicsWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsWidget::focusOutEvent
+272 (int (*)(...))QGraphicsWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsWidget::resizeEvent
+304 (int (*)(...))QGraphicsWidget::showEvent
+312 (int (*)(...))QGraphicsWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-16
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 (int (*)(...))QGraphicsItem::advance
+400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 (int (*)(...))QGraphicsItem::contains
+424 (int (*)(...))QGraphicsItem::collidesWithItem
+432 (int (*)(...))QGraphicsItem::collidesWithPath
+440 (int (*)(...))QGraphicsItem::isObscuredBy
+448 (int (*)(...))QGraphicsItem::opaqueArea
+456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 (int (*)(...))QGraphicsItem::sceneEventFilter
+480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 (int (*)(...))QGraphicsItem::contextMenuEvent
+496 (int (*)(...))QGraphicsItem::dragEnterEvent
+504 (int (*)(...))QGraphicsItem::dragLeaveEvent
+512 (int (*)(...))QGraphicsItem::dragMoveEvent
+520 (int (*)(...))QGraphicsItem::dropEvent
+528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 (int (*)(...))QGraphicsItem::hoverEnterEvent
+552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 (int (*)(...))QGraphicsItem::keyPressEvent
+576 (int (*)(...))QGraphicsItem::keyReleaseEvent
+584 (int (*)(...))QGraphicsItem::mousePressEvent
+592 (int (*)(...))QGraphicsItem::mouseMoveEvent
+600 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+616 (int (*)(...))QGraphicsItem::wheelEvent
+624 (int (*)(...))QGraphicsItem::inputMethodEvent
+632 (int (*)(...))QGraphicsItem::inputMethodQuery
+640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 (int (*)(...))QGraphicsItem::supportsExtension
+656 (int (*)(...))QGraphicsItem::setExtension
+664 (int (*)(...))QGraphicsItem::extension
+672 (int (*)(...))-32
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x0x7f8bbe364b60) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16)
+ QGraphicsObject (0x0x7f8bbe364bd0) 0
+ primary-for QGraphicsWidget (0x0x7f8bbe364b60)
+ QObject (0x0x7f8bb4fd0600) 0
+ primary-for QGraphicsObject (0x0x7f8bbe364bd0)
+ QGraphicsItem (0x0x7f8bb4fd0660) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376)
+ QGraphicsLayoutItem (0x0x7f8bb4fd08a0) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688)
+
+Class QGraphicsProxyWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsProxyWidget::QPrivateSignal (0x0x7f8bb502d300) 0 empty
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 107 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 (int (*)(...))QGraphicsProxyWidget::metaObject
+24 (int (*)(...))QGraphicsProxyWidget::qt_metacast
+32 (int (*)(...))QGraphicsProxyWidget::qt_metacall
+40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 (int (*)(...))QGraphicsProxyWidget::event
+64 (int (*)(...))QGraphicsProxyWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsProxyWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsProxyWidget::type
+136 (int (*)(...))QGraphicsProxyWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsProxyWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsProxyWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsProxyWidget::focusInEvent
+256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent
+272 (int (*)(...))QGraphicsProxyWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsProxyWidget::resizeEvent
+304 (int (*)(...))QGraphicsProxyWidget::showEvent
+312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent
+368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent
+376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent
+384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent
+392 (int (*)(...))QGraphicsProxyWidget::dropEvent
+400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent
+408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent
+416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent
+424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent
+432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent
+440 (int (*)(...))QGraphicsProxyWidget::wheelEvent
+448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent
+456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery
+472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent
+480 (int (*)(...))-16
+488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+512 (int (*)(...))QGraphicsItem::advance
+520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+536 (int (*)(...))QGraphicsItem::contains
+544 (int (*)(...))QGraphicsItem::collidesWithItem
+552 (int (*)(...))QGraphicsItem::collidesWithPath
+560 (int (*)(...))QGraphicsItem::isObscuredBy
+568 (int (*)(...))QGraphicsItem::opaqueArea
+576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+592 (int (*)(...))QGraphicsItem::sceneEventFilter
+600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent
+752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE
+760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+768 (int (*)(...))QGraphicsItem::supportsExtension
+776 (int (*)(...))QGraphicsItem::setExtension
+784 (int (*)(...))QGraphicsItem::extension
+792 (int (*)(...))-32
+800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+848 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x0x7f8bba2c1270) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16)
+ QGraphicsWidget (0x0x7f8bbe364ee0) 0
+ primary-for QGraphicsProxyWidget (0x0x7f8bba2c1270)
+ QGraphicsObject (0x0x7f8bbe364f50) 0
+ primary-for QGraphicsWidget (0x0x7f8bbe364ee0)
+ QObject (0x0x7f8bb500c8a0) 0
+ primary-for QGraphicsObject (0x0x7f8bbe364f50)
+ QGraphicsItem (0x0x7f8bb500c900) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496)
+ QGraphicsLayoutItem (0x0x7f8bb502d2a0) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808)
+
+Class QGraphicsScene::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScene::QPrivateSignal (0x0x7f8bb50c5a80) 0 empty
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 (int (*)(...))QGraphicsScene::metaObject
+24 (int (*)(...))QGraphicsScene::qt_metacast
+32 (int (*)(...))QGraphicsScene::qt_metacall
+40 (int (*)(...))QGraphicsScene::~QGraphicsScene
+48 (int (*)(...))QGraphicsScene::~QGraphicsScene
+56 (int (*)(...))QGraphicsScene::event
+64 (int (*)(...))QGraphicsScene::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScene::inputMethodQuery
+120 (int (*)(...))QGraphicsScene::contextMenuEvent
+128 (int (*)(...))QGraphicsScene::dragEnterEvent
+136 (int (*)(...))QGraphicsScene::dragMoveEvent
+144 (int (*)(...))QGraphicsScene::dragLeaveEvent
+152 (int (*)(...))QGraphicsScene::dropEvent
+160 (int (*)(...))QGraphicsScene::focusInEvent
+168 (int (*)(...))QGraphicsScene::focusOutEvent
+176 (int (*)(...))QGraphicsScene::helpEvent
+184 (int (*)(...))QGraphicsScene::keyPressEvent
+192 (int (*)(...))QGraphicsScene::keyReleaseEvent
+200 (int (*)(...))QGraphicsScene::mousePressEvent
+208 (int (*)(...))QGraphicsScene::mouseMoveEvent
+216 (int (*)(...))QGraphicsScene::mouseReleaseEvent
+224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent
+232 (int (*)(...))QGraphicsScene::wheelEvent
+240 (int (*)(...))QGraphicsScene::inputMethodEvent
+248 (int (*)(...))QGraphicsScene::drawBackground
+256 (int (*)(...))QGraphicsScene::drawForeground
+264 (int (*)(...))QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x0x7f8bba069bc8) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16)
+ QObject (0x0x7f8bb50c5a20) 0
+ primary-for QGraphicsScene (0x0x7f8bba069bc8)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x0x7f8bba0b4068) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16)
+ QEvent (0x0x7f8bb4ec1600) 0
+ primary-for QGraphicsSceneEvent (0x0x7f8bba0b4068)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x0x7f8bba0b4888) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16)
+ QGraphicsSceneEvent (0x0x7f8bba0b48f0) 0
+ primary-for QGraphicsSceneMouseEvent (0x0x7f8bba0b4888)
+ QEvent (0x0x7f8bb4ec1e40) 0
+ primary-for QGraphicsSceneEvent (0x0x7f8bba0b48f0)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x0x7f8bba0b4d68) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16)
+ QGraphicsSceneEvent (0x0x7f8bba0b4dd0) 0
+ primary-for QGraphicsSceneWheelEvent (0x0x7f8bba0b4d68)
+ QEvent (0x0x7f8bb4ee0480) 0
+ primary-for QGraphicsSceneEvent (0x0x7f8bba0b4dd0)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x0x7f8bba1280d0) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16)
+ QGraphicsSceneEvent (0x0x7f8bba128138) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x0x7f8bba1280d0)
+ QEvent (0x0x7f8bb4ee06c0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f8bba128138)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x0x7f8bba1282d8) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16)
+ QGraphicsSceneEvent (0x0x7f8bba128410) 0
+ primary-for QGraphicsSceneHoverEvent (0x0x7f8bba1282d8)
+ QEvent (0x0x7f8bb4efd120) 0
+ primary-for QGraphicsSceneEvent (0x0x7f8bba128410)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x0x7f8bba128478) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16)
+ QGraphicsSceneEvent (0x0x7f8bba128618) 0
+ primary-for QGraphicsSceneHelpEvent (0x0x7f8bba128478)
+ QEvent (0x0x7f8bb4efdc00) 0
+ primary-for QGraphicsSceneEvent (0x0x7f8bba128618)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x0x7f8bba128680) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16)
+ QGraphicsSceneEvent (0x0x7f8bba1286e8) 0
+ primary-for QGraphicsSceneDragDropEvent (0x0x7f8bba128680)
+ QEvent (0x0x7f8bb4efdea0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f8bba1286e8)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x0x7f8bba128dd0) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16)
+ QGraphicsSceneEvent (0x0x7f8bba128e38) 0
+ primary-for QGraphicsSceneResizeEvent (0x0x7f8bba128dd0)
+ QEvent (0x0x7f8bb4f222a0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f8bba128e38)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x0x7f8bba13c000) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16)
+ QGraphicsSceneEvent (0x0x7f8bba13c208) 0
+ primary-for QGraphicsSceneMoveEvent (0x0x7f8bba13c000)
+ QEvent (0x0x7f8bb4f22ae0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f8bba13c208)
+
+Class QGraphicsTransform::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTransform::QPrivateSignal (0x0x7f8bb4f421e0) 0 empty
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 (int (*)(...))QGraphicsTransform::metaObject
+24 (int (*)(...))QGraphicsTransform::qt_metacast
+32 (int (*)(...))QGraphicsTransform::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x0x7f8bba13c478) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16)
+ QObject (0x0x7f8bb4f22d20) 0
+ primary-for QGraphicsTransform (0x0x7f8bba13c478)
+
+Class QGraphicsScale::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScale::QPrivateSignal (0x0x7f8bb4f42960) 0 empty
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 (int (*)(...))QGraphicsScale::metaObject
+24 (int (*)(...))QGraphicsScale::qt_metacast
+32 (int (*)(...))QGraphicsScale::qt_metacall
+40 (int (*)(...))QGraphicsScale::~QGraphicsScale
+48 (int (*)(...))QGraphicsScale::~QGraphicsScale
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x0x7f8bba13c888) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16)
+ QGraphicsTransform (0x0x7f8bba13c8f0) 0
+ primary-for QGraphicsScale (0x0x7f8bba13c888)
+ QObject (0x0x7f8bb4f428a0) 0
+ primary-for QGraphicsTransform (0x0x7f8bba13c8f0)
+
+Class QGraphicsRotation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsRotation::QPrivateSignal (0x0x7f8bb4f5fc00) 0 empty
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 (int (*)(...))QGraphicsRotation::metaObject
+24 (int (*)(...))QGraphicsRotation::qt_metacast
+32 (int (*)(...))QGraphicsRotation::qt_metacall
+40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x0x7f8bba13cc30) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16)
+ QGraphicsTransform (0x0x7f8bba13cc98) 0
+ primary-for QGraphicsRotation (0x0x7f8bba13cc30)
+ QObject (0x0x7f8bb4f5f960) 0
+ primary-for QGraphicsTransform (0x0x7f8bba13cc98)
+
+Class QScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollArea::QPrivateSignal (0x0x7f8bb4f7c900) 0 empty
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 68 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 (int (*)(...))QScrollArea::metaObject
+24 (int (*)(...))QScrollArea::qt_metacast
+32 (int (*)(...))QScrollArea::qt_metacall
+40 (int (*)(...))QScrollArea::~QScrollArea
+48 (int (*)(...))QScrollArea::~QScrollArea
+56 (int (*)(...))QScrollArea::event
+64 (int (*)(...))QScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QScrollArea::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QScrollArea::scrollContentsBy
+456 (int (*)(...))QScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QScrollArea (0x0x7f8bba1663a8) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16)
+ QAbstractScrollArea (0x0x7f8bba166410) 0
+ primary-for QScrollArea (0x0x7f8bba1663a8)
+ QFrame (0x0x7f8bba1668f0) 0
+ primary-for QAbstractScrollArea (0x0x7f8bba166410)
+ QWidget (0x0x7f8bbe1c27e0) 0
+ primary-for QFrame (0x0x7f8bba1668f0)
+ QObject (0x0x7f8bb4f7c3c0) 0
+ primary-for QWidget (0x0x7f8bbe1c27e0)
+ QPaintDevice (0x0x7f8bb4f7c480) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480)
+
+Class QGraphicsView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsView::QPrivateSignal (0x0x7f8bb4f97f00) 0 empty
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 (int (*)(...))QGraphicsView::metaObject
+24 (int (*)(...))QGraphicsView::qt_metacast
+32 (int (*)(...))QGraphicsView::qt_metacall
+40 (int (*)(...))QGraphicsView::~QGraphicsView
+48 (int (*)(...))QGraphicsView::~QGraphicsView
+56 (int (*)(...))QGraphicsView::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QGraphicsView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGraphicsView::mousePressEvent
+176 (int (*)(...))QGraphicsView::mouseReleaseEvent
+184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent
+192 (int (*)(...))QGraphicsView::mouseMoveEvent
+200 (int (*)(...))QGraphicsView::wheelEvent
+208 (int (*)(...))QGraphicsView::keyPressEvent
+216 (int (*)(...))QGraphicsView::keyReleaseEvent
+224 (int (*)(...))QGraphicsView::focusInEvent
+232 (int (*)(...))QGraphicsView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGraphicsView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGraphicsView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QGraphicsView::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QGraphicsView::dragEnterEvent
+320 (int (*)(...))QGraphicsView::dragMoveEvent
+328 (int (*)(...))QGraphicsView::dragLeaveEvent
+336 (int (*)(...))QGraphicsView::dropEvent
+344 (int (*)(...))QGraphicsView::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QGraphicsView::inputMethodEvent
+416 (int (*)(...))QGraphicsView::inputMethodQuery
+424 (int (*)(...))QGraphicsView::focusNextPrevChild
+432 (int (*)(...))QGraphicsView::setupViewport
+440 (int (*)(...))QGraphicsView::viewportEvent
+448 (int (*)(...))QGraphicsView::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QGraphicsView::drawBackground
+472 (int (*)(...))QGraphicsView::drawForeground
+480 (int (*)(...))QGraphicsView::drawItems
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGraphicsView
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsView (0x0x7f8bba166958) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16)
+ QAbstractScrollArea (0x0x7f8bba166c98) 0
+ primary-for QGraphicsView (0x0x7f8bba166958)
+ QFrame (0x0x7f8bba166d00) 0
+ primary-for QAbstractScrollArea (0x0x7f8bba166c98)
+ QWidget (0x0x7f8bbe1c2930) 0
+ primary-for QFrame (0x0x7f8bba166d00)
+ QObject (0x0x7f8bb4f97de0) 0
+ primary-for QWidget (0x0x7f8bbe1c2930)
+ QPaintDevice (0x0x7f8bb4f97e40) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504)
+
+Class QGroupBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGroupBox::QPrivateSignal (0x0x7f8bb4d8cf00) 0 empty
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 (int (*)(...))QGroupBox::metaObject
+24 (int (*)(...))QGroupBox::qt_metacast
+32 (int (*)(...))QGroupBox::qt_metacall
+40 (int (*)(...))QGroupBox::~QGroupBox
+48 (int (*)(...))QGroupBox::~QGroupBox
+56 (int (*)(...))QGroupBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QGroupBox::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QGroupBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGroupBox::mousePressEvent
+176 (int (*)(...))QGroupBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QGroupBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QGroupBox::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGroupBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGroupBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QGroupBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QGroupBox)
+448 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGroupBox
+ size=48 align=8
+ base size=48 base align=8
+QGroupBox (0x0x7f8bb9ee3068) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16)
+ QWidget (0x0x7f8bbdf2eaf0) 0
+ primary-for QGroupBox (0x0x7f8bb9ee3068)
+ QObject (0x0x7f8bb4d8c660) 0
+ primary-for QWidget (0x0x7f8bbdf2eaf0)
+ QPaintDevice (0x0x7f8bb4d8c6c0) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 448)
+
+Class QHeaderView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHeaderView::QPrivateSignal (0x0x7f8bb49f1240) 0 empty
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 108 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 (int (*)(...))QHeaderView::metaObject
+24 (int (*)(...))QHeaderView::qt_metacast
+32 (int (*)(...))QHeaderView::qt_metacall
+40 (int (*)(...))QHeaderView::~QHeaderView
+48 (int (*)(...))QHeaderView::~QHeaderView
+56 (int (*)(...))QHeaderView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QHeaderView::setVisible
+128 (int (*)(...))QHeaderView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QHeaderView::mousePressEvent
+176 (int (*)(...))QHeaderView::mouseReleaseEvent
+184 (int (*)(...))QHeaderView::mouseDoubleClickEvent
+192 (int (*)(...))QHeaderView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QHeaderView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QHeaderView::viewportEvent
+448 (int (*)(...))QHeaderView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QHeaderView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QHeaderView::visualRect
+496 (int (*)(...))QHeaderView::scrollTo
+504 (int (*)(...))QHeaderView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QHeaderView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QHeaderView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QHeaderView::dataChanged
+568 (int (*)(...))QHeaderView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QHeaderView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QHeaderView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QHeaderView::moveCursor
+688 (int (*)(...))QHeaderView::horizontalOffset
+696 (int (*)(...))QHeaderView::verticalOffset
+704 (int (*)(...))QHeaderView::isIndexHidden
+712 (int (*)(...))QHeaderView::setSelection
+720 (int (*)(...))QHeaderView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QHeaderView::paintSection
+776 (int (*)(...))QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QHeaderView
+ size=48 align=8
+ base size=48 base align=8
+QHeaderView (0x0x7f8bb9ee30d0) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16)
+ QAbstractItemView (0x0x7f8bb9eff0d0) 0
+ primary-for QHeaderView (0x0x7f8bb9ee30d0)
+ QAbstractScrollArea (0x0x7f8bb9eff138) 0
+ primary-for QAbstractItemView (0x0x7f8bb9eff0d0)
+ QFrame (0x0x7f8bb9fa8c98) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb9eff138)
+ QWidget (0x0x7f8bbdf2eb60) 0
+ primary-for QFrame (0x0x7f8bb9fa8c98)
+ QObject (0x0x7f8bb49d36c0) 0
+ primary-for QWidget (0x0x7f8bbdf2eb60)
+ QPaintDevice (0x0x7f8bb49f11e0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800)
+
+Class QLineEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLineEdit::QPrivateSignal (0x0x7f8bb46a1ae0) 0 empty
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 (int (*)(...))QLineEdit::metaObject
+24 (int (*)(...))QLineEdit::qt_metacast
+32 (int (*)(...))QLineEdit::qt_metacall
+40 (int (*)(...))QLineEdit::~QLineEdit
+48 (int (*)(...))QLineEdit::~QLineEdit
+56 (int (*)(...))QLineEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLineEdit::sizeHint
+136 (int (*)(...))QLineEdit::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLineEdit::mousePressEvent
+176 (int (*)(...))QLineEdit::mouseReleaseEvent
+184 (int (*)(...))QLineEdit::mouseDoubleClickEvent
+192 (int (*)(...))QLineEdit::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLineEdit::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLineEdit::focusInEvent
+232 (int (*)(...))QLineEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLineEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLineEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QLineEdit::dragEnterEvent
+320 (int (*)(...))QLineEdit::dragMoveEvent
+328 (int (*)(...))QLineEdit::dragLeaveEvent
+336 (int (*)(...))QLineEdit::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLineEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QLineEdit::inputMethodEvent
+416 (int (*)(...))QLineEdit::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QLineEdit)
+448 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev
+456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLineEdit
+ size=48 align=8
+ base size=48 base align=8
+QLineEdit (0x0x7f8bb9c9c680) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16)
+ QWidget (0x0x7f8bbdbf4380) 0
+ primary-for QLineEdit (0x0x7f8bb9c9c680)
+ QObject (0x0x7f8bb47f5780) 0
+ primary-for QWidget (0x0x7f8bbdbf4380)
+ QPaintDevice (0x0x7f8bb47f57e0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 448)
+
+Class QInputDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputDialog::QPrivateSignal (0x0x7f8bb46fd480) 0 empty
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 (int (*)(...))QInputDialog::metaObject
+24 (int (*)(...))QInputDialog::qt_metacast
+32 (int (*)(...))QInputDialog::qt_metacall
+40 (int (*)(...))QInputDialog::~QInputDialog
+48 (int (*)(...))QInputDialog::~QInputDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QInputDialog::setVisible
+128 (int (*)(...))QInputDialog::sizeHint
+136 (int (*)(...))QInputDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QInputDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QInputDialog
+ size=48 align=8
+ base size=48 base align=8
+QInputDialog (0x0x7f8bb9c9c6e8) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16)
+ QDialog (0x0x7f8bb9c9c7b8) 0
+ primary-for QInputDialog (0x0x7f8bb9c9c6e8)
+ QWidget (0x0x7f8bbdbf47e0) 0
+ primary-for QDialog (0x0x7f8bb9c9c7b8)
+ QObject (0x0x7f8bb46fd1e0) 0
+ primary-for QWidget (0x0x7f8bbdbf47e0)
+ QPaintDevice (0x0x7f8bb46fd240) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488)
+
+Class QItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemDelegate::QPrivateSignal (0x0x7f8bb477f660) 0 empty
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 (int (*)(...))QItemDelegate::metaObject
+24 (int (*)(...))QItemDelegate::qt_metacast
+32 (int (*)(...))QItemDelegate::qt_metacall
+40 (int (*)(...))QItemDelegate::~QItemDelegate
+48 (int (*)(...))QItemDelegate::~QItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemDelegate::paint
+120 (int (*)(...))QItemDelegate::sizeHint
+128 (int (*)(...))QItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QItemDelegate::setEditorData
+152 (int (*)(...))QItemDelegate::setModelData
+160 (int (*)(...))QItemDelegate::updateEditorGeometry
+168 (int (*)(...))QItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QItemDelegate::drawDisplay
+200 (int (*)(...))QItemDelegate::drawDecoration
+208 (int (*)(...))QItemDelegate::drawFocus
+216 (int (*)(...))QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x0x7f8bb9c9cbc8) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16)
+ QAbstractItemDelegate (0x0x7f8bb9cb1270) 0
+ primary-for QItemDelegate (0x0x7f8bb9c9cbc8)
+ QObject (0x0x7f8bb4756c60) 0
+ primary-for QAbstractItemDelegate (0x0x7f8bb9cb1270)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x0x7f8bb47a4180) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+32 (int (*)(...))QItemEditorFactory::createEditor
+40 (int (*)(...))QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x0x7f8bb47c4840) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16)
+
+Class QKeyEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeyEventTransition::QPrivateSignal (0x0x7f8bb43e1f60) 0 empty
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 (int (*)(...))QKeyEventTransition::metaObject
+24 (int (*)(...))QKeyEventTransition::qt_metacast
+32 (int (*)(...))QKeyEventTransition::qt_metacall
+40 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+48 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QKeyEventTransition::eventTest
+120 (int (*)(...))QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x0x7f8bb9cc0a28) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16)
+ QEventTransition (0x0x7f8bb9cc0a90) 0
+ primary-for QKeyEventTransition (0x0x7f8bb9cc0a28)
+ QAbstractTransition (0x0x7f8bb9cc0c30) 0
+ primary-for QEventTransition (0x0x7f8bb9cc0a90)
+ QObject (0x0x7f8bb43e1d20) 0
+ primary-for QAbstractTransition (0x0x7f8bb9cc0c30)
+
+Class QKeySequenceEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeySequenceEdit::QPrivateSignal (0x0x7f8bb4421120) 0 empty
+
+Vtable for QKeySequenceEdit
+QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+16 (int (*)(...))QKeySequenceEdit::metaObject
+24 (int (*)(...))QKeySequenceEdit::qt_metacast
+32 (int (*)(...))QKeySequenceEdit::qt_metacall
+40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+56 (int (*)(...))QKeySequenceEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QKeySequenceEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QKeySequenceEdit::keyPressEvent
+216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev
+456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QKeySequenceEdit
+ size=48 align=8
+ base size=48 base align=8
+QKeySequenceEdit (0x0x7f8bb9cc0e38) 0
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16)
+ QWidget (0x0x7f8bbdd2fee0) 0
+ primary-for QKeySequenceEdit (0x0x7f8bb9cc0e38)
+ QObject (0x0x7f8bb4404e40) 0
+ primary-for QWidget (0x0x7f8bbdd2fee0)
+ QPaintDevice (0x0x7f8bb44210c0) 16
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448)
+
+Class QLabel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLabel::QPrivateSignal (0x0x7f8bb44adae0) 0 empty
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 (int (*)(...))QLabel::metaObject
+24 (int (*)(...))QLabel::qt_metacast
+32 (int (*)(...))QLabel::qt_metacall
+40 (int (*)(...))QLabel::~QLabel
+48 (int (*)(...))QLabel::~QLabel
+56 (int (*)(...))QLabel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLabel::sizeHint
+136 (int (*)(...))QLabel::minimumSizeHint
+144 (int (*)(...))QLabel::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLabel::mousePressEvent
+176 (int (*)(...))QLabel::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QLabel::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLabel::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLabel::focusInEvent
+232 (int (*)(...))QLabel::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLabel::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLabel::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLabel::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QLabel::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QLabel)
+448 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev
+456 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLabel
+ size=48 align=8
+ base size=48 base align=8
+QLabel (0x0x7f8bb9cc0ea0) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16)
+ QFrame (0x0x7f8bb9cda068) 0
+ primary-for QLabel (0x0x7f8bb9cc0ea0)
+ QWidget (0x0x7f8bbdd64070) 0
+ primary-for QFrame (0x0x7f8bb9cda068)
+ QObject (0x0x7f8bb44ad2a0) 0
+ primary-for QWidget (0x0x7f8bbdd64070)
+ QPaintDevice (0x0x7f8bb44ad300) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 448)
+
+Class QLCDNumber::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLCDNumber::QPrivateSignal (0x0x7f8bb44ce8a0) 0 empty
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 (int (*)(...))QLCDNumber::metaObject
+24 (int (*)(...))QLCDNumber::qt_metacast
+32 (int (*)(...))QLCDNumber::qt_metacall
+40 (int (*)(...))QLCDNumber::~QLCDNumber
+48 (int (*)(...))QLCDNumber::~QLCDNumber
+56 (int (*)(...))QLCDNumber::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLCDNumber::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLCDNumber::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QLCDNumber)
+448 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLCDNumber
+ size=48 align=8
+ base size=48 base align=8
+QLCDNumber (0x0x7f8bb9cda0d0) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16)
+ QFrame (0x0x7f8bb9cdaf08) 0
+ primary-for QLCDNumber (0x0x7f8bb9cda0d0)
+ QWidget (0x0x7f8bbdd642a0) 0
+ primary-for QFrame (0x0x7f8bb9cdaf08)
+ QObject (0x0x7f8bb44ce420) 0
+ primary-for QWidget (0x0x7f8bbdd642a0)
+ QPaintDevice (0x0x7f8bb44ce840) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 448)
+
+Class QListView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListView::QPrivateSignal (0x0x7f8bb4559960) 0 empty
+
+Vtable for QListView
+QListView::_ZTV9QListView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 (int (*)(...))QListView::metaObject
+24 (int (*)(...))QListView::qt_metacast
+32 (int (*)(...))QListView::qt_metacall
+40 (int (*)(...))QListView::~QListView
+48 (int (*)(...))QListView::~QListView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QListView)
+784 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev
+792 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListView
+ size=48 align=8
+ base size=48 base align=8
+QListView (0x0x7f8bb9cdaf70) 0
+ vptr=((& QListView::_ZTV9QListView) + 16)
+ QAbstractItemView (0x0x7f8bb9cf4340) 0
+ primary-for QListView (0x0x7f8bb9cdaf70)
+ QAbstractScrollArea (0x0x7f8bb9cf43a8) 0
+ primary-for QAbstractItemView (0x0x7f8bb9cf4340)
+ QFrame (0x0x7f8bb9cf46e8) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb9cf43a8)
+ QWidget (0x0x7f8bbdd64700) 0
+ primary-for QFrame (0x0x7f8bb9cf46e8)
+ QObject (0x0x7f8bb4559120) 0
+ primary-for QWidget (0x0x7f8bbdd64700)
+ QPaintDevice (0x0x7f8bb4559900) 16
+ vptr=((& QListView::_ZTV9QListView) + 784)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 (int (*)(...))QListWidgetItem::~QListWidgetItem
+24 (int (*)(...))QListWidgetItem::~QListWidgetItem
+32 (int (*)(...))QListWidgetItem::clone
+40 (int (*)(...))QListWidgetItem::setBackgroundColor
+48 (int (*)(...))QListWidgetItem::data
+56 (int (*)(...))QListWidgetItem::setData
+64 (int (*)(...))QListWidgetItem::operator<
+72 (int (*)(...))QListWidgetItem::read
+80 (int (*)(...))QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x0x7f8bb45c1000) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16)
+
+Class QListWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListWidget::QPrivateSignal (0x0x7f8bb3dee7e0) 0 empty
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 110 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 (int (*)(...))QListWidget::metaObject
+24 (int (*)(...))QListWidget::qt_metacast
+32 (int (*)(...))QListWidget::qt_metacall
+40 (int (*)(...))QListWidget::~QListWidget
+48 (int (*)(...))QListWidget::~QListWidget
+56 (int (*)(...))QListWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QListWidget::setModel
+472 (int (*)(...))QListWidget::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))QListWidget::mimeTypes
+776 (int (*)(...))QListWidget::mimeData
+784 (int (*)(...))QListWidget::dropMimeData
+792 (int (*)(...))QListWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListWidget
+ size=48 align=8
+ base size=48 base align=8
+QListWidget (0x0x7f8bb9cf4e38) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16)
+ QListView (0x0x7f8bb9d0e1a0) 0
+ primary-for QListWidget (0x0x7f8bb9cf4e38)
+ QAbstractItemView (0x0x7f8bb9d0e208) 0
+ primary-for QListView (0x0x7f8bb9d0e1a0)
+ QAbstractScrollArea (0x0x7f8bb9d27208) 0
+ primary-for QAbstractItemView (0x0x7f8bb9d0e208)
+ QFrame (0x0x7f8bb9d27270) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb9d27208)
+ QWidget (0x0x7f8bbd9df230) 0
+ primary-for QFrame (0x0x7f8bb9d27270)
+ QObject (0x0x7f8bb41693c0) 0
+ primary-for QWidget (0x0x7f8bbd9df230)
+ QPaintDevice (0x0x7f8bb3dee780) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816)
+
+Class QMainWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMainWindow::QPrivateSignal (0x0x7f8bb2636c60) 0 empty
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 (int (*)(...))QMainWindow::metaObject
+24 (int (*)(...))QMainWindow::qt_metacast
+32 (int (*)(...))QMainWindow::qt_metacall
+40 (int (*)(...))QMainWindow::~QMainWindow
+48 (int (*)(...))QMainWindow::~QMainWindow
+56 (int (*)(...))QMainWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QMainWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMainWindow::createPopupMenu
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI11QMainWindow)
+456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev
+464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMainWindow
+ size=48 align=8
+ base size=48 base align=8
+QMainWindow (0x0x7f8bb9d27618) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16)
+ QWidget (0x0x7f8bbd9df690) 0
+ primary-for QMainWindow (0x0x7f8bb9d27618)
+ QObject (0x0x7f8bb3f59ea0) 0
+ primary-for QWidget (0x0x7f8bbd9df690)
+ QPaintDevice (0x0x7f8bb2636c00) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 456)
+
+Class QMdiArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiArea::QPrivateSignal (0x0x7f8bb20b9540) 0 empty
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 68 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 (int (*)(...))QMdiArea::metaObject
+24 (int (*)(...))QMdiArea::qt_metacast
+32 (int (*)(...))QMdiArea::qt_metacall
+40 (int (*)(...))QMdiArea::~QMdiArea
+48 (int (*)(...))QMdiArea::~QMdiArea
+56 (int (*)(...))QMdiArea::event
+64 (int (*)(...))QMdiArea::eventFilter
+72 (int (*)(...))QMdiArea::timerEvent
+80 (int (*)(...))QMdiArea::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiArea::sizeHint
+136 (int (*)(...))QMdiArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QMdiArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMdiArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QMdiArea::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMdiArea::setupViewport
+440 (int (*)(...))QMdiArea::viewportEvent
+448 (int (*)(...))QMdiArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiArea
+ size=48 align=8
+ base size=48 base align=8
+QMdiArea (0x0x7f8bb9d63000) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16)
+ QAbstractScrollArea (0x0x7f8bb9d631a0) 0
+ primary-for QMdiArea (0x0x7f8bb9d63000)
+ QFrame (0x0x7f8bb9d63340) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb9d631a0)
+ QWidget (0x0x7f8bbdaa92a0) 0
+ primary-for QFrame (0x0x7f8bb9d63340)
+ QObject (0x0x7f8bb2098960) 0
+ primary-for QWidget (0x0x7f8bbdaa92a0)
+ QPaintDevice (0x0x7f8bb20b94e0) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480)
+
+Class QMdiSubWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiSubWindow::QPrivateSignal (0x0x7f8bb1cd7e40) 0 empty
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 (int (*)(...))QMdiSubWindow::metaObject
+24 (int (*)(...))QMdiSubWindow::qt_metacast
+32 (int (*)(...))QMdiSubWindow::qt_metacall
+40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+56 (int (*)(...))QMdiSubWindow::event
+64 (int (*)(...))QMdiSubWindow::eventFilter
+72 (int (*)(...))QMdiSubWindow::timerEvent
+80 (int (*)(...))QMdiSubWindow::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiSubWindow::sizeHint
+136 (int (*)(...))QMdiSubWindow::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMdiSubWindow::mousePressEvent
+176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent
+184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent
+192 (int (*)(...))QMdiSubWindow::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMdiSubWindow::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMdiSubWindow::focusInEvent
+232 (int (*)(...))QMdiSubWindow::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMdiSubWindow::leaveEvent
+256 (int (*)(...))QMdiSubWindow::paintEvent
+264 (int (*)(...))QMdiSubWindow::moveEvent
+272 (int (*)(...))QMdiSubWindow::resizeEvent
+280 (int (*)(...))QMdiSubWindow::closeEvent
+288 (int (*)(...))QMdiSubWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMdiSubWindow::showEvent
+352 (int (*)(...))QMdiSubWindow::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMdiSubWindow::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI13QMdiSubWindow)
+448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiSubWindow
+ size=48 align=8
+ base size=48 base align=8
+QMdiSubWindow (0x0x7f8bb9d63750) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16)
+ QWidget (0x0x7f8bbdb0c850) 0
+ primary-for QMdiSubWindow (0x0x7f8bb9d63750)
+ QObject (0x0x7f8bb1cd7660) 0
+ primary-for QWidget (0x0x7f8bbdb0c850)
+ QPaintDevice (0x0x7f8bb1cd7de0) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448)
+
+Class QMenu::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenu::QPrivateSignal (0x0x7f8bb1db6b40) 0 empty
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 (int (*)(...))QMenu::metaObject
+24 (int (*)(...))QMenu::qt_metacast
+32 (int (*)(...))QMenu::qt_metacall
+40 (int (*)(...))QMenu::~QMenu
+48 (int (*)(...))QMenu::~QMenu
+56 (int (*)(...))QMenu::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QMenu::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMenu::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenu::mousePressEvent
+176 (int (*)(...))QMenu::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenu::mouseMoveEvent
+200 (int (*)(...))QMenu::wheelEvent
+208 (int (*)(...))QMenu::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QMenu::enterEvent
+248 (int (*)(...))QMenu::leaveEvent
+256 (int (*)(...))QMenu::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenu::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QMenu::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenu::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QMenu::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI5QMenu)
+448 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev
+456 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenu
+ size=48 align=8
+ base size=48 base align=8
+QMenu (0x0x7f8bb9d638f0) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16)
+ QWidget (0x0x7f8bbdb9ca80) 0
+ primary-for QMenu (0x0x7f8bb9d638f0)
+ QObject (0x0x7f8bb1db6120) 0
+ primary-for QWidget (0x0x7f8bbdb9ca80)
+ QPaintDevice (0x0x7f8bb1db61e0) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 448)
+
+Class QMenuBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenuBar::QPrivateSignal (0x0x7f8bb1b4d000) 0 empty
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 (int (*)(...))QMenuBar::metaObject
+24 (int (*)(...))QMenuBar::qt_metacast
+32 (int (*)(...))QMenuBar::qt_metacall
+40 (int (*)(...))QMenuBar::~QMenuBar
+48 (int (*)(...))QMenuBar::~QMenuBar
+56 (int (*)(...))QMenuBar::event
+64 (int (*)(...))QMenuBar::eventFilter
+72 (int (*)(...))QMenuBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QMenuBar::setVisible
+128 (int (*)(...))QMenuBar::sizeHint
+136 (int (*)(...))QMenuBar::minimumSizeHint
+144 (int (*)(...))QMenuBar::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenuBar::mousePressEvent
+176 (int (*)(...))QMenuBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenuBar::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMenuBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMenuBar::focusInEvent
+232 (int (*)(...))QMenuBar::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMenuBar::leaveEvent
+256 (int (*)(...))QMenuBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMenuBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenuBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenuBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QMenuBar)
+448 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev
+456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenuBar
+ size=48 align=8
+ base size=48 base align=8
+QMenuBar (0x0x7f8bb9d7a000) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16)
+ QWidget (0x0x7f8bbd663000) 0
+ primary-for QMenuBar (0x0x7f8bb9d7a000)
+ QObject (0x0x7f8bb1b2f9c0) 0
+ primary-for QWidget (0x0x7f8bbd663000)
+ QPaintDevice (0x0x7f8bb1b2fa20) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 448)
+
+Class QMessageBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMessageBox::QPrivateSignal (0x0x7f8bb17e3360) 0 empty
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 (int (*)(...))QMessageBox::metaObject
+24 (int (*)(...))QMessageBox::qt_metacast
+32 (int (*)(...))QMessageBox::qt_metacall
+40 (int (*)(...))QMessageBox::~QMessageBox
+48 (int (*)(...))QMessageBox::~QMessageBox
+56 (int (*)(...))QMessageBox::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMessageBox::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMessageBox::resizeEvent
+280 (int (*)(...))QMessageBox::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMessageBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMessageBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMessageBox
+ size=48 align=8
+ base size=48 base align=8
+QMessageBox (0x0x7f8bb9d7a068) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16)
+ QDialog (0x0x7f8bb9d7a208) 0
+ primary-for QMessageBox (0x0x7f8bb9d7a068)
+ QWidget (0x0x7f8bbd663150) 0
+ primary-for QDialog (0x0x7f8bb9d7a208)
+ QObject (0x0x7f8bb17e3000) 0
+ primary-for QWidget (0x0x7f8bbd663150)
+ QPaintDevice (0x0x7f8bb17e3060) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488)
+
+Class QMouseEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMouseEventTransition::QPrivateSignal (0x0x7f8bb1890840) 0 empty
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 (int (*)(...))QMouseEventTransition::metaObject
+24 (int (*)(...))QMouseEventTransition::qt_metacast
+32 (int (*)(...))QMouseEventTransition::qt_metacall
+40 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+48 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMouseEventTransition::eventTest
+120 (int (*)(...))QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x0x7f8bb9d7aa90) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16)
+ QEventTransition (0x0x7f8bb9d7aaf8) 0
+ primary-for QMouseEventTransition (0x0x7f8bb9d7aa90)
+ QAbstractTransition (0x0x7f8bb9d7ae38) 0
+ primary-for QEventTransition (0x0x7f8bb9d7aaf8)
+ QObject (0x0x7f8bb18907e0) 0
+ primary-for QAbstractTransition (0x0x7f8bb9d7ae38)
+
+Class QOpenGLWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWidget::QPrivateSignal (0x0x7f8bb1890ae0) 0 empty
+
+Vtable for QOpenGLWidget
+QOpenGLWidget::_ZTV13QOpenGLWidget: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWidget)
+16 (int (*)(...))QOpenGLWidget::metaObject
+24 (int (*)(...))QOpenGLWidget::qt_metacast
+32 (int (*)(...))QOpenGLWidget::qt_metacall
+40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+56 (int (*)(...))QOpenGLWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QOpenGLWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QOpenGLWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QOpenGLWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QOpenGLWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QOpenGLWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QOpenGLWidget::initializeGL
+440 (int (*)(...))QOpenGLWidget::resizeGL
+448 (int (*)(...))QOpenGLWidget::paintGL
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI13QOpenGLWidget)
+472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev
+480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv
+504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QOpenGLWidget
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLWidget (0x0x7f8bb9d7aea0) 0
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16)
+ QWidget (0x0x7f8bbd729ee0) 0
+ primary-for QOpenGLWidget (0x0x7f8bb9d7aea0)
+ QObject (0x0x7f8bb1890a20) 0
+ primary-for QWidget (0x0x7f8bbd729ee0)
+ QPaintDevice (0x0x7f8bb1890a80) 16
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472)
+
+Class QTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextEdit::QPrivateSignal (0x0x7f8bb1890d80) 0 empty
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x0x7f8bb1890de0) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 (int (*)(...))QTextEdit::metaObject
+24 (int (*)(...))QTextEdit::qt_metacast
+32 (int (*)(...))QTextEdit::qt_metacall
+40 (int (*)(...))QTextEdit::~QTextEdit
+48 (int (*)(...))QTextEdit::~QTextEdit
+56 (int (*)(...))QTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextEdit::mousePressEvent
+176 (int (*)(...))QTextEdit::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextEdit::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextEdit::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextEdit::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI9QTextEdit)
+520 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev
+528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QTextEdit (0x0x7f8bb9d8d270) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16)
+ QAbstractScrollArea (0x0x7f8bb9b2cf08) 0
+ primary-for QTextEdit (0x0x7f8bb9d8d270)
+ QFrame (0x0x7f8bb9b2cf70) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb9b2cf08)
+ QWidget (0x0x7f8bbd75d1c0) 0
+ primary-for QFrame (0x0x7f8bb9b2cf70)
+ QObject (0x0x7f8bb1890cc0) 0
+ primary-for QWidget (0x0x7f8bbd75d1c0)
+ QPaintDevice (0x0x7f8bb1890d20) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 520)
+
+Class QPlainTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextEdit::QPrivateSignal (0x0x7f8bba861960) 0 empty
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 (int (*)(...))QPlainTextEdit::metaObject
+24 (int (*)(...))QPlainTextEdit::qt_metacast
+32 (int (*)(...))QPlainTextEdit::qt_metacall
+40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+56 (int (*)(...))QPlainTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QPlainTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QPlainTextEdit::mousePressEvent
+176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent
+184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QPlainTextEdit::mouseMoveEvent
+200 (int (*)(...))QPlainTextEdit::wheelEvent
+208 (int (*)(...))QPlainTextEdit::keyPressEvent
+216 (int (*)(...))QPlainTextEdit::keyReleaseEvent
+224 (int (*)(...))QPlainTextEdit::focusInEvent
+232 (int (*)(...))QPlainTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPlainTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QPlainTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QPlainTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QPlainTextEdit::dragEnterEvent
+320 (int (*)(...))QPlainTextEdit::dragMoveEvent
+328 (int (*)(...))QPlainTextEdit::dragLeaveEvent
+336 (int (*)(...))QPlainTextEdit::dropEvent
+344 (int (*)(...))QPlainTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QPlainTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QPlainTextEdit::inputMethodEvent
+416 (int (*)(...))QPlainTextEdit::inputMethodQuery
+424 (int (*)(...))QPlainTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QPlainTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QPlainTextEdit::loadResource
+472 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QPlainTextEdit::canInsertFromMimeData
+488 (int (*)(...))QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))QPlainTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI14QPlainTextEdit)
+520 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPlainTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QPlainTextEdit (0x0x7f8bb9b685b0) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16)
+ QAbstractScrollArea (0x0x7f8bb9b68618) 0
+ primary-for QPlainTextEdit (0x0x7f8bb9b685b0)
+ QFrame (0x0x7f8bb9b92958) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb9b68618)
+ QWidget (0x0x7f8bbd785000) 0
+ primary-for QFrame (0x0x7f8bb9b92958)
+ QObject (0x0x7f8bba8618a0) 0
+ primary-for QWidget (0x0x7f8bbd785000)
+ QPaintDevice (0x0x7f8bba861900) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 520)
+
+Class QPlainTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextDocumentLayout::QPrivateSignal (0x0x7f8bba861f00) 0 empty
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 (int (*)(...))QPlainTextDocumentLayout::metaObject
+24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast
+32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall
+40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPlainTextDocumentLayout::draw
+120 (int (*)(...))QPlainTextDocumentLayout::hitTest
+128 (int (*)(...))QPlainTextDocumentLayout::pageCount
+136 (int (*)(...))QPlainTextDocumentLayout::documentSize
+144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect
+152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect
+160 (int (*)(...))QPlainTextDocumentLayout::documentChanged
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x0x7f8bb9b929c0) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16)
+ QAbstractTextDocumentLayout (0x0x7f8bb9b92d00) 0
+ primary-for QPlainTextDocumentLayout (0x0x7f8bb9b929c0)
+ QObject (0x0x7f8bba861ea0) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7f8bb9b92d00)
+
+Class QProgressBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressBar::QPrivateSignal (0x0x7f8bb96741e0) 0 empty
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 (int (*)(...))QProgressBar::metaObject
+24 (int (*)(...))QProgressBar::qt_metacast
+32 (int (*)(...))QProgressBar::qt_metacall
+40 (int (*)(...))QProgressBar::~QProgressBar
+48 (int (*)(...))QProgressBar::~QProgressBar
+56 (int (*)(...))QProgressBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QProgressBar::sizeHint
+136 (int (*)(...))QProgressBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QProgressBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QProgressBar::text
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI12QProgressBar)
+456 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev
+464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressBar
+ size=48 align=8
+ base size=48 base align=8
+QProgressBar (0x0x7f8bb9b92d68) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16)
+ QWidget (0x0x7f8bbd785310) 0
+ primary-for QProgressBar (0x0x7f8bb9b92d68)
+ QObject (0x0x7f8bb9674120) 0
+ primary-for QWidget (0x0x7f8bbd785310)
+ QPaintDevice (0x0x7f8bb9674180) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 456)
+
+Class QProgressDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressDialog::QPrivateSignal (0x0x7f8bb9674540) 0 empty
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 (int (*)(...))QProgressDialog::metaObject
+24 (int (*)(...))QProgressDialog::qt_metacast
+32 (int (*)(...))QProgressDialog::qt_metacall
+40 (int (*)(...))QProgressDialog::~QProgressDialog
+48 (int (*)(...))QProgressDialog::~QProgressDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QProgressDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QProgressDialog::resizeEvent
+280 (int (*)(...))QProgressDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QProgressDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QProgressDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressDialog
+ size=48 align=8
+ base size=48 base align=8
+QProgressDialog (0x0x7f8bb9baed68) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16)
+ QDialog (0x0x7f8bb9baedd0) 0
+ primary-for QProgressDialog (0x0x7f8bb9baed68)
+ QWidget (0x0x7f8bbd785770) 0
+ primary-for QDialog (0x0x7f8bb9baedd0)
+ QObject (0x0x7f8bb9674480) 0
+ primary-for QWidget (0x0x7f8bbd785770)
+ QPaintDevice (0x0x7f8bb96744e0) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488)
+
+Class QProxyStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProxyStyle::QPrivateSignal (0x0x7f8bb9674780) 0 empty
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 37 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 (int (*)(...))QProxyStyle::metaObject
+24 (int (*)(...))QProxyStyle::qt_metacast
+32 (int (*)(...))QProxyStyle::qt_metacall
+40 (int (*)(...))QProxyStyle::~QProxyStyle
+48 (int (*)(...))QProxyStyle::~QProxyStyle
+56 (int (*)(...))QProxyStyle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProxyStyle::polish
+120 (int (*)(...))QProxyStyle::unpolish
+128 (int (*)(...))QProxyStyle::polish
+136 (int (*)(...))QProxyStyle::unpolish
+144 (int (*)(...))QProxyStyle::polish
+152 (int (*)(...))QProxyStyle::itemTextRect
+160 (int (*)(...))QProxyStyle::itemPixmapRect
+168 (int (*)(...))QProxyStyle::drawItemText
+176 (int (*)(...))QProxyStyle::drawItemPixmap
+184 (int (*)(...))QProxyStyle::standardPalette
+192 (int (*)(...))QProxyStyle::drawPrimitive
+200 (int (*)(...))QProxyStyle::drawControl
+208 (int (*)(...))QProxyStyle::subElementRect
+216 (int (*)(...))QProxyStyle::drawComplexControl
+224 (int (*)(...))QProxyStyle::hitTestComplexControl
+232 (int (*)(...))QProxyStyle::subControlRect
+240 (int (*)(...))QProxyStyle::pixelMetric
+248 (int (*)(...))QProxyStyle::sizeFromContents
+256 (int (*)(...))QProxyStyle::styleHint
+264 (int (*)(...))QProxyStyle::standardPixmap
+272 (int (*)(...))QProxyStyle::standardIcon
+280 (int (*)(...))QProxyStyle::generatedIconPixmap
+288 (int (*)(...))QProxyStyle::layoutSpacing
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x0x7f8bb9bc55b0) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16)
+ QCommonStyle (0x0x7f8bb9bc5618) 0
+ primary-for QProxyStyle (0x0x7f8bb9bc55b0)
+ QStyle (0x0x7f8bb9bc5a90) 0
+ primary-for QCommonStyle (0x0x7f8bb9bc5618)
+ QObject (0x0x7f8bb9674720) 0
+ primary-for QStyle (0x0x7f8bb9bc5a90)
+
+Class QRadioButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRadioButton::QPrivateSignal (0x0x7f8bb9674a20) 0 empty
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 (int (*)(...))QRadioButton::metaObject
+24 (int (*)(...))QRadioButton::qt_metacast
+32 (int (*)(...))QRadioButton::qt_metacall
+40 (int (*)(...))QRadioButton::~QRadioButton
+48 (int (*)(...))QRadioButton::~QRadioButton
+56 (int (*)(...))QRadioButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QRadioButton::sizeHint
+136 (int (*)(...))QRadioButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QRadioButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRadioButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QRadioButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI12QRadioButton)
+472 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRadioButton
+ size=48 align=8
+ base size=48 base align=8
+QRadioButton (0x0x7f8bb9bc5af8) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16)
+ QAbstractButton (0x0x7f8bb97de548) 0
+ primary-for QRadioButton (0x0x7f8bb9bc5af8)
+ QWidget (0x0x7f8bbd785a80) 0
+ primary-for QAbstractButton (0x0x7f8bb97de548)
+ QObject (0x0x7f8bb9674960) 0
+ primary-for QWidget (0x0x7f8bbd785a80)
+ QPaintDevice (0x0x7f8bb96749c0) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 472)
+
+Class QScrollBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollBar::QPrivateSignal (0x0x7f8bb9674cc0) 0 empty
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 (int (*)(...))QScrollBar::metaObject
+24 (int (*)(...))QScrollBar::qt_metacast
+32 (int (*)(...))QScrollBar::qt_metacall
+40 (int (*)(...))QScrollBar::~QScrollBar
+48 (int (*)(...))QScrollBar::~QScrollBar
+56 (int (*)(...))QScrollBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollBar::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QScrollBar::mousePressEvent
+176 (int (*)(...))QScrollBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QScrollBar::mouseMoveEvent
+200 (int (*)(...))QScrollBar::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QScrollBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QScrollBar::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QScrollBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QScrollBar::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI10QScrollBar)
+456 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev
+464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollBar
+ size=48 align=8
+ base size=48 base align=8
+QScrollBar (0x0x7f8bb97de5b0) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16)
+ QAbstractSlider (0x0x7f8bb97dec30) 0
+ primary-for QScrollBar (0x0x7f8bb97de5b0)
+ QWidget (0x0x7f8bbd785bd0) 0
+ primary-for QAbstractSlider (0x0x7f8bb97dec30)
+ QObject (0x0x7f8bb9674c00) 0
+ primary-for QWidget (0x0x7f8bbd785bd0)
+ QPaintDevice (0x0x7f8bb9674c60) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 456)
+
+Vtable for QScrollerProperties
+QScrollerProperties::_ZTV19QScrollerProperties: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollerProperties)
+16 (int (*)(...))QScrollerProperties::~QScrollerProperties
+24 (int (*)(...))QScrollerProperties::~QScrollerProperties
+
+Class QScrollerProperties
+ size=16 align=8
+ base size=16 base align=8
+QScrollerProperties (0x0x7f8bb9674ea0) 0
+ vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16)
+
+Class QScroller::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScroller::QPrivateSignal (0x0x7f8bb724f3c0) 0 empty
+
+Vtable for QScroller
+QScroller::_ZTV9QScroller: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QScroller)
+16 (int (*)(...))QScroller::metaObject
+24 (int (*)(...))QScroller::qt_metacast
+32 (int (*)(...))QScroller::qt_metacall
+40 (int (*)(...))QScroller::~QScroller
+48 (int (*)(...))QScroller::~QScroller
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScroller
+ size=24 align=8
+ base size=24 base align=8
+QScroller (0x0x7f8bb97dec98) 0
+ vptr=((& QScroller::_ZTV9QScroller) + 16)
+ QObject (0x0x7f8bb724f360) 0
+ primary-for QScroller (0x0x7f8bb97dec98)
+
+Class QShortcut::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QShortcut::QPrivateSignal (0x0x7f8bb724f6c0) 0 empty
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 (int (*)(...))QShortcut::metaObject
+24 (int (*)(...))QShortcut::qt_metacast
+32 (int (*)(...))QShortcut::qt_metacall
+40 (int (*)(...))QShortcut::~QShortcut
+48 (int (*)(...))QShortcut::~QShortcut
+56 (int (*)(...))QShortcut::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x0x7f8bb981c6e8) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16)
+ QObject (0x0x7f8bb724f660) 0
+ primary-for QShortcut (0x0x7f8bb981c6e8)
+
+Class QSizeGrip::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSizeGrip::QPrivateSignal (0x0x7f8bb724f9c0) 0 empty
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 (int (*)(...))QSizeGrip::metaObject
+24 (int (*)(...))QSizeGrip::qt_metacast
+32 (int (*)(...))QSizeGrip::qt_metacall
+40 (int (*)(...))QSizeGrip::~QSizeGrip
+48 (int (*)(...))QSizeGrip::~QSizeGrip
+56 (int (*)(...))QSizeGrip::event
+64 (int (*)(...))QSizeGrip::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QSizeGrip::setVisible
+128 (int (*)(...))QSizeGrip::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSizeGrip::mousePressEvent
+176 (int (*)(...))QSizeGrip::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSizeGrip::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSizeGrip::paintEvent
+264 (int (*)(...))QSizeGrip::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QSizeGrip::showEvent
+352 (int (*)(...))QSizeGrip::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QSizeGrip)
+448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSizeGrip
+ size=48 align=8
+ base size=48 base align=8
+QSizeGrip (0x0x7f8bb981c750) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16)
+ QWidget (0x0x7f8bbd561c40) 0
+ primary-for QSizeGrip (0x0x7f8bb981c750)
+ QObject (0x0x7f8bb724f900) 0
+ primary-for QWidget (0x0x7f8bbd561c40)
+ QPaintDevice (0x0x7f8bb724f960) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448)
+
+Class QSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSpinBox::QPrivateSignal (0x0x7f8bb724fc60) 0 empty
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 (int (*)(...))QSpinBox::metaObject
+24 (int (*)(...))QSpinBox::qt_metacast
+32 (int (*)(...))QSpinBox::qt_metacall
+40 (int (*)(...))QSpinBox::~QSpinBox
+48 (int (*)(...))QSpinBox::~QSpinBox
+56 (int (*)(...))QSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSpinBox::validate
+440 (int (*)(...))QSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QSpinBox::valueFromText
+480 (int (*)(...))QSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI8QSpinBox)
+504 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QSpinBox (0x0x7f8bb981ca90) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16)
+ QAbstractSpinBox (0x0x7f8bb981caf8) 0
+ primary-for QSpinBox (0x0x7f8bb981ca90)
+ QWidget (0x0x7f8bbd561d90) 0
+ primary-for QAbstractSpinBox (0x0x7f8bb981caf8)
+ QObject (0x0x7f8bb724fba0) 0
+ primary-for QWidget (0x0x7f8bbd561d90)
+ QPaintDevice (0x0x7f8bb724fc00) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 504)
+
+Class QDoubleSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleSpinBox::QPrivateSignal (0x0x7f8bb724ff00) 0 empty
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 71 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 (int (*)(...))QDoubleSpinBox::metaObject
+24 (int (*)(...))QDoubleSpinBox::qt_metacast
+32 (int (*)(...))QDoubleSpinBox::qt_metacall
+40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDoubleSpinBox::validate
+440 (int (*)(...))QDoubleSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QDoubleSpinBox::valueFromText
+480 (int (*)(...))QDoubleSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+504 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDoubleSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QDoubleSpinBox (0x0x7f8bb98a9af8) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16)
+ QAbstractSpinBox (0x0x7f8bb98a9b60) 0
+ primary-for QDoubleSpinBox (0x0x7f8bb98a9af8)
+ QWidget (0x0x7f8bbd561ee0) 0
+ primary-for QAbstractSpinBox (0x0x7f8bb98a9b60)
+ QObject (0x0x7f8bb724fe40) 0
+ primary-for QWidget (0x0x7f8bbd561ee0)
+ QPaintDevice (0x0x7f8bb724fea0) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 504)
+
+Class QSplashScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplashScreen::QPrivateSignal (0x0x7f8bb5a381e0) 0 empty
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 (int (*)(...))QSplashScreen::metaObject
+24 (int (*)(...))QSplashScreen::qt_metacast
+32 (int (*)(...))QSplashScreen::qt_metacall
+40 (int (*)(...))QSplashScreen::~QSplashScreen
+48 (int (*)(...))QSplashScreen::~QSplashScreen
+56 (int (*)(...))QSplashScreen::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplashScreen::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplashScreen::drawContents
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI13QSplashScreen)
+456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplashScreen
+ size=48 align=8
+ base size=48 base align=8
+QSplashScreen (0x0x7f8bb98a9f08) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16)
+ QWidget (0x0x7f8bbd5840e0) 0
+ primary-for QSplashScreen (0x0x7f8bb98a9f08)
+ QObject (0x0x7f8bb5a38120) 0
+ primary-for QWidget (0x0x7f8bbd5840e0)
+ QPaintDevice (0x0x7f8bb5a38180) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456)
+
+Class QSplitter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitter::QPrivateSignal (0x0x7f8bb5a38480) 0 empty
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 65 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 (int (*)(...))QSplitter::metaObject
+24 (int (*)(...))QSplitter::qt_metacast
+32 (int (*)(...))QSplitter::qt_metacall
+40 (int (*)(...))QSplitter::~QSplitter
+48 (int (*)(...))QSplitter::~QSplitter
+56 (int (*)(...))QSplitter::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QSplitter::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitter::sizeHint
+136 (int (*)(...))QSplitter::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitter::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QSplitter::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplitter::createHandle
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI9QSplitter)
+456 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev
+464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitter
+ size=48 align=8
+ base size=48 base align=8
+QSplitter (0x0x7f8bb98a9f70) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16)
+ QFrame (0x0x7f8bb996e1a0) 0
+ primary-for QSplitter (0x0x7f8bb98a9f70)
+ QWidget (0x0x7f8bbd584460) 0
+ primary-for QFrame (0x0x7f8bb996e1a0)
+ QObject (0x0x7f8bb5a383c0) 0
+ primary-for QWidget (0x0x7f8bbd584460)
+ QPaintDevice (0x0x7f8bb5a38420) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 456)
+
+Class QSplitterHandle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitterHandle::QPrivateSignal (0x0x7f8bb5a38720) 0 empty
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 (int (*)(...))QSplitterHandle::metaObject
+24 (int (*)(...))QSplitterHandle::qt_metacast
+32 (int (*)(...))QSplitterHandle::qt_metacall
+40 (int (*)(...))QSplitterHandle::~QSplitterHandle
+48 (int (*)(...))QSplitterHandle::~QSplitterHandle
+56 (int (*)(...))QSplitterHandle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitterHandle::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplitterHandle::mousePressEvent
+176 (int (*)(...))QSplitterHandle::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSplitterHandle::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSplitterHandle::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitterHandle::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI15QSplitterHandle)
+448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitterHandle
+ size=48 align=8
+ base size=48 base align=8
+QSplitterHandle (0x0x7f8bb996e208) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16)
+ QWidget (0x0x7f8bbd584690) 0
+ primary-for QSplitterHandle (0x0x7f8bb996e208)
+ QObject (0x0x7f8bb5a38660) 0
+ primary-for QWidget (0x0x7f8bbd584690)
+ QPaintDevice (0x0x7f8bb5a386c0) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448)
+
+Class QStackedLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedLayout::QPrivateSignal (0x0x7f8bb5a389c0) 0 empty
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 50 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 (int (*)(...))QStackedLayout::metaObject
+24 (int (*)(...))QStackedLayout::qt_metacast
+32 (int (*)(...))QStackedLayout::qt_metacall
+40 (int (*)(...))QStackedLayout::~QStackedLayout
+48 (int (*)(...))QStackedLayout::~QStackedLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QStackedLayout::addItem
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QStackedLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QStackedLayout::setGeometry
+168 (int (*)(...))QStackedLayout::itemAt
+176 (int (*)(...))QStackedLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QStackedLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QStackedLayout::sizeHint
+232 (int (*)(...))QStackedLayout::hasHeightForWidth
+240 (int (*)(...))QStackedLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI14QStackedLayout)
+264 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+272 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+280 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+288 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+312 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv
+344 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x0x7f8bb996ec30) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16)
+ QLayout (0x0x7f8bbd584850) 0
+ primary-for QStackedLayout (0x0x7f8bb996ec30)
+ QObject (0x0x7f8bb5a38900) 0
+ primary-for QLayout (0x0x7f8bbd584850)
+ QLayoutItem (0x0x7f8bb5a38960) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 264)
+
+Class QStackedWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedWidget::QPrivateSignal (0x0x7f8bb5a38d20) 0 empty
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 (int (*)(...))QStackedWidget::metaObject
+24 (int (*)(...))QStackedWidget::qt_metacast
+32 (int (*)(...))QStackedWidget::qt_metacall
+40 (int (*)(...))QStackedWidget::~QStackedWidget
+48 (int (*)(...))QStackedWidget::~QStackedWidget
+56 (int (*)(...))QStackedWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QStackedWidget)
+448 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStackedWidget
+ size=48 align=8
+ base size=48 base align=8
+QStackedWidget (0x0x7f8bb996ec98) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16)
+ QFrame (0x0x7f8bb95f80d0) 0
+ primary-for QStackedWidget (0x0x7f8bb996ec98)
+ QWidget (0x0x7f8bbd584a80) 0
+ primary-for QFrame (0x0x7f8bb95f80d0)
+ QObject (0x0x7f8bb5a38c60) 0
+ primary-for QWidget (0x0x7f8bbd584a80)
+ QPaintDevice (0x0x7f8bb5a38cc0) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 448)
+
+Class QStatusBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStatusBar::QPrivateSignal (0x0x7f8bb4dcb000) 0 empty
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 (int (*)(...))QStatusBar::metaObject
+24 (int (*)(...))QStatusBar::qt_metacast
+32 (int (*)(...))QStatusBar::qt_metacall
+40 (int (*)(...))QStatusBar::~QStatusBar
+48 (int (*)(...))QStatusBar::~QStatusBar
+56 (int (*)(...))QStatusBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QStatusBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QStatusBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QStatusBar::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QStatusBar)
+448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev
+456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStatusBar
+ size=48 align=8
+ base size=48 base align=8
+QStatusBar (0x0x7f8bb95f8138) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16)
+ QWidget (0x0x7f8bbd584bd0) 0
+ primary-for QStatusBar (0x0x7f8bb95f8138)
+ QObject (0x0x7f8bb5a38f00) 0
+ primary-for QWidget (0x0x7f8bbd584bd0)
+ QPaintDevice (0x0x7f8bb5a38f60) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 448)
+
+Class QStyledItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyledItemDelegate::QPrivateSignal (0x0x7f8bb4dcb240) 0 empty
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 (int (*)(...))QStyledItemDelegate::metaObject
+24 (int (*)(...))QStyledItemDelegate::qt_metacast
+32 (int (*)(...))QStyledItemDelegate::qt_metacall
+40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QStyledItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyledItemDelegate::paint
+120 (int (*)(...))QStyledItemDelegate::sizeHint
+128 (int (*)(...))QStyledItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QStyledItemDelegate::setEditorData
+152 (int (*)(...))QStyledItemDelegate::setModelData
+160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry
+168 (int (*)(...))QStyledItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QStyledItemDelegate::displayText
+200 (int (*)(...))QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x0x7f8bb95f8410) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16)
+ QAbstractItemDelegate (0x0x7f8bb95f8478) 0
+ primary-for QStyledItemDelegate (0x0x7f8bb95f8410)
+ QObject (0x0x7f8bb4dcb1e0) 0
+ primary-for QAbstractItemDelegate (0x0x7f8bb95f8478)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x0x7f8bb4dcb420) 0 empty
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x0x7f8bb95f8618) 0
+ QPainter (0x0x7f8bb4dcb480) 0
+
+Class QStylePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStylePlugin::QPrivateSignal (0x0x7f8bb4dcbd20) 0 empty
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 (int (*)(...))QStylePlugin::metaObject
+24 (int (*)(...))QStylePlugin::qt_metacast
+32 (int (*)(...))QStylePlugin::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QStylePlugin
+ size=16 align=8
+ base size=16 base align=8
+QStylePlugin (0x0x7f8bb95f8888) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16)
+ QObject (0x0x7f8bb4dcbcc0) 0
+ primary-for QStylePlugin (0x0x7f8bb95f8888)
+
+Class QSystemTrayIcon::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSystemTrayIcon::QPrivateSignal (0x0x7f8bb4dcbea0) 0 empty
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 (int (*)(...))QSystemTrayIcon::metaObject
+24 (int (*)(...))QSystemTrayIcon::qt_metacast
+32 (int (*)(...))QSystemTrayIcon::qt_metacall
+40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+56 (int (*)(...))QSystemTrayIcon::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x0x7f8bb95f88f0) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16)
+ QObject (0x0x7f8bb4dcbe40) 0
+ primary-for QSystemTrayIcon (0x0x7f8bb95f88f0)
+
+Class QTableView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableView::QPrivateSignal (0x0x7f8bb211f240) 0 empty
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 (int (*)(...))QTableView::metaObject
+24 (int (*)(...))QTableView::qt_metacast
+32 (int (*)(...))QTableView::qt_metacall
+40 (int (*)(...))QTableView::~QTableView
+48 (int (*)(...))QTableView::~QTableView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableView::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI10QTableView)
+784 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev
+792 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableView
+ size=48 align=8
+ base size=48 base align=8
+QTableView (0x0x7f8bb95f8bc8) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16)
+ QAbstractItemView (0x0x7f8bb95f8c30) 0
+ primary-for QTableView (0x0x7f8bb95f8bc8)
+ QAbstractScrollArea (0x0x7f8bb962a548) 0
+ primary-for QAbstractItemView (0x0x7f8bb95f8c30)
+ QFrame (0x0x7f8bb962a5b0) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb962a548)
+ QWidget (0x0x7f8bbd201930) 0
+ primary-for QFrame (0x0x7f8bb962a5b0)
+ QObject (0x0x7f8bb211f180) 0
+ primary-for QWidget (0x0x7f8bbd201930)
+ QPaintDevice (0x0x7f8bb211f1e0) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x0x7f8bb211f480) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+32 (int (*)(...))QTableWidgetItem::clone
+40 (int (*)(...))QTableWidgetItem::data
+48 (int (*)(...))QTableWidgetItem::setData
+56 (int (*)(...))QTableWidgetItem::operator<
+64 (int (*)(...))QTableWidgetItem::read
+72 (int (*)(...))QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x0x7f8bb211f720) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16)
+
+Class QTableWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableWidget::QPrivateSignal (0x0x7f8bb9982480) 0 empty
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 110 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 (int (*)(...))QTableWidget::metaObject
+24 (int (*)(...))QTableWidget::qt_metacast
+32 (int (*)(...))QTableWidget::qt_metacall
+40 (int (*)(...))QTableWidget::~QTableWidget
+48 (int (*)(...))QTableWidget::~QTableWidget
+56 (int (*)(...))QTableWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTableWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableWidget::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))QTableWidget::mimeTypes
+776 (int (*)(...))QTableWidget::mimeData
+784 (int (*)(...))QTableWidget::dropMimeData
+792 (int (*)(...))QTableWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableWidget
+ size=48 align=8
+ base size=48 base align=8
+QTableWidget (0x0x7f8bb9656548) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16)
+ QTableView (0x0x7f8bb96565b0) 0
+ primary-for QTableWidget (0x0x7f8bb9656548)
+ QAbstractItemView (0x0x7f8bb9656f70) 0
+ primary-for QTableView (0x0x7f8bb96565b0)
+ QAbstractScrollArea (0x0x7f8bb9676000) 0
+ primary-for QAbstractItemView (0x0x7f8bb9656f70)
+ QFrame (0x0x7f8bb968b068) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb9676000)
+ QWidget (0x0x7f8bbd201d20) 0
+ primary-for QFrame (0x0x7f8bb968b068)
+ QObject (0x0x7f8bb99823c0) 0
+ primary-for QWidget (0x0x7f8bbd201d20)
+ QPaintDevice (0x0x7f8bb9982420) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816)
+
+Class QTextBrowser::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBrowser::QPrivateSignal (0x0x7f8bb99828a0) 0 empty
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 78 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 (int (*)(...))QTextBrowser::metaObject
+24 (int (*)(...))QTextBrowser::qt_metacast
+32 (int (*)(...))QTextBrowser::qt_metacall
+40 (int (*)(...))QTextBrowser::~QTextBrowser
+48 (int (*)(...))QTextBrowser::~QTextBrowser
+56 (int (*)(...))QTextBrowser::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextBrowser::mousePressEvent
+176 (int (*)(...))QTextBrowser::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextBrowser::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextBrowser::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextBrowser::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextBrowser::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextBrowser::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextBrowser::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))QTextBrowser::setSource
+512 (int (*)(...))QTextBrowser::backward
+520 (int (*)(...))QTextBrowser::forward
+528 (int (*)(...))QTextBrowser::home
+536 (int (*)(...))QTextBrowser::reload
+544 (int (*)(...))-16
+552 (int (*)(...))(& _ZTI12QTextBrowser)
+560 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+584 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+592 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+600 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+608 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+616 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextBrowser
+ size=48 align=8
+ base size=48 base align=8
+QTextBrowser (0x0x7f8bb968b0d0) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16)
+ QTextEdit (0x0x7f8bb9418068) 0
+ primary-for QTextBrowser (0x0x7f8bb968b0d0)
+ QAbstractScrollArea (0x0x7f8bb94180d0) 0
+ primary-for QTextEdit (0x0x7f8bb9418068)
+ QFrame (0x0x7f8bb9418270) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb94180d0)
+ QWidget (0x0x7f8bbd201ee0) 0
+ primary-for QFrame (0x0x7f8bb9418270)
+ QObject (0x0x7f8bb99827e0) 0
+ primary-for QWidget (0x0x7f8bbd201ee0)
+ QPaintDevice (0x0x7f8bb9982840) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 560)
+
+Class QToolBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBar::QPrivateSignal (0x0x7f8bb9982b40) 0 empty
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 64 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 (int (*)(...))QToolBar::metaObject
+24 (int (*)(...))QToolBar::qt_metacast
+32 (int (*)(...))QToolBar::qt_metacall
+40 (int (*)(...))QToolBar::~QToolBar
+48 (int (*)(...))QToolBar::~QToolBar
+56 (int (*)(...))QToolBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QToolBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QToolBar)
+448 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev
+456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBar
+ size=48 align=8
+ base size=48 base align=8
+QToolBar (0x0x7f8bb94189c0) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16)
+ QWidget (0x0x7f8bbd23d070) 0
+ primary-for QToolBar (0x0x7f8bb94189c0)
+ QObject (0x0x7f8bb9982a80) 0
+ primary-for QWidget (0x0x7f8bbd23d070)
+ QPaintDevice (0x0x7f8bb9982ae0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 448)
+
+Class QToolBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBox::QPrivateSignal (0x0x7f8bb4b114e0) 0 empty
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 66 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 (int (*)(...))QToolBox::metaObject
+24 (int (*)(...))QToolBox::qt_metacast
+32 (int (*)(...))QToolBox::qt_metacall
+40 (int (*)(...))QToolBox::~QToolBox
+48 (int (*)(...))QToolBox::~QToolBox
+56 (int (*)(...))QToolBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QToolBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolBox::itemInserted
+440 (int (*)(...))QToolBox::itemRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI8QToolBox)
+464 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev
+472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBox
+ size=48 align=8
+ base size=48 base align=8
+QToolBox (0x0x7f8bb95a3f08) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16)
+ QFrame (0x0x7f8bb91d90d0) 0
+ primary-for QToolBox (0x0x7f8bb95a3f08)
+ QWidget (0x0x7f8bbd23daf0) 0
+ primary-for QFrame (0x0x7f8bb91d90d0)
+ QObject (0x0x7f8bb4b11420) 0
+ primary-for QWidget (0x0x7f8bbd23daf0)
+ QPaintDevice (0x0x7f8bb4b11480) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 464)
+
+Class QToolButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolButton::QPrivateSignal (0x0x7f8bb4b118a0) 0 empty
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 67 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 (int (*)(...))QToolButton::metaObject
+24 (int (*)(...))QToolButton::qt_metacast
+32 (int (*)(...))QToolButton::qt_metacall
+40 (int (*)(...))QToolButton::~QToolButton
+48 (int (*)(...))QToolButton::~QToolButton
+56 (int (*)(...))QToolButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QToolButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QToolButton::sizeHint
+136 (int (*)(...))QToolButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QToolButton::mousePressEvent
+176 (int (*)(...))QToolButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QToolButton::enterEvent
+248 (int (*)(...))QToolButton::leaveEvent
+256 (int (*)(...))QToolButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolButton::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QToolButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QToolButton)
+472 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev
+480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolButton
+ size=48 align=8
+ base size=48 base align=8
+QToolButton (0x0x7f8bb91d9138) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16)
+ QAbstractButton (0x0x7f8bb91d92d8) 0
+ primary-for QToolButton (0x0x7f8bb91d9138)
+ QWidget (0x0x7f8bbd23dc40) 0
+ primary-for QAbstractButton (0x0x7f8bb91d92d8)
+ QObject (0x0x7f8bb4b117e0) 0
+ primary-for QWidget (0x0x7f8bbd23dc40)
+ QPaintDevice (0x0x7f8bb4b11840) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 472)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x0x7f8bb4b11b40) 0 empty
+
+Class QTreeView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeView::QPrivateSignal (0x0x7f8bb4b11cc0) 0 empty
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 108 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 (int (*)(...))QTreeView::metaObject
+24 (int (*)(...))QTreeView::qt_metacast
+32 (int (*)(...))QTreeView::qt_metacall
+40 (int (*)(...))QTreeView::~QTreeView
+48 (int (*)(...))QTreeView::~QTreeView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeView::setModel
+472 (int (*)(...))QTreeView::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeView
+ size=48 align=8
+ base size=48 base align=8
+QTreeView (0x0x7f8bb91d9548) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16)
+ QAbstractItemView (0x0x7f8bb91d95b0) 0
+ primary-for QTreeView (0x0x7f8bb91d9548)
+ QAbstractScrollArea (0x0x7f8bb91d9c98) 0
+ primary-for QAbstractItemView (0x0x7f8bb91d95b0)
+ QFrame (0x0x7f8bb91d9d00) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb91d9c98)
+ QWidget (0x0x7f8bbd23df50) 0
+ primary-for QFrame (0x0x7f8bb91d9d00)
+ QObject (0x0x7f8bb4b11c00) 0
+ primary-for QWidget (0x0x7f8bbd23df50)
+ QPaintDevice (0x0x7f8bb4b11c60) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x0x7f8bb4b11f00) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+32 (int (*)(...))QTreeWidgetItem::clone
+40 (int (*)(...))QTreeWidgetItem::data
+48 (int (*)(...))QTreeWidgetItem::setData
+56 (int (*)(...))QTreeWidgetItem::operator<
+64 (int (*)(...))QTreeWidgetItem::read
+72 (int (*)(...))QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x0x7f8bb38969c0) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16)
+
+Class QTreeWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeWidget::QPrivateSignal (0x0x7f8bb24799c0) 0 empty
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 112 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 (int (*)(...))QTreeWidget::metaObject
+24 (int (*)(...))QTreeWidget::qt_metacast
+32 (int (*)(...))QTreeWidget::qt_metacall
+40 (int (*)(...))QTreeWidget::~QTreeWidget
+48 (int (*)(...))QTreeWidget::~QTreeWidget
+56 (int (*)(...))QTreeWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTreeWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeWidget::setModel
+472 (int (*)(...))QTreeWidget::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))QTreeWidget::mimeTypes
+792 (int (*)(...))QTreeWidget::mimeData
+800 (int (*)(...))QTreeWidget::dropMimeData
+808 (int (*)(...))QTreeWidget::supportedDropActions
+816 (int (*)(...))-16
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeWidget
+ size=48 align=8
+ base size=48 base align=8
+QTreeWidget (0x0x7f8bb91eeaf8) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16)
+ QTreeView (0x0x7f8bb91eeb60) 0
+ primary-for QTreeWidget (0x0x7f8bb91eeaf8)
+ QAbstractItemView (0x0x7f8bb91eeea0) 0
+ primary-for QTreeView (0x0x7f8bb91eeb60)
+ QAbstractScrollArea (0x0x7f8bb91eef08) 0
+ primary-for QAbstractItemView (0x0x7f8bb91eeea0)
+ QFrame (0x0x7f8bb9205618) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb91eef08)
+ QWidget (0x0x7f8bbd2c9bd0) 0
+ primary-for QFrame (0x0x7f8bb9205618)
+ QObject (0x0x7f8bb2479900) 0
+ primary-for QWidget (0x0x7f8bbd2c9bd0)
+ QPaintDevice (0x0x7f8bb2479960) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832)
+
+Class QUndoGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoGroup::QPrivateSignal (0x0x7f8bb2479de0) 0 empty
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 (int (*)(...))QUndoGroup::metaObject
+24 (int (*)(...))QUndoGroup::qt_metacast
+32 (int (*)(...))QUndoGroup::qt_metacall
+40 (int (*)(...))QUndoGroup::~QUndoGroup
+48 (int (*)(...))QUndoGroup::~QUndoGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x0x7f8bb9205680) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16)
+ QObject (0x0x7f8bb2479d80) 0
+ primary-for QUndoGroup (0x0x7f8bb9205680)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 (int (*)(...))QUndoCommand::~QUndoCommand
+24 (int (*)(...))QUndoCommand::~QUndoCommand
+32 (int (*)(...))QUndoCommand::undo
+40 (int (*)(...))QUndoCommand::redo
+48 (int (*)(...))QUndoCommand::id
+56 (int (*)(...))QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x0x7f8bb1ff3000) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16)
+
+Class QUndoStack::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoStack::QPrivateSignal (0x0x7f8bb1ff30c0) 0 empty
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 (int (*)(...))QUndoStack::metaObject
+24 (int (*)(...))QUndoStack::qt_metacast
+32 (int (*)(...))QUndoStack::qt_metacall
+40 (int (*)(...))QUndoStack::~QUndoStack
+48 (int (*)(...))QUndoStack::~QUndoStack
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x0x7f8bb9205e38) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16)
+ QObject (0x0x7f8bb1ff3060) 0
+ primary-for QUndoStack (0x0x7f8bb9205e38)
+
+Class QUndoView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoView::QPrivateSignal (0x0x7f8bb1ff3360) 0 empty
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 106 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 (int (*)(...))QUndoView::metaObject
+24 (int (*)(...))QUndoView::qt_metacast
+32 (int (*)(...))QUndoView::qt_metacall
+40 (int (*)(...))QUndoView::~QUndoView
+48 (int (*)(...))QUndoView::~QUndoView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QUndoView
+ size=48 align=8
+ base size=48 base align=8
+QUndoView (0x0x7f8bb9205ea0) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16)
+ QListView (0x0x7f8bb9292340) 0
+ primary-for QUndoView (0x0x7f8bb9205ea0)
+ QAbstractItemView (0x0x7f8bb92923a8) 0
+ primary-for QListView (0x0x7f8bb9292340)
+ QAbstractScrollArea (0x0x7f8bb9292dd0) 0
+ primary-for QAbstractItemView (0x0x7f8bb92923a8)
+ QFrame (0x0x7f8bb9292e38) 0
+ primary-for QAbstractScrollArea (0x0x7f8bb9292dd0)
+ QWidget (0x0x7f8bbd30f700) 0
+ primary-for QFrame (0x0x7f8bb9292e38)
+ QObject (0x0x7f8bb1ff32a0) 0
+ primary-for QWidget (0x0x7f8bbd30f700)
+ QPaintDevice (0x0x7f8bb1ff3300) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x0x7f8bb1ff3540) 0 empty
+
+Class QWidgetAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidgetAction::QPrivateSignal (0x0x7f8bb1ff3600) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 (int (*)(...))QWidgetAction::metaObject
+24 (int (*)(...))QWidgetAction::qt_metacast
+32 (int (*)(...))QWidgetAction::qt_metacall
+40 (int (*)(...))QWidgetAction::~QWidgetAction
+48 (int (*)(...))QWidgetAction::~QWidgetAction
+56 (int (*)(...))QWidgetAction::event
+64 (int (*)(...))QWidgetAction::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidgetAction::createWidget
+120 (int (*)(...))QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x0x7f8bb92ab4e0) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16)
+ QAction (0x0x7f8bb92ab548) 0
+ primary-for QWidgetAction (0x0x7f8bb92ab4e0)
+ QObject (0x0x7f8bb1ff35a0) 0
+ primary-for QAction (0x0x7f8bb92ab548)
+
+Class QWizard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizard::QPrivateSignal (0x0x7f8bb1ff38a0) 0 empty
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 (int (*)(...))QWizard::metaObject
+24 (int (*)(...))QWizard::qt_metacast
+32 (int (*)(...))QWizard::qt_metacall
+40 (int (*)(...))QWizard::~QWizard
+48 (int (*)(...))QWizard::~QWizard
+56 (int (*)(...))QWizard::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWizard::setVisible
+128 (int (*)(...))QWizard::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWizard::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWizard::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QWizard::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))QWizard::validateCurrentPage
+480 (int (*)(...))QWizard::nextId
+488 (int (*)(...))QWizard::initializePage
+496 (int (*)(...))QWizard::cleanupPage
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI7QWizard)
+520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev
+528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizard
+ size=48 align=8
+ base size=48 base align=8
+QWizard (0x0x7f8bb92fd068) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16)
+ QDialog (0x0x7f8bb92fd0d0) 0
+ primary-for QWizard (0x0x7f8bb92fd068)
+ QWidget (0x0x7f8bbd30f9a0) 0
+ primary-for QDialog (0x0x7f8bb92fd0d0)
+ QObject (0x0x7f8bb1ff37e0) 0
+ primary-for QWidget (0x0x7f8bbd30f9a0)
+ QPaintDevice (0x0x7f8bb1ff3840) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520)
+
+Class QWizardPage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizardPage::QPrivateSignal (0x0x7f8bb6c3b480) 0 empty
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 69 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 (int (*)(...))QWizardPage::metaObject
+24 (int (*)(...))QWizardPage::qt_metacast
+32 (int (*)(...))QWizardPage::qt_metacall
+40 (int (*)(...))QWizardPage::~QWizardPage
+48 (int (*)(...))QWizardPage::~QWizardPage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QWizardPage::initializePage
+440 (int (*)(...))QWizardPage::cleanupPage
+448 (int (*)(...))QWizardPage::validatePage
+456 (int (*)(...))QWizardPage::isComplete
+464 (int (*)(...))QWizardPage::nextId
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QWizardPage)
+488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev
+496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizardPage
+ size=48 align=8
+ base size=48 base align=8
+QWizardPage (0x0x7f8bb92fd4e0) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16)
+ QWidget (0x0x7f8bbd14e8c0) 0
+ primary-for QWizardPage (0x0x7f8bb92fd4e0)
+ QObject (0x0x7f8bb6c3b3c0) 0
+ primary-for QWidget (0x0x7f8bbd14e8c0)
+ QPaintDevice (0x0x7f8bb6c3b420) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 488)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bbb165900) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bbb165c60) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bbb165e40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bba3031e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bba3033c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bba303720) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bba303900) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bba303c60) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bba303e40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bba3c31e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bba3c33c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bba3c3720) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bba3c3900) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bba3c3c60) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bba3c3e40) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bb9c051e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bb9a9e6c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bb9a9ea20) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bb9a9eba0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bb9a9ef00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bb903a0c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bb903a420) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bb903a5a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bb903a900) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bb903aa80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bb903ade0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bb903af60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bb7e65300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bb7e65480) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bb7e657e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f8bb7e65960) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f8bb7e65cc0) 0 empty
+
diff --git a/tests/auto/bic/data/QtXml.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtXml.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..e9ce444a14
--- /dev/null
+++ b/tests/auto/bic/data/QtXml.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,5417 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f38bcad9c60) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f38bb7b2420) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f38bb7b2660) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f38bb7b28a0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f38bb7b2ae0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f38bb7b2c60) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f38bb7ee060) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7f38bb81d180) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f38bb875840) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f38bb875900) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7f38bb875cc0) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7f38bb875d20) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7f38bb875d80) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7f38bb875de0) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7f38bb875e40) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f38bb875f00) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f38bb8a5000) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f38bb8a50c0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f38bb8a5180) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f38bb8a54e0) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7f38bb8a5840) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f38bb8a58a0) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7f38bb8a5e40) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f38bb4f34e0) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7f38bb8d8410) 0 empty
+ std::__nonesuch (0x0x7f38bb4f39c0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f38bb570360) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f38bb5703c0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f38bb5cf0c0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f38bb5cf120) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f38bb8d88f0) 0 empty
+ std::input_iterator_tag (0x0x7f38bb5cf180) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f38bb8d8958) 0 empty
+ std::forward_iterator_tag (0x0x7f38bb8d89c0) 0 empty
+ std::input_iterator_tag (0x0x7f38bb5cf1e0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f38bb8d8a28) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f38bb8d8a90) 0 empty
+ std::forward_iterator_tag (0x0x7f38bb8d8af8) 0 empty
+ std::input_iterator_tag (0x0x7f38bb5cf240) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f38bb65fd20) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f38bb65fe40) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f38bb680180) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f38bb680480) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f38bb6805a0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f38bb30e8a0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f38bb30eba0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f38bb30ec00) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7f38bb30ecc0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f38bb30ed20) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7f38bb30ed80) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7f38bb30ede0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f38bb3500c0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f38bb350360) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f38bb3503c0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f38bb407180) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f38bb8d8e38) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7f38bb407360) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f38bb8d8e38)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f38bb407540) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f38bb8d8ea0) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7f38bb407900) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f38bb8d8ea0)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f38bb8d8f08) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7f38bb407ae0) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f38bb8d8f08)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f38bb407cc0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f38bb43e2a0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f38bb8d8f70) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7f38bb43e960) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f38bb8d8f70)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f38bb464000) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7f38bb464068) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f38bb464000)
+ std::exception (0x0x7f38bb43eb40) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f38bb464068)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f38bb43ed20) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7f38bb43ef00) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f38bb0e7420) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f38bb29dea0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f38bb29df60) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f38bad61900) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f38bad61a20) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f38bad61d80) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f38bad9f300) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f38baddaa80) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f38bae70ea0) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f38bae16ea0) 0
+ std::__atomic_flag_base (0x0x7f38bae70f00) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f38babab618) 0
+ QAtomicInteger<int> (0x0x7f38babab680) 0
+ QBasicAtomicInteger<int> (0x0x7f38ba9acea0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f38ba5db1e0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f38ba61e780) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f38ba61eea0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f38ba651208) 0
+ QGenericArgument (0x0x7f38ba660180) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f38ba6605a0) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f38ba6609c0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f38ba3134e0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f38ba313780) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f38ba3de5a0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f38ba3de900) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f38ba437c00) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f38ba136480) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f38ba136540) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f38ba1e4660) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f38ba1e4720) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f38ba1e4780) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f38ba1e47e0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f38ba1e4840) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f38ba1e4960) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f38ba1e49c0) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f38b9f26960) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f38b9f269c0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f38ba0dea20) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f38ba0deba0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f38b9e52d20) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f38b9ea0120) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f38b9ea03c0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f38b9ea05a0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f38b9aec5a0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f38b9af71a0) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7f38b9aec660) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f38b9af71a0)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f38b9af7208) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7f38b9af7270) 0
+ primary-for std::domain_error (0x0x7f38b9af7208)
+ std::exception (0x0x7f38b9aec6c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f38b9af7270)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f38b9af72d8) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7f38b9af7340) 0
+ primary-for std::invalid_argument (0x0x7f38b9af72d8)
+ std::exception (0x0x7f38b9aec720) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f38b9af7340)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f38b9af73a8) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7f38b9af7410) 0
+ primary-for std::length_error (0x0x7f38b9af73a8)
+ std::exception (0x0x7f38b9aec780) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f38b9af7410)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f38b9af7478) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7f38b9af74e0) 0
+ primary-for std::out_of_range (0x0x7f38b9af7478)
+ std::exception (0x0x7f38b9aec7e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f38b9af74e0)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f38b9af7548) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7f38b9aec840) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f38b9af7548)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f38b9af75b0) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7f38b9af7618) 0
+ primary-for std::range_error (0x0x7f38b9af75b0)
+ std::exception (0x0x7f38b9aec8a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f38b9af7618)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f38b9af7680) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7f38b9af76e8) 0
+ primary-for std::overflow_error (0x0x7f38b9af7680)
+ std::exception (0x0x7f38b9aec900) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f38b9af76e8)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f38b9af7750) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7f38b9af77b8) 0
+ primary-for std::underflow_error (0x0x7f38b9af7750)
+ std::exception (0x0x7f38b9aec960) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f38b9af77b8)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f38b9aecae0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f38b9aece40) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f38b9b496c0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f38b9af7bc8) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7f38b9af7c30) 0
+ primary-for std::system_error (0x0x7f38b9af7bc8)
+ std::exception (0x0x7f38b9b732a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f38b9af7c30)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f38b9af7ea0) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7f38b9af7f08) 0
+ primary-for std::ios_base::failure (0x0x7f38b9af7ea0)
+ std::runtime_error (0x0x7f38b9af7f70) 0
+ primary-for std::system_error (0x0x7f38b9af7f08)
+ std::exception (0x0x7f38b9ba4840) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f38b9af7f70)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f38b9ba48a0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f38b9ba4900) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f38b9ba4960) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f38b9ba47e0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f38b9c972a0) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f38b9960480) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7f38b94fe680 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7f38b94fe750 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f38b953a410 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f38b953a4e0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f38b953cde0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f38b953ce40) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f38b96aa240) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f38b93450c0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f38b9345540) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f38b941b300) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f38b9499d20) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f38b9499cc0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f38b927aea0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f38b901a720) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f38b8e2da20) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f38b8e2dae0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f38b8b12000) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f38b90b8820) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f38b8b12720) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f38b90b8958) 0
+ std::_Bit_iterator_base (0x0x7f38b90b89c0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f38b8b12d80) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f38b90b8a28) 0
+ std::_Bit_iterator_base (0x0x7f38b90b8a90) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f38b8b445a0) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f38b88f9c00) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f38b89fc9c0) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f38b89fca20) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f38b8c684e0) 0 empty
+ QListData::NotIndirectLayout (0x0x7f38b89fca80) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f38b89f0150) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f38b89fcae0) 0 empty
+ QListData::NotIndirectLayout (0x0x7f38b89fcb40) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f38b8c68548) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f38b89fcba0) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f38b89fcc00) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f38b89fc960) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f38b86eade0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f38b87e3480) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f38b87e3420) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f38b87e7270) 0
+ QList<QString> (0x0x7f38b87e72d8) 0
+ QListSpecialMethods<QString> (0x0x7f38b87e36c0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f38b88ae240) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f38b8535360) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7f38b85356c0) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7f38b8317c60) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f38b8317cc0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f38b8317e40) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f38b8317f00) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f38b86ae618) 0
+ std::__uses_alloc_base (0x0x7f38b8317ea0) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f38b84a52a0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f38b80ba720) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f38b80baa80) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f38b80e1000) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f38b80e1540) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f38b8148720) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f38b8148de0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f38b817bc60) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f38b825a360) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f38b7eb38a0) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f38b7cf46c0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f38b7a23180) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f38b7a231e0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f38b7a233c0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f38b7a23360) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f38b7aeb1e0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f38b7aeb360) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f38b7aebc00) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f38b7ac4820) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7f38b7aebba0) 0
+ primary-for QAbstractAnimation (0x0x7f38b7ac4820)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f38b7b28000) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f38b7ac4888) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7f38b7aebf60) 0
+ primary-for QAnimationDriver (0x0x7f38b7ac4888)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f38b7b28240) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f38b7ac48f0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7f38b7b281e0) 0
+ primary-for QEventLoop (0x0x7f38b7ac48f0)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f38b7b28ae0) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f38b7b28ba0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f38b7b28c00) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f38b7ac4a28) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7f38b7b28b40) 0
+ primary-for QAbstractEventDispatcher (0x0x7f38b7ac4a28)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f38b77f53a8) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7f38b78042a0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f38b77f53a8)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f38b7804360) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f38b78043c0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f38b78046c0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f38b75ff660) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f38b7635300) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f38b7700c60) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f38b7700c00) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f38b7700f00) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f38b742c4e0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f38b742c5a0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f38b742c540) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f38b742c600) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f38b742c480) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f38b75858a0) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f38b75c9f00) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f38b75c9ea0) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f38b71f0060) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f38b71f0000) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f38b72b11e0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f38b7304de0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f38b73d2c00) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f38b73cff70) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7f38b73d2ba0) 0
+ primary-for QAbstractItemModel (0x0x7f38b73cff70)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f38b70b3000) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f38b70175b0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7f38b7017618) 0
+ primary-for QAbstractTableModel (0x0x7f38b70175b0)
+ QObject (0x0x7f38b7028f60) 0
+ primary-for QAbstractItemModel (0x0x7f38b7017618)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f38b70b3180) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f38b7017680) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7f38b70176e8) 0
+ primary-for QAbstractListModel (0x0x7f38b7017680)
+ QObject (0x0x7f38b70b3120) 0
+ primary-for QAbstractItemModel (0x0x7f38b70176e8)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f38b70b38a0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f38b70b3960) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f38b70177b8) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7f38b7017820) 0
+ primary-for QAbstractProxyModel (0x0x7f38b70177b8)
+ QObject (0x0x7f38b70b3900) 0
+ primary-for QAbstractItemModel (0x0x7f38b7017820)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f38b70b3ba0) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f38b7017888) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7f38b70b3b40) 0
+ primary-for QAbstractState (0x0x7f38b7017888)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f38b70b3de0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f38b70178f0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7f38b70b3d80) 0
+ primary-for QAbstractTransition (0x0x7f38b70178f0)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f38b714c120) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f38b7017958) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7f38b70179c0) 0
+ primary-for QAnimationGroup (0x0x7f38b7017958)
+ QObject (0x0x7f38b714c0c0) 0
+ primary-for QAbstractAnimation (0x0x7f38b70179c0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f38b719c480) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f38b71dc840) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f38b6e2dcc0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f38b6e9f0c0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f38b6e89f08) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7f38b6e9f060) 0
+ primary-for QIODevice (0x0x7f38b6e89f08)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f38b6e9fa20) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f38b6ec1068) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7f38b6ec10d0) 0
+ primary-for QBuffer (0x0x7f38b6ec1068)
+ QObject (0x0x7f38b6e9f9c0) 0
+ primary-for QIODevice (0x0x7f38b6ec10d0)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f38b6e9fcc0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f38b6e9fc60) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f38b6e9fe40) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f38b6e9fde0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f38b6f07d20) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f38b6f62cc0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f38b6fcf5a0) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f38b6c38240) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f38b6c382a0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f38b6c381e0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f38b6d0c960) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f38b69f6f00) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f38b6a5b7e0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f38b6b00300) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f38b6b27f60) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f38b6b57120) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f38b6bdcd20) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f38b6bdccc0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f38b6984d80) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f38b6984e40) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f38b6633180) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f38b6633900) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f38b66dc7e0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f38b67495a0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f38b67bf000) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f38b64e6f60) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f38b6576ae0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f38b6576ba0) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f38b5febba0) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f38b6081600) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f38b6081660) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f38b60815a0) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f38b6195060) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f38b61950c0) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f38b6195000) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f38b5f8b7e0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f38b5c48780) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f38b5c7a4e0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f38b5cfe600) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f38b5cfe7e0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f38b59f6d80) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f38b5a824e0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f38b5a64270) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7f38b5a828a0) 0
+ primary-for QTimerEvent (0x0x7f38b5a64270)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f38b5a642d8) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7f38b5a82960) 0
+ primary-for QChildEvent (0x0x7f38b5a642d8)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f38b5a64820) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7f38b5abe000) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f38b5a64820)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f38b5a64888) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7f38b5abe0c0) 0
+ primary-for QDeferredDeleteEvent (0x0x7f38b5a64888)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f38b5abe1e0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f38b5a648f0) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7f38b5abe180) 0
+ primary-for QCoreApplication (0x0x7f38b5a648f0)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f38b5abe420) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f38b5abe5a0) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7f38b5a64958) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7f38b5a649c0) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7f38b5a64958)
+ QObject (0x0x7f38b5abe540) 0
+ primary-for QAbstractItemModel (0x0x7f38b5a649c0)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f38b5abe780) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f38b5abe8a0) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f38b5abea20) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f38b5b7e180) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f38b5b7e8a0) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f38b58c3600) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f38b58b5bc8) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7f38b58b5c30) 0
+ primary-for QFileDevice (0x0x7f38b58b5bc8)
+ QObject (0x0x7f38b58c35a0) 0
+ primary-for QIODevice (0x0x7f38b58b5c30)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f38b58c3f00) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f38b58b5d68) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7f38b58b5dd0) 0
+ primary-for QFile (0x0x7f38b58b5d68)
+ QIODevice (0x0x7f38b58b5e38) 0
+ primary-for QFileDevice (0x0x7f38b58b5dd0)
+ QObject (0x0x7f38b58c3ea0) 0
+ primary-for QIODevice (0x0x7f38b58b5e38)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f38b59265a0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f38b5992960) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f38b55ffcc0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f38b564c480) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f38b57565a0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f38b575e0d0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7f38b575e138) 0
+ primary-for QEventTransition (0x0x7f38b575e0d0)
+ QObject (0x0x7f38b5756540) 0
+ primary-for QAbstractTransition (0x0x7f38b575e138)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f38b575e1a0) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7f38b5756780) 0 nearly-empty
+ primary-for QException (0x0x7f38b575e1a0)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f38b575e208) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7f38b575e270) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f38b575e208)
+ std::exception (0x0x7f38b57567e0) 0 nearly-empty
+ primary-for QException (0x0x7f38b575e270)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f38b5756840) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f38b5756900) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f38b5756960) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f38b5756ba0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f38b575e2d8) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7f38b5756b40) 0
+ primary-for QFileSelector (0x0x7f38b575e2d8)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f38b5756de0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f38b575e340) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7f38b5756d80) 0
+ primary-for QFileSystemWatcher (0x0x7f38b575e340)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f38b53ac060) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f38b575e3a8) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7f38b575e410) 0
+ primary-for QFinalState (0x0x7f38b575e3a8)
+ QObject (0x0x7f38b53ac000) 0
+ primary-for QAbstractState (0x0x7f38b575e410)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f38b53ac240) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f38b53ac4e0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f38b575e4e0) 0
+ QBasicMutex (0x0x7f38b5432180) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f38b54323c0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f38b5432840) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f38b5432e40) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f38b5487060) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f38b54d4840) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f38b5572b40) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f38b5502af8) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7f38b5572ae0) 0
+ primary-for QFutureWatcherBase (0x0x7f38b5502af8)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f38b5599ea0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f38b51b3340) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7f38b51b33a8) 0
+ primary-for QHistoryState (0x0x7f38b51b3340)
+ QObject (0x0x7f38b5599e40) 0
+ primary-for QAbstractState (0x0x7f38b51b33a8)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f38b51cb1e0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f38b51b3410) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f38b51b3478) 0
+ primary-for QIdentityProxyModel (0x0x7f38b51b3410)
+ QAbstractItemModel (0x0x7f38b51b34e0) 0
+ primary-for QAbstractProxyModel (0x0x7f38b51b3478)
+ QObject (0x0x7f38b51cb180) 0
+ primary-for QAbstractItemModel (0x0x7f38b51b34e0)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f38b51cb3c0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f38b5285cc0) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f38b5283e38) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7f38b5285c60) 0
+ primary-for QItemSelectionModel (0x0x7f38b5283e38)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f38b5304000) 0
+ QList<QItemSelectionRange> (0x0x7f38b5304068) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f38b52bc7e0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f38b5354120) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f38b50ae300) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f38b50f62a0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f38b50f6540) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f38b51388a0) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f38b5138900) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f38b5138840) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f38b4e657e0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f38b4e65840) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f38b4ed5060) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f38b4ed50c0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f38b4ed5000) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f38b4be6420) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f38b4be80d0) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7f38b4be63c0) 0
+ primary-for QLibrary (0x0x7f38b4be80d0)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f38b4c312a0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f38b4be6d80) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f38b4cc69c0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f38b4cc6a20) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f38b4d37840) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f38b49a99c0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f38b4a1ad80) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f38b4ac3060) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f38b4b5a1e0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f38b4b5a420) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f38b4b5a3c0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f38b4b5a840) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f38b4810780) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f38b4656f60) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f38b467d000) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f38b46e0840) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f38b4720a80) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f38b4720ba0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f38b477e180) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f38b476ad00) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7f38b477e120) 0
+ primary-for QMimeData (0x0x7f38b476ad00)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f38b477e360) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f38b43df480) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f38b43df540) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f38b43e7068) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7f38b43df4e0) 0
+ primary-for QObjectCleanupHandler (0x0x7f38b43e7068)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f38b43df660) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f38b444cde0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f38b445c8f0) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f38b445c958) 0
+ primary-for QParallelAnimationGroup (0x0x7f38b445c8f0)
+ QAbstractAnimation (0x0x7f38b445c9c0) 0
+ primary-for QAnimationGroup (0x0x7f38b445c958)
+ QObject (0x0x7f38b444cd80) 0
+ primary-for QAbstractAnimation (0x0x7f38b445c9c0)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f38b4474060) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f38b445ca28) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7f38b445ca90) 0
+ primary-for QPauseAnimation (0x0x7f38b445ca28)
+ QObject (0x0x7f38b4474000) 0
+ primary-for QAbstractAnimation (0x0x7f38b445ca90)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f38b4474c60) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f38b44c4de0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f38b44c7dd0) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7f38b44c4d80) 0
+ primary-for QPluginLoader (0x0x7f38b44c7dd0)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f38b44c4f00) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f38b453c5a0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f38b4537a28) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7f38b4537a90) 0
+ primary-for QProcess (0x0x7f38b4537a28)
+ QObject (0x0x7f38b453c540) 0
+ primary-for QIODevice (0x0x7f38b4537a90)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f38b453cc60) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f38b4537af8) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7f38b4537b60) 0
+ primary-for QVariantAnimation (0x0x7f38b4537af8)
+ QObject (0x0x7f38b453cc00) 0
+ primary-for QAbstractAnimation (0x0x7f38b4537b60)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f38b453cf00) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f38b4537c30) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7f38b4537c98) 0
+ primary-for QPropertyAnimation (0x0x7f38b4537c30)
+ QAbstractAnimation (0x0x7f38b4537d00) 0
+ primary-for QVariantAnimation (0x0x7f38b4537c98)
+ QObject (0x0x7f38b453cea0) 0
+ primary-for QAbstractAnimation (0x0x7f38b4537d00)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f38b4205660) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f38b430d3c0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f38b430d360) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f38b40fa120) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f38b3f05d80) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f38b3f05d20) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f38b3f949c0) 0
+ QRandomGenerator (0x0x7f38b3b2c8a0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f38b3b53480) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f38b3b53720) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f38b3b53c00) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f38b3bd9120) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f38b3c20f00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f38b3c9aea0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f38b393ff00) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f38b3a49060) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f38b3a49300) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f38b39de3a8) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7f38b39de410) 0
+ primary-for QSaveFile (0x0x7f38b39de3a8)
+ QIODevice (0x0x7f38b39de478) 0
+ primary-for QFileDevice (0x0x7f38b39de410)
+ QObject (0x0x7f38b3a492a0) 0
+ primary-for QIODevice (0x0x7f38b39de478)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f38b3a49900) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f38b3a49a80) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f38b3773d20) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f38b37811a0) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f38b3781208) 0
+ primary-for QSequentialAnimationGroup (0x0x7f38b37811a0)
+ QAbstractAnimation (0x0x7f38b3781270) 0
+ primary-for QAnimationGroup (0x0x7f38b3781208)
+ QObject (0x0x7f38b3773cc0) 0
+ primary-for QAbstractAnimation (0x0x7f38b3781270)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f38b3773f60) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f38b37812d8) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7f38b3773f00) 0
+ primary-for QSettings (0x0x7f38b37812d8)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f38b37b6420) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f38b3781340) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7f38b37b63c0) 0
+ primary-for QSharedMemory (0x0x7f38b3781340)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f38b37b6660) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f38b37813a8) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7f38b37b6600) 0
+ primary-for QSignalMapper (0x0x7f38b37813a8)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f38b37b68a0) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f38b3781410) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7f38b3781478) 0
+ primary-for QSignalTransition (0x0x7f38b3781410)
+ QObject (0x0x7f38b37b6840) 0
+ primary-for QAbstractTransition (0x0x7f38b3781478)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f38b37b6b40) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f38b37814e0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7f38b37b6ae0) 0
+ primary-for QSocketNotifier (0x0x7f38b37814e0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f38b37b6d80) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f38b3781548) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f38b37815b0) 0
+ primary-for QSortFilterProxyModel (0x0x7f38b3781548)
+ QAbstractItemModel (0x0x7f38b3781618) 0
+ primary-for QAbstractProxyModel (0x0x7f38b37815b0)
+ QObject (0x0x7f38b37b6d20) 0
+ primary-for QAbstractItemModel (0x0x7f38b3781618)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f38b38211e0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f38b3821ae0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f38b37817b8) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7f38b3781820) 0
+ primary-for QState (0x0x7f38b37817b8)
+ QObject (0x0x7f38b3821a80) 0
+ primary-for QAbstractState (0x0x7f38b3781820)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f38b3821f60) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f38b37819c0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7f38b3871000) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f38b37819c0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f38b3781a28) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7f38b3871060) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f38b3781a28)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f38b3781888) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7f38b37818f0) 0
+ primary-for QStateMachine (0x0x7f38b3781888)
+ QAbstractState (0x0x7f38b3781958) 0
+ primary-for QState (0x0x7f38b37818f0)
+ QObject (0x0x7f38b3821f00) 0
+ primary-for QAbstractState (0x0x7f38b3781958)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f38b3871420) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f38b3912420) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f38b3599780) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f38b3582b60) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7f38b3582bc8) 0
+ primary-for QStringListModel (0x0x7f38b3582b60)
+ QAbstractItemModel (0x0x7f38b3582c30) 0
+ primary-for QAbstractListModel (0x0x7f38b3582bc8)
+ QObject (0x0x7f38b3599720) 0
+ primary-for QAbstractItemModel (0x0x7f38b3582c30)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f38b35998a0) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f38b3599960) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f38b3599a80) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f38b3582c98) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7f38b3582d00) 0
+ primary-for QTemporaryFile (0x0x7f38b3582c98)
+ QFileDevice (0x0x7f38b3582d68) 0
+ primary-for QFile (0x0x7f38b3582d00)
+ QIODevice (0x0x7f38b3582dd0) 0
+ primary-for QFileDevice (0x0x7f38b3582d68)
+ QObject (0x0x7f38b3599a20) 0
+ primary-for QIODevice (0x0x7f38b3582dd0)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f38b3599de0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f38b3601660) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f38b3601600) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f38b3668060) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f38b3668240) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f38b3668420) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f38b3682000) 0
+ std::__mutex_base (0x0x7f38b3668480) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f38b3668660) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f38b36686c0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f38b3668720) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f38b36ab180) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f38b3682068) 0
+ std::__recursive_mutex_base (0x0x7f38b36ab1e0) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f38b365ff50) 0
+ std::__mutex_base (0x0x7f38b36ab5a0) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f38b36ab600) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f38b36cc2a0) 0
+ std::__recursive_mutex_base (0x0x7f38b36ab960) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f38b36ab9c0) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f38b36ee120) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f38b36821a0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7f38b36ee660) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f38b36821a0)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f38b3682208) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7f38b36ee780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f38b3682208)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f38b3682270) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7f38b36ee8a0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f38b3682270)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f38b3682340) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7f38b36ee9c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f38b3682340)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f38b3320a20) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f38b3320d20) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f38b3342060) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f38b33423c0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f38b36823a8) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7f38b33bd5a0) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f38b36823a8)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f38b3424540) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7f38b3424960) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f38b31737e0) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7f38b319dc60) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f38b319dcc0) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f38b319dc00) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f38b30620c0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f38b3062480) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f38b30624e0) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f38b2de57e0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f38b2ddec30) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7f38b2ddec98) 0
+ primary-for std::future_error (0x0x7f38b2ddec30)
+ std::exception (0x0x7f38b2de5f00) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f38b2ddec98)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f38b2e17660) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f38b2e17600) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f38b2bd6d80) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f38b2c024e0) 0
+ std::__at_thread_exit_elt (0x0x7f38b2bd6e40) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f38b2e177e0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f38b2e175a0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f38b23be208) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7f38b238fe40) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f38b23be208)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f38b23ce720) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f38b23be548) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7f38b23ce6c0) 0
+ primary-for QThread (0x0x7f38b23be548)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f38b23ceae0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f38b23be5b0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7f38b23cea80) 0
+ primary-for QThreadPool (0x0x7f38b23be5b0)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f38b23cecc0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f38b24133c0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f38b23be618) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7f38b2413360) 0
+ primary-for QTimeLine (0x0x7f38b23be618)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f38b2413600) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f38b23be680) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7f38b24135a0) 0
+ primary-for QTimer (0x0x7f38b23be680)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f38b2458f60) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f38b2458f00) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f38b211e060) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f38b2502d68) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7f38b211e000) 0
+ primary-for QTranslator (0x0x7f38b2502d68)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7f38b211e2a0) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7f38b2502dd0) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f38b2502e38) 0
+ primary-for QTransposeProxyModel (0x0x7f38b2502dd0)
+ QAbstractItemModel (0x0x7f38b2502ea0) 0
+ primary-for QAbstractProxyModel (0x0x7f38b2502e38)
+ QObject (0x0x7f38b211e240) 0
+ primary-for QAbstractItemModel (0x0x7f38b2502ea0)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f38b211e480) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f38b21a0e40) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f38b21a0f60) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f38b224b360) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f38b22b8548) 0
+ QVector<QXmlStreamAttribute> (0x0x7f38b22b1a80) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f38b22b1d80) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f38b1f30d20) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f38b1f8bd20) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f38b1ff6de0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f38b1ff6e40) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f38b2034d20) 0
+
+Class QDomImplementation
+ size=8 align=8
+ base size=8 base align=8
+QDomImplementation (0x0x7f38b2034f00) 0
+
+Class QDomNode
+ size=8 align=8
+ base size=8 base align=8
+QDomNode (0x0x7f38b2034f60) 0
+
+Class QDomNodeList
+ size=8 align=8
+ base size=8 base align=8
+QDomNodeList (0x0x7f38b20ab000) 0
+
+Class QDomDocumentType
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentType (0x0x7f38b2069208) 0
+ QDomNode (0x0x7f38b20ab1e0) 0
+
+Class QDomDocument
+ size=8 align=8
+ base size=8 base align=8
+QDomDocument (0x0x7f38b2069270) 0
+ QDomNode (0x0x7f38b20ab2a0) 0
+
+Class QDomNamedNodeMap
+ size=8 align=8
+ base size=8 base align=8
+QDomNamedNodeMap (0x0x7f38b20ab360) 0
+
+Class QDomDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentFragment (0x0x7f38b20692d8) 0
+ QDomNode (0x0x7f38b20ab4e0) 0
+
+Class QDomCharacterData
+ size=8 align=8
+ base size=8 base align=8
+QDomCharacterData (0x0x7f38b2069340) 0
+ QDomNode (0x0x7f38b20ab5a0) 0
+
+Class QDomAttr
+ size=8 align=8
+ base size=8 base align=8
+QDomAttr (0x0x7f38b20693a8) 0
+ QDomNode (0x0x7f38b20ab600) 0
+
+Class QDomElement
+ size=8 align=8
+ base size=8 base align=8
+QDomElement (0x0x7f38b2069410) 0
+ QDomNode (0x0x7f38b20ab6c0) 0
+
+Class QDomText
+ size=8 align=8
+ base size=8 base align=8
+QDomText (0x0x7f38b2069478) 0
+ QDomCharacterData (0x0x7f38b20694e0) 0
+ QDomNode (0x0x7f38b20ab900) 0
+
+Class QDomComment
+ size=8 align=8
+ base size=8 base align=8
+QDomComment (0x0x7f38b2069548) 0
+ QDomCharacterData (0x0x7f38b20695b0) 0
+ QDomNode (0x0x7f38b20ab9c0) 0
+
+Class QDomCDATASection
+ size=8 align=8
+ base size=8 base align=8
+QDomCDATASection (0x0x7f38b2069618) 0
+ QDomText (0x0x7f38b2069680) 0
+ QDomCharacterData (0x0x7f38b20696e8) 0
+ QDomNode (0x0x7f38b20aba80) 0
+
+Class QDomNotation
+ size=8 align=8
+ base size=8 base align=8
+QDomNotation (0x0x7f38b2069750) 0
+ QDomNode (0x0x7f38b20abb40) 0
+
+Class QDomEntity
+ size=8 align=8
+ base size=8 base align=8
+QDomEntity (0x0x7f38b20697b8) 0
+ QDomNode (0x0x7f38b20abc00) 0
+
+Class QDomEntityReference
+ size=8 align=8
+ base size=8 base align=8
+QDomEntityReference (0x0x7f38b2069820) 0
+ QDomNode (0x0x7f38b20abcc0) 0
+
+Class QDomProcessingInstruction
+ size=8 align=8
+ base size=8 base align=8
+QDomProcessingInstruction (0x0x7f38b2069888) 0
+ QDomNode (0x0x7f38b20abd80) 0
+
+Class QXmlNamespaceSupport
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamespaceSupport (0x0x7f38b20abe40) 0
+
+Class QXmlAttributes::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QXmlAttributes::Attribute (0x0x7f38b20abf00) 0
+
+Vtable for QXmlAttributes
+QXmlAttributes::_ZTV14QXmlAttributes: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlAttributes)
+16 (int (*)(...))QXmlAttributes::~QXmlAttributes
+24 (int (*)(...))QXmlAttributes::~QXmlAttributes
+
+Class QXmlAttributes
+ size=24 align=8
+ base size=24 base align=8
+QXmlAttributes (0x0x7f38b20abea0) 0
+ vptr=((& QXmlAttributes::_ZTV14QXmlAttributes) + 16)
+
+Vtable for QXmlInputSource
+QXmlInputSource::_ZTV15QXmlInputSource: 11 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlInputSource)
+16 (int (*)(...))QXmlInputSource::~QXmlInputSource
+24 (int (*)(...))QXmlInputSource::~QXmlInputSource
+32 (int (*)(...))QXmlInputSource::setData
+40 (int (*)(...))QXmlInputSource::setData
+48 (int (*)(...))QXmlInputSource::fetchData
+56 (int (*)(...))QXmlInputSource::data
+64 (int (*)(...))QXmlInputSource::next
+72 (int (*)(...))QXmlInputSource::reset
+80 (int (*)(...))QXmlInputSource::fromRawData
+
+Class QXmlInputSource
+ size=16 align=8
+ base size=16 base align=8
+QXmlInputSource (0x0x7f38b1ead720) 0
+ vptr=((& QXmlInputSource::_ZTV15QXmlInputSource) + 16)
+
+Class QXmlParseException
+ size=8 align=8
+ base size=8 base align=8
+QXmlParseException (0x0x7f38b1ead780) 0
+
+Vtable for QXmlReader
+QXmlReader::_ZTV10QXmlReader: 24 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QXmlReader)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlReader (0x0x7f38b1ead840) 0 nearly-empty
+ vptr=((& QXmlReader::_ZTV10QXmlReader) + 16)
+
+Vtable for QXmlSimpleReader
+QXmlSimpleReader::_ZTV16QXmlSimpleReader: 26 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlSimpleReader)
+16 (int (*)(...))QXmlSimpleReader::~QXmlSimpleReader
+24 (int (*)(...))QXmlSimpleReader::~QXmlSimpleReader
+32 (int (*)(...))QXmlSimpleReader::feature
+40 (int (*)(...))QXmlSimpleReader::setFeature
+48 (int (*)(...))QXmlSimpleReader::hasFeature
+56 (int (*)(...))QXmlSimpleReader::property
+64 (int (*)(...))QXmlSimpleReader::setProperty
+72 (int (*)(...))QXmlSimpleReader::hasProperty
+80 (int (*)(...))QXmlSimpleReader::setEntityResolver
+88 (int (*)(...))QXmlSimpleReader::entityResolver
+96 (int (*)(...))QXmlSimpleReader::setDTDHandler
+104 (int (*)(...))QXmlSimpleReader::DTDHandler
+112 (int (*)(...))QXmlSimpleReader::setContentHandler
+120 (int (*)(...))QXmlSimpleReader::contentHandler
+128 (int (*)(...))QXmlSimpleReader::setErrorHandler
+136 (int (*)(...))QXmlSimpleReader::errorHandler
+144 (int (*)(...))QXmlSimpleReader::setLexicalHandler
+152 (int (*)(...))QXmlSimpleReader::lexicalHandler
+160 (int (*)(...))QXmlSimpleReader::setDeclHandler
+168 (int (*)(...))QXmlSimpleReader::declHandler
+176 (int (*)(...))QXmlSimpleReader::parse
+184 (int (*)(...))QXmlSimpleReader::parse
+192 (int (*)(...))QXmlSimpleReader::parse
+200 (int (*)(...))QXmlSimpleReader::parseContinue
+
+Class QXmlSimpleReader
+ size=16 align=8
+ base size=16 base align=8
+QXmlSimpleReader (0x0x7f38b1eaa9c0) 0
+ vptr=((& QXmlSimpleReader::_ZTV16QXmlSimpleReader) + 16)
+ QXmlReader (0x0x7f38b1eada80) 0 nearly-empty
+ primary-for QXmlSimpleReader (0x0x7f38b1eaa9c0)
+
+Vtable for QXmlLocator
+QXmlLocator::_ZTV11QXmlLocator: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QXmlLocator)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlLocator
+ size=8 align=8
+ base size=8 base align=8
+QXmlLocator (0x0x7f38b1eadc60) 0 nearly-empty
+ vptr=((& QXmlLocator::_ZTV11QXmlLocator) + 16)
+
+Vtable for QXmlContentHandler
+QXmlContentHandler::_ZTV18QXmlContentHandler: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlContentHandler)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlContentHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlContentHandler (0x0x7f38b1eadcc0) 0 nearly-empty
+ vptr=((& QXmlContentHandler::_ZTV18QXmlContentHandler) + 16)
+
+Vtable for QXmlErrorHandler
+QXmlErrorHandler::_ZTV16QXmlErrorHandler: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlErrorHandler)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlErrorHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlErrorHandler (0x0x7f38b1eadf00) 0 nearly-empty
+ vptr=((& QXmlErrorHandler::_ZTV16QXmlErrorHandler) + 16)
+
+Vtable for QXmlDTDHandler
+QXmlDTDHandler::_ZTV14QXmlDTDHandler: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlDTDHandler)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlDTDHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDTDHandler (0x0x7f38b1ef5180) 0 nearly-empty
+ vptr=((& QXmlDTDHandler::_ZTV14QXmlDTDHandler) + 16)
+
+Vtable for QXmlEntityResolver
+QXmlEntityResolver::_ZTV18QXmlEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlEntityResolver)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlEntityResolver (0x0x7f38b1ef53c0) 0 nearly-empty
+ vptr=((& QXmlEntityResolver::_ZTV18QXmlEntityResolver) + 16)
+
+Vtable for QXmlLexicalHandler
+QXmlLexicalHandler::_ZTV18QXmlLexicalHandler: 12 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlLexicalHandler)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlLexicalHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlLexicalHandler (0x0x7f38b1ef5600) 0 nearly-empty
+ vptr=((& QXmlLexicalHandler::_ZTV18QXmlLexicalHandler) + 16)
+
+Vtable for QXmlDeclHandler
+QXmlDeclHandler::_ZTV15QXmlDeclHandler: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlDeclHandler)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlDeclHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDeclHandler (0x0x7f38b1ef5840) 0 nearly-empty
+ vptr=((& QXmlDeclHandler::_ZTV15QXmlDeclHandler) + 16)
+
+Vtable for QXmlDefaultHandler
+QXmlDefaultHandler::_ZTV18QXmlDefaultHandler: 73 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+16 (int (*)(...))QXmlDefaultHandler::~QXmlDefaultHandler
+24 (int (*)(...))QXmlDefaultHandler::~QXmlDefaultHandler
+32 (int (*)(...))QXmlDefaultHandler::setDocumentLocator
+40 (int (*)(...))QXmlDefaultHandler::startDocument
+48 (int (*)(...))QXmlDefaultHandler::endDocument
+56 (int (*)(...))QXmlDefaultHandler::startPrefixMapping
+64 (int (*)(...))QXmlDefaultHandler::endPrefixMapping
+72 (int (*)(...))QXmlDefaultHandler::startElement
+80 (int (*)(...))QXmlDefaultHandler::endElement
+88 (int (*)(...))QXmlDefaultHandler::characters
+96 (int (*)(...))QXmlDefaultHandler::ignorableWhitespace
+104 (int (*)(...))QXmlDefaultHandler::processingInstruction
+112 (int (*)(...))QXmlDefaultHandler::skippedEntity
+120 (int (*)(...))QXmlDefaultHandler::errorString
+128 (int (*)(...))QXmlDefaultHandler::warning
+136 (int (*)(...))QXmlDefaultHandler::error
+144 (int (*)(...))QXmlDefaultHandler::fatalError
+152 (int (*)(...))QXmlDefaultHandler::notationDecl
+160 (int (*)(...))QXmlDefaultHandler::unparsedEntityDecl
+168 (int (*)(...))QXmlDefaultHandler::resolveEntity
+176 (int (*)(...))QXmlDefaultHandler::startDTD
+184 (int (*)(...))QXmlDefaultHandler::endDTD
+192 (int (*)(...))QXmlDefaultHandler::startEntity
+200 (int (*)(...))QXmlDefaultHandler::endEntity
+208 (int (*)(...))QXmlDefaultHandler::startCDATA
+216 (int (*)(...))QXmlDefaultHandler::endCDATA
+224 (int (*)(...))QXmlDefaultHandler::comment
+232 (int (*)(...))QXmlDefaultHandler::attributeDecl
+240 (int (*)(...))QXmlDefaultHandler::internalEntityDecl
+248 (int (*)(...))QXmlDefaultHandler::externalEntityDecl
+256 (int (*)(...))-8
+264 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+272 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD1Ev
+280 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD0Ev
+288 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler7warningERK18QXmlParseException
+296 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler5errorERK18QXmlParseException
+304 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException
+312 (int (*)(...))QXmlDefaultHandler::_ZThn8_NK18QXmlDefaultHandler11errorStringEv
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+336 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD1Ev
+344 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD0Ev
+352 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_
+360 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_
+368 (int (*)(...))QXmlDefaultHandler::_ZThn16_NK18QXmlDefaultHandler11errorStringEv
+376 (int (*)(...))-24
+384 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+392 (int (*)(...))QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD1Ev
+400 (int (*)(...))QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD0Ev
+408 (int (*)(...))QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource
+416 (int (*)(...))QXmlDefaultHandler::_ZThn24_NK18QXmlDefaultHandler11errorStringEv
+424 (int (*)(...))-32
+432 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+440 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD1Ev
+448 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD0Ev
+456 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_
+464 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler6endDTDEv
+472 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler11startEntityERK7QString
+480 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler9endEntityERK7QString
+488 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler10startCDATAEv
+496 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8endCDATAEv
+504 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler7commentERK7QString
+512 (int (*)(...))QXmlDefaultHandler::_ZThn32_NK18QXmlDefaultHandler11errorStringEv
+520 (int (*)(...))-40
+528 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+536 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD1Ev
+544 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD0Ev
+552 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_
+560 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_
+568 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_
+576 (int (*)(...))QXmlDefaultHandler::_ZThn40_NK18QXmlDefaultHandler11errorStringEv
+
+Class QXmlDefaultHandler
+ size=56 align=8
+ base size=56 base align=8
+QXmlDefaultHandler (0x0x7f38b1f041b0) 0
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 16)
+ QXmlContentHandler (0x0x7f38b1ef5a80) 0 nearly-empty
+ primary-for QXmlDefaultHandler (0x0x7f38b1f041b0)
+ QXmlErrorHandler (0x0x7f38b1ef5ae0) 8 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 272)
+ QXmlDTDHandler (0x0x7f38b1ef5b40) 16 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 336)
+ QXmlEntityResolver (0x0x7f38b1ef5ba0) 24 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 392)
+ QXmlLexicalHandler (0x0x7f38b1ef5c00) 32 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 440)
+ QXmlDeclHandler (0x0x7f38b1ef5c60) 40 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1b5b180) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1b5b4e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1b5b6c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1b5ba20) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1b5bc00) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1b5bf60) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1b98180) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1b984e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1b986c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1b98a20) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1b98c00) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1b98f60) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1bcf180) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1bcf4e0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1bcf6c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1bcfa20) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1c06f00) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1c302a0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1c30420) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1c30780) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1c30900) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1c30c60) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1c30de0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1c62180) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1c62300) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1c62660) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1c627e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1c62b40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1c62cc0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1c8e060) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f38b1c8e1e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f38b1c8e540) 0 empty
+
diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt
index 5b10a74d3f..ed900f7805 100644
--- a/tests/auto/cmake/CMakeLists.txt
+++ b/tests/auto/cmake/CMakeLists.txt
@@ -160,3 +160,5 @@ if (NOT CMAKE_VERSION VERSION_LESS 3.8)
# Reason: SKIP_* properties were added in CMake 3.8 only
expect_pass(test_QTBUG-63422)
endif()
+
+expect_pass(test_import_plugins BINARY ${CMAKE_CTEST_COMMAND})
diff --git a/tests/auto/cmake/cmake.pro b/tests/auto/cmake/cmake.pro
index 9c715974f8..06509f4ad3 100644
--- a/tests/auto/cmake/cmake.pro
+++ b/tests/auto/cmake/cmake.pro
@@ -1,7 +1,12 @@
-# Cause make to do nothing.
TEMPLATE = subdirs
+# installed_cmake includes this file, and tries to add the mockplugins
+# directory relative to itself, but doesn't have its own copy of the directory.
+# So, we make the path absolute so it includes this copy of the directory
+# instead.
+SUBDIRS += $$PWD/mockplugins
+
CMAKE_QT_MODULES_UNDER_TEST = core network xml sql testlib
qtHaveModule(dbus): CMAKE_QT_MODULES_UNDER_TEST += dbus
diff --git a/tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.json b/tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.pro b/tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.pro
new file mode 100644
index 0000000000..1ccbe924ae
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock1plugin/mock1plugin.pro
@@ -0,0 +1,9 @@
+TARGET = mock1plugin
+
+HEADERS += qmock1plugin.h
+SOURCES += qmock1plugin.cpp
+QT = mockplugins1
+
+PLUGIN_TYPE = mockplugin
+PLUGIN_CLASS_NAME = QMock1Plugin
+load(qt_plugin)
diff --git a/tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.cpp b/tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.cpp
new file mode 100644
index 0000000000..2ee817d80a
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.cpp
@@ -0,0 +1,10 @@
+#include "qmock1plugin.h"
+
+QT_BEGIN_NAMESPACE
+
+QString QMock1Plugin::pluginName() const
+{
+ return "QMock1Plugin";
+}
+
+QT_END_NAMESPACE
diff --git a/tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.h b/tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.h
new file mode 100644
index 0000000000..e2e114b1d9
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock1plugin/qmock1plugin.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Kitware, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOCK1PLUGIN_H
+#define QMOCK1PLUGIN_H
+
+#include <QObject>
+#include <QtMockPlugins1/QMockPlugin>
+
+QT_BEGIN_NAMESPACE
+
+class QMock1Plugin : public QObject, public QMockPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QMockPlugin_iid FILE "mock1plugin.json")
+ Q_INTERFACES(QMockPlugin)
+public:
+ QString pluginName() const override;
+};
+
+QT_END_NAMESPACE
+
+#endif // QMOCK1PLUGIN_H
diff --git a/tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.json b/tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.pro b/tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.pro
new file mode 100644
index 0000000000..75dc21cf0a
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock2plugin/mock2plugin.pro
@@ -0,0 +1,10 @@
+TARGET = mock2plugin
+
+HEADERS += qmock2plugin.h
+SOURCES += qmock2plugin.cpp
+QT = mockplugins1
+
+PLUGIN_TYPE = mockplugin
+PLUGIN_CLASS_NAME = QMock2Plugin
+PLUGIN_EXTENDS = mockplugins1
+load(qt_plugin)
diff --git a/tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.cpp b/tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.cpp
new file mode 100644
index 0000000000..5b3280e884
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.cpp
@@ -0,0 +1,10 @@
+#include "qmock2plugin.h"
+
+QT_BEGIN_NAMESPACE
+
+QString QMock2Plugin::pluginName() const
+{
+ return "QMock2Plugin";
+}
+
+QT_END_NAMESPACE
diff --git a/tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.h b/tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.h
new file mode 100644
index 0000000000..be99133dc8
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock2plugin/qmock2plugin.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Kitware, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOCK2PLUGIN_H
+#define QMOCK2PLUGIN_H
+
+#include <QObject>
+#include <QtMockPlugins1/QMockPlugin>
+
+QT_BEGIN_NAMESPACE
+
+class QMock2Plugin : public QObject, public QMockPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QMockPlugin_iid FILE "mock2plugin.json")
+ Q_INTERFACES(QMockPlugin)
+public:
+ QString pluginName() const override;
+};
+
+QT_END_NAMESPACE
+
+#endif // QMOCK2PLUGIN_H
diff --git a/tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.json b/tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.pro b/tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.pro
new file mode 100644
index 0000000000..ed7df603bb
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock3plugin/mock3plugin.pro
@@ -0,0 +1,10 @@
+TARGET = mock3plugin
+
+HEADERS += qmock3plugin.h
+SOURCES += qmock3plugin.cpp
+QT = mockplugins1
+
+PLUGIN_TYPE = mockplugin
+PLUGIN_CLASS_NAME = QMock3Plugin
+PLUGIN_EXTENDS = mockplugins1 mockplugins2
+load(qt_plugin)
diff --git a/tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.cpp b/tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.cpp
new file mode 100644
index 0000000000..b38f854e4b
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.cpp
@@ -0,0 +1,10 @@
+#include "qmock3plugin.h"
+
+QT_BEGIN_NAMESPACE
+
+QString QMock3Plugin::pluginName() const
+{
+ return "QMock3Plugin";
+}
+
+QT_END_NAMESPACE
diff --git a/tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.h b/tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.h
new file mode 100644
index 0000000000..08d1aa68ce
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock3plugin/qmock3plugin.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Kitware, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOCK3PLUGIN_H
+#define QMOCK3PLUGIN_H
+
+#include <QObject>
+#include <QtMockPlugins1/QMockPlugin>
+
+QT_BEGIN_NAMESPACE
+
+class QMock3Plugin : public QObject, public QMockPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QMockPlugin_iid FILE "mock3plugin.json")
+ Q_INTERFACES(QMockPlugin)
+public:
+ QString pluginName() const override;
+};
+
+QT_END_NAMESPACE
+
+#endif // QMOCK3PLUGIN_H
diff --git a/tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.json b/tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.pro b/tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.pro
new file mode 100644
index 0000000000..4dd2d6c547
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock4plugin/mock4plugin.pro
@@ -0,0 +1,10 @@
+TARGET = mock4plugin
+
+HEADERS += qmock4plugin.h
+SOURCES += qmock4plugin.cpp
+QT = mockplugins1
+
+PLUGIN_TYPE = mockplugin
+PLUGIN_CLASS_NAME = QMock4Plugin
+PLUGIN_EXTENDS = -
+load(qt_plugin)
diff --git a/tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.cpp b/tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.cpp
new file mode 100644
index 0000000000..5deaf7f43f
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.cpp
@@ -0,0 +1,10 @@
+#include "qmock4plugin.h"
+
+QT_BEGIN_NAMESPACE
+
+QString QMock4Plugin::pluginName() const
+{
+ return "QMock4Plugin";
+}
+
+QT_END_NAMESPACE
diff --git a/tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.h b/tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.h
new file mode 100644
index 0000000000..0776bef002
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock4plugin/qmock4plugin.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Kitware, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOCK4PLUGIN_H
+#define QMOCK4PLUGIN_H
+
+#include <QObject>
+#include <QtMockPlugins1/QMockPlugin>
+
+QT_BEGIN_NAMESPACE
+
+class QMock4Plugin : public QObject, public QMockPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QMockPlugin_iid FILE "mock4plugin.json")
+ Q_INTERFACES(QMockPlugin)
+public:
+ QString pluginName() const override;
+};
+
+QT_END_NAMESPACE
+
+#endif // QMOCK4PLUGIN_H
diff --git a/tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.json b/tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.pro b/tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.pro
new file mode 100644
index 0000000000..29496868fe
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock5plugin/mock5plugin.pro
@@ -0,0 +1,10 @@
+TARGET = mock5plugin
+
+HEADERS += qmock5plugin.h
+SOURCES += qmock5plugin.cpp
+QT = mockplugins3
+
+PLUGIN_TYPE = mockplugin
+PLUGIN_CLASS_NAME = QMock5Plugin
+PLUGIN_EXTENDS = -
+load(qt_plugin)
diff --git a/tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.cpp b/tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.cpp
new file mode 100644
index 0000000000..c5b4620516
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.cpp
@@ -0,0 +1,10 @@
+#include "qmock5plugin.h"
+
+QT_BEGIN_NAMESPACE
+
+QString QMock5Plugin::pluginName() const
+{
+ return "QMock5Plugin";
+}
+
+QT_END_NAMESPACE
diff --git a/tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.h b/tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.h
new file mode 100644
index 0000000000..2f387da203
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock5plugin/qmock5plugin.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Kitware, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOCK5PLUGIN_H
+#define QMOCK5PLUGIN_H
+
+#include <QObject>
+#include <QtMockPlugins1/QMockPlugin>
+
+QT_BEGIN_NAMESPACE
+
+class QMock5Plugin : public QObject, public QMockPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QMockPlugin_iid FILE "mock5plugin.json")
+ Q_INTERFACES(QMockPlugin)
+public:
+ QString pluginName() const override;
+};
+
+QT_END_NAMESPACE
+
+#endif // QMOCK5PLUGIN_H
diff --git a/tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.json b/tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.pro b/tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.pro
new file mode 100644
index 0000000000..140f198811
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock6plugin/mock6plugin.pro
@@ -0,0 +1,9 @@
+TARGET = mock6plugin
+
+HEADERS += qmock6plugin.h
+SOURCES += qmock6plugin.cpp
+QT = mockplugins3
+
+PLUGIN_TYPE = mockauxplugin
+PLUGIN_CLASS_NAME = QMock6Plugin
+load(qt_plugin)
diff --git a/tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.cpp b/tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.cpp
new file mode 100644
index 0000000000..4a0329c68a
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.cpp
@@ -0,0 +1,10 @@
+#include "qmock6plugin.h"
+
+QT_BEGIN_NAMESPACE
+
+QString QMock6Plugin::pluginName() const
+{
+ return "QMock6Plugin";
+}
+
+QT_END_NAMESPACE
diff --git a/tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.h b/tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.h
new file mode 100644
index 0000000000..6b29b6703b
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mock6plugin/qmock6plugin.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Kitware, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOCK6PLUGIN_H
+#define QMOCK6PLUGIN_H
+
+#include <QObject>
+#include <QtMockPlugins3/QMockAuxPlugin>
+
+QT_BEGIN_NAMESPACE
+
+class QMock6Plugin : public QObject, public QMockAuxPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QMockAuxPlugin_iid FILE "mock6plugin.json")
+ Q_INTERFACES(QMockAuxPlugin)
+public:
+ QString pluginName() const override;
+};
+
+QT_END_NAMESPACE
+
+#endif // QMOCK6PLUGIN_H
diff --git a/tests/auto/cmake/mockplugins/mockplugins.pro b/tests/auto/cmake/mockplugins/mockplugins.pro
new file mode 100644
index 0000000000..830d130a05
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mockplugins.pro
@@ -0,0 +1,36 @@
+TEMPLATE = subdirs
+
+src_mock1plugin.subdir = $$PWD/mock1plugin
+src_mock1plugin.target = sub-mockplugin1
+src_mock1plugin.depends = mockplugins1
+
+src_mock2plugin.subdir = $$PWD/mock2plugin
+src_mock2plugin.target = sub-mockplugin2
+src_mock2plugin.depends = mockplugins1
+
+src_mock3plugin.subdir = $$PWD/mock3plugin
+src_mock3plugin.target = sub-mockplugin3
+src_mock3plugin.depends = mockplugins1
+
+src_mock4plugin.subdir = $$PWD/mock4plugin
+src_mock4plugin.target = sub-mockplugin4
+src_mock4plugin.depends = mockplugins1
+
+src_mock5plugin.subdir = $$PWD/mock5plugin
+src_mock5plugin.target = sub-mockplugin5
+src_mock5plugin.depends = mockplugins3
+
+src_mock6plugin.subdir = $$PWD/mock6plugin
+src_mock6plugin.target = sub-mockplugin6
+src_mock6plugin.depends = mockplugins3
+
+SUBDIRS += \
+ mockplugins1 \
+ mockplugins2 \
+ mockplugins3 \
+ src_mock1plugin \
+ src_mock2plugin \
+ src_mock3plugin \
+ src_mock4plugin \
+ src_mock5plugin \
+ src_mock6plugin
diff --git a/tests/auto/cmake/mockplugins/mockplugins1/fake.cpp b/tests/auto/cmake/mockplugins/mockplugins1/fake.cpp
new file mode 100644
index 0000000000..f95eba6055
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mockplugins1/fake.cpp
@@ -0,0 +1,34 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QtGlobal>
+
+// Empty exported function needed to create .lib on Windows.
+Q_DECL_EXPORT void mockplugins1_foo() {
+
+}
diff --git a/tests/auto/cmake/mockplugins/mockplugins1/mockplugins1.pro b/tests/auto/cmake/mockplugins/mockplugins1/mockplugins1.pro
new file mode 100644
index 0000000000..dd98937ee3
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mockplugins1/mockplugins1.pro
@@ -0,0 +1,10 @@
+TARGET = QtMockPlugins1
+QT = core
+MODULE_PLUGIN_TYPES = mockplugin
+
+# Fake a git_build, to force qmake to run syncqt.pl when doing a standalone tests build
+# like it is done in Coin, otherwise module headers would not be generated.
+CONFIG += git_build
+HEADERS += qmockplugin.h
+SOURCES += fake.cpp # Needed to make libtool / ar happy on macOS
+load(qt_module)
diff --git a/tests/auto/cmake/mockplugins/mockplugins1/qmockplugin.h b/tests/auto/cmake/mockplugins/mockplugins1/qmockplugin.h
new file mode 100644
index 0000000000..9427ae9212
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mockplugins1/qmockplugin.h
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Kitware, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOCKPLUGIN_H
+#define QMOCKPLUGIN_H
+
+#include <QString>
+#include <QtPlugin>
+
+QT_BEGIN_NAMESPACE
+
+#define QMockPlugin_iid "org.qt-project.Qt.Tests.QMockPlugin"
+
+class QMockPlugin
+{
+public:
+ virtual ~QMockPlugin() {}
+ virtual QString pluginName() const = 0;
+};
+
+Q_DECLARE_INTERFACE(QMockPlugin, QMockPlugin_iid)
+
+QT_END_NAMESPACE
+
+#endif // QMOCKPLUGIN_H
diff --git a/tests/auto/cmake/mockplugins/mockplugins2/fake.cpp b/tests/auto/cmake/mockplugins/mockplugins2/fake.cpp
new file mode 100644
index 0000000000..384623d646
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mockplugins2/fake.cpp
@@ -0,0 +1,34 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QtGlobal>
+
+// Empty exported function needed to create .lib on Windows.
+Q_DECL_EXPORT void mockplugins2_foo() {
+
+}
diff --git a/tests/auto/cmake/mockplugins/mockplugins2/mockplugins2.pro b/tests/auto/cmake/mockplugins/mockplugins2/mockplugins2.pro
new file mode 100644
index 0000000000..1dd03391e8
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mockplugins2/mockplugins2.pro
@@ -0,0 +1,4 @@
+TARGET = QtMockPlugins2
+QT = core
+SOURCES += fake.cpp # Needed to make libtool / ar happy on macOS
+load(qt_module)
diff --git a/tests/auto/cmake/mockplugins/mockplugins3/fake.cpp b/tests/auto/cmake/mockplugins/mockplugins3/fake.cpp
new file mode 100644
index 0000000000..9ec2b42181
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mockplugins3/fake.cpp
@@ -0,0 +1,34 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QtGlobal>
+
+// Empty exported function needed to create .lib on Windows.
+Q_DECL_EXPORT void mockplugins3_foo() {
+
+}
diff --git a/tests/auto/cmake/mockplugins/mockplugins3/mockplugins3.pro b/tests/auto/cmake/mockplugins/mockplugins3/mockplugins3.pro
new file mode 100644
index 0000000000..3651abaafa
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mockplugins3/mockplugins3.pro
@@ -0,0 +1,11 @@
+TARGET = QtMockPlugins3
+QT = core
+MODULE_PLUGIN_TYPES = mockauxplugin
+
+# Fake a git_build, to force qmake to run syncqt.pl when doing a standalone tests build
+# like it is done in Coin, otherwise module headers would not be generated.
+CONFIG += git_build
+HEADERS += qmockauxplugin.h
+SOURCES += fake.cpp # Needed to make libtool / ar happy on macOS
+
+load(qt_module)
diff --git a/tests/auto/cmake/mockplugins/mockplugins3/qmockauxplugin.h b/tests/auto/cmake/mockplugins/mockplugins3/qmockauxplugin.h
new file mode 100644
index 0000000000..25e4762bac
--- /dev/null
+++ b/tests/auto/cmake/mockplugins/mockplugins3/qmockauxplugin.h
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Kitware, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMOCKAUXPLUGIN_H
+#define QMOCKAUXPLUGIN_H
+
+#include <QString>
+#include <QtPlugin>
+
+QT_BEGIN_NAMESPACE
+
+#define QMockAuxPlugin_iid "org.qt-project.Qt.Tests.QMockAuxPlugin"
+
+class QMockAuxPlugin
+{
+public:
+ virtual ~QMockAuxPlugin() {}
+ virtual QString pluginName() const = 0;
+};
+
+Q_DECLARE_INTERFACE(QMockAuxPlugin, QMockAuxPlugin_iid)
+
+QT_END_NAMESPACE
+
+#endif // QMOCKAUXPLUGIN_H
diff --git a/tests/auto/cmake/test_QTBUG-63422/CMakeLists.txt b/tests/auto/cmake/test_QTBUG-63422/CMakeLists.txt
index a0b82caee4..b9b9756699 100644
--- a/tests/auto/cmake/test_QTBUG-63422/CMakeLists.txt
+++ b/tests/auto/cmake/test_QTBUG-63422/CMakeLists.txt
@@ -1,6 +1,9 @@
cmake_minimum_required(VERSION 2.8)
project(test_dependent_modules)
+# Need to set the policy to link to qtmain.lib automatically.
+cmake_policy(SET CMP0020 NEW)
+
find_package(Qt5Widgets REQUIRED)
set(CMAKE_AUTOMOC ON)
diff --git a/tests/auto/cmake/test_import_plugins/CMakeLists.txt b/tests/auto/cmake/test_import_plugins/CMakeLists.txt
new file mode 100644
index 0000000000..a793fe211d
--- /dev/null
+++ b/tests/auto/cmake/test_import_plugins/CMakeLists.txt
@@ -0,0 +1,111 @@
+
+cmake_minimum_required(VERSION 3.1)
+
+project(import_plugins_advanced)
+enable_testing()
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/FindPackageHints.cmake")
+ include("${CMAKE_CURRENT_LIST_DIR}/FindPackageHints.cmake")
+endif()
+
+# Need to find Qt5Core explicitly because the MockPlugins1 and MockPlugins2 config files
+# are in a different directory (the source dir) when doing a standalone tests build,
+# whereas Core is in the installed directory, and due to NO_DEFAULT_PATH being used
+# for the Core dependency call in Qt5MockPlugins, Core would not be found in the source
+# dir.
+find_package(Qt5 COMPONENTS Core REQUIRED HINTS ${Qt5Tests_PREFIX_PATH})
+get_target_property(qt_is_static Qt5::Core TYPE)
+
+# For a similar reason, we need to find the MockPlugins packages not via COMPONENTS argument,
+# but directly, because the location of Qt5Config.cmake is in the installed dir, while
+# the MockPlugins are in the source dir, and Qt5Config only looks for packages relative
+# to its own location.
+# The packages are still successfuly found, because the CMAKE_PREFIX_PATH populated by qmake
+# contains both the installed Qt dir, and the Qt source dir.
+find_package(Qt5MockPlugins1 REQUIRED HINTS ${Qt5Tests_PREFIX_PATH})
+find_package(Qt5MockPlugins2 REQUIRED HINTS ${Qt5Tests_PREFIX_PATH})
+
+function(create_test_executable TARGET_NAME)
+ set(CHECK_FILE ${CMAKE_BINARY_DIR}/${TARGET_NAME}_check.cpp)
+
+ set(EXPECTED_PLUGINS)
+ foreach(_p ${ARGN})
+ string(APPEND EXPECTED_PLUGINS " \"${_p}\",\n")
+ endforeach()
+ configure_file("${CMAKE_SOURCE_DIR}/check.cpp.in" ${CHECK_FILE})
+
+ add_executable(${TARGET_NAME} main.cpp ${CHECK_FILE})
+ target_link_libraries(${TARGET_NAME} Qt5::MockPlugins1)
+ add_test(test_${TARGET_NAME} ${TARGET_NAME})
+endfunction()
+
+create_test_executable(default QMock1Plugin QMock2Plugin)
+# No call to qt5_import_plugins() for the default
+
+# TODO This test is known to fail because CMake currently doesn't have a way to
+# implement its own equivalent of the PLUGIN_EXTENDS mechanism at generate-
+# time (meaning a library only gets linked if a set of other libraries are
+# *also* linked.) CMake 3.14 or beyond may have such a mechanism, but until
+# then, this test is expected to fail, because QMock3Plugin is not being
+# linked even though MockPlugins2 is present.
+create_test_executable(default_link QMock1Plugin QMock2Plugin QMock3Plugin)
+target_link_libraries(default_link Qt5::MockPlugins2)
+set_property(TEST test_default_link PROPERTY DISABLED 1)
+# No call to qt5_import_plugins() for the default
+
+create_test_executable(manual QMock1Plugin QMock2Plugin QMock3Plugin QMock4Plugin)
+qt5_import_plugins(manual
+ INCLUDE Qt5::QMock3Plugin Qt5::QMock4Plugin
+)
+
+create_test_executable(manual_genex QMock1Plugin QMock2Plugin QMock3Plugin)
+qt5_import_plugins(manual_genex
+ INCLUDE $<1:Qt5::QMock3Plugin> $<0:Qt5::QMock4Plugin>
+)
+
+create_test_executable(blacklist QMock1Plugin)
+qt5_import_plugins(blacklist
+ EXCLUDE Qt5::QMock2Plugin Qt5::QMock3Plugin
+)
+
+create_test_executable(blacklist_genex QMock1Plugin)
+qt5_import_plugins(blacklist_genex
+ EXCLUDE $<1:Qt5::QMock2Plugin> $<1:Qt5::QMock3Plugin> $<0:Qt5::QMock1Plugin>
+)
+
+create_test_executable(override QMock3Plugin QMock4Plugin)
+qt5_import_plugins(override
+ INCLUDE_BY_TYPE mockplugin Qt5::QMock3Plugin Qt5::QMock4Plugin
+)
+
+create_test_executable(override_genex QMock3Plugin)
+qt5_import_plugins(override_genex
+ INCLUDE_BY_TYPE mockplugin $<1:Qt5::QMock3Plugin> $<0:Qt5::QMock4Plugin>
+)
+
+create_test_executable(override_mix QMock2Plugin QMock3Plugin)
+qt5_import_plugins(override_mix
+ INCLUDE Qt5::QMock2Plugin
+ INCLUDE_BY_TYPE mockplugin Qt5::QMock3Plugin
+)
+
+if(NOT WIN32)
+ # Compiling an empty static array fails on Windows.
+ create_test_executable(none)
+ qt5_import_plugins(none
+ EXCLUDE_BY_TYPE mockplugin
+ )
+endif()
+
+create_test_executable(none_mix QMock3Plugin QMock4Plugin)
+qt5_import_plugins(none_mix
+ INCLUDE Qt5::QMock3Plugin Qt5::QMock4Plugin
+ EXCLUDE_BY_TYPE mockplugin
+)
+
+create_test_executable(recursive QMock5Plugin QMock6Plugin)
+qt5_import_plugins(recursive
+ INCLUDE_BY_TYPE mockplugin Qt5::QMock5Plugin
+)
diff --git a/tests/auto/cmake/test_import_plugins/check.cpp.in b/tests/auto/cmake/test_import_plugins/check.cpp.in
new file mode 100644
index 0000000000..df6ea03d2d
--- /dev/null
+++ b/tests/auto/cmake/test_import_plugins/check.cpp.in
@@ -0,0 +1,8 @@
+#include <QString>
+#include <cstddef>
+
+QString expectedPlugins[] = {
+@EXPECTED_PLUGINS@
+};
+
+std::size_t numExpectedPlugins = sizeof(expectedPlugins) / sizeof(numExpectedPlugins);
diff --git a/tests/auto/cmake/test_import_plugins/main.cpp b/tests/auto/cmake/test_import_plugins/main.cpp
new file mode 100644
index 0000000000..9fcc81754b
--- /dev/null
+++ b/tests/auto/cmake/test_import_plugins/main.cpp
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Kitware, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QPluginLoader>
+#include <QSet>
+#include <QString>
+#include <QVector>
+
+#include <cstddef>
+#include <iostream>
+
+extern QString expectedPlugins[];
+extern std::size_t numExpectedPlugins;
+
+int main(int argc, char **argv)
+{
+#ifdef QT_STATIC
+ QSet<QString> expectedPluginSet;
+ for (std::size_t i = 0; i < numExpectedPlugins; i++) {
+ expectedPluginSet.insert(expectedPlugins[i]);
+ }
+
+ QVector<QStaticPlugin> plugins = QPluginLoader::staticPlugins();
+ QSet<QString> actualPluginSet;
+ for (QStaticPlugin plugin : plugins) {
+ actualPluginSet.insert(plugin.metaData()["className"].toString());
+ }
+
+ if (expectedPluginSet != actualPluginSet) {
+ std::cerr << "Loaded plugins do not match what was expected!" << std::endl
+ << "Expected plugins:" << std::endl;
+
+ QList<QString> expectedPluginList = expectedPluginSet.toList();
+ expectedPluginList.sort();
+ for (QString plugin : expectedPluginList) {
+ std::cerr << (actualPluginSet.contains(plugin) ? " " : "- ")
+ << plugin.toStdString() << std::endl;
+ }
+
+ std::cerr << std::endl << "Actual plugins:" << std::endl;
+
+ QList<QString> actualPluginList = actualPluginSet.toList();
+ actualPluginList.sort();
+ for (QString plugin : actualPluginList) {
+ std::cerr << (expectedPluginSet.contains(plugin) ? " " : "+ ")
+ << plugin.toStdString() << std::endl;
+ }
+
+ return 1;
+ }
+
+#endif
+ return 0;
+}
diff --git a/tests/auto/cmake/test_interface/CMakeLists.txt b/tests/auto/cmake/test_interface/CMakeLists.txt
index 2af80ea448..fdd1aacc10 100644
--- a/tests/auto/cmake/test_interface/CMakeLists.txt
+++ b/tests/auto/cmake/test_interface/CMakeLists.txt
@@ -25,6 +25,9 @@ int main(int,char**) { QWidget w; w.show(); return 0; }
"
)
+# Fix try_compile to inherit the parent configuration.
+set(CMAKE_TRY_COMPILE_CONFIGURATION "${CMAKE_BUILD_TYPE}")
+
# The try_compile works because Qt5::Widgets is listed in the LINK_LIBRARIES,
# which causes the includes, defines and appropriate PIC flag to be used.
try_compile(_TRY_COMPILE_RES "${CMAKE_CURRENT_BINARY_DIR}/try_compile-test"
diff --git a/tests/auto/cmake/test_moc_macro_target/CMakeLists.txt b/tests/auto/cmake/test_moc_macro_target/CMakeLists.txt
index e97ac199e8..f3299060fd 100644
--- a/tests/auto/cmake/test_moc_macro_target/CMakeLists.txt
+++ b/tests/auto/cmake/test_moc_macro_target/CMakeLists.txt
@@ -11,13 +11,13 @@ qt5_generate_moc(main_gen_test.cpp
"${CMAKE_CURRENT_BINARY_DIR}/main_gen_test.moc"
TARGET Qt5GenerateMacroTest
)
-add_executable(Qt5GenerateMacroTest WIN32 main_gen_test.cpp "${CMAKE_CURRENT_BINARY_DIR}/main_gen_test.moc")
+add_executable(Qt5GenerateMacroTest main_gen_test.cpp "${CMAKE_CURRENT_BINARY_DIR}/main_gen_test.moc")
target_include_directories(Qt5GenerateMacroTest PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/interface")
target_link_libraries(Qt5GenerateMacroTest Qt5::Core)
qt5_wrap_cpp(moc_file mywrapobject.h
TARGET Qt5WrapMacroTest
)
-add_executable(Qt5WrapMacroTest WIN32 main_wrap_test.cpp ${moc_file})
+add_executable(Qt5WrapMacroTest main_wrap_test.cpp ${moc_file})
target_include_directories(Qt5WrapMacroTest PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/interface")
target_link_libraries(Qt5WrapMacroTest Qt5::Core)
diff --git a/tests/auto/corelib/animation/qpauseanimation/BLACKLIST b/tests/auto/corelib/animation/qpauseanimation/BLACKLIST
index 53372ce9ae..33cd53d788 100644
--- a/tests/auto/corelib/animation/qpauseanimation/BLACKLIST
+++ b/tests/auto/corelib/animation/qpauseanimation/BLACKLIST
@@ -1,9 +1,5 @@
[pauseAndPropertyAnimations]
-osx-10.12
-osx-10.14
-osx-10.13
+osx
[multipleSequentialGroups]
-osx-10.12
-osx-10.14
-osx-10.13
+osx
diff --git a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
index 734694abeb..c21af435a1 100644
--- a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
+++ b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
@@ -237,6 +237,15 @@ private slots:
void isSymLink_data();
void isSymLink();
+ void isSymbolicLink_data();
+ void isSymbolicLink();
+
+ void isShortcut_data();
+ void isShortcut();
+
+ void link_data();
+ void link();
+
void isHidden_data();
void isHidden();
#if defined(Q_OS_MAC)
@@ -1337,6 +1346,176 @@ void tst_QFileInfo::isSymLink()
#endif
}
+void tst_QFileInfo::isShortcut_data()
+{
+ QFile::remove("link.lnk");
+ QFile::remove("symlink.lnk");
+ QFile::remove("link");
+ QFile::remove("symlink");
+ QFile::remove("directory.lnk");
+ QFile::remove("directory");
+
+ QTest::addColumn<QString>("path");
+ QTest::addColumn<bool>("isShortcut");
+
+ QFile regularFile(m_sourceFile);
+ QTest::newRow("regular")
+ << regularFile.fileName() << false;
+ QTest::newRow("directory")
+ << QDir::currentPath() << false;
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
+ // windows shortcuts
+ QVERIFY(regularFile.link("link.lnk"));
+ QTest::newRow("shortcut")
+ << "link.lnk" << true;
+ QVERIFY(regularFile.link("link"));
+ QTest::newRow("invalid-shortcut")
+ << "link" << false;
+ QVERIFY(QFile::link(QDir::currentPath(), "directory.lnk"));
+ QTest::newRow("directory-shortcut")
+ << "directory.lnk" << true;
+#endif
+}
+
+void tst_QFileInfo::isShortcut()
+{
+ QFETCH(QString, path);
+ QFETCH(bool, isShortcut);
+
+ QFileInfo fi(path);
+ QCOMPARE(fi.isShortcut(), isShortcut);
+}
+
+void tst_QFileInfo::isSymbolicLink_data()
+{
+ QTest::addColumn<QString>("path");
+ QTest::addColumn<bool>("isSymbolicLink");
+
+ QFile regularFile(m_sourceFile);
+ QTest::newRow("regular")
+ << regularFile.fileName() << false;
+ QTest::newRow("directory")
+ << QDir::currentPath() << false;
+
+#ifndef Q_NO_SYMLINKS
+#if defined(Q_OS_WIN)
+#if !defined(Q_OS_WINRT)
+ QString errorMessage;
+ const DWORD creationResult = createSymbolicLink("symlink", m_sourceFile, &errorMessage);
+ if (creationResult == ERROR_PRIVILEGE_NOT_HELD) {
+ QWARN(msgInsufficientPrivileges(errorMessage));
+ } else {
+ QVERIFY2(creationResult == ERROR_SUCCESS, qPrintable(errorMessage));
+ QTest::newRow("NTFS-symlink")
+ << "symlink" << true;
+ }
+#endif // !Q_OS_WINRT
+#else // Unix:
+ QVERIFY(regularFile.link("symlink.lnk"));
+ QTest::newRow("symlink.lnk")
+ << "symlink.lnk" << true;
+ QVERIFY(regularFile.link("symlink"));
+ QTest::newRow("symlink")
+ << "symlink" << true;
+ QVERIFY(QFile::link(QDir::currentPath(), "directory"));
+ QTest::newRow("directory-symlink")
+ << "directory" << true;
+#endif
+#endif // !Q_NO_SYMLINKS
+}
+
+void tst_QFileInfo::isSymbolicLink()
+{
+ QFETCH(QString, path);
+ QFETCH(bool, isSymbolicLink);
+
+ QFileInfo fi(path);
+ QCOMPARE(fi.isSymbolicLink(), isSymbolicLink);
+}
+
+void tst_QFileInfo::link_data()
+{
+ QFile::remove("link");
+ QFile::remove("link.lnk");
+ QFile::remove("brokenlink");
+ QFile::remove("brokenlink.lnk");
+ QFile::remove("dummyfile");
+ QFile::remove("relative/link");
+
+ QTest::addColumn<QString>("path");
+ QTest::addColumn<bool>("isShortcut");
+ QTest::addColumn<bool>("isSymbolicLink");
+ QTest::addColumn<QString>("linkTarget");
+
+ QFile file1(m_sourceFile);
+ QFile file2("dummyfile");
+ file2.open(QIODevice::WriteOnly);
+
+ QTest::newRow("existent file") << m_sourceFile << false << false << "";
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
+ // windows shortcuts
+ QVERIFY(file1.link("link.lnk"));
+ QTest::newRow("link.lnk")
+ << "link.lnk" << true << false << QFileInfo(m_sourceFile).absoluteFilePath();
+
+ QVERIFY(file2.link("brokenlink.lnk"));
+ QTest::newRow("broken link.lnk")
+ << "brokenlink.lnk" << true << false << QFileInfo("dummyfile").absoluteFilePath();
+#endif
+
+#ifndef Q_NO_SYMLINKS
+#if defined(Q_OS_WIN)
+#if !defined(Q_OS_WINRT)
+ QString errorMessage;
+ DWORD creationResult = createSymbolicLink("link", m_sourceFile, &errorMessage);
+ if (creationResult == ERROR_PRIVILEGE_NOT_HELD) {
+ QWARN(msgInsufficientPrivileges(errorMessage));
+ } else {
+ QVERIFY2(creationResult == ERROR_SUCCESS, qPrintable(errorMessage));
+ QTest::newRow("link")
+ << "link" << false << true << QFileInfo(m_sourceFile).absoluteFilePath();
+ }
+
+ creationResult = createSymbolicLink("brokenlink", "dummyfile", &errorMessage);
+ if (creationResult == ERROR_PRIVILEGE_NOT_HELD) {
+ QWARN(msgInsufficientPrivileges(errorMessage));
+ } else {
+ QVERIFY2(creationResult == ERROR_SUCCESS, qPrintable(errorMessage));
+ QTest::newRow("broken link")
+ << "brokenlink" << false << true << QFileInfo("dummyfile").absoluteFilePath();
+ }
+#endif // !Q_OS_WINRT
+#else // Unix:
+ QVERIFY(file1.link("link"));
+ QTest::newRow("link")
+ << "link" << false << true << QFileInfo(m_sourceFile).absoluteFilePath();
+
+ QVERIFY(file2.link("brokenlink"));
+ QTest::newRow("broken link")
+ << "brokenlink" << false << true << QFileInfo("dummyfile").absoluteFilePath();
+
+ QDir::current().mkdir("relative");
+ QFile::link("../dummyfile", "relative/link");
+ QTest::newRow("relative link")
+ << "relative/link" << false << true << QFileInfo("dummyfile").absoluteFilePath();
+#endif
+#endif // !Q_NO_SYMLINKS
+ file2.remove();
+}
+
+void tst_QFileInfo::link()
+{
+ QFETCH(QString, path);
+ QFETCH(bool, isShortcut);
+ QFETCH(bool, isSymbolicLink);
+ QFETCH(QString, linkTarget);
+
+ QFileInfo fi(path);
+ QCOMPARE(fi.isShortcut(), isShortcut);
+ QCOMPARE(fi.isSymbolicLink(), isSymbolicLink);
+ QCOMPARE(fi.symLinkTarget(), linkTarget);
+}
+
void tst_QFileInfo::isHidden_data()
{
QTest::addColumn<QString>("path");
@@ -1638,7 +1817,7 @@ void tst_QFileInfo::ntfsJunctionPointsAndSymlinks()
QVERIFY2(creationResult == ERROR_SUCCESS, qPrintable(errorMessage));
QFileInfo fi(path);
- const bool actualIsSymLink = fi.isSymLink();
+ const bool actualIsSymLink = fi.isSymbolicLink();
const QString actualSymLinkTarget = isSymLink ? fi.symLinkTarget() : QString();
const QString actualCanonicalFilePath = isSymLink ? fi.canonicalFilePath() : QString();
// Ensure that junctions, mountpoints are removed. If this fails, do not remove
@@ -1667,14 +1846,16 @@ void tst_QFileInfo::brokenShortcut()
file.close();
QFileInfo info(linkName);
- QVERIFY(info.isSymLink());
+ QVERIFY(!info.isSymbolicLink());
+ QVERIFY(info.isShortcut());
QVERIFY(!info.exists());
QFile::remove(linkName);
QDir current; // QTBUG-21863
QVERIFY(current.mkdir(linkName));
QFileInfo dirInfo(linkName);
- QVERIFY(!dirInfo.isSymLink());
+ QVERIFY(!dirInfo.isSymbolicLink());
+ QVERIFY(!dirInfo.isShortcut());
QVERIFY(dirInfo.isDir());
current.rmdir(linkName);
}
@@ -2032,7 +2213,8 @@ static void stateCheck(const QFileInfo &info, const QString &dirname, const QStr
QVERIFY(!info.isHidden());
QVERIFY(!info.isFile());
QVERIFY(!info.isDir());
- QVERIFY(!info.isSymLink());
+ QVERIFY(!info.isSymbolicLink());
+ QVERIFY(!info.isShortcut());
QVERIFY(!info.isBundle());
QVERIFY(!info.isRoot());
QCOMPARE(info.isNativePath(), !filename.isEmpty());
@@ -2089,5 +2271,6 @@ void tst_QFileInfo::nonExistingFile()
stateCheck(info, dirname, filename);
}
+
QTEST_MAIN(tst_QFileInfo)
#include "tst_qfileinfo.moc"
diff --git a/tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST b/tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST
index 9b210b0d5f..457499591d 100644
--- a/tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST
+++ b/tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST
@@ -1,9 +1,7 @@
# QTBUG-33574 QTBUG-30943
[signalsEmittedAfterFileMoved]
-windows-10 msvc-2017
-windows-10 msvc-2019
-windows-10 msvc-2015
windows-7sp1
+windows-10
[watchFileAndItsDirectory:native backend-testfile]
osx
windows
diff --git a/tests/auto/corelib/io/qprocess/BLACKLIST b/tests/auto/corelib/io/qprocess/BLACKLIST
index aa9fdab64d..682bcbc60c 100644
--- a/tests/auto/corelib/io/qprocess/BLACKLIST
+++ b/tests/auto/corelib/io/qprocess/BLACKLIST
@@ -2,6 +2,5 @@
redhatenterpriselinuxworkstation-6.6
# QTBUG-48455
[fileWriterProcess]
-windows-10 msvc-2015
windows-10 msvc-2017
diff --git a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
index 3a4493474b..f305edb2c5 100644
--- a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
+++ b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
@@ -1830,7 +1830,7 @@ void ListenerObject::slotAboutToBeReset()
void ListenerObject::slotReset()
{
- foreach (const QModelIndex &idx, m_persistentIndexes) {
+ for (const auto &idx : qAsConst(m_persistentIndexes)) {
QVERIFY(!idx.isValid());
}
}
diff --git a/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp b/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp
index f78f5bc138..c74101928a 100644
--- a/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp
+++ b/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp
@@ -32,6 +32,9 @@
#include <algorithm>
+Q_DECLARE_METATYPE(QItemSelectionModel::SelectionFlag)
+Q_DECLARE_METATYPE(Qt::SortOrder)
+
class tst_QItemSelectionModel : public QObject
{
Q_OBJECT
@@ -1463,7 +1466,7 @@ void tst_QItemSelectionModel::persistentselections()
QFETCH(IntList, insertColumns);
QFETCH(IntList, deleteRows);
QFETCH(IntList, deleteColumns);
- QFETCH(PairList, expectedList);
+ QFETCH(const PairList, expectedList);
// make sure the model is sane (5x5)
QCOMPARE(model->rowCount(QModelIndex()), 5);
@@ -1504,7 +1507,7 @@ void tst_QItemSelectionModel::persistentselections()
// check that the selected items are the correct number and indexes
QModelIndexList selectedList = selection->selectedIndexes();
QCOMPARE(selectedList.count(), expectedList.count());
- foreach(IntPair pair, expectedList) {
+ for (const auto &pair : expectedList) {
QModelIndex index = model->index(pair.first, pair.second, QModelIndex());
QVERIFY(selectedList.contains(index));
}
@@ -1679,7 +1682,7 @@ void tst_QItemSelectionModel::modelLayoutChanged_data()
{
QTest::addColumn<IntListList>("items");
QTest::addColumn<IntPairPairList>("initialSelectedRanges");
- QTest::addColumn<int>("sortOrder");
+ QTest::addColumn<Qt::SortOrder>("sortOrder");
QTest::addColumn<int>("sortColumn");
QTest::addColumn<IntPairPairList>("expectedSelectedRanges");
@@ -1689,7 +1692,7 @@ void tst_QItemSelectionModel::modelLayoutChanged_data()
<< (IntList() << 3 << 2 << 1 << 0))
<< (IntPairPairList()
<< IntPairPair(IntPair(0, 0), IntPair(3, 1)))
- << int(Qt::DescendingOrder)
+ << Qt::DescendingOrder
<< 0
<< (IntPairPairList()
<< IntPairPair(IntPair(0, 0), IntPair(3, 1)));
@@ -1699,7 +1702,7 @@ void tst_QItemSelectionModel::modelLayoutChanged_data()
<< (IntList() << 3 << 2 << 1 << 0))
<< (IntPairPairList()
<< IntPairPair(IntPair(0, 0), IntPair(1, 1)))
- << int(Qt::DescendingOrder)
+ << Qt::DescendingOrder
<< 0
<< (IntPairPairList()
<< IntPairPair(IntPair(2, 0), IntPair(3, 1)));
@@ -1709,7 +1712,7 @@ void tst_QItemSelectionModel::modelLayoutChanged_data()
<< (IntList() << 3 << 2 << 1 << 0))
<< (IntPairPairList()
<< IntPairPair(IntPair(1, 0), IntPair(2, 1)))
- << int(Qt::DescendingOrder)
+ << Qt::DescendingOrder
<< 0
<< (IntPairPairList()
<< IntPairPair(IntPair(1, 0), IntPair(2, 1)));
@@ -1720,7 +1723,7 @@ void tst_QItemSelectionModel::modelLayoutChanged_data()
<< (IntPairPairList()
<< IntPairPair(IntPair(1, 0), IntPair(1, 1))
<< IntPairPair(IntPair(3, 0), IntPair(3, 1)))
- << int(Qt::AscendingOrder)
+ << Qt::AscendingOrder
<< 0
<< (IntPairPairList()
<< IntPairPair(IntPair(0, 0), IntPair(0, 1))
@@ -1730,8 +1733,8 @@ void tst_QItemSelectionModel::modelLayoutChanged_data()
void tst_QItemSelectionModel::modelLayoutChanged()
{
QFETCH(IntListList, items);
- QFETCH(IntPairPairList, initialSelectedRanges);
- QFETCH(int, sortOrder);
+ QFETCH(const IntPairPairList, initialSelectedRanges);
+ QFETCH(Qt::SortOrder, sortOrder);
QFETCH(int, sortColumn);
QFETCH(IntPairPairList, expectedSelectedRanges);
@@ -1746,9 +1749,9 @@ void tst_QItemSelectionModel::modelLayoutChanged()
// select initial ranges
QItemSelectionModel selectionModel(&model);
- foreach (IntPairPair range, initialSelectedRanges) {
- IntPair tl = range.first;
- IntPair br = range.second;
+ for (const auto &range : initialSelectedRanges) {
+ const auto &tl = range.first;
+ const auto &br = range.second;
QItemSelection selection(
model.index(tl.first, tl.second),
model.index(br.first, br.second));
@@ -1756,7 +1759,7 @@ void tst_QItemSelectionModel::modelLayoutChanged()
}
// sort the model
- model.sort(sortColumn, Qt::SortOrder(sortOrder));
+ model.sort(sortColumn, sortOrder);
// verify that selection is as expected
QItemSelection selection = selectionModel.selection();
@@ -2126,43 +2129,43 @@ void tst_QItemSelectionModel::merge_data()
{
QTest::addColumn<QItemSelection>("init");
QTest::addColumn<QItemSelection>("other");
- QTest::addColumn<int>("command");
+ QTest::addColumn<QItemSelectionModel::SelectionFlag>("command");
QTest::addColumn<QItemSelection>("result");
QTest::newRow("Simple select")
<< QItemSelection()
<< QItemSelection(model->index(2, 1) , model->index(3, 4))
- << int(QItemSelectionModel::Select)
+ << QItemSelectionModel::Select
<< QItemSelection(model->index(2, 1) , model->index(3, 4));
QTest::newRow("Simple deselect")
<< QItemSelection(model->index(2, 1) , model->index(3, 4))
<< QItemSelection(model->index(2, 1) , model->index(3, 4))
- << int(QItemSelectionModel::Deselect)
+ << QItemSelectionModel::Deselect
<< QItemSelection();
QTest::newRow("Simple Toggle deselect")
<< QItemSelection(model->index(2, 1) , model->index(3, 4))
<< QItemSelection(model->index(2, 1) , model->index(3, 4))
- << int(QItemSelectionModel::Toggle)
+ << QItemSelectionModel::Toggle
<< QItemSelection();
QTest::newRow("Simple Toggle select")
<< QItemSelection()
<< QItemSelection(model->index(2, 1) , model->index(3, 4))
- << int(QItemSelectionModel::Toggle)
+ << QItemSelectionModel::Toggle
<< QItemSelection(model->index(2, 1) , model->index(3, 4));
QTest::newRow("Add select")
<< QItemSelection(model->index(2, 1) , model->index(3, 3))
<< QItemSelection(model->index(2, 2) , model->index(3, 4))
- << int(QItemSelectionModel::Select)
+ << QItemSelectionModel::Select
<< QItemSelection(model->index(2, 1) , model->index(3, 4));
QTest::newRow("Deselect")
<< QItemSelection(model->index(2, 1) , model->index(3, 4))
<< QItemSelection(model->index(2, 2) , model->index(3, 4))
- << int(QItemSelectionModel::Deselect)
+ << QItemSelectionModel::Deselect
<< QItemSelection(model->index(2, 1) , model->index(3, 1));
QItemSelection r1(model->index(2, 1) , model->index(3, 1));
@@ -2170,7 +2173,7 @@ void tst_QItemSelectionModel::merge_data()
QTest::newRow("Toggle")
<< QItemSelection(model->index(2, 1) , model->index(3, 3))
<< QItemSelection(model->index(2, 2) , model->index(3, 4))
- << int(QItemSelectionModel::Toggle)
+ << QItemSelectionModel::Toggle
<< r1;
}
@@ -2178,15 +2181,18 @@ void tst_QItemSelectionModel::merge()
{
QFETCH(QItemSelection, init);
QFETCH(QItemSelection, other);
- QFETCH(int, command);
+ QFETCH(QItemSelectionModel::SelectionFlag, command);
QFETCH(QItemSelection, result);
- init.merge(other, QItemSelectionModel::SelectionFlags(command));
+ init.merge(other, command);
- foreach(const QModelIndex &idx, init.indexes())
- QVERIFY(result.contains(idx));
- foreach(const QModelIndex &idx, result.indexes())
- QVERIFY(init.contains(idx));
+ auto verify = [](const QModelIndexList &a, const QItemSelection &b)
+ {
+ for (const QModelIndex &idx : a)
+ QVERIFY(b.contains(idx));
+ };
+ verify(init.indexes(), result);
+ verify(result.indexes(), init);
}
void tst_QItemSelectionModel::isRowSelected()
@@ -2267,13 +2273,12 @@ void tst_QItemSelectionModel::layoutChangedWithAllSelected1()
proxy.setFilterRegularExpression(QRegularExpression("f"));
QCOMPARE(proxy.rowCount(), 2);
- QList<QPersistentModelIndex> indexList;
- indexList << proxy.index(0,0) << proxy.index(1,0);
- selection.select( QItemSelection(indexList.first(), indexList.last()), QItemSelectionModel::Select);
+ const QList<QPersistentModelIndex> indexList({proxy.index(0,0), proxy.index(1,0)});
+ selection.select(QItemSelection(indexList.first(), indexList.last()), QItemSelectionModel::Select);
//let's check the selection hasn't changed
QCOMPARE(selection.selectedIndexes().count(), indexList.count());
- foreach(QPersistentModelIndex index, indexList)
+ for (const auto &index : indexList)
QVERIFY(selection.isSelected(index));
proxy.setFilterRegularExpression(QRegularExpression());
@@ -2281,7 +2286,7 @@ void tst_QItemSelectionModel::layoutChangedWithAllSelected1()
//let's check the selection hasn't changed
QCOMPARE(selection.selectedIndexes().count(), indexList.count());
- foreach(QPersistentModelIndex index, indexList)
+ for (const auto &index : indexList)
QVERIFY(selection.isSelected(index));
}
@@ -2321,9 +2326,8 @@ void tst_QItemSelectionModel::layoutChangedWithAllSelected2()
selection.select( QItemSelection(proxy.index(0,0), proxy.index(proxy.rowCount() - 1, proxy.columnCount() - 1)), QItemSelectionModel::Select);
- QList<QPersistentModelIndex> indexList;
- foreach(const QModelIndex &id, selection.selectedIndexes())
- indexList << id;
+ const auto selIndexes = selection.selectedIndexes();
+ const QList<QPersistentModelIndex> indexList(selIndexes.begin(), selIndexes.end());
proxy.filtering = false;
proxy.invalidate();
@@ -2331,7 +2335,7 @@ void tst_QItemSelectionModel::layoutChangedWithAllSelected2()
//let's check the selection hasn't changed
QCOMPARE(selection.selectedIndexes().count(), indexList.count());
- foreach(QPersistentModelIndex index, indexList)
+ for (const auto &index : indexList)
QVERIFY(selection.isSelected(index));
}
@@ -2375,7 +2379,8 @@ public:
public slots:
void selectionChanged(const QItemSelection & /* selected */, const QItemSelection &deselected)
{
- foreach(const QModelIndex &index, deselected.indexes()) {
+ const auto deselIndexes = deselected.indexes();
+ for (const auto &index : deselIndexes) {
QVERIFY(!m_itemSelectionModel->selection().contains(index));
}
QCOMPARE(m_itemSelectionModel->selection().size(), 2);
@@ -2633,9 +2638,9 @@ private slots:
void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
{
- foreach(const QItemSelectionRange &range, selected)
+ for (const auto &range : selected)
QVERIFY(range.isValid());
- foreach(const QItemSelectionRange &range, deselected)
+ for (const auto &range : deselected)
QVERIFY(range.isValid());
}
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
index 0f7588a71a..624187349b 100644
--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
@@ -829,7 +829,7 @@ void tst_QSortFilterProxyModel::removeRows_data()
void tst_QSortFilterProxyModel::removeRows()
{
- QFETCH(QStringList, initial);
+ QFETCH(const QStringList, initial);
QFETCH(int, sortOrder);
QFETCH(QString, filter);
QFETCH(int, position);
@@ -843,7 +843,7 @@ void tst_QSortFilterProxyModel::removeRows()
proxy.setSourceModel(&model);
// prepare model
- foreach (QString s, initial)
+ for (const auto &s : initial)
model.appendRow(new QStandardItem(s));
if (sortOrder != -1)
@@ -3035,15 +3035,15 @@ void tst_QSortFilterProxyModel::removeRowsRecursive()
QList<QPersistentModelIndex> sourceIndexes;
QList<QPersistentModelIndex> proxyIndexes;
- foreach (QStandardItem *item, items) {
+ for (const auto item : qAsConst(items)) {
QModelIndex idx = item->index();
sourceIndexes << idx;
proxyIndexes << proxy.mapFromSource(idx);
}
- foreach (const QPersistentModelIndex &pidx, sourceIndexes)
+ for (const auto &pidx : qAsConst(sourceIndexes))
QVERIFY(pidx.isValid());
- foreach (const QPersistentModelIndex &pidx, proxyIndexes)
+ for (const auto &pidx : qAsConst(proxyIndexes))
QVERIFY(pidx.isValid());
QList<QStandardItem*> itemRow = pItem1->takeRow(0);
@@ -3051,9 +3051,9 @@ void tst_QSortFilterProxyModel::removeRowsRecursive()
QCOMPARE(itemRow.count(), 1);
QCOMPARE(itemRow.first(), pItem11);
- foreach (const QPersistentModelIndex &pidx, sourceIndexes)
+ for (const auto &pidx : qAsConst(sourceIndexes))
QVERIFY(!pidx.isValid());
- foreach (const QPersistentModelIndex &pidx, proxyIndexes)
+ for (const auto &pidx : qAsConst(proxyIndexes))
QVERIFY(!pidx.isValid());
delete pItem11;
@@ -3280,10 +3280,8 @@ void tst_QSortFilterProxyModel::testMultipleProxiesWithSelection()
static bool isValid(const QItemSelection &selection)
{
- foreach (const QItemSelectionRange &range, selection)
- if (!range.isValid())
- return false;
- return true;
+ return std::all_of(selection.begin(), selection.end(),
+ [](const QItemSelectionRange &range) { return range.isValid(); });
}
void tst_QSortFilterProxyModel::mapSelectionFromSource()
@@ -3737,14 +3735,16 @@ void tst_QSortFilterProxyModel::testParentLayoutChanged()
QVERIFY(beforeParents.first() == proxy.mapFromSource(model.indexFromItem(model.invisibleRootItem()->child(1))));
- QList<QPersistentModelIndex> proxy2BeforeList = proxy2ParentsAboutToBeChangedSpy.first().first().value<QList<QPersistentModelIndex> >();
- QList<QPersistentModelIndex> proxy2AfterList = proxy2ParentsChangedSpy.first().first().value<QList<QPersistentModelIndex> >();
+ const QList<QPersistentModelIndex> proxy2BeforeList =
+ proxy2ParentsAboutToBeChangedSpy.first().first().value<QList<QPersistentModelIndex> >();
+ const QList<QPersistentModelIndex> proxy2AfterList =
+ proxy2ParentsChangedSpy.first().first().value<QList<QPersistentModelIndex> >();
QCOMPARE(proxy2BeforeList.size(), beforeParents.size());
QCOMPARE(proxy2AfterList.size(), afterParents.size());
- foreach (const QPersistentModelIndex &idx, proxy2BeforeList)
+ for (const QPersistentModelIndex &idx : proxy2BeforeList)
QVERIFY(beforeParents.contains(proxy2.mapToSource(idx)));
- foreach (const QPersistentModelIndex &idx, proxy2AfterList)
+ for (const QPersistentModelIndex &idx : proxy2AfterList)
QVERIFY(afterParents.contains(proxy2.mapToSource(idx)));
}
diff --git a/tests/auto/corelib/kernel/qelapsedtimer/BLACKLIST b/tests/auto/corelib/kernel/qelapsedtimer/BLACKLIST
index 4c9fe53c14..569880e1db 100644
--- a/tests/auto/corelib/kernel/qelapsedtimer/BLACKLIST
+++ b/tests/auto/corelib/kernel/qelapsedtimer/BLACKLIST
@@ -1,4 +1,3 @@
[elapsed]
-windows-10 msvc-2015
osx-10.13
-windows-10 msvc-2017
+windows-10
diff --git a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
index 026c6a6324..60000316cc 100644
--- a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
+++ b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
@@ -507,6 +507,7 @@ public slots:
{ QObject::moveToThread(t); }
void slotWithUnregisteredParameterType(MyUnregisteredType);
+ void slotWithOneUnregisteredParameterType(QString a1, MyUnregisteredType a2);
CountedStruct throwingSlot(const CountedStruct &, CountedStruct s2) {
#ifndef QT_NO_EXCEPTIONS
@@ -604,6 +605,9 @@ void QtTestObject::testSender()
void QtTestObject::slotWithUnregisteredParameterType(MyUnregisteredType)
{ slotResult = "slotWithUnregisteredReturnType"; }
+void QtTestObject::slotWithOneUnregisteredParameterType(QString a1, MyUnregisteredType)
+{ slotResult = "slotWithUnregisteredReturnType-" + a1; }
+
void QtTestObject::staticFunction0()
{
staticResult = "staticFunction0";
@@ -885,6 +889,16 @@ void tst_QMetaObject::invokeQueuedMetaMember()
QVERIFY(!QMetaObject::invokeMethod(&obj, "slotWithUnregisteredParameterType", Qt::QueuedConnection, Q_ARG(MyUnregisteredType, t)));
QVERIFY(obj.slotResult.isEmpty());
}
+
+ obj.slotResult.clear();
+ {
+ QString a1("Cannot happen");
+ MyUnregisteredType t;
+ QTest::ignoreMessage(QtWarningMsg, "QMetaMethod::invoke: Unable to handle unregistered datatype 'MyUnregisteredType'");
+ QVERIFY(!QMetaObject::invokeMethod(&obj, "slotWithOneUnregisteredParameterType", Qt::QueuedConnection,
+ Q_ARG(QString, a1), Q_ARG(MyUnregisteredType, t)));
+ QVERIFY(obj.slotResult.isEmpty());
+ }
}
void tst_QMetaObject::invokeQueuedPointer()
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index a805bfb747..676999a08c 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -81,9 +81,6 @@ private slots:
void senderTest();
void declareInterface();
void qpointerResetBeforeDestroyedSignal();
-#ifndef QT_NO_USERDATA
- void testUserData();
-#endif
void childDeletesItsSibling();
void dynamicProperties();
void floatProperty();
@@ -2341,51 +2338,6 @@ void tst_QObject::declareInterface()
}
-#ifndef QT_NO_USERDATA
-class CustomData : public QObjectUserData
-{
-public:
- int id;
-};
-
-void tst_QObject::testUserData()
-{
- const int USER_DATA_COUNT = 100;
- int user_data_ids[USER_DATA_COUNT];
-
- // Register a few
- for (int i=0; i<USER_DATA_COUNT; ++i) {
- user_data_ids[i] = QObject::registerUserData();
- }
-
- // Randomize the table a bit
- for (int i=0; i<100; ++i) {
- int p1 = QRandomGenerator::global()->bounded(USER_DATA_COUNT);
- int p2 = QRandomGenerator::global()->bounded(USER_DATA_COUNT);
-
- int tmp = user_data_ids[p1];
- user_data_ids[p1] = user_data_ids[p2];
- user_data_ids[p2] = tmp;
- }
-
- // insert the user data into an object
- QObject my_test_object;
- for (int i=0; i<USER_DATA_COUNT; ++i) {
- CustomData *data = new CustomData;
- data->id = user_data_ids[i];
- my_test_object.setUserData(data->id, data);
- }
-
- // verify that all ids and positions are matching
- for (int i=0; i<USER_DATA_COUNT; ++i) {
- int id = user_data_ids[i];
- CustomData *data = static_cast<CustomData *>(my_test_object.userData(id));
- QVERIFY(data != nullptr);
- QCOMPARE(data->id, id);
- }
-}
-#endif // QT_NO_USERDATA
-
class DestroyedListener : public QObject
{
Q_OBJECT
diff --git a/tests/auto/corelib/kernel/qsocketnotifier/BLACKLIST b/tests/auto/corelib/kernel/qsocketnotifier/BLACKLIST
index f3b7fc97b1..f2e5e78592 100644
--- a/tests/auto/corelib/kernel/qsocketnotifier/BLACKLIST
+++ b/tests/auto/corelib/kernel/qsocketnotifier/BLACKLIST
@@ -1,4 +1,3 @@
[unexpectedDisconnection]
-osx-10.12
-windows-10 msvc-2015
windows-7sp1
+windows-10 msvc-2015
diff --git a/tests/auto/corelib/kernel/qtimer/BLACKLIST b/tests/auto/corelib/kernel/qtimer/BLACKLIST
deleted file mode 100644
index dc8b8987e5..0000000000
--- a/tests/auto/corelib/kernel/qtimer/BLACKLIST
+++ /dev/null
@@ -1,9 +0,0 @@
-[remainingTime]
-osx-10.12
-osx-10.14
-osx-10.13
-windows-10 msvc-2017
-[basic_chrono]
-osx-10.14
-osx-10.13
-
diff --git a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
index 262dbea913..8e0bdac520 100644
--- a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
+++ b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
@@ -47,7 +47,11 @@
class tst_QTimer : public QObject
{
Q_OBJECT
+public:
+ static void initMain();
+
private slots:
+ void cleanupTestCase();
void zeroTimer();
void singleShotTimeout();
void timeout();
@@ -1138,22 +1142,27 @@ struct StaticSingleShotUser
}
};
+// NOTE: to prevent any static initialization order fiasco, we implement
+// initMain() to instantiate staticSingleShotUser before qApp
+
static StaticSingleShotUser *s_staticSingleShotUser = nullptr;
-void tst_QTimer::singleShot_static()
+void tst_QTimer::initMain()
{
- QCoreApplication::processEvents();
- QCOMPARE(s_staticSingleShotUser->helper.calls, s_staticSingleShotUser->calls());
+ s_staticSingleShotUser = new StaticSingleShotUser;
}
-// NOTE: to prevent any static initialization order fiasco, we handle QTEST_MAIN
-// ourselves, but instantiate the staticSingleShotUser before qApp
+void tst_QTimer::cleanupTestCase()
+{
+ delete s_staticSingleShotUser;
+}
-int main(int argc, char *argv[])
+void tst_QTimer::singleShot_static()
{
- StaticSingleShotUser staticSingleShotUser;
- s_staticSingleShotUser = &staticSingleShotUser;
- QTEST_MAIN_IMPL(tst_QTimer)
+ QCoreApplication::processEvents();
+ QCOMPARE(s_staticSingleShotUser->helper.calls, s_staticSingleShotUser->calls());
}
+QTEST_MAIN(tst_QTimer)
+
#include "tst_qtimer.moc"
diff --git a/tests/auto/corelib/serialization/qtextstream/BLACKLIST b/tests/auto/corelib/serialization/qtextstream/BLACKLIST
index b8c1b742f4..674569e204 100644
--- a/tests/auto/corelib/serialization/qtextstream/BLACKLIST
+++ b/tests/auto/corelib/serialization/qtextstream/BLACKLIST
@@ -1,4 +1,3 @@
[stillOpenWhenAtEnd]
-windows-10 msvc-2017
-winrt
windows-7sp1
+winrt
diff --git a/tests/auto/corelib/text/qlatin1string/tst_qlatin1string.cpp b/tests/auto/corelib/text/qlatin1string/tst_qlatin1string.cpp
index cf46159251..0427c81b85 100644
--- a/tests/auto/corelib/text/qlatin1string/tst_qlatin1string.cpp
+++ b/tests/auto/corelib/text/qlatin1string/tst_qlatin1string.cpp
@@ -70,7 +70,7 @@ void tst_QLatin1String::arg() const
do { \
auto p = QLatin1String(pattern); \
QCOMPARE(p.arg(QLatin1String(arg1)), expected); \
- QCOMPARE(p.arg(QStringViewLiteral(arg1)), expected); \
+ QCOMPARE(p.arg(u"" arg1), expected); \
QCOMPARE(p.arg(QStringLiteral(arg1)), expected); \
QCOMPARE(p.arg(QString(QLatin1String(arg1))), expected); \
} while (false) \
@@ -79,9 +79,9 @@ void tst_QLatin1String::arg() const
do { \
auto p = QLatin1String(pattern); \
QCOMPARE(p.arg(QLatin1String(arg1), QLatin1String(arg2)), expected); \
- QCOMPARE(p.arg(QStringViewLiteral(arg1), QLatin1String(arg2)), expected); \
- QCOMPARE(p.arg(QLatin1String(arg1), QStringViewLiteral(arg2)), expected); \
- QCOMPARE(p.arg(QStringViewLiteral(arg1), QStringViewLiteral(arg2)), expected); \
+ QCOMPARE(p.arg(u"" arg1, QLatin1String(arg2)), expected); \
+ QCOMPARE(p.arg(QLatin1String(arg1), u"" arg2), expected); \
+ QCOMPARE(p.arg(u"" arg1, u"" arg2), expected); \
} while (false) \
/*end*/
diff --git a/tests/auto/corelib/text/qstringview/tst_qstringview.cpp b/tests/auto/corelib/text/qstringview/tst_qstringview.cpp
index 5d95f43d6a..47ce9a6f63 100644
--- a/tests/auto/corelib/text/qstringview/tst_qstringview.cpp
+++ b/tests/auto/corelib/text/qstringview/tst_qstringview.cpp
@@ -431,20 +431,20 @@ void tst_QStringView::arg() const
{
#define CHECK1(pattern, arg1, expected) \
do { \
- auto p = QStringViewLiteral(pattern); \
+ auto p = QStringView(u"" pattern); \
QCOMPARE(p.arg(QLatin1String(arg1)), expected); \
- QCOMPARE(p.arg(QStringViewLiteral(arg1)), expected); \
+ QCOMPARE(p.arg(u"" arg1), expected); \
QCOMPARE(p.arg(QStringLiteral(arg1)), expected); \
QCOMPARE(p.arg(QString(QLatin1String(arg1))), expected); \
} while (false) \
/*end*/
#define CHECK2(pattern, arg1, arg2, expected) \
do { \
- auto p = QStringViewLiteral(pattern); \
+ auto p = QStringView(u"" pattern); \
QCOMPARE(p.arg(QLatin1String(arg1), QLatin1String(arg2)), expected); \
- QCOMPARE(p.arg(QStringViewLiteral(arg1), QLatin1String(arg2)), expected); \
- QCOMPARE(p.arg(QLatin1String(arg1), QStringViewLiteral(arg2)), expected); \
- QCOMPARE(p.arg(QStringViewLiteral(arg1), QStringViewLiteral(arg2)), expected); \
+ QCOMPARE(p.arg(u"" arg1, QLatin1String(arg2)), expected); \
+ QCOMPARE(p.arg(QLatin1String(arg1), u"" arg2), expected); \
+ QCOMPARE(p.arg(u"" arg1, u"" arg2), expected); \
} while (false) \
/*end*/
diff --git a/tests/auto/corelib/thread/qsemaphore/BLACKLIST b/tests/auto/corelib/thread/qsemaphore/BLACKLIST
index f61f4c1a3b..d7af5c420b 100644
--- a/tests/auto/corelib/thread/qsemaphore/BLACKLIST
+++ b/tests/auto/corelib/thread/qsemaphore/BLACKLIST
@@ -1,6 +1,5 @@
[tryAcquireWithTimeout]
-osx-10.12
-osx-10.13
+osx
[tryAcquireWithTimeout:0.2s]
windows
osx-10.12
diff --git a/tests/auto/corelib/thread/qthread/BLACKLIST b/tests/auto/corelib/thread/qthread/BLACKLIST
index 87538a1048..c683154da1 100644
--- a/tests/auto/corelib/thread/qthread/BLACKLIST
+++ b/tests/auto/corelib/thread/qthread/BLACKLIST
@@ -1,7 +1,5 @@
[wait3_slowDestructor]
-windows-10 msvc-2015
-windows-7sp1
-windows-10 msvc-2017
+windows-10
[sleep]
windows-7sp1
diff --git a/tests/auto/corelib/thread/qthreadpool/BLACKLIST b/tests/auto/corelib/thread/qthreadpool/BLACKLIST
index e4f2fcd822..b8c1f3bf3f 100644
--- a/tests/auto/corelib/thread/qthreadpool/BLACKLIST
+++ b/tests/auto/corelib/thread/qthreadpool/BLACKLIST
@@ -1,7 +1,4 @@
[expiryTimeoutRace]
-rhel-7.6
opensuse-leap
-osx-10.13
-ubuntu-18.04
-osx-10.12
-opensuse-42.3
+ubuntu
+rhel
diff --git a/tests/auto/corelib/time/qcalendar/qcalendar.pro b/tests/auto/corelib/time/qcalendar/qcalendar.pro
new file mode 100644
index 0000000000..94e8fe8606
--- /dev/null
+++ b/tests/auto/corelib/time/qcalendar/qcalendar.pro
@@ -0,0 +1,5 @@
+CONFIG += testcase
+TARGET = tst_qcalendar
+QT = core testlib
+SOURCES = \
+ tst_qcalendar.cpp
diff --git a/tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp b/tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp
new file mode 100644
index 0000000000..5cfdb6daf4
--- /dev/null
+++ b/tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp
@@ -0,0 +1,236 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+
+#include <QCalendar>
+Q_DECLARE_METATYPE(QCalendar::System)
+
+class tst_QCalendar : public QObject
+{
+ Q_OBJECT
+private:
+ void checkYear(const QCalendar &cal, int year, bool normal=false);
+
+private slots:
+ void basic_data();
+ void basic();
+ void nameCase();
+ void specific_data();
+ void specific();
+ void daily_data() { basic_data(); }
+ void daily();
+};
+
+// Support for basic():
+void tst_QCalendar::checkYear(const QCalendar &cal, int year, bool normal)
+{
+ const int moons = cal.monthsInYear(year);
+ // Months are numbered from 1 to moons:
+ QVERIFY(moons > 0);
+ QVERIFY(!cal.isDateValid(year, moons + 1, 1));
+ QVERIFY(!cal.isDateValid(year, 0, 1));
+ QVERIFY(moons <= cal.maxMonthsInYear());
+
+ const int days = cal.daysInYear(year);
+ QVERIFY(days > 0);
+
+ int sum = 0;
+ const int longest = cal.maxDaysInMonth();
+ for (int i = moons; i > 0; i--) {
+ const int last = cal.daysInMonth(i, year);
+ sum += last;
+ // Valid month has some days and no more than max:
+ QVERIFY(last > 0);
+ QVERIFY(last <= longest);
+ // Days are numbered from 1 to last:
+ QVERIFY(cal.isDateValid(year, i, 1));
+ QVERIFY(cal.isDateValid(year, i, last));
+ QVERIFY(!cal.isDateValid(year, i, 0));
+ QVERIFY(!cal.isDateValid(year, i, last + 1));
+ if (normal) // Unspecified year gets same daysInMonth():
+ QCOMPARE(cal.daysInMonth(i), last);
+ }
+ // Months add up to the whole year:
+ QCOMPARE(sum, days);
+}
+
+#define CHECKYEAR(cal, year) checkYear(cal, year); \
+ if (QTest::currentTestFailed()) \
+ return
+
+#define NORMALYEAR(cal, year) checkYear(cal, year, true); \
+ if (QTest::currentTestFailed()) \
+ return
+
+void tst_QCalendar::basic_data()
+{
+ QTest::addColumn<QCalendar::System>("system");
+
+ QMetaEnum e = QCalendar::staticMetaObject.enumerator(0);
+ Q_ASSERT(qstrcmp(e.name(), "System") == 0);
+
+ for (int i = 0; i <= int(QCalendar::System::Last); ++i) {
+ // There may be gaps in the enum's numbering; and Last is a duplicate:
+ if (e.value(i) != -1 && qstrcmp(e.key(i), "Last"))
+ QTest::newRow(e.key(i)) << QCalendar::System(e.value(i));
+ }
+}
+
+void tst_QCalendar::basic()
+{
+ QFETCH(QCalendar::System, system);
+ QCalendar cal(system);
+ QVERIFY(cal.isValid());
+ QCOMPARE(QCalendar(cal.name()).isGregorian(), cal.isGregorian());
+ QCOMPARE(QCalendar(cal.name()).name(), cal.name());
+
+ if (cal.hasYearZero()) {
+ CHECKYEAR(cal, 0);
+ } else {
+ QCOMPARE(cal.monthsInYear(0), 0);
+ QCOMPARE(cal.daysInYear(0), 0);
+ QVERIFY(!cal.isDateValid(0, 1, 1));
+ }
+
+ if (cal.isProleptic()) {
+ CHECKYEAR(cal, -1);
+ } else {
+ QCOMPARE(cal.monthsInYear(-1), 0);
+ QCOMPARE(cal.daysInYear(-1), 0);
+ QVERIFY(!cal.isDateValid(-1, 1, 1));
+ }
+
+ // Look for a leap year in the last decade.
+ int year = QDate::currentDate().year(cal);
+ for (int i = 10; i > 0 && !cal.isLeapYear(year); --i)
+ --year;
+ if (cal.isLeapYear(year)) {
+ // ... and a non-leap year within a decade before it.
+ int leap = year--;
+ for (int i = 10; i > 0 && cal.isLeapYear(year); --i)
+ year--;
+ if (!cal.isLeapYear(year))
+ QVERIFY(cal.daysInYear(year) < cal.daysInYear(leap));
+
+ CHECKYEAR(cal, leap);
+ }
+ // Either year is non-leap or we have a decade of leap years together;
+ // expect daysInMonth() to treat year the same as unspecified.
+ NORMALYEAR(cal, year);
+}
+
+void tst_QCalendar::nameCase()
+{
+ QVERIFY(QCalendar::availableCalendars().contains(QStringLiteral("Gregorian")));
+}
+
+void tst_QCalendar::specific_data()
+{
+ QTest::addColumn<QCalendar::System>("system");
+ // Date in that system:
+ QTest::addColumn<int>("sysyear");
+ QTest::addColumn<int>("sysmonth");
+ QTest::addColumn<int>("sysday");
+ // Gregorian equivalent:
+ QTest::addColumn<int>("gregyear");
+ QTest::addColumn<int>("gregmonth");
+ QTest::addColumn<int>("gregday");
+
+#define ADDROW(cal, year, month, day, gy, gm, gd) \
+ QTest::newRow(#cal) << QCalendar::System::cal << year << month << day << gy << gm << gd
+
+ ADDROW(Gregorian, 1970, 1, 1, 1970, 1, 1);
+
+ // One known specific date, for each calendar
+#ifndef QT_BOOTSTRAPPED
+ // Julian 1582-10-4 was followed by Gregorian 1582-10-15
+ ADDROW(Julian, 1582, 10, 4, 1582, 10, 14);
+ // Milankovic matches Gregorian for a few centuries
+ ADDROW(Milankovic, 1923, 3, 20, 1923, 3, 20);
+#endif
+
+#if QT_CONFIG(jalalicalendar)
+ // Jalali year 1355 started on Gregorian 1976-3-21:
+ ADDROW(Jalali, 1355, 1, 1, 1976, 3, 21);
+#endif // jalali
+#if QT_CONFIG(islamiccivilcalendar)
+ // TODO: confirm this is correct
+ ADDROW(IslamicCivil, 1, 1, 1, 622, 7, 19);
+#endif
+
+#undef ADDROW
+}
+
+void tst_QCalendar::specific()
+{
+ QFETCH(QCalendar::System, system);
+ QFETCH(int, sysyear);
+ QFETCH(int, sysmonth);
+ QFETCH(int, sysday);
+ QFETCH(int, gregyear);
+ QFETCH(int, gregmonth);
+ QFETCH(int, gregday);
+
+ const QCalendar cal(system);
+ const QDate date(sysyear, sysmonth, sysday, cal), gregory(gregyear, gregmonth, gregday);
+ QCOMPARE(date, gregory);
+ QCOMPARE(gregory.year(cal), sysyear);
+ QCOMPARE(gregory.month(cal), sysmonth);
+ QCOMPARE(gregory.day(cal), sysday);
+ QCOMPARE(date.year(), gregyear);
+ QCOMPARE(date.month(), gregmonth);
+ QCOMPARE(date.day(), gregday);
+}
+
+void tst_QCalendar::daily()
+{
+ QFETCH(QCalendar::System, system);
+ QCalendar calendar(system);
+ const quint64 startJDN = 0, endJDN = 2488070;
+ // Iterate from -4713-01-01 (Julian calendar) to 2100-01-01
+ for (quint64 expect = startJDN; expect <= endJDN; ++expect)
+ {
+ QDate date = QDate::fromJulianDay(expect);
+ auto parts = calendar.partsFromDate(date);
+ if (!parts.isValid())
+ continue;
+
+ const int year = date.year(calendar);
+ QCOMPARE(year, parts.year);
+ const int month = date.month(calendar);
+ QCOMPARE(month, parts.month);
+ const int day = date.day(calendar);
+ QCOMPARE(day, parts.day);
+ const quint64 actual = QDate(year, month, day, calendar).toJulianDay();
+ QCOMPARE(actual, expect);
+ }
+}
+
+QTEST_APPLESS_MAIN(tst_QCalendar)
+#include "tst_qcalendar.moc"
diff --git a/tests/auto/corelib/time/time.pro b/tests/auto/corelib/time/time.pro
index 6f9ff038db..6f1ee9a8bd 100644
--- a/tests/auto/corelib/time/time.pro
+++ b/tests/auto/corelib/time/time.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
SUBDIRS = \
+ qcalendar \
qdate \
qdatetime \
qtime \
diff --git a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp
index d19eac7530..9a7c099228 100644
--- a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp
+++ b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp
@@ -84,6 +84,8 @@ private slots:
void operator_noteq();
void resize();
+ void fromBits_data();
+ void fromBits();
};
void tst_QBitArray::size_data()
@@ -610,5 +612,60 @@ void tst_QBitArray::resize()
}
+void tst_QBitArray::fromBits_data()
+{
+ QTest::addColumn<QByteArray>("data");
+ QTest::addColumn<int>("size");
+ QTest::addColumn<QBitArray>("expected");
+
+ QTest::newRow("empty") << QByteArray() << 0 << QBitArray();
+
+ auto add = [](const QByteArray &tag, const char *data) {
+ QTest::newRow(tag) << QByteArray(data, (tag.size() + 7) / 8) << tag.size()
+ << QStringToQBitArray(tag);
+ };
+
+ // "0" to "0000000000000000"
+ for (int i = 1; i < 16; ++i) {
+ char zero[2] = { 0, 0 };
+ QByteArray pattern(i, '0');
+ add(pattern, zero);
+ }
+
+ // "1" to "1111111111111111"
+ for (int i = 1; i < 16; ++i) {
+ char one[2] = { '\xff', '\xff' };
+ QByteArray pattern(i, '1');
+ add(pattern, one);
+ }
+
+ // trailing 0 and 1
+ char zero = 1;
+ char one = 0;
+ QByteArray pzero = "1";
+ QByteArray pone = "0";
+ for (int i = 2; i < 8; ++i) {
+ zero <<= 1;
+ pzero.prepend('0');
+ add(pzero, &zero);
+
+ one = (one << 1) | 1;
+ pone.prepend('1');
+ add(pone, &one);
+ }
+}
+
+void tst_QBitArray::fromBits()
+{
+ QFETCH(QByteArray, data);
+ QFETCH(int, size);
+ QFETCH(QBitArray, expected);
+
+ QBitArray fromBits = QBitArray::fromBits(data, size);
+ QCOMPARE(fromBits, expected);
+
+ QCOMPARE(QBitArray::fromBits(fromBits.bits(), fromBits.size()), expected);
+}
+
QTEST_APPLESS_MAIN(tst_QBitArray)
#include "tst_qbitarray.moc"
diff --git a/tests/auto/corelib/tools/qlinkedlist/qlinkedlist.pro b/tests/auto/corelib/tools/qlinkedlist/qlinkedlist.pro
index 378c574eb0..c53d553d6d 100644
--- a/tests/auto/corelib/tools/qlinkedlist/qlinkedlist.pro
+++ b/tests/auto/corelib/tools/qlinkedlist/qlinkedlist.pro
@@ -1,5 +1,7 @@
CONFIG += testcase
TARGET = tst_qlinkedlist
QT = core testlib
+qtConfig(c++14): CONFIG += c++14
+qtConfig(c++1z): CONFIG += c++1z
SOURCES = tst_qlinkedlist.cpp
DEFINES -= QT_NO_LINKED_LIST
diff --git a/tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp b/tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp
index deb3b68c5c..df42b5dea9 100644
--- a/tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp
+++ b/tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp
@@ -187,6 +187,7 @@ private slots:
void countInt() const;
void countMovable() const;
void countComplex() const;
+ void cpp17ctad() const;
void emptyInt() const;
void emptyMovable() const;
void emptyComplex() const;
@@ -594,6 +595,33 @@ void tst_QLinkedList::countComplex() const
QCOMPARE(liveCount, Complex::getLiveCount());
}
+void tst_QLinkedList::cpp17ctad() const
+{
+#ifdef __cpp_deduction_guides
+#define QVERIFY_IS_LIST_OF(obj, Type) \
+ QVERIFY2((std::is_same<decltype(obj), QLinkedList<Type>>::value), \
+ QMetaType::typeName(qMetaTypeId<decltype(obj)::value_type>()))
+#define CHECK(Type, One, Two, Three) \
+ do { \
+ const Type v[] = {One, Two, Three}; \
+ QLinkedList v1 = {One, Two, Three}; \
+ QVERIFY_IS_LIST_OF(v1, Type); \
+ QLinkedList v2(v1.begin(), v1.end()); \
+ QVERIFY_IS_LIST_OF(v2, Type); \
+ QLinkedList v3(std::begin(v), std::end(v)); \
+ QVERIFY_IS_LIST_OF(v3, Type); \
+ } while (false) \
+ /*end*/
+ CHECK(int, 1, 2, 3);
+ CHECK(double, 1.0, 2.0, 3.0);
+ CHECK(QString, QStringLiteral("one"), QStringLiteral("two"), QStringLiteral("three"));
+#undef QVERIFY_IS_LIST_OF
+#undef CHECK
+#else
+ QSKIP("This test requires C++17 Constructor Template Argument Deduction support enabled in the compiler.");
+#endif
+}
+
template<typename T>
void tst_QLinkedList::empty() const
{
diff --git a/tests/auto/corelib/tools/qlist/qlist.pro b/tests/auto/corelib/tools/qlist/qlist.pro
index 47f0140abb..118c607880 100644
--- a/tests/auto/corelib/tools/qlist/qlist.pro
+++ b/tests/auto/corelib/tools/qlist/qlist.pro
@@ -1,4 +1,6 @@
CONFIG += testcase
TARGET = tst_qlist
QT = core testlib
+qtConfig(c++14): CONFIG += c++14
+qtConfig(c++1z): CONFIG += c++1z
SOURCES = $$PWD/tst_qlist.cpp
diff --git a/tests/auto/corelib/tools/qlist/tst_qlist.cpp b/tests/auto/corelib/tools/qlist/tst_qlist.cpp
index 5a485e88d2..cc9a3a16d1 100644
--- a/tests/auto/corelib/tools/qlist/tst_qlist.cpp
+++ b/tests/auto/corelib/tools/qlist/tst_qlist.cpp
@@ -310,6 +310,7 @@ private slots:
void lastComplex() const;
void constFirst() const;
void constLast() const;
+ void cpp17ctad() const;
void beginOptimal() const;
void beginMovable() const;
void beginComplex() const;
@@ -864,6 +865,33 @@ void tst_QList::constLast() const
QVERIFY(listCopy.isSharedWith(list));
}
+void tst_QList::cpp17ctad() const
+{
+#ifdef __cpp_deduction_guides
+#define QVERIFY_IS_LIST_OF(obj, Type) \
+ QVERIFY2((std::is_same<decltype(obj), QList<Type>>::value), \
+ QMetaType::typeName(qMetaTypeId<decltype(obj)::value_type>()))
+#define CHECK(Type, One, Two, Three) \
+ do { \
+ const Type v[] = {One, Two, Three}; \
+ QList v1 = {One, Two, Three}; \
+ QVERIFY_IS_LIST_OF(v1, Type); \
+ QList v2(v1.begin(), v1.end()); \
+ QVERIFY_IS_LIST_OF(v2, Type); \
+ QList v3(std::begin(v), std::end(v)); \
+ QVERIFY_IS_LIST_OF(v3, Type); \
+ } while (false) \
+ /*end*/
+ CHECK(int, 1, 2, 3);
+ CHECK(double, 1.0, 2.0, 3.0);
+ CHECK(QString, QStringLiteral("one"), QStringLiteral("two"), QStringLiteral("three"));
+#undef QVERIFY_IS_LIST_OF
+#undef CHECK
+#else
+ QSKIP("This test requires C++17 Constructor Template Argument Deduction support enabled in the compiler.");
+#endif
+}
+
template<typename T>
void tst_QList::last() const
{
diff --git a/tests/auto/corelib/tools/qpoint/tst_qpoint.cpp b/tests/auto/corelib/tools/qpoint/tst_qpoint.cpp
index 8e184f3ef3..f25492d2db 100644
--- a/tests/auto/corelib/tools/qpoint/tst_qpoint.cpp
+++ b/tests/auto/corelib/tools/qpoint/tst_qpoint.cpp
@@ -42,6 +42,8 @@ private slots:
void getSet_data();
void getSet();
+ void transposed();
+
void rx();
void ry();
@@ -126,6 +128,11 @@ void tst_QPoint::getSet()
QCOMPARE(point.y(), i);
}
+void tst_QPoint::transposed()
+{
+ QCOMPARE(QPoint(1, 2).transposed(), QPoint(2, 1));
+}
+
void tst_QPoint::rx()
{
const QPoint originalPoint(-1, 0);
diff --git a/tests/auto/corelib/tools/qpointf/tst_qpointf.cpp b/tests/auto/corelib/tools/qpointf/tst_qpointf.cpp
index d4ccdf7ba6..e78a8e3082 100644
--- a/tests/auto/corelib/tools/qpointf/tst_qpointf.cpp
+++ b/tests/auto/corelib/tools/qpointf/tst_qpointf.cpp
@@ -46,6 +46,8 @@ private slots:
void getSet_data();
void getSet();
+ void transposed();
+
void rx();
void ry();
@@ -154,6 +156,11 @@ void tst_QPointF::getSet()
QCOMPARE(point.y(), r);
}
+void tst_QPointF::transposed()
+{
+ QCOMPARE(QPointF(1, 2).transposed(), QPointF(2, 1));
+}
+
void tst_QPointF::rx()
{
const QPointF originalPoint(-1, 0);
diff --git a/tests/auto/corelib/tools/qset/qset.pro b/tests/auto/corelib/tools/qset/qset.pro
index d0c6337147..3ae4bc4805 100644
--- a/tests/auto/corelib/tools/qset/qset.pro
+++ b/tests/auto/corelib/tools/qset/qset.pro
@@ -1,6 +1,8 @@
CONFIG += testcase
TARGET = tst_qset
QT = core testlib
+qtConfig(c++14): CONFIG += c++14
+qtConfig(c++1z): CONFIG += c++1z
SOURCES = tst_qset.cpp
DEFINES -= QT_NO_JAVA_STYLE_ITERATORS
diff --git a/tests/auto/corelib/tools/qset/tst_qset.cpp b/tests/auto/corelib/tools/qset/tst_qset.cpp
index 31b4c0449e..8a545712a2 100644
--- a/tests/auto/corelib/tools/qset/tst_qset.cpp
+++ b/tests/auto/corelib/tools/qset/tst_qset.cpp
@@ -54,6 +54,7 @@ private slots:
void detach();
void isDetached();
void clear();
+ void cpp17ctad();
void remove();
void contains();
void containsSet();
@@ -325,6 +326,33 @@ void tst_QSet::clear()
QVERIFY(set2.size() == 0);
}
+void tst_QSet::cpp17ctad()
+{
+#ifdef __cpp_deduction_guides
+#define QVERIFY_IS_SET_OF(obj, Type) \
+ QVERIFY2((std::is_same<decltype(obj), QSet<Type>>::value), \
+ QMetaType::typeName(qMetaTypeId<decltype(obj)::value_type>()))
+#define CHECK(Type, One, Two, Three) \
+ do { \
+ const Type v[] = {One, Two, Three}; \
+ QSet v1 = {One, Two, Three}; \
+ QVERIFY_IS_SET_OF(v1, Type); \
+ QSet v2(v1.begin(), v1.end()); \
+ QVERIFY_IS_SET_OF(v2, Type); \
+ QSet v3(std::begin(v), std::end(v)); \
+ QVERIFY_IS_SET_OF(v3, Type); \
+ } while (false) \
+ /*end*/
+ CHECK(int, 1, 2, 3);
+ CHECK(double, 1.0, 2.0, 3.0);
+ CHECK(QString, QStringLiteral("one"), QStringLiteral("two"), QStringLiteral("three"));
+#undef QVERIFY_IS_SET_OF
+#undef CHECK
+#else
+ QSKIP("This test requires C++17 Constructor Template Argument Deduction support enabled in the compiler.");
+#endif
+}
+
void tst_QSet::remove()
{
QSet<QString> set1;
diff --git a/tests/auto/corelib/tools/qsize/tst_qsize.cpp b/tests/auto/corelib/tools/qsize/tst_qsize.cpp
index 385ff18ce5..6824bad9c8 100644
--- a/tests/auto/corelib/tools/qsize/tst_qsize.cpp
+++ b/tests/auto/corelib/tools/qsize/tst_qsize.cpp
@@ -29,6 +29,7 @@
#include <QtTest/QtTest>
#include <qsize.h>
+Q_DECLARE_METATYPE(QMargins)
class tst_QSize : public QObject
{
@@ -43,6 +44,9 @@ private slots:
void boundedTo_data();
void boundedTo();
+ void grownOrShrunkBy_data();
+ void grownOrShrunkBy();
+
void transpose_data();
void transpose();
};
@@ -186,6 +190,46 @@ void tst_QSize::boundedTo()
QCOMPARE( input1.boundedTo(input2), expected);
}
+void tst_QSize::grownOrShrunkBy_data()
+{
+ QTest::addColumn<QSize>("input");
+ QTest::addColumn<QMargins>("margins");
+ QTest::addColumn<QSize>("grown");
+ QTest::addColumn<QSize>("shrunk");
+
+ auto row = [](QSize i, QMargins m, QSize g, QSize s) {
+ QTest::addRow("{%d,%d}/{%d,%d,%d,%d}", i.width(), i.height(),
+ m.left(), m.top(), m.right(), m.bottom())
+ << i << m << g << s;
+ };
+
+ const QSize zero = {0, 0};
+ const QSize some = {100, 200};
+ const QMargins zeroMargins = {};
+ const QMargins negative = {-1, -2, -3, -4};
+ const QMargins positive = { 1, 2, 3, 4};
+
+ row(zero, zeroMargins, zero, zero);
+ row(zero, negative, {-4, -6}, { 4, 6});
+ row(zero, positive, { 4, 6}, {-4, -6});
+ row(some, zeroMargins, some, some);
+ row(some, negative, { 96, 194}, {104, 206});
+ row(some, positive, {104, 206}, { 96, 194});
+}
+
+void tst_QSize::grownOrShrunkBy()
+{
+ QFETCH(const QSize, input);
+ QFETCH(const QMargins, margins);
+ QFETCH(const QSize, grown);
+ QFETCH(const QSize, shrunk);
+
+ QCOMPARE(input.grownBy(margins), grown);
+ QCOMPARE(input.shrunkBy(margins), shrunk);
+ QCOMPARE(grown.shrunkBy(margins), input);
+ QCOMPARE(shrunk.grownBy(margins), input);
+}
+
void tst_QSize::transpose_data()
{
QTest::addColumn<QSize>("input1");
diff --git a/tests/auto/corelib/tools/qsizef/tst_qsizef.cpp b/tests/auto/corelib/tools/qsizef/tst_qsizef.cpp
index 42801d63a9..bbffa74a62 100644
--- a/tests/auto/corelib/tools/qsizef/tst_qsizef.cpp
+++ b/tests/auto/corelib/tools/qsizef/tst_qsizef.cpp
@@ -29,6 +29,7 @@
#include <QtTest/QtTest>
#include <qsize.h>
+Q_DECLARE_METATYPE(QMarginsF)
class tst_QSizeF : public QObject
{
@@ -45,6 +46,9 @@ private slots:
void boundedTo_data();
void boundedTo();
+ void grownOrShrunkBy_data();
+ void grownOrShrunkBy();
+
void transpose_data();
void transpose();
};
@@ -152,6 +156,46 @@ void tst_QSizeF::boundedTo() {
QCOMPARE( input1.boundedTo(input2), expected);
}
+void tst_QSizeF::grownOrShrunkBy_data()
+{
+ QTest::addColumn<QSizeF>("input");
+ QTest::addColumn<QMarginsF>("margins");
+ QTest::addColumn<QSizeF>("grown");
+ QTest::addColumn<QSizeF>("shrunk");
+
+ auto row = [](QSizeF i, QMarginsF m, QSizeF g, QSizeF s) {
+ QTest::addRow("{%g,%g}/{%g,%g,%g,%g}", i.width(), i.height(),
+ m.left(), m.top(), m.right(), m.bottom())
+ << i << m << g << s;
+ };
+
+ const QSizeF zero = {0, 0};
+ const QSizeF some = {100, 200};
+ const QMarginsF zeroMargins = {};
+ const QMarginsF negative = {-1, -2, -3, -4};
+ const QMarginsF positive = { 1, 2, 3, 4};
+
+ row(zero, zeroMargins, zero, zero);
+ row(zero, negative, {-4, -6}, { 4, 6});
+ row(zero, positive, { 4, 6}, {-4, -6});
+ row(some, zeroMargins, some, some);
+ row(some, negative, { 96, 194}, {104, 206});
+ row(some, positive, {104, 206}, { 96, 194});
+}
+
+void tst_QSizeF::grownOrShrunkBy()
+{
+ QFETCH(const QSizeF, input);
+ QFETCH(const QMarginsF, margins);
+ QFETCH(const QSizeF, grown);
+ QFETCH(const QSizeF, shrunk);
+
+ QCOMPARE(input.grownBy(margins), grown);
+ QCOMPARE(input.shrunkBy(margins), shrunk);
+ QCOMPARE(grown.shrunkBy(margins), input);
+ QCOMPARE(shrunk.grownBy(margins), input);
+}
+
void tst_QSizeF::transpose_data() {
QTest::addColumn<QSizeF>("input1");
QTest::addColumn<QSizeF>("expected");
diff --git a/tests/auto/corelib/tools/qtimeline/BLACKLIST b/tests/auto/corelib/tools/qtimeline/BLACKLIST
index b60cab31fa..9794b0059f 100644
--- a/tests/auto/corelib/tools/qtimeline/BLACKLIST
+++ b/tests/auto/corelib/tools/qtimeline/BLACKLIST
@@ -1,8 +1,6 @@
[interpolation]
-osx-10.12
windows-10 msvc-2015
-osx-10.13
-windows-7sp1
+osx
[frameRate]
osx-10.12
osx-10.13
diff --git a/tests/auto/corelib/tools/qvarlengtharray/qvarlengtharray.pro b/tests/auto/corelib/tools/qvarlengtharray/qvarlengtharray.pro
index 108fb33db5..14b2bc213b 100644
--- a/tests/auto/corelib/tools/qvarlengtharray/qvarlengtharray.pro
+++ b/tests/auto/corelib/tools/qvarlengtharray/qvarlengtharray.pro
@@ -1,4 +1,6 @@
CONFIG += testcase
TARGET = tst_qvarlengtharray
QT = core testlib
+qtConfig(c++14): CONFIG += c++14
+qtConfig(c++1z): CONFIG += c++1z
SOURCES = tst_qvarlengtharray.cpp
diff --git a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
index 3d90644aa3..a1d0100f96 100644
--- a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
+++ b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
@@ -44,6 +44,7 @@ private slots:
void realloc();
void reverseIterators();
void count();
+ void cpp17ctad();
void first();
void last();
void squeeze();
@@ -717,6 +718,34 @@ void tst_QVarLengthArray::count()
}
}
+void tst_QVarLengthArray::cpp17ctad()
+{
+#ifdef __cpp_deduction_guides
+#define QVERIFY_IS_VLA_OF(obj, Type) \
+ QVERIFY2((std::is_same<decltype(obj), QVarLengthArray<Type>>::value), \
+ QMetaType::typeName(qMetaTypeId<decltype(obj)::value_type>()))
+#define CHECK(Type, One, Two, Three) \
+ do { \
+ const Type v[] = {One, Two, Three}; \
+ QVarLengthArray v1 = {One, Two, Three}; \
+ QVERIFY_IS_VLA_OF(v1, Type); \
+ QVarLengthArray v2(v1.begin(), v1.end()); \
+ QVERIFY_IS_VLA_OF(v2, Type); \
+ QVarLengthArray v3(std::begin(v), std::end(v)); \
+ QVERIFY_IS_VLA_OF(v3, Type); \
+ } while (false) \
+ /*end*/
+ CHECK(int, 1, 2, 3);
+ CHECK(double, 1.0, 2.0, 3.0);
+ CHECK(QString, QStringLiteral("one"), QStringLiteral("two"), QStringLiteral("three"));
+#undef QVERIFY_IS_VLA_OF
+#undef CHECK
+#else
+ QSKIP("This test requires C++17 Constructor Template Argument Deduction support enabled in the compiler.");
+#endif
+
+}
+
void tst_QVarLengthArray::first()
{
// append some items, make sure it stays sane
diff --git a/tests/auto/corelib/tools/qvector/qvector.pro b/tests/auto/corelib/tools/qvector/qvector.pro
index b9a4ae747b..689d9b87a2 100644
--- a/tests/auto/corelib/tools/qvector/qvector.pro
+++ b/tests/auto/corelib/tools/qvector/qvector.pro
@@ -1,5 +1,7 @@
CONFIG += testcase
qtConfig(c++11): CONFIG += c++11
+qtConfig(c++14): CONFIG += c++14
+qtConfig(c++1z): CONFIG += c++1z
TARGET = tst_qvector
QT = core testlib
SOURCES = $$PWD/tst_qvector.cpp
diff --git a/tests/auto/corelib/tools/qvector/tst_qvector.cpp b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
index 05b5579d64..08d5a8cd50 100644
--- a/tests/auto/corelib/tools/qvector/tst_qvector.cpp
+++ b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
@@ -230,6 +230,7 @@ private slots:
void countInt() const;
void countMovable() const;
void countCustom() const;
+ void cpp17ctad() const;
void data() const;
void emptyInt() const;
void emptyMovable() const;
@@ -914,6 +915,33 @@ void tst_QVector::countCustom() const
QCOMPARE(instancesCount, Custom::counter.loadAcquire());
}
+void tst_QVector::cpp17ctad() const
+{
+#ifdef __cpp_deduction_guides
+#define QVERIFY_IS_VECTOR_OF(obj, Type) \
+ QVERIFY2((std::is_same<decltype(obj), QVector<Type>>::value), \
+ QMetaType::typeName(qMetaTypeId<decltype(obj)::value_type>()))
+#define CHECK(Type, One, Two, Three) \
+ do { \
+ const Type v[] = {One, Two, Three}; \
+ QVector v1 = {One, Two, Three}; \
+ QVERIFY_IS_VECTOR_OF(v1, Type); \
+ QVector v2(v1.begin(), v1.end()); \
+ QVERIFY_IS_VECTOR_OF(v2, Type); \
+ QVector v3(std::begin(v), std::end(v)); \
+ QVERIFY_IS_VECTOR_OF(v3, Type); \
+ } while (false) \
+ /*end*/
+ CHECK(int, 1, 2, 3);
+ CHECK(double, 1.0, 2.0, 3.0);
+ CHECK(QString, QStringLiteral("one"), QStringLiteral("two"), QStringLiteral("three"));
+#undef QVERIFY_IS_VECTOR_OF
+#undef CHECK
+#else
+ QSKIP("This test requires C++17 Constructor Template Argument Deduction support enabled in the compiler.");
+#endif
+}
+
void tst_QVector::data() const
{
QVector<int> myvec;
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp
index 441ec17412..b84aa52465 100644
--- a/tests/auto/gui/image/qimage/tst_qimage.cpp
+++ b/tests/auto/gui/image/qimage/tst_qimage.cpp
@@ -303,6 +303,8 @@ static QLatin1String formatToString(QImage::Format format)
return QLatin1String("RGBA64pm");
case QImage::Format_Grayscale16:
return QLatin1String("Grayscale16");
+ case QImage::Format_BGR888:
+ return QLatin1String("BGR888");
default:
break;
};
@@ -844,6 +846,13 @@ void tst_QImage::convertToFormat_data()
QTest::newRow("blue rgb32 -> rgb888") << int(QImage::Format_RGB32) << 0xff0000ff
<< int(QImage::Format_RGB888) << 0xff0000ff;
+ QTest::newRow("red rgb32 -> bgr888") << int(QImage::Format_RGB32) << 0xffff0000
+ << int(QImage::Format_BGR888) << 0xffff0000;
+ QTest::newRow("green rgb32 -> bgr888") << int(QImage::Format_RGB32) << 0xff00ff00
+ << int(QImage::Format_BGR888) << 0xff00ff00;
+ QTest::newRow("blue rgb32 -> bgr888") << int(QImage::Format_RGB32) << 0xff0000ff
+ << int(QImage::Format_BGR888) << 0xff0000ff;
+
QTest::newRow("red rgb16 -> rgb888") << int(QImage::Format_RGB16) << 0xffff0000
<< int(QImage::Format_RGB888) << 0xffff0000;
QTest::newRow("green rgb16 -> rgb888") << int(QImage::Format_RGB16) << 0xff00ff00
@@ -858,6 +867,13 @@ void tst_QImage::convertToFormat_data()
QTest::newRow("blue rgb888 -> argb32") << int(QImage::Format_RGB888) << 0xff0000ff
<< int(QImage::Format_ARGB32) << 0xff0000ff;
+ QTest::newRow("red bgr888 -> argb32") << int(QImage::Format_RGB888) << 0xffff0000
+ << int(QImage::Format_ARGB32) << 0xffff0000;
+ QTest::newRow("green bgr888 -> argb32") << int(QImage::Format_RGB888) << 0xff00ff00
+ << int(QImage::Format_ARGB32) << 0xff00ff00;
+ QTest::newRow("blue bgr888 -> argb32") << int(QImage::Format_RGB888) << 0xff0000ff
+ << int(QImage::Format_ARGB32) << 0xff0000ff;
+
QTest::newRow("red rgb888 -> rgbx8888") << int(QImage::Format_RGB888) << 0xffff0000
<< int(QImage::Format_RGBX8888) << 0xffff0000;
QTest::newRow("green rgb888 -> rgbx8888") << int(QImage::Format_RGB888) << 0xff00ff00
@@ -1338,6 +1354,12 @@ void tst_QImage::setPixel_data()
<< 0xff00ff00 << 0x00ff00u;
QTest::newRow("RGB888 blue") << int(QImage::Format_RGB888)
<< 0xff0000ff << 0x0000ffu;
+ QTest::newRow("BGR888 red") << int(QImage::Format_BGR888)
+ << 0xffff0000 << 0x0000ffu;
+ QTest::newRow("BGR888 green") << int(QImage::Format_BGR888)
+ << 0xff00ff00 << 0x00ff00u;
+ QTest::newRow("BGR888 blue") << int(QImage::Format_BGR888)
+ << 0xff0000ff << 0xff0000u;
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
QTest::newRow("RGBA8888 red") << int(QImage::Format_RGBA8888)
<< 0xffff0000u << 0xff0000ffu;
@@ -1425,6 +1447,7 @@ void tst_QImage::setPixel()
case int(QImage::Format_ARGB8565_Premultiplied):
case int(QImage::Format_ARGB8555_Premultiplied):
case int(QImage::Format_RGB888):
+ case int(QImage::Format_BGR888):
{
for (int y = 0; y < h; ++y) {
const quint24 *row = (const quint24*)(img.scanLine(y));
@@ -2445,6 +2468,7 @@ void tst_QImage::mirrored_data()
QTest::newRow("Format_RGB555, vertical") << QImage::Format_RGB555 << true << false << 16 << 16;
QTest::newRow("Format_ARGB8555_Premultiplied, vertical") << QImage::Format_ARGB8555_Premultiplied << true << false << 16 << 16;
QTest::newRow("Format_RGB888, vertical") << QImage::Format_RGB888 << true << false << 16 << 16;
+ QTest::newRow("Format_BGR888, vertical") << QImage::Format_BGR888 << true << false << 16 << 16;
QTest::newRow("Format_RGB444, vertical") << QImage::Format_RGB444 << true << false << 16 << 16;
QTest::newRow("Format_RGBX8888, vertical") << QImage::Format_RGBX8888 << true << false << 16 << 16;
QTest::newRow("Format_RGBA8888_Premultiplied, vertical") << QImage::Format_RGBA8888_Premultiplied << true << false << 16 << 16;
diff --git a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
index 8b42b139a3..f6ffd7b7c5 100644
--- a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
+++ b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
@@ -1863,6 +1863,7 @@ void tst_QImageReader::saveFormat_data()
QTest::newRow("Format_RGB555") << QImage::Format_RGB555;
QTest::newRow("Format_ARGB8555_Premultiplied") << QImage::Format_ARGB8555_Premultiplied;
QTest::newRow("Format_RGB888") << QImage::Format_RGB888;
+ QTest::newRow("Format_BGR888") << QImage::Format_BGR888;
QTest::newRow("Format_RGB444") << QImage::Format_RGB444;
QTest::newRow("Format_ARGB4444_Premultiplied") << QImage::Format_ARGB4444_Premultiplied;
QTest::newRow("Format_RGBA64") << QImage::Format_RGBA64;
@@ -1913,6 +1914,14 @@ void tst_QImageReader::saveColorSpace()
QImage stored = QImage::fromData(buf.buffer(), "png");
QCOMPARE(stored, orig);
+ QCOMPARE(stored.colorSpace(), orig.colorSpace());
+
+ buf.open(QIODevice::WriteOnly);
+ QVERIFY(orig.save(&buf, "jpeg"));
+ buf.close();
+ stored = QImage::fromData(buf.buffer(), "jpeg");
+
+ QCOMPARE(stored.colorSpace(), orig.colorSpace());
}
void tst_QImageReader::readText_data()
diff --git a/tests/auto/gui/image/qpicture/tst_qpicture.cpp b/tests/auto/gui/image/qpicture/tst_qpicture.cpp
index ec6bb8dcee..6287960457 100644
--- a/tests/auto/gui/image/qpicture/tst_qpicture.cpp
+++ b/tests/auto/gui/image/qpicture/tst_qpicture.cpp
@@ -37,6 +37,8 @@
#include <qscreen.h>
#include <limits.h>
+#ifndef QT_NO_PICTURE
+
class tst_QPicture : public QObject
{
Q_OBJECT
@@ -45,7 +47,6 @@ public:
tst_QPicture();
private slots:
- void getSetCheck();
void devType();
void paintingActive();
void boundingRect();
@@ -56,31 +57,6 @@ private slots:
void boundaryValues();
};
-// Testing get/set functions
-void tst_QPicture::getSetCheck()
-{
- QPictureIO obj1;
- // const QPicture & QPictureIO::picture()
- // void QPictureIO::setPicture(const QPicture &)
- // const char * QPictureIO::format()
- // void QPictureIO::setFormat(const char *)
- const char var2[] = "PNG";
- obj1.setFormat(var2);
- QCOMPARE(var2, obj1.format());
- obj1.setFormat((char *)0);
- // The format is stored internally in a QString, so return is always a valid char *
- QVERIFY(QString(obj1.format()).isEmpty());
-
- // const char * QPictureIO::parameters()
- // void QPictureIO::setParameters(const char *)
- const char var3[] = "Bogus data";
- obj1.setParameters(var3);
- QCOMPARE(var3, obj1.parameters());
- obj1.setParameters((char *)0);
- // The format is stored internally in a QString, so return is always a valid char *
- QVERIFY(QString(obj1.parameters()).isEmpty());
-}
-
tst_QPicture::tst_QPicture()
{
}
@@ -316,6 +292,7 @@ void tst_QPicture::boundaryValues()
painter.end();
}
-
QTEST_MAIN(tst_QPicture)
#include "tst_qpicture.moc"
+
+#endif // QT_NO_PICTURE
diff --git a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
index 4d31d80246..ba5df809f2 100644
--- a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
@@ -267,10 +267,6 @@ void tst_QPixmap::fromImage()
image.fill(0x7f7f7f7f);
const QPixmap pixmap = QPixmap::fromImage(image);
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- if (pixmap.handle()->classId() == QPlatformPixmap::X11Class && !pixmap.x11PictureHandle())
- QSKIP("Requires XRender support");
-#endif
const QImage result = pixmap.toImage();
image = image.convertToFormat(result.format());
QCOMPARE(result, image);
@@ -491,11 +487,6 @@ void tst_QPixmap::fill()
else
pm = QPixmap(400, 400);
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- if (!bitmap && pm.handle()->classId() == QPlatformPixmap::X11Class && !pm.x11PictureHandle())
- QSKIP("Requires XRender support");
-#endif
-
pm.fill(color);
if (syscolor && !bitmap && pm.depth() < 24) {
QSKIP("Test does not work on displays without true color");
@@ -521,10 +512,6 @@ void tst_QPixmap::fill()
void tst_QPixmap::fill_transparent()
{
QPixmap pixmap(10, 10);
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- if (pixmap.handle()->classId() == QPlatformPixmap::X11Class && !pixmap.x11PictureHandle())
- QSKIP("Requires XRender support");
-#endif
pixmap.fill(Qt::transparent);
QVERIFY(pixmap.hasAlphaChannel());
}
diff --git a/tests/auto/gui/kernel/kernel.pro b/tests/auto/gui/kernel/kernel.pro
index fbd3b1b371..42135dae24 100644
--- a/tests/auto/gui/kernel/kernel.pro
+++ b/tests/auto/gui/kernel/kernel.pro
@@ -11,6 +11,7 @@ SUBDIRS=\
qguimetatype \
qguitimer \
qguivariant \
+ qhighdpiscaling \
qinputmethod \
qkeyevent \
qkeysequence \
@@ -35,6 +36,8 @@ win32:!winrt:qtHaveModule(network): SUBDIRS += noqteventloop
!qtHaveModule(network): SUBDIRS -= \
qguieventloop
+!qtConfig(highdpiscaling): SUBDIRS -= qhighdpiscaling
+
!qtConfig(opengl): SUBDIRS -= qopenglwindow
android|uikit: SUBDIRS -= qclipboard
diff --git a/tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp b/tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp
index 4fca9a07fc..3d1876f00f 100644
--- a/tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp
+++ b/tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp
@@ -36,6 +36,7 @@
#include <QtNetwork/qtcpserver.h>
#include <QtNetwork/qtcpsocket.h>
#include <QtCore/qelapsedtimer.h>
+#include <QtCore/qtimer.h>
#include <QtCore/qt_windows.h>
@@ -49,7 +50,7 @@ class tst_NoQtEventLoop : public QObject
private slots:
void consumeMouseEvents();
void consumeSocketEvents();
-
+ void deliverEventsInLivelock();
};
class Window : public QRasterWindow
@@ -258,8 +259,8 @@ void tst_NoQtEventLoop::consumeMouseEvents()
::SetWindowPos(mainWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
- Window *childWindow = new Window;
- childWindow->setParent(QWindow::fromWinId((WId)mainWnd));
+ QWindow *mainWindow = QWindow::fromWinId(reinterpret_cast<WId>(mainWnd));
+ Window *childWindow = new Window(mainWindow);
childWindow->setGeometry(margin, topVerticalMargin,
width - 2 * margin, height - margin - topVerticalMargin);
childWindow->show();
@@ -276,6 +277,7 @@ void tst_NoQtEventLoop::consumeMouseEvents()
if (g_exit)
break;
}
+ delete mainWindow;
QCOMPARE(testThread->passed(), true);
@@ -311,6 +313,34 @@ void tst_NoQtEventLoop::consumeSocketEvents()
QVERIFY(server.hasPendingConnections());
}
+void tst_NoQtEventLoop::deliverEventsInLivelock()
+{
+ int argc = 1;
+ char *argv[] = { const_cast<char *>("test"), 0 };
+ QGuiApplication app(argc, argv);
+
+ QTimer livelockTimer;
+ livelockTimer.start(0);
+ QTimer::singleShot(100, Qt::CoarseTimer, &livelockTimer, &QTimer::stop);
+
+ QElapsedTimer elapsedTimer;
+ elapsedTimer.start();
+
+ // Exec own message loop
+ MSG msg;
+ forever {
+ if (elapsedTimer.hasExpired(3000) || !livelockTimer.isActive())
+ break;
+
+ if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
+ ::TranslateMessage(&msg);
+ ::DispatchMessage(&msg);
+ }
+ }
+
+ QVERIFY(!livelockTimer.isActive());
+}
+
#include <tst_noqteventloop.moc>
QTEST_APPLESS_MAIN(tst_NoQtEventLoop)
diff --git a/tests/auto/gui/kernel/qguitimer/BLACKLIST b/tests/auto/gui/kernel/qguitimer/BLACKLIST
deleted file mode 100644
index 6ab715b922..0000000000
--- a/tests/auto/gui/kernel/qguitimer/BLACKLIST
+++ /dev/null
@@ -1,8 +0,0 @@
-[basic_chrono]
-osx-10.13
-[remainingTime]
-osx-10.12
-windows-10 msvc-2015
-osx-10.14
-osx-10.13
-
diff --git a/tests/auto/gui/kernel/qhighdpiscaling/qhighdpiscaling.pro b/tests/auto/gui/kernel/qhighdpiscaling/qhighdpiscaling.pro
new file mode 100644
index 0000000000..6cd7bb01f5
--- /dev/null
+++ b/tests/auto/gui/kernel/qhighdpiscaling/qhighdpiscaling.pro
@@ -0,0 +1,6 @@
+CONFIG += testcase
+TARGET = tst_qhighdpiscaling
+
+QT += core-private gui-private testlib
+
+SOURCES += tst_qhighdpiscaling.cpp
diff --git a/tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp b/tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp
new file mode 100644
index 0000000000..ec80c2d02c
--- /dev/null
+++ b/tests/auto/gui/kernel/qhighdpiscaling/tst_qhighdpiscaling.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <private/qhighdpiscaling_p.h>
+#include <qpa/qplatformscreen.h>
+
+#include <QtTest/QtTest>
+
+class tst_QHighDpiScaling: public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void factor();
+ void scale();
+};
+
+// Emulate the case of a High DPI secondary screen
+class MyPlatformScreen : public QPlatformScreen
+{
+public:
+ QRect geometry() const override { return QRect(3840, 0, 3840, 1920); }
+ QRect availableGeometry() const override { return geometry(); }
+
+ int depth() const override { return 32; }
+ QImage::Format format() const override { return QImage::Format_ARGB32_Premultiplied; }
+};
+
+void tst_QHighDpiScaling::factor()
+{
+ QHighDpiScaling::setGlobalFactor(2);
+
+ // Verfy that QHighDpiScaling::factor() does not crash on nullptr contexts.
+ QPoint fakeNativePosition = QPoint(5, 5);
+ QPlatformScreen *screenContext = nullptr;
+ QVERIFY(QHighDpiScaling::factor(screenContext) >= 0);
+ QVERIFY(QHighDpiScaling::factor(screenContext, &fakeNativePosition) >= 0);
+ QPlatformScreen *platformScreenContext = nullptr;
+ QVERIFY(QHighDpiScaling::factor(platformScreenContext) >= 0);
+ QVERIFY(QHighDpiScaling::factor(platformScreenContext, &fakeNativePosition) >= 0);
+ QWindow *windowContext = nullptr;
+ QVERIFY(QHighDpiScaling::factor(windowContext) >= 0);
+ QVERIFY(QHighDpiScaling::factor(windowContext, &fakeNativePosition) >= 0);
+}
+
+// QTBUG-77255: Test some scaling overloads
+void tst_QHighDpiScaling::scale()
+{
+ QHighDpiScaling::setGlobalFactor(2);
+ QScopedPointer<QPlatformScreen> screen(new MyPlatformScreen);
+
+ qreal nativeValue = 10;
+ const qreal value = QHighDpi::fromNativePixels(nativeValue, screen.data());
+ QCOMPARE(value, qreal(5));
+ QCOMPARE(QHighDpi::toNativePixels(value, screen.data()), nativeValue);
+
+ // 10, 10 within screen should translate to 5,5 with origin preserved
+ const QPoint nativePoint = screen->geometry().topLeft() + QPoint(10, 10);
+ const QPoint point = QHighDpi::fromNativePixels(nativePoint, screen.data());
+ QCOMPARE(point, QPoint(3845, 5));
+ QCOMPARE(QHighDpi::toNativePixels(point, screen.data()), nativePoint);
+
+ const QPointF nativePointF(nativePoint);
+ const QPointF pointF = QHighDpi::fromNativePixels(nativePointF, screen.data());
+ QCOMPARE(pointF, QPointF(3845, 5));
+ QCOMPARE(QHighDpi::toNativePixels(pointF, screen.data()), nativePointF);
+}
+
+#include "tst_qhighdpiscaling.moc"
+QTEST_MAIN(tst_QHighDpiScaling);
diff --git a/tests/auto/gui/kernel/qwindow/BLACKLIST b/tests/auto/gui/kernel/qwindow/BLACKLIST
index 1bb3917948..27463adf99 100644
--- a/tests/auto/gui/kernel/qwindow/BLACKLIST
+++ b/tests/auto/gui/kernel/qwindow/BLACKLIST
@@ -1,7 +1,5 @@
[positioning]
opensuse-leap
-ubuntu-16.04
-opensuse-42.3
[positioning:default]
linux
osx-10.12 ci
@@ -9,24 +7,17 @@ winrt
[positioning:fake]
osx-10.12 ci
[modalWithChildWindow]
-ubuntu-16.04
-opensuse-leap
# QTBUG-66851
# QTBUG-69160
-opensuse-42.3
+opensuse-leap
[setVisible]
# QTBUG-69154
android
[modalWindowEnterEventOnHide_QTBUG35109]
-ubuntu-16.04
-osx-10.11
-osx-10.13
-osx-10.14
-osx-10.12
+osx
[spuriousMouseMove]
# QTBUG-69162
-windows-10 msvc-2015
-windows-10 msvc-2017
+windows-10
[testInputEvents]
rhel-7.4
[exposeEventOnShrink_QTBUG54040]
diff --git a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
index 90a216e14a..07c820dc86 100644
--- a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
+++ b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
@@ -64,6 +64,10 @@ private slots:
void globalColors_data();
void globalColors();
+#if defined(Q_COMPILER_CONSTEXPR) & defined(Q_COMPILER_UNIFORM_INIT)
+ void colorConstants_data();
+ void colorConstants();
+#endif
void setRed();
void setGreen();
@@ -111,10 +115,6 @@ private slots:
void qcolorprofile_data();
void qcolorprofile();
-
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- void setallowX11ColorNames();
-#endif
};
// Testing get/set functions
@@ -368,6 +368,191 @@ void tst_QColor::globalColors()
QCOMPARE(color.rgba(), argb);
}
+#if defined(Q_COMPILER_CONSTEXPR) & defined(Q_COMPILER_UNIFORM_INIT)
+void tst_QColor::colorConstants_data()
+{
+ QTest::addColumn<QColor>("color");
+ QTest::addColumn<QRgb>("argb");
+
+ QTest::newRow("invalid") << QColor() << 0xff000000;
+ QTest::newRow("global color color0") << QColorConstants::Color0 << 0xff000000u;
+ QTest::newRow("global color color1") << QColorConstants::Color1 << 0xffffffffu;
+ QTest::newRow("global color black") << QColorConstants::Black << 0xff000000u;
+ QTest::newRow("global color white") << QColorConstants::White << 0xffffffffu;
+ QTest::newRow("global color darkGray") << QColorConstants::DarkGray << 0xff808080u;
+ QTest::newRow("global color gray") << QColorConstants::Gray << 0xffa0a0a4u;
+ QTest::newRow("global color lightGray") << QColorConstants::LightGray << 0xffc0c0c0u;
+ QTest::newRow("global color red") << QColorConstants::Red << 0xffff0000u;
+ QTest::newRow("global color green") << QColorConstants::Green << 0xff00ff00u;
+ QTest::newRow("global color blue") << QColorConstants::Blue << 0xff0000ffu;
+ QTest::newRow("global color cyan") << QColorConstants::Cyan << 0xff00ffffu;
+ QTest::newRow("global color magenta") << QColorConstants::Magenta << 0xffff00ffu;
+ QTest::newRow("global color yellow") << QColorConstants::Yellow << 0xffffff00u;
+ QTest::newRow("global color darkRed") << QColorConstants::DarkRed << 0xff800000u;
+ QTest::newRow("global color darkGreen") << QColorConstants::DarkGreen << 0xff008000u;
+ QTest::newRow("global color darkBlue") << QColorConstants::DarkBlue << 0xff000080u;
+ QTest::newRow("global color darkCyan") << QColorConstants::DarkCyan << 0xff008080u;
+ QTest::newRow("global color darkMagenta") << QColorConstants::DarkMagenta << 0xff800080u;
+ QTest::newRow("global color darkYellow") << QColorConstants::DarkYellow << 0xff808000u;
+ QTest::newRow("global color transparent") << QColorConstants::Transparent << 0x00000000u;
+
+ QTest::newRow("SVG aliceblue") << QColorConstants::Svg::aliceblue << 0xfff0f8ffu;
+ QTest::newRow("SVG antiquewhite") << QColorConstants::Svg::antiquewhite << 0xfffaebd7u;
+ QTest::newRow("SVG aqua") << QColorConstants::Svg::aqua << 0xff00ffffu;
+ QTest::newRow("SVG aquamarine") << QColorConstants::Svg::aquamarine << 0xff7fffd4u;
+ QTest::newRow("SVG azure") << QColorConstants::Svg::azure << 0xfff0ffffu;
+ QTest::newRow("SVG beige") << QColorConstants::Svg::beige << 0xfff5f5dcu;
+ QTest::newRow("SVG bisque") << QColorConstants::Svg::bisque << 0xffffe4c4u;
+ QTest::newRow("SVG black") << QColorConstants::Svg::black << 0xff000000u;
+ QTest::newRow("SVG blanchedalmond") << QColorConstants::Svg::blanchedalmond << 0xffffebcdu;
+ QTest::newRow("SVG blue") << QColorConstants::Svg::blue << 0xff0000ffu;
+ QTest::newRow("SVG blueviolet") << QColorConstants::Svg::blueviolet << 0xff8a2be2u;
+ QTest::newRow("SVG brown") << QColorConstants::Svg::brown << 0xffa52a2au;
+ QTest::newRow("SVG burlywood") << QColorConstants::Svg::burlywood << 0xffdeb887u;
+ QTest::newRow("SVG cadetblue") << QColorConstants::Svg::cadetblue << 0xff5f9ea0u;
+ QTest::newRow("SVG chartreuse") << QColorConstants::Svg::chartreuse << 0xff7fff00u;
+ QTest::newRow("SVG chocolate") << QColorConstants::Svg::chocolate << 0xffd2691eu;
+ QTest::newRow("SVG coral") << QColorConstants::Svg::coral << 0xffff7f50u;
+ QTest::newRow("SVG cornflowerblue") << QColorConstants::Svg::cornflowerblue << 0xff6495edu;
+ QTest::newRow("SVG cornsilk") << QColorConstants::Svg::cornsilk << 0xfffff8dcu;
+ QTest::newRow("SVG crimson") << QColorConstants::Svg::crimson << 0xffdc143cu;
+ QTest::newRow("SVG cyan") << QColorConstants::Svg::cyan << 0xff00ffffu;
+ QTest::newRow("SVG darkblue") << QColorConstants::Svg::darkblue << 0xff00008bu;
+ QTest::newRow("SVG darkcyan") << QColorConstants::Svg::darkcyan << 0xff008b8bu;
+ QTest::newRow("SVG darkgoldenrod") << QColorConstants::Svg::darkgoldenrod << 0xffb8860bu;
+ QTest::newRow("SVG darkgray") << QColorConstants::Svg::darkgray << 0xffa9a9a9u;
+ QTest::newRow("SVG darkgreen") << QColorConstants::Svg::darkgreen << 0xff006400u;
+ QTest::newRow("SVG darkgrey") << QColorConstants::Svg::darkgrey << 0xffa9a9a9u;
+ QTest::newRow("SVG darkkhaki") << QColorConstants::Svg::darkkhaki << 0xffbdb76bu;
+ QTest::newRow("SVG darkmagenta") << QColorConstants::Svg::darkmagenta << 0xff8b008bu;
+ QTest::newRow("SVG darkolivegreen") << QColorConstants::Svg::darkolivegreen << 0xff556b2fu;
+ QTest::newRow("SVG darkorange") << QColorConstants::Svg::darkorange << 0xffff8c00u;
+ QTest::newRow("SVG darkorchid") << QColorConstants::Svg::darkorchid << 0xff9932ccu;
+ QTest::newRow("SVG darkred") << QColorConstants::Svg::darkred << 0xff8b0000u;
+ QTest::newRow("SVG darksalmon") << QColorConstants::Svg::darksalmon << 0xffe9967au;
+ QTest::newRow("SVG darkseagreen") << QColorConstants::Svg::darkseagreen << 0xff8fbc8fu;
+ QTest::newRow("SVG darkslateblue") << QColorConstants::Svg::darkslateblue << 0xff483d8bu;
+ QTest::newRow("SVG darkslategray") << QColorConstants::Svg::darkslategray << 0xff2f4f4fu;
+ QTest::newRow("SVG darkslategrey") << QColorConstants::Svg::darkslategrey << 0xff2f4f4fu;
+ QTest::newRow("SVG darkturquoise") << QColorConstants::Svg::darkturquoise << 0xff00ced1u;
+ QTest::newRow("SVG darkviolet") << QColorConstants::Svg::darkviolet << 0xff9400d3u;
+ QTest::newRow("SVG deeppink") << QColorConstants::Svg::deeppink << 0xffff1493u;
+ QTest::newRow("SVG deepskyblue") << QColorConstants::Svg::deepskyblue << 0xff00bfffu;
+ QTest::newRow("SVG dimgray") << QColorConstants::Svg::dimgray << 0xff696969u;
+ QTest::newRow("SVG dimgrey") << QColorConstants::Svg::dimgrey << 0xff696969u;
+ QTest::newRow("SVG dodgerblue") << QColorConstants::Svg::dodgerblue << 0xff1e90ffu;
+ QTest::newRow("SVG firebrick") << QColorConstants::Svg::firebrick << 0xffb22222u;
+ QTest::newRow("SVG floralwhite") << QColorConstants::Svg::floralwhite << 0xfffffaf0u;
+ QTest::newRow("SVG forestgreen") << QColorConstants::Svg::forestgreen << 0xff228b22u;
+ QTest::newRow("SVG fuchsia") << QColorConstants::Svg::fuchsia << 0xffff00ffu;
+ QTest::newRow("SVG gainsboro") << QColorConstants::Svg::gainsboro << 0xffdcdcdcu;
+ QTest::newRow("SVG ghostwhite") << QColorConstants::Svg::ghostwhite << 0xfff8f8ffu;
+ QTest::newRow("SVG gold") << QColorConstants::Svg::gold << 0xffffd700u;
+ QTest::newRow("SVG goldenrod") << QColorConstants::Svg::goldenrod << 0xffdaa520u;
+ QTest::newRow("SVG gray") << QColorConstants::Svg::gray << 0xff808080u;
+ QTest::newRow("SVG green") << QColorConstants::Svg::green << 0xff008000u;
+ QTest::newRow("SVG greenyellow") << QColorConstants::Svg::greenyellow << 0xffadff2fu;
+ QTest::newRow("SVG grey") << QColorConstants::Svg::grey << 0xff808080u;
+ QTest::newRow("SVG honeydew") << QColorConstants::Svg::honeydew << 0xfff0fff0u;
+ QTest::newRow("SVG hotpink") << QColorConstants::Svg::hotpink << 0xffff69b4u;
+ QTest::newRow("SVG indianred") << QColorConstants::Svg::indianred << 0xffcd5c5cu;
+ QTest::newRow("SVG indigo") << QColorConstants::Svg::indigo << 0xff4b0082u;
+ QTest::newRow("SVG ivory") << QColorConstants::Svg::ivory << 0xfffffff0u;
+ QTest::newRow("SVG khaki") << QColorConstants::Svg::khaki << 0xfff0e68cu;
+ QTest::newRow("SVG lavender") << QColorConstants::Svg::lavender << 0xffe6e6fau;
+ QTest::newRow("SVG lavenderblush") << QColorConstants::Svg::lavenderblush << 0xfffff0f5u;
+ QTest::newRow("SVG lawngreen") << QColorConstants::Svg::lawngreen << 0xff7cfc00u;
+ QTest::newRow("SVG lemonchiffon") << QColorConstants::Svg::lemonchiffon << 0xfffffacdu;
+ QTest::newRow("SVG lightblue") << QColorConstants::Svg::lightblue << 0xffadd8e6u;
+ QTest::newRow("SVG lightcoral") << QColorConstants::Svg::lightcoral << 0xfff08080u;
+ QTest::newRow("SVG lightcyan") << QColorConstants::Svg::lightcyan << 0xffe0ffffu;
+ QTest::newRow("SVG lightgoldenrodyellow") << QColorConstants::Svg::lightgoldenrodyellow << 0xfffafad2u;
+ QTest::newRow("SVG lightgray") << QColorConstants::Svg::lightgray << 0xffd3d3d3u;
+ QTest::newRow("SVG lightgreen") << QColorConstants::Svg::lightgreen << 0xff90ee90u;
+ QTest::newRow("SVG lightgrey") << QColorConstants::Svg::lightgrey << 0xffd3d3d3u;
+ QTest::newRow("SVG lightpink") << QColorConstants::Svg::lightpink << 0xffffb6c1u;
+ QTest::newRow("SVG lightsalmon") << QColorConstants::Svg::lightsalmon << 0xffffa07au;
+ QTest::newRow("SVG lightseagreen") << QColorConstants::Svg::lightseagreen << 0xff20b2aau;
+ QTest::newRow("SVG lightskyblue") << QColorConstants::Svg::lightskyblue << 0xff87cefau;
+ QTest::newRow("SVG lightslategray") << QColorConstants::Svg::lightslategray << 0xff778899u;
+ QTest::newRow("SVG lightslategrey") << QColorConstants::Svg::lightslategrey << 0xff778899u;
+ QTest::newRow("SVG lightsteelblue") << QColorConstants::Svg::lightsteelblue << 0xffb0c4deu;
+ QTest::newRow("SVG lightyellow") << QColorConstants::Svg::lightyellow << 0xffffffe0u;
+ QTest::newRow("SVG lime") << QColorConstants::Svg::lime << 0xff00ff00u;
+ QTest::newRow("SVG limegreen") << QColorConstants::Svg::limegreen << 0xff32cd32u;
+ QTest::newRow("SVG linen") << QColorConstants::Svg::linen << 0xfffaf0e6u;
+ QTest::newRow("SVG magenta") << QColorConstants::Svg::magenta << 0xffff00ffu;
+ QTest::newRow("SVG maroon") << QColorConstants::Svg::maroon << 0xff800000u;
+ QTest::newRow("SVG mediumaquamarine") << QColorConstants::Svg::mediumaquamarine << 0xff66cdaau;
+ QTest::newRow("SVG mediumblue") << QColorConstants::Svg::mediumblue << 0xff0000cdu;
+ QTest::newRow("SVG mediumorchid") << QColorConstants::Svg::mediumorchid << 0xffba55d3u;
+ QTest::newRow("SVG mediumpurple") << QColorConstants::Svg::mediumpurple << 0xff9370dbu;
+ QTest::newRow("SVG mediumseagreen") << QColorConstants::Svg::mediumseagreen << 0xff3cb371u;
+ QTest::newRow("SVG mediumslateblue") << QColorConstants::Svg::mediumslateblue << 0xff7b68eeu;
+ QTest::newRow("SVG mediumspringgreen") << QColorConstants::Svg::mediumspringgreen << 0xff00fa9au;
+ QTest::newRow("SVG mediumturquoise") << QColorConstants::Svg::mediumturquoise << 0xff48d1ccu;
+ QTest::newRow("SVG mediumvioletred") << QColorConstants::Svg::mediumvioletred << 0xffc71585u;
+ QTest::newRow("SVG midnightblue") << QColorConstants::Svg::midnightblue << 0xff191970u;
+ QTest::newRow("SVG mintcream") << QColorConstants::Svg::mintcream << 0xfff5fffau;
+ QTest::newRow("SVG mistyrose") << QColorConstants::Svg::mistyrose << 0xffffe4e1u;
+ QTest::newRow("SVG moccasin") << QColorConstants::Svg::moccasin << 0xffffe4b5u;
+ QTest::newRow("SVG navajowhite") << QColorConstants::Svg::navajowhite << 0xffffdeadu;
+ QTest::newRow("SVG navy") << QColorConstants::Svg::navy << 0xff000080u;
+ QTest::newRow("SVG oldlace") << QColorConstants::Svg::oldlace << 0xfffdf5e6u;
+ QTest::newRow("SVG olive") << QColorConstants::Svg::olive << 0xff808000u;
+ QTest::newRow("SVG olivedrab") << QColorConstants::Svg::olivedrab << 0xff6b8e23u;
+ QTest::newRow("SVG orange") << QColorConstants::Svg::orange << 0xffffa500u;
+ QTest::newRow("SVG orangered") << QColorConstants::Svg::orangered << 0xffff4500u;
+ QTest::newRow("SVG orchid") << QColorConstants::Svg::orchid << 0xffda70d6u;
+ QTest::newRow("SVG palegoldenrod") << QColorConstants::Svg::palegoldenrod << 0xffeee8aau;
+ QTest::newRow("SVG palegreen") << QColorConstants::Svg::palegreen << 0xff98fb98u;
+ QTest::newRow("SVG paleturquoise") << QColorConstants::Svg::paleturquoise << 0xffafeeeeu;
+ QTest::newRow("SVG palevioletred") << QColorConstants::Svg::palevioletred << 0xffdb7093u;
+ QTest::newRow("SVG papayawhip") << QColorConstants::Svg::papayawhip << 0xffffefd5u;
+ QTest::newRow("SVG peachpuff") << QColorConstants::Svg::peachpuff << 0xffffdab9u;
+ QTest::newRow("SVG peru") << QColorConstants::Svg::peru << 0xffcd853fu;
+ QTest::newRow("SVG pink") << QColorConstants::Svg::pink << 0xffffc0cbu;
+ QTest::newRow("SVG plum") << QColorConstants::Svg::plum << 0xffdda0ddu;
+ QTest::newRow("SVG powderblue") << QColorConstants::Svg::powderblue << 0xffb0e0e6u;
+ QTest::newRow("SVG purple") << QColorConstants::Svg::purple << 0xff800080u;
+ QTest::newRow("SVG red") << QColorConstants::Svg::red << 0xffff0000u;
+ QTest::newRow("SVG rosybrown") << QColorConstants::Svg::rosybrown << 0xffbc8f8fu;
+ QTest::newRow("SVG royalblue") << QColorConstants::Svg::royalblue << 0xff4169e1u;
+ QTest::newRow("SVG saddlebrown") << QColorConstants::Svg::saddlebrown << 0xff8b4513u;
+ QTest::newRow("SVG salmon") << QColorConstants::Svg::salmon << 0xfffa8072u;
+ QTest::newRow("SVG sandybrown") << QColorConstants::Svg::sandybrown << 0xfff4a460u;
+ QTest::newRow("SVG seagreen") << QColorConstants::Svg::seagreen << 0xff2e8b57u;
+ QTest::newRow("SVG seashell") << QColorConstants::Svg::seashell << 0xfffff5eeu;
+ QTest::newRow("SVG sienna") << QColorConstants::Svg::sienna << 0xffa0522du;
+ QTest::newRow("SVG silver") << QColorConstants::Svg::silver << 0xffc0c0c0u;
+ QTest::newRow("SVG skyblue") << QColorConstants::Svg::skyblue << 0xff87ceebu;
+ QTest::newRow("SVG slateblue") << QColorConstants::Svg::slateblue << 0xff6a5acdu;
+ QTest::newRow("SVG slategray") << QColorConstants::Svg::slategray << 0xff708090u;
+ QTest::newRow("SVG slategrey") << QColorConstants::Svg::slategrey << 0xff708090u;
+ QTest::newRow("SVG snow") << QColorConstants::Svg::snow << 0xfffffafau;
+ QTest::newRow("SVG springgreen") << QColorConstants::Svg::springgreen << 0xff00ff7fu;
+ QTest::newRow("SVG steelblue") << QColorConstants::Svg::steelblue << 0xff4682b4u;
+ QTest::newRow("SVG tan") << QColorConstants::Svg::tan << 0xffd2b48cu;
+ QTest::newRow("SVG teal") << QColorConstants::Svg::teal << 0xff008080u;
+ QTest::newRow("SVG thistle") << QColorConstants::Svg::thistle << 0xffd8bfd8u;
+ QTest::newRow("SVG tomato") << QColorConstants::Svg::tomato << 0xffff6347u;
+ QTest::newRow("SVG turquoise") << QColorConstants::Svg::turquoise << 0xff40e0d0u;
+ QTest::newRow("SVG violet") << QColorConstants::Svg::violet << 0xffee82eeu;
+ QTest::newRow("SVG wheat") << QColorConstants::Svg::wheat << 0xfff5deb3u;
+ QTest::newRow("SVG white") << QColorConstants::Svg::white << 0xffffffffu;
+ QTest::newRow("SVG whitesmoke") << QColorConstants::Svg::whitesmoke << 0xfff5f5f5u;
+ QTest::newRow("SVG yellow") << QColorConstants::Svg::yellow << 0xffffff00u;
+ QTest::newRow("SVG yellowgreen") << QColorConstants::Svg::yellowgreen << 0xff9acd32u;
+}
+
+void tst_QColor::colorConstants()
+{
+ QFETCH(QColor, color);
+ QFETCH(QRgb, argb);
+ QCOMPARE(color.rgba(), argb);
+}
+#endif // defined(Q_COMPILER_CONSTEXPR) & defined(Q_COMPILER_UNIFORM_INIT)
+
/*
CSS color names = SVG 1.0 color names + transparent (rgba(0,0,0,0))
*/
@@ -1460,62 +1645,6 @@ void tst_QColor::achromaticHslHue()
QCOMPARE(hsl.hslHue(), -1);
}
-#if 0 // Used to be included in Qt4 for Q_WS_X11
-void tst_QColor::setallowX11ColorNames()
-{
- RGBData x11RgbTbl[] = {
- // a few standard X11 color names
- { "DodgerBlue1", qRgb(30, 144, 255) },
- { "DodgerBlue2", qRgb(28, 134, 238) },
- { "DodgerBlue3", qRgb(24, 116, 205) },
- { "DodgerBlue4", qRgb(16, 78, 139) },
- { "SteelBlue1", qRgb(99, 184, 255) },
- { "SteelBlue2", qRgb(92, 172, 238) },
- { "SteelBlue3", qRgb(79, 148, 205) },
- { "SteelBlue4", qRgb(54, 100, 139) },
- { "DeepSkyBlue1", qRgb(0, 191, 255) },
- { "DeepSkyBlue2", qRgb(0, 178, 238) },
- { "DeepSkyBlue3", qRgb(0, 154, 205) },
- { "DeepSkyBlue4", qRgb(0, 104, 139) },
- { "SkyBlue1", qRgb(135, 206, 255) },
- { "SkyBlue2", qRgb(126, 192, 238) },
- { "SkyBlue3", qRgb(108, 166, 205) },
- { "SkyBlue4", qRgb(74, 112, 139) }
- };
- static const int x11RgbTblSize = sizeof(x11RgbTbl) / sizeof(RGBData);
-
- // X11 color names should not work by default
- QVERIFY(!QColor::allowX11ColorNames());
- for (int i = 0; i < x11RgbTblSize; ++i) {
- QString colorName = QLatin1String(x11RgbTbl[i].name);
- QColor color;
- color.setNamedColor(colorName);
- QVERIFY(!color.isValid());
- }
-
- // enable X11 color names
- QColor::setAllowX11ColorNames(true);
- QVERIFY(QColor::allowX11ColorNames());
- for (int i = 0; i < x11RgbTblSize; ++i) {
- QString colorName = QLatin1String(x11RgbTbl[i].name);
- QColor color;
- color.setNamedColor(colorName);
- QColor expected(x11RgbTbl[i].value);
- QCOMPARE(color, expected);
- }
-
- // should be able to turn off X11 color names
- QColor::setAllowX11ColorNames(false);
- QVERIFY(!QColor::allowX11ColorNames());
- for (int i = 0; i < x11RgbTblSize; ++i) {
- QString colorName = QLatin1String(x11RgbTbl[i].name);
- QColor color;
- color.setNamedColor(colorName);
- QVERIFY(!color.isValid());
- }
-}
-#endif
-
void tst_QColor::premultiply()
{
// Tests that qPremultiply(qUnpremultiply(x)) returns x.
diff --git a/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp
index bc1a45013c..9e13dc80b4 100644
--- a/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp
+++ b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp
@@ -47,6 +47,7 @@ public:
tst_QColorSpace();
private slots:
+ void movable();
void namedColorSpaces_data();
void namedColorSpaces();
@@ -75,6 +76,28 @@ tst_QColorSpace::tst_QColorSpace()
{ }
+void tst_QColorSpace::movable()
+{
+ QColorSpace cs1 = QColorSpace::SRgb;
+ QColorSpace cs2 = QColorSpace::SRgbLinear;
+ QVERIFY(cs1.isValid());
+ QVERIFY(cs2.isValid());
+ QCOMPARE(cs1.colorSpaceId(), QColorSpace::SRgb);
+
+ cs2 = std::move(cs1);
+ QVERIFY(!cs1.isValid());
+ QVERIFY(cs2.isValid());
+ QCOMPARE(cs2.colorSpaceId(), QColorSpace::SRgb);
+ QCOMPARE(cs1.colorSpaceId(), QColorSpace::Undefined);
+ QCOMPARE(cs1, QColorSpace());
+
+ QColorSpace cs3(std::move(cs2));
+ QVERIFY(!cs2.isValid());
+ QVERIFY(cs3.isValid());
+ QCOMPARE(cs3.colorSpaceId(), QColorSpace::SRgb);
+ QCOMPARE(cs2.colorSpaceId(), QColorSpace::Undefined);
+}
+
void tst_QColorSpace::namedColorSpaces_data()
{
QTest::addColumn<QColorSpace::ColorSpaceId>("colorSpaceId");
diff --git a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
index 0efeb9b356..d2a4dfc3e9 100644
--- a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
+++ b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
@@ -461,11 +461,6 @@ void tst_QPainter::drawPixmap_comp()
destPm.fill(c1);
srcPm.fill(c2);
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- if (!destPm.x11PictureHandle())
- QSKIP("Requires XRender support");
-#endif
-
QPainter p(&destPm);
p.drawPixmap(0, 0, srcPm);
p.end();
@@ -1637,6 +1632,7 @@ void tst_QPainter::qimageFormats_data()
QTest::newRow("Qimage::Format_RGB555") << QImage::Format_RGB555;
QTest::newRow("Qimage::Format_ARGB8555_Premultiplied") << QImage::Format_ARGB8555_Premultiplied;
QTest::newRow("Qimage::Format_RGB888") << QImage::Format_RGB888;
+ QTest::newRow("Qimage::Format_BGR888") << QImage::Format_BGR888;
QTest::newRow("Qimage::Format_A2RGB30_Premultiplied") << QImage::Format_A2RGB30_Premultiplied;
QTest::newRow("Qimage::Format_RGB30") << QImage::Format_RGB30;
}
diff --git a/tests/auto/gui/painting/qpainterpath/BLACKLIST b/tests/auto/gui/painting/qpainterpath/BLACKLIST
new file mode 100644
index 0000000000..b3e6d3bfe4
--- /dev/null
+++ b/tests/auto/gui/painting/qpainterpath/BLACKLIST
@@ -0,0 +1,2 @@
+[contains_QPointF]
+msvc-2019
diff --git a/tests/auto/gui/painting/qregion/tst_qregion.cpp b/tests/auto/gui/painting/qregion/tst_qregion.cpp
index 24c4583819..d1ea7706b9 100644
--- a/tests/auto/gui/painting/qregion/tst_qregion.cpp
+++ b/tests/auto/gui/painting/qregion/tst_qregion.cpp
@@ -33,9 +33,6 @@
#include <qbitmap.h>
#include <qpainter.h>
#include <qpolygon.h>
-#if 0 // Used to be included in Qt4 for Q_WS_X11
-#include <private/qt_x11_p.h>
-#endif
class tst_QRegion : public QObject
{
@@ -79,9 +76,6 @@ private slots:
void isEmpty_data();
void isEmpty();
-#if 0 /* Used to be included in Qt4 for Q_WS_X11 */ && defined(QT_BUILD_INTERNAL)
- void clipRectangles();
-#endif
void regionFromPath();
void scaleRegions_data();
@@ -910,24 +904,6 @@ void tst_QRegion::isEmpty()
#endif
}
-#if 0 /* Used to be included in Qt4 for Q_WS_X11 */ && defined(QT_BUILD_INTERNAL)
-void tst_QRegion::clipRectangles()
-{
- QRegion region(30, 30, 30, 30);
- int num = 0;
- qt_getClipRects(region, num);
- QCOMPARE(num, 1);
-
- region += QRegion(10, 10, 10, 10);
- XRectangle *rects2 = static_cast<XRectangle *>(qt_getClipRects(region, num));
- QCOMPARE(num, 2);
-
- // Here's the important part (Y-sorted):
- QCOMPARE(int(rects2[0].y), 10);
- QCOMPARE(int(rects2[1].y), 30);
-}
-#endif
-
void tst_QRegion::regionFromPath()
{
{
diff --git a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
index 7dbeb13aa7..7764a716ca 100644
--- a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
+++ b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
@@ -78,6 +78,8 @@ private slots:
void extractBorder();
void noTextDecoration();
void quotedAndUnquotedIdentifiers();
+ void whitespaceValues_data();
+ void whitespaceValues();
};
void tst_QCssParser::scanner_data()
@@ -1746,6 +1748,33 @@ void tst_QCssParser::quotedAndUnquotedIdentifiers()
QCOMPARE(decls.at(1).d->values.first().toString(), QLatin1String("bold"));
}
+void tst_QCssParser::whitespaceValues_data()
+{
+ QTest::addColumn<QString>("value");
+
+ QTest::newRow("normal") << "normal";
+ QTest::newRow("inherit") << "inherit";
+ QTest::newRow("nowrap") << "nowrap";
+ QTest::newRow("pre") << "pre";
+ QTest::newRow("pre-wrap") << "pre-wrap";
+ QTest::newRow("pre-line") << "pre-line";
+}
+
+void tst_QCssParser::whitespaceValues()
+{
+ QFETCH(QString, value);
+ QCss::Parser parser(QString("foo { white-space: %1 }").arg(value));
+ QCss::StyleSheet sheet;
+ QVERIFY(parser.parse(&sheet));
+
+ QCss::StyleRule rule = (!sheet.styleRules.isEmpty()) ?
+ sheet.styleRules.at(0) : *sheet.nameIndex.begin();
+ QCOMPARE(rule.declarations.size(), 1);
+
+ QCOMPARE(rule.declarations.at(0).d->property, QLatin1String("white-space"));
+ QCOMPARE(rule.declarations.at(0).d->values.first().toString(), value);
+}
+
QTEST_MAIN(tst_QCssParser)
#include "tst_qcssparser.moc"
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 591fafc7fb..52e56feb5a 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -50,6 +50,7 @@
#include <QDomDocument>
#include "common.h"
+// #define DEBUG_WRITE_OUTPUT
QT_FORWARD_DECLARE_CLASS(QTextDocument)
@@ -191,10 +192,12 @@ private slots:
void fontTagFace();
+ void clearUndoRedoStacks();
private:
void backgroundImage_checkExpectedHtml(const QTextDocument &doc);
void buildRegExpData();
static QString cssFontSizeString(const QFont &font);
+ void writeActualAndExpected(const char* testTag, const QString &actual, const QString &expected);
QTextDocument *doc;
QTextCursor cursor;
@@ -223,6 +226,27 @@ QString tst_QTextDocument::cssFontSizeString(const QFont &font)
: QString::number(font.pixelSize()) + QStringLiteral("px");
}
+void tst_QTextDocument::writeActualAndExpected(const char *testTag, const QString &actual, const QString &expected)
+{
+#ifdef DEBUG_WRITE_OUTPUT
+ {
+ QFile out(QDir::temp().absoluteFilePath(QLatin1String(testTag) + QLatin1String("-actual.html")));
+ out.open(QFile::WriteOnly);
+ out.write(actual.toUtf8());
+ out.close();
+ } {
+ QFile out(QDir::temp().absoluteFilePath(QLatin1String(testTag) + QLatin1String("-expected.html")));
+ out.open(QFile::WriteOnly);
+ out.write(expected.toUtf8());
+ out.close();
+ }
+#else
+ Q_UNUSED(testTag)
+ Q_UNUSED(actual)
+ Q_UNUSED(expected)
+#endif
+}
+
// Testing get/set functions
void tst_QTextDocument::getSetCheck()
{
@@ -1764,6 +1788,8 @@ void tst_QTextDocument::toHtml()
QString output = doc->toHtml();
+ writeActualAndExpected(QTest::currentDataTag(), output, expectedOutput);
+
QCOMPARE(output, expectedOutput);
QDomDocument document;
@@ -1961,6 +1987,8 @@ void tst_QTextDocument::toHtmlRootFrameProperties()
expectedOutput.replace("DEFAULTBLOCKSTYLE", "style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"");
expectedOutput.append(htmlTail);
+ writeActualAndExpected(QTest::currentTestFunction(), doc.toHtml(), expectedOutput);
+
QCOMPARE(doc.toHtml(), expectedOutput);
}
@@ -2733,6 +2761,8 @@ void tst_QTextDocument::backgroundImage_checkExpectedHtml(const QTextDocument &d
.arg(defaultFont.weight() * 8)
.arg((defaultFont.italic() ? "italic" : "normal"));
+ writeActualAndExpected(QTest::currentTestFunction(), doc.toHtml(), expectedHtml);
+
QCOMPARE(doc.toHtml(), expectedHtml);
}
@@ -3522,5 +3552,16 @@ void tst_QTextDocument::fontTagFace()
}
}
+void tst_QTextDocument::clearUndoRedoStacks()
+{
+ QTextDocument doc;
+ QTextCursor c(&doc);
+ c.insertText(QStringLiteral("lorem ipsum"));
+ QVERIFY(doc.isUndoAvailable());
+ doc.clearUndoRedoStacks(QTextDocument::UndoStack); // Don't crash
+ QVERIFY(!doc.isUndoAvailable());
+}
+
+
QTEST_MAIN(tst_QTextDocument)
#include "tst_qtextdocument.moc"
diff --git a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
index 664ca98a3f..b6917f1208 100644
--- a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
+++ b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
@@ -181,6 +181,11 @@ private slots:
void html_tableCellBackground();
void css_bodyBackground();
void css_tableCellBackground();
+ void css_tableCellBorder();
+ void css_tableCellBorderShorthand();
+ void css_tableCellAllBordersShorthand();
+ void css_tableCellOverrideOneBorder();
+ void css_tableBorderCollapse();
void css_fontWeight();
void css_float();
void css_textIndent();
@@ -1272,11 +1277,11 @@ void tst_QTextDocumentFragment::html_whitespace_data()
QTest::newRow("2") << QString("<span> </span><span>nowhitespacehereplease</span>")
<< QString::fromLatin1("nowhitespacehereplease");
- QTest::newRow("3") << QString("<span style=\"white-space: pre;\"> white space here </span>")
- << QString::fromLatin1(" white space here ");
+ QTest::newRow("3") << QString("<span style=\"white-space: pre;\"> white space \n\n here </span>")
+ << QString::fromLatin1(" white space \n\n here ");
- QTest::newRow("4") << QString("<span style=\"white-space: pre-wrap;\"> white space here </span>")
- << QString::fromLatin1(" white space here ");
+ QTest::newRow("4") << QString("<span style=\"white-space: pre-wrap;\"> white space \n\n here </span>")
+ << QString::fromLatin1(" white space \n\n here ");
QTest::newRow("5") << QString("<a href=\"One.html\">One</a> <a href=\"Two.html\">Two</a> <b>Three</b>\n"
"<b>Four</b>")
@@ -1291,6 +1296,12 @@ void tst_QTextDocumentFragment::html_whitespace_data()
QTest::newRow("8") << QString("<table><tr><td><i>Blah</i></td></tr></table> <i>Blub</i>")
<< QString("\nBlah\nBlub");
+ QTest::newRow("9") << QString("<span style=\"white-space: nowrap;\"> white space \n\n here </span>")
+ << QString::fromLatin1("white space here ");
+
+ QTest::newRow("10") << QString("<span style=\"white-space: pre-line;\"> white space \n\n here </span>")
+ << QString::fromLatin1("white space\n\nhere ");
+
QTest::newRow("task116492") << QString("<p>a<font=\"Times\"> b </font>c</p>")
<< QString("a b c");
@@ -1747,6 +1758,135 @@ void tst_QTextDocumentFragment::css_tableCellBackground()
QCOMPARE(cell.format().background().style(), Qt::TexturePattern);
}
+void tst_QTextDocumentFragment::css_tableCellBorder()
+{
+ const char html[] = "<body><table><tr><td style=\"border-width:8px;border-color:green;border-style:groove;border-left-style:dashed;border-left-color:red;border-left-width:4px\">Foo</td></tr></table></body>";
+ doc->setHtml(html);
+
+ cursor.movePosition(QTextCursor::Start);
+ cursor.movePosition(QTextCursor::NextBlock);
+ QTextTable *table = cursor.currentTable();
+ QVERIFY(table);
+
+ QTextTableCell cell = table->cellAt(0, 0);
+ QTextTableCellFormat cellFormat = cell.format().toTableCellFormat();
+ QCOMPARE(cellFormat.leftBorder(), qreal(4));
+ QCOMPARE(cellFormat.leftBorderBrush(), QBrush(QColor("red")));
+ QCOMPARE(cellFormat.leftBorderStyle(), QTextFrameFormat::BorderStyle_Dashed);
+
+ QCOMPARE(cellFormat.rightBorder(), qreal(8));
+ QCOMPARE(cellFormat.rightBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.rightBorderStyle(), QTextFrameFormat::BorderStyle_Groove);
+
+ QCOMPARE(cellFormat.bottomBorder(), qreal(8));
+ QCOMPARE(cellFormat.bottomBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.bottomBorderStyle(), QTextFrameFormat::BorderStyle_Groove);
+
+ QCOMPARE(cellFormat.topBorder(), qreal(8));
+ QCOMPARE(cellFormat.topBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.topBorderStyle(), QTextFrameFormat::BorderStyle_Groove);
+}
+
+void tst_QTextDocumentFragment::css_tableCellBorderShorthand()
+{
+ const char html[] = "<body><table><tr><td style=\"border-left:1px solid green;border-right:2px dashed red;border-bottom:3px dotted yellow;border-top:4px dot-dash blue\">Foo</td></tr></table></body>";
+ doc->setHtml(html);
+
+ cursor.movePosition(QTextCursor::Start);
+ cursor.movePosition(QTextCursor::NextBlock);
+ QTextTable *table = cursor.currentTable();
+ QVERIFY(table);
+
+ QTextTableCell cell = table->cellAt(0, 0);
+ QTextTableCellFormat cellFormat = cell.format().toTableCellFormat();
+ QCOMPARE(cellFormat.leftBorder(), qreal(1));
+ QCOMPARE(cellFormat.leftBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.leftBorderStyle(), QTextFrameFormat::BorderStyle_Solid);
+
+ QCOMPARE(cellFormat.rightBorder(), qreal(2));
+ QCOMPARE(cellFormat.rightBorderBrush(), QBrush(QColor("red")));
+ QCOMPARE(cellFormat.rightBorderStyle(), QTextFrameFormat::BorderStyle_Dashed);
+
+ QCOMPARE(cellFormat.bottomBorder(), qreal(3));
+ QCOMPARE(cellFormat.bottomBorderBrush(), QBrush(QColor("yellow")));
+ QCOMPARE(cellFormat.bottomBorderStyle(), QTextFrameFormat::BorderStyle_Dotted);
+
+ QCOMPARE(cellFormat.topBorder(), qreal(4));
+ QCOMPARE(cellFormat.topBorderBrush(), QBrush(QColor("blue")));
+ QCOMPARE(cellFormat.topBorderStyle(), QTextFrameFormat::BorderStyle_DotDash);
+}
+
+void tst_QTextDocumentFragment::css_tableCellAllBordersShorthand()
+{
+ const char html[] = "<body><table><tr><td style=\"border:2px dashed green\">Foo</td></tr></table></body>";
+ doc->setHtml(html);
+
+ cursor.movePosition(QTextCursor::Start);
+ cursor.movePosition(QTextCursor::NextBlock);
+ QTextTable *table = cursor.currentTable();
+ QVERIFY(table);
+
+ QTextTableCell cell = table->cellAt(0, 0);
+ QTextTableCellFormat cellFormat = cell.format().toTableCellFormat();
+ QCOMPARE(cellFormat.leftBorder(), qreal(2));
+ QCOMPARE(cellFormat.leftBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.leftBorderStyle(), QTextFrameFormat::BorderStyle_Dashed);
+
+ QCOMPARE(cellFormat.rightBorder(), qreal(2));
+ QCOMPARE(cellFormat.rightBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.rightBorderStyle(), QTextFrameFormat::BorderStyle_Dashed);
+
+ QCOMPARE(cellFormat.bottomBorder(), qreal(2));
+ QCOMPARE(cellFormat.bottomBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.bottomBorderStyle(), QTextFrameFormat::BorderStyle_Dashed);
+
+ QCOMPARE(cellFormat.topBorder(), qreal(2));
+ QCOMPARE(cellFormat.topBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.topBorderStyle(), QTextFrameFormat::BorderStyle_Dashed);
+}
+
+void tst_QTextDocumentFragment::css_tableCellOverrideOneBorder()
+{
+ const char html[] = "<body><table><tr><td style=\"border:2px dashed green;border-left:4px solid red\">Foo</td></tr></table></body>";
+ doc->setHtml(html);
+
+ cursor.movePosition(QTextCursor::Start);
+ cursor.movePosition(QTextCursor::NextBlock);
+ QTextTable *table = cursor.currentTable();
+ QVERIFY(table);
+
+ QTextTableCell cell = table->cellAt(0, 0);
+ QTextTableCellFormat cellFormat = cell.format().toTableCellFormat();
+ QCOMPARE(cellFormat.leftBorder(), qreal(4));
+ QCOMPARE(cellFormat.leftBorderBrush(), QBrush(QColor("red")));
+ QCOMPARE(cellFormat.leftBorderStyle(), QTextFrameFormat::BorderStyle_Solid);
+
+ QCOMPARE(cellFormat.rightBorder(), qreal(2));
+ QCOMPARE(cellFormat.rightBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.rightBorderStyle(), QTextFrameFormat::BorderStyle_Dashed);
+
+ QCOMPARE(cellFormat.bottomBorder(), qreal(2));
+ QCOMPARE(cellFormat.bottomBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.bottomBorderStyle(), QTextFrameFormat::BorderStyle_Dashed);
+
+ QCOMPARE(cellFormat.topBorder(), qreal(2));
+ QCOMPARE(cellFormat.topBorderBrush(), QBrush(QColor("green")));
+ QCOMPARE(cellFormat.topBorderStyle(), QTextFrameFormat::BorderStyle_Dashed);
+}
+
+void tst_QTextDocumentFragment::css_tableBorderCollapse()
+{
+ const char html[] = "<body><table style=\"border-collapse:collapse\"><tr><td>Foo</td></tr></table></body>";
+ doc->setHtml(html);
+
+ cursor.movePosition(QTextCursor::Start);
+ cursor.movePosition(QTextCursor::NextBlock);
+ QTextTable *table = cursor.currentTable();
+ QVERIFY(table);
+
+ QCOMPARE(table->format().borderCollapse(), true);
+}
+
void tst_QTextDocumentFragment::css_cellPaddings()
{
const char html[] = "<body><table><tr><td style=\"padding-left:1\">Foo</td>"
diff --git a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp
index f21b969aa7..7b2ff4cc10 100644
--- a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp
+++ b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp
@@ -50,6 +50,8 @@ typedef QList<int> IntList;
QT_FORWARD_DECLARE_CLASS(QTextDocument)
+Q_DECLARE_METATYPE(QTextFrameFormat::BorderStyle);
+
class tst_QTextTable : public QObject
{
Q_OBJECT
@@ -95,6 +97,8 @@ private slots:
#if !defined(QT_NO_PRINTER) && defined(QT_BUILD_INTERNAL)
void QTBUG31330_renderBackground();
#endif
+ void checkBorderAttributes_data();
+ void checkBorderAttributes();
private:
QTextTable *create2x2Table();
@@ -1170,5 +1174,109 @@ void tst_QTextTable::QTBUG31330_renderBackground()
}
#endif
+void tst_QTextTable::checkBorderAttributes_data()
+{
+ QTest::addColumn<QString>("html");
+ QTest::addColumn<qreal>("topBorderWidth");
+ QTest::addColumn<qreal>("bottomBorderWidth");
+ QTest::addColumn<qreal>("leftBorderWidth");
+ QTest::addColumn<qreal>("rightBorderWidth");
+ QTest::addColumn<QTextFrameFormat::BorderStyle>("topBorderStyle");
+ QTest::addColumn<QTextFrameFormat::BorderStyle>("bottomBorderStyle");
+ QTest::addColumn<QTextFrameFormat::BorderStyle>("leftBorderStyle");
+ QTest::addColumn<QTextFrameFormat::BorderStyle>("rightBorderStyle");
+ QTest::addColumn<QBrush>("topBorderBrush");
+ QTest::addColumn<QBrush>("bottomBorderBrush");
+ QTest::addColumn<QBrush>("leftBorderBrush");
+ QTest::addColumn<QBrush>("rightBorderBrush");
+
+ const QString tableHtmlStart = QStringLiteral("<html><head><style>");
+ const QString tableHtmlEnd = QStringLiteral("</style></head><body>"
+ "<table border=\"1\"><tr><td>One</td><td>Two</td></tr>"
+ "<tr><td>Three</td><td>Four</td></tr></table></body></html>");
+ QTest::newRow("1px-solid-colors")
+ << QString("%1"
+ "td {"
+ "border-top: 1px solid red;"
+ "border-bottom: 1px solid blue;"
+ "border-left: 1px solid green;"
+ "border-right: 1px solid yellow;"
+ "}"
+ "%2").arg(tableHtmlStart).arg(tableHtmlEnd)
+ << 1.0 << 1.0 << 1.0 << 1.0
+ << QTextFrameFormat::BorderStyle_Solid << QTextFrameFormat::BorderStyle_Solid
+ << QTextFrameFormat::BorderStyle_Solid << QTextFrameFormat::BorderStyle_Solid
+ << QBrush(Qt::red) << QBrush(Qt::blue) << QBrush(Qt::darkGreen) << QBrush(Qt::yellow);
+ QTest::newRow("MixedWidth-solid-colors")
+ << QString("%1"
+ "td {"
+ "border-top: 1px solid red;"
+ "border-bottom: 2px solid blue;"
+ "border-left: 3px solid green;"
+ "border-right: 4px solid yellow;"
+ "}"
+ "%2").arg(tableHtmlStart).arg(tableHtmlEnd)
+ << 1.0 << 2.0 << 3.0 << 4.0
+ << QTextFrameFormat::BorderStyle_Solid << QTextFrameFormat::BorderStyle_Solid
+ << QTextFrameFormat::BorderStyle_Solid << QTextFrameFormat::BorderStyle_Solid
+ << QBrush(Qt::red) << QBrush(Qt::blue) << QBrush(Qt::darkGreen) << QBrush(Qt::yellow);
+ QTest::newRow("MixedWidth-MixedStyle-colors")
+ << QString("%1"
+ "td {"
+ "border-top: 1px solid red;"
+ "border-bottom: 2px dotted blue;"
+ "border-left: 3px dashed green;"
+ "border-right: 4px inset yellow;"
+ "}"
+ "%2").arg(tableHtmlStart).arg(tableHtmlEnd)
+ << 1.0 << 2.0 << 3.0 << 4.0
+ << QTextFrameFormat::BorderStyle_Solid << QTextFrameFormat::BorderStyle_Dotted
+ << QTextFrameFormat::BorderStyle_Dashed << QTextFrameFormat::BorderStyle_Inset
+ << QBrush(Qt::red) << QBrush(Qt::blue) << QBrush(Qt::darkGreen) << QBrush(Qt::yellow);
+}
+
+void tst_QTextTable::checkBorderAttributes()
+{
+ QFETCH(QString, html);
+ QFETCH(qreal, topBorderWidth);
+ QFETCH(qreal, bottomBorderWidth);
+ QFETCH(qreal, leftBorderWidth);
+ QFETCH(qreal, rightBorderWidth);
+ QFETCH(QTextFrameFormat::BorderStyle, topBorderStyle);
+ QFETCH(QTextFrameFormat::BorderStyle, bottomBorderStyle);
+ QFETCH(QTextFrameFormat::BorderStyle, leftBorderStyle);
+ QFETCH(QTextFrameFormat::BorderStyle, rightBorderStyle);
+ QFETCH(QBrush, topBorderBrush);
+ QFETCH(QBrush, bottomBorderBrush);
+ QFETCH(QBrush, leftBorderBrush);
+ QFETCH(QBrush, rightBorderBrush);
+
+ QTextDocument doc;
+ doc.setHtml(html);
+ QTextCursor cursor(doc.firstBlock());
+ cursor.movePosition(QTextCursor::Right);
+
+ QTextTable *currentTable = cursor.currentTable();
+ QVERIFY(currentTable);
+ for (int row = 0; row < 2; row++) {
+ for (int column = 0; column < 2; column++) {
+ QTextTableCell cell = currentTable->cellAt(row, column);
+ QTextCharFormat cellFormat = cell.format();
+ QCOMPARE(cellFormat.doubleProperty(QTextFormat::TableCellTopBorder), topBorderWidth);
+ QCOMPARE(cellFormat.doubleProperty(QTextFormat::TableCellBottomBorder), bottomBorderWidth);
+ QCOMPARE(cellFormat.doubleProperty(QTextFormat::TableCellLeftBorder), leftBorderWidth);
+ QCOMPARE(cellFormat.doubleProperty(QTextFormat::TableCellRightBorder), rightBorderWidth);
+ QCOMPARE(cellFormat.property(QTextFormat::TableCellTopBorderStyle), topBorderStyle);
+ QCOMPARE(cellFormat.property(QTextFormat::TableCellBottomBorderStyle), bottomBorderStyle);
+ QCOMPARE(cellFormat.property(QTextFormat::TableCellLeftBorderStyle), leftBorderStyle);
+ QCOMPARE(cellFormat.property(QTextFormat::TableCellRightBorderStyle), rightBorderStyle);
+ QCOMPARE(cellFormat.brushProperty(QTextFormat::TableCellTopBorderBrush), topBorderBrush);
+ QCOMPARE(cellFormat.brushProperty(QTextFormat::TableCellBottomBorderBrush), bottomBorderBrush);
+ QCOMPARE(cellFormat.brushProperty(QTextFormat::TableCellLeftBorderBrush), leftBorderBrush);
+ QCOMPARE(cellFormat.brushProperty(QTextFormat::TableCellRightBorderBrush), rightBorderBrush);
+ }
+ }
+}
+
QTEST_MAIN(tst_QTextTable)
#include "tst_qtexttable.moc"
diff --git a/tests/auto/network/access/http2/http2srv.cpp b/tests/auto/network/access/http2/http2srv.cpp
index 5a99d4e50c..a8eebf5a24 100644
--- a/tests/auto/network/access/http2/http2srv.cpp
+++ b/tests/auto/network/access/http2/http2srv.cpp
@@ -76,7 +76,7 @@ void fill_push_header(const HttpHeader &originalRequest, HttpHeader &promisedReq
}
-Http2Server::Http2Server(H2Type type, const Http2::RawSettings &ss, const Http2::RawSettings &cs)
+Http2Server::Http2Server(H2Type type, const RawSettings &ss, const RawSettings &cs)
: connectionType(type),
serverSettings(ss),
expectedClientSettings(cs)
@@ -218,7 +218,7 @@ void Http2Server::sendDATA(quint32 streamID, quint32 windowSize)
quint32 bytesToSend = std::min<quint32>(windowSize, responseBody.size() - offset);
quint32 bytesSent = 0;
- const quint32 frameSizeLimit(clientSetting(Settings::MAX_FRAME_SIZE_ID, Http2::maxFrameSize));
+ const quint32 frameSizeLimit(clientSetting(Settings::MAX_FRAME_SIZE_ID, Http2::minPayloadLimit));
const uchar *src = reinterpret_cast<const uchar *>(responseBody.constData() + offset);
const bool last = offset + bytesToSend == quint32(responseBody.size());
@@ -236,6 +236,10 @@ void Http2Server::sendDATA(quint32 streamID, quint32 windowSize)
src += chunkSize;
bytesToSend -= chunkSize;
bytesSent += chunkSize;
+ if (frameSizeLimit != Http2::minPayloadLimit) {
+ // Our test is probably interested in how many DATA frames were sent.
+ emit sendingData();
+ }
}
if (interrupted.loadAcquire())
@@ -767,7 +771,7 @@ void Http2Server::sendResponse(quint32 streamID, bool emptyBody)
Q_ASSERT(activeRequests.find(streamID) != activeRequests.end());
const quint32 maxFrameSize(clientSetting(Settings::MAX_FRAME_SIZE_ID,
- Http2::maxFrameSize));
+ Http2::maxPayloadSize));
if (pushPromiseEnabled) {
// A real server supporting PUSH_PROMISE will probably first send
diff --git a/tests/auto/network/access/http2/http2srv.h b/tests/auto/network/access/http2/http2srv.h
index 4ef4b25101..3105684d59 100644
--- a/tests/auto/network/access/http2/http2srv.h
+++ b/tests/auto/network/access/http2/http2srv.h
@@ -42,6 +42,7 @@
#include <QtCore/qbytearray.h>
#include <QtCore/qatomic.h>
#include <QtCore/qglobal.h>
+#include <QtCore/qmap.h>
#include <vector>
#include <map>
@@ -69,13 +70,15 @@ enum class H2Type {
h2cDirect, // Clear text direct
};
+using RawSettings = QMap<Http2::Settings, quint32>;
+
class Http2Server : public QTcpServer
{
Q_OBJECT
public:
- Http2Server(H2Type type, const Http2::RawSettings &serverSettings,
- const Http2::RawSettings &clientSettings);
+ Http2Server(H2Type type, const RawSettings &serverSettings,
+ const RawSettings &clientSettings);
~Http2Server();
@@ -125,6 +128,7 @@ Q_SIGNALS:
void receivedRequest(quint32 streamID);
void receivedData(quint32 streamID);
void windowUpdate(quint32 streamID);
+ void sendingData();
private slots:
void connectionEstablished();
@@ -147,8 +151,8 @@ private:
bool settingsSent = false;
bool waitingClientAck = false;
- Http2::RawSettings serverSettings;
- Http2::RawSettings expectedClientSettings;
+ RawSettings serverSettings;
+ RawSettings expectedClientSettings;
bool connectionError = false;
diff --git a/tests/auto/network/access/http2/tst_http2.cpp b/tests/auto/network/access/http2/tst_http2.cpp
index bf3d936446..e24a06bc34 100644
--- a/tests/auto/network/access/http2/tst_http2.cpp
+++ b/tests/auto/network/access/http2/tst_http2.cpp
@@ -32,8 +32,10 @@
#include <QtNetwork/private/http2protocol_p.h>
#include <QtNetwork/qnetworkaccessmanager.h>
+#include <QtNetwork/qhttp2configuration.h>
#include <QtNetwork/qnetworkrequest.h>
#include <QtNetwork/qnetworkreply.h>
+
#include <QtCore/qglobal.h>
#include <QtCore/qobject.h>
#include <QtCore/qthread.h>
@@ -66,6 +68,26 @@ Q_DECLARE_METATYPE(QNetworkRequest::Attribute)
QT_BEGIN_NAMESPACE
+QHttp2Configuration qt_defaultH2Configuration()
+{
+ QHttp2Configuration config;
+ config.setStreamReceiveWindowSize(Http2::qtDefaultStreamReceiveWindowSize);
+ config.setSessionReceiveWindowSize(Http2::maxSessionReceiveWindowSize);
+ config.setServerPushEnabled(false);
+ return config;
+}
+
+RawSettings qt_H2ConfigurationToSettings(const QHttp2Configuration &config = qt_defaultH2Configuration())
+{
+ RawSettings settings;
+ settings[Http2::Settings::ENABLE_PUSH_ID] = config.serverPushEnabled();
+ settings[Http2::Settings::INITIAL_WINDOW_SIZE_ID] = config.streamReceiveWindowSize();
+ if (config.maxFrameSize() != Http2::minPayloadLimit)
+ settings[Http2::Settings::MAX_FRAME_SIZE_ID] = config.maxFrameSize();
+ return settings;
+}
+
+
class tst_Http2 : public QObject
{
Q_OBJECT
@@ -87,6 +109,7 @@ private slots:
void earlyResponse();
void connectToHost_data();
void connectToHost();
+ void maxFrameSize();
protected slots:
// Slots to listen to our in-process server:
@@ -110,12 +133,13 @@ private:
// small payload.
void runEventLoop(int ms = 5000);
void stopEventLoop();
- Http2Server *newServer(const Http2::RawSettings &serverSettings, H2Type connectionType,
- const Http2::ProtocolParameters &clientSettings = {});
+ Http2Server *newServer(const RawSettings &serverSettings, H2Type connectionType,
+ const RawSettings &clientSettings = qt_H2ConfigurationToSettings());
// Send a get or post request, depending on a payload (empty or not).
void sendRequest(int streamNumber,
QNetworkRequest::Priority priority = QNetworkRequest::NormalPriority,
- const QByteArray &payload = QByteArray());
+ const QByteArray &payload = QByteArray(),
+ const QHttp2Configuration &clientConfiguration = qt_defaultH2Configuration());
QUrl requestUrl(H2Type connnectionType) const;
quint16 serverPort = 0;
@@ -131,14 +155,14 @@ private:
bool prefaceOK = false;
bool serverGotSettingsACK = false;
- static const Http2::RawSettings defaultServerSettings;
+ static const RawSettings defaultServerSettings;
};
#define STOP_ON_FAILURE \
if (QTest::currentTestFailed()) \
return;
-const Http2::RawSettings tst_Http2::defaultServerSettings{{Http2::Settings::MAX_CONCURRENT_STREAMS_ID, 100}};
+const RawSettings tst_Http2::defaultServerSettings{{Http2::Settings::MAX_CONCURRENT_STREAMS_ID, 100}};
namespace {
@@ -308,18 +332,15 @@ void tst_Http2::flowControlClientSide()
nRequests = 10;
windowUpdates = 0;
- Http2::ProtocolParameters params;
+ QHttp2Configuration params;
// A small window size for a session, and even a smaller one per stream -
// this will result in WINDOW_UPDATE frames both on connection stream and
// per stream.
- params.maxSessionReceiveWindowSize = Http2::defaultSessionWindowSize * 5;
- params.settingsFrameData[Settings::INITIAL_WINDOW_SIZE_ID] = Http2::defaultSessionWindowSize;
- // Inform our manager about non-default settings:
- manager->setProperty(Http2::http2ParametersPropertyName, QVariant::fromValue(params));
-
- const Http2::RawSettings serverSettings = {{Settings::MAX_CONCURRENT_STREAMS_ID, quint32(3)}};
- ServerPtr srv(newServer(serverSettings, defaultConnectionType(), params));
+ params.setSessionReceiveWindowSize(Http2::defaultSessionWindowSize * 5);
+ params.setStreamReceiveWindowSize(Http2::defaultSessionWindowSize);
+ const RawSettings serverSettings = {{Settings::MAX_CONCURRENT_STREAMS_ID, quint32(3)}};
+ ServerPtr srv(newServer(serverSettings, defaultConnectionType(), qt_H2ConfigurationToSettings(params)));
const QByteArray respond(int(Http2::defaultSessionWindowSize * 10), 'x');
srv->setResponseBody(respond);
@@ -330,7 +351,7 @@ void tst_Http2::flowControlClientSide()
QVERIFY(serverPort != 0);
for (int i = 0; i < nRequests; ++i)
- sendRequest(i);
+ sendRequest(i, QNetworkRequest::NormalPriority, {}, params);
runEventLoop(120000);
STOP_ON_FAILURE
@@ -359,7 +380,7 @@ void tst_Http2::flowControlServerSide()
serverPort = 0;
nRequests = 10;
- const Http2::RawSettings serverSettings = {{Settings::MAX_CONCURRENT_STREAMS_ID, 7}};
+ const RawSettings serverSettings = {{Settings::MAX_CONCURRENT_STREAMS_ID, 7}};
ServerPtr srv(newServer(serverSettings, defaultConnectionType()));
@@ -392,12 +413,11 @@ void tst_Http2::pushPromise()
serverPort = 0;
nRequests = 1;
- Http2::ProtocolParameters params;
+ QHttp2Configuration params;
// Defaults are good, except ENABLE_PUSH:
- params.settingsFrameData[Settings::ENABLE_PUSH_ID] = 1;
- manager->setProperty(Http2::http2ParametersPropertyName, QVariant::fromValue(params));
+ params.setServerPushEnabled(true);
- ServerPtr srv(newServer(defaultServerSettings, defaultConnectionType(), params));
+ ServerPtr srv(newServer(defaultServerSettings, defaultConnectionType(), qt_H2ConfigurationToSettings(params)));
srv->enablePushPromise(true, QByteArray("/script.js"));
QMetaObject::invokeMethod(srv.data(), "startServer", Qt::QueuedConnection);
@@ -410,6 +430,7 @@ void tst_Http2::pushPromise()
QNetworkRequest request(url);
request.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, QVariant(true));
+ request.setHttp2Configuration(params);
auto reply = manager->get(request);
connect(reply, &QNetworkReply::finished, this, &tst_Http2::replyFinished);
@@ -592,6 +613,19 @@ void tst_Http2::connectToHost()
#if QT_CONFIG(ssl)
Q_ASSERT(!clearTextHTTP2 || connectionType != H2Type::h2Alpn);
+
+#if QT_CONFIG(securetransport)
+ // Normally on macOS we use plain text only for SecureTransport
+ // does not support ALPN on the server side. With 'direct encrytped'
+ // we have to use TLS sockets (== private key) and thus suppress a
+ // keychain UI asking for permission to use a private key.
+ // Our CI has this, but somebody testing locally - will have a problem.
+ qputenv("QT_SSL_USE_TEMPORARY_KEYCHAIN", QByteArray("1"));
+ auto envRollback = qScopeGuard([](){
+ qunsetenv("QT_SSL_USE_TEMPORARY_KEYCHAIN");
+ });
+#endif // QT_CONFIG(securetransport)
+
#else
Q_ASSERT(connectionType == H2Type::h2c || connectionType == H2Type::h2cDirect);
Q_ASSERT(targetServer->isClearText());
@@ -636,9 +670,6 @@ void tst_Http2::connectToHost()
eventLoop.exitLoop();
QCOMPARE(reply->error(), QNetworkReply::NoError);
QVERIFY(reply->isFinished());
- // Nothing must be sent yet:
- QVERIFY(!prefaceOK);
- QVERIFY(!serverGotSettingsACK);
// Nothing received back:
QVERIFY(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).isNull());
QCOMPARE(reply->readAll().size(), 0);
@@ -668,6 +699,73 @@ void tst_Http2::connectToHost()
QVERIFY(reply->isFinished());
}
+void tst_Http2::maxFrameSize()
+{
+#if !QT_CONFIG(ssl)
+ QSKIP("TLS support is needed for this test");
+#endif // QT_CONFIG(ssl)
+
+ // Here we test we send 'MAX_FRAME_SIZE' setting in our
+ // 'SETTINGS'. If done properly, our server will not chunk
+ // the payload into several DATA frames.
+
+#if QT_CONFIG(securetransport)
+ // Normally on macOS we use plain text only for SecureTransport
+ // does not support ALPN on the server side. With 'direct encrytped'
+ // we have to use TLS sockets (== private key) and thus suppress a
+ // keychain UI asking for permission to use a private key.
+ // Our CI has this, but somebody testing locally - will have a problem.
+ qputenv("QT_SSL_USE_TEMPORARY_KEYCHAIN", QByteArray("1"));
+ auto envRollback = qScopeGuard([](){
+ qunsetenv("QT_SSL_USE_TEMPORARY_KEYCHAIN");
+ });
+#endif // QT_CONFIG(securetransport)
+
+ auto connectionType = H2Type::h2Alpn;
+ auto attribute = QNetworkRequest::HTTP2AllowedAttribute;
+ if (clearTextHTTP2) {
+ connectionType = H2Type::h2Direct;
+ attribute = QNetworkRequest::Http2DirectAttribute;
+ }
+
+ auto h2Config = qt_defaultH2Configuration();
+ h2Config.setMaxFrameSize(Http2::minPayloadLimit * 3);
+
+ serverPort = 0;
+ nRequests = 1;
+
+ ServerPtr srv(newServer(defaultServerSettings, connectionType,
+ qt_H2ConfigurationToSettings(h2Config)));
+ srv->setResponseBody(QByteArray(Http2::minPayloadLimit * 2, 'q'));
+ QMetaObject::invokeMethod(srv.data(), "startServer", Qt::QueuedConnection);
+ runEventLoop();
+ QVERIFY(serverPort != 0);
+
+ const QSignalSpy frameCounter(srv.data(), &Http2Server::sendingData);
+ auto url = requestUrl(connectionType);
+ url.setPath(QString("/stream1.html"));
+
+ QNetworkRequest request(url);
+ request.setAttribute(attribute, QVariant(true));
+ request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("text/plain"));
+ request.setHttp2Configuration(h2Config);
+
+ QNetworkReply *reply = manager->get(request);
+ reply->ignoreSslErrors();
+ connect(reply, &QNetworkReply::finished, this, &tst_Http2::replyFinished);
+
+ runEventLoop();
+ STOP_ON_FAILURE
+
+ // Normally, with a 16kb limit, our server would split such
+ // a response into 3 'DATA' frames (16kb + 16kb + 0|END_STREAM).
+ QCOMPARE(frameCounter.count(), 1);
+
+ QVERIFY(nRequests == 0);
+ QVERIFY(prefaceOK);
+ QVERIFY(serverGotSettingsACK);
+}
+
void tst_Http2::serverStarted(quint16 port)
{
serverPort = port;
@@ -679,7 +777,6 @@ void tst_Http2::clearHTTP2State()
windowUpdates = 0;
prefaceOK = false;
serverGotSettingsACK = false;
- manager->setProperty(Http2::http2ParametersPropertyName, QVariant());
}
void tst_Http2::runEventLoop(int ms)
@@ -692,12 +789,11 @@ void tst_Http2::stopEventLoop()
eventLoop.exitLoop();
}
-Http2Server *tst_Http2::newServer(const Http2::RawSettings &serverSettings, H2Type connectionType,
- const Http2::ProtocolParameters &clientSettings)
+Http2Server *tst_Http2::newServer(const RawSettings &serverSettings, H2Type connectionType,
+ const RawSettings &clientSettings)
{
using namespace Http2;
- auto srv = new Http2Server(connectionType, serverSettings,
- clientSettings.settingsFrameData);
+ auto srv = new Http2Server(connectionType, serverSettings, clientSettings);
using Srv = Http2Server;
using Cl = tst_Http2;
@@ -719,7 +815,8 @@ Http2Server *tst_Http2::newServer(const Http2::RawSettings &serverSettings, H2Ty
void tst_Http2::sendRequest(int streamNumber,
QNetworkRequest::Priority priority,
- const QByteArray &payload)
+ const QByteArray &payload,
+ const QHttp2Configuration &h2Config)
{
auto url = requestUrl(defaultConnectionType());
url.setPath(QString("/stream%1.html").arg(streamNumber));
@@ -729,6 +826,7 @@ void tst_Http2::sendRequest(int streamNumber,
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, QVariant(true));
request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("text/plain"));
request.setPriority(priority);
+ request.setHttp2Configuration(h2Config);
QNetworkReply *reply = nullptr;
if (payload.size())
diff --git a/tests/auto/network/access/qabstractnetworkcache/BLACKLIST b/tests/auto/network/access/qabstractnetworkcache/BLACKLIST
deleted file mode 100644
index 12f45f0e12..0000000000
--- a/tests/auto/network/access/qabstractnetworkcache/BLACKLIST
+++ /dev/null
@@ -1,2 +0,0 @@
-[cacheControl]
-windows-10 msvc-2015
diff --git a/tests/auto/network/access/qftp/BLACKLIST b/tests/auto/network/access/qftp/BLACKLIST
index 463030a089..0a99f3eb00 100644
--- a/tests/auto/network/access/qftp/BLACKLIST
+++ b/tests/auto/network/access/qftp/BLACKLIST
@@ -7,15 +7,10 @@ redhatenterpriselinuxworkstation-6.6
redhatenterpriselinuxworkstation-6.6
[list]
-ubuntu-16.04
opensuse-leap
-osx-10.11
windows-7sp1
-ubuntu-18.04
-osx-10.14
-b2qt
-osx-10.12
windows-10 msvc-2015
-opensuse-42.3
+ubuntu
+osx
[list:epsvNotSupported]
*
diff --git a/tests/auto/network/access/qnetworkreply/BLACKLIST b/tests/auto/network/access/qnetworkreply/BLACKLIST
index f9bbdd96c3..2a0651f96f 100644
--- a/tests/auto/network/access/qnetworkreply/BLACKLIST
+++ b/tests/auto/network/access/qnetworkreply/BLACKLIST
@@ -1,106 +1,53 @@
# See qtbase/src/testlib/qtestblacklist.cpp for format
[authenticationCacheAfterCancel]
-windows-10 msvc-2017
-windows-10 msvc-2015
-osx-10.13
windows-7sp1
-[httpAbort]
-ubuntu-16.04
-rhel-7.6
+windows-10 msvc-2015
[backgroundRequestInterruption]
-ubuntu-16.04
opensuse-leap
-ubuntu-18.04
-b2qt
-osx-10.12
windows-10 msvc-2015
-opensuse-42.3
+b2qt
+ubuntu
+osx
[backgroundRequestInterruption:ftp, bg, nobg]
*
-[getErrors]
-osx-10.13
-# QTBUG-71953
[getErrors:ftp-host]
linux
# QTBUG-71953
[getFromHttp]
-rhel-6.6
-ubuntu-16.04
-rhel-7.6
-opensuse-leap
-osx-10.11
-osx-10.13
-windows-7sp1
-ubuntu-18.04
-osx-10.14
-rhel-7.4
-b2qt
-windows-10 msvc-2017
-osx-10.12
-windows-10 msvc-2015
-opensuse-42.3
+* !android !winrt
[getFromHttp:success-external]
*
[getFromHttpIntoBuffer]
-osx-10.12
-osx-10.13
+osx
[getFromHttpIntoBuffer2]
-windows-10 msvc-2015
-windows-10 msvc-2017
+windows-10
[headFromHttp]
-osx-10.13
windows-10 msvc-2017
-[ioGetFromHttpWithSocksProxy]
-osx-10.12
[ioPostToHttpFromSocket]
# QTBUG-66247
-osx-10.13
windows-7sp1
windows-10 msvc-2017
-osx-10.12
-windows-10 msvc-2015
+osx
[ioHttpRedirect]
-windows-10 msvc-2015
# QTBUG-66602
-windows-10 msvc-2017
+windows-10
[ioHttpRedirectMultipartPost]
-ubuntu-16.04
-rhel-7.6
# QTBUG-66247
-opensuse-leap
-osx-10.13
-ubuntu-18.04
-rhel-7.4
b2qt
-osx-10.12
windows-10 msvc-2015
-opensuse-42.3
+ubuntu
+rhel
[ioHttpRedirectPolicy]
-ubuntu-16.04
opensuse-leap
-windows-7sp1
-ubuntu-18.04
b2qt
-windows-10 msvc-2017
-windows-10 msvc-2015
-opensuse-42.3
-[ioHttpRedirectPostPut]
-osx-10.12
-windows-10 msvc-2015
+ubuntu
+windows-10
[putToFtp]
-windows-10 msvc-2017
+windows-10
[putWithServerClosingConnectionImmediately]
-osx-10.11
-osx-10.13
-windows-7sp1
-windows-10 msvc-2017
-osx-10.12
-windows-10 msvc-2015
-[qtbug28035browserDoesNotLoadQtProjectOrgCorrectly]
-windows-10 msvc-2015
windows-7sp1
-[authenticationWithDifferentRealm]
-osx-10.13
+windows-10
+osx
[backgroundRequest]
osx-10.12
[connectToIPv6Address]
@@ -109,141 +56,73 @@ osx-10.12
osx-10.12
[downloadProgress]
osx-10.12
-[emitErrorForAllReplies]
-osx-10.12
[encrypted]
osx-10.13
-[ftpAuthentication]
-osx-10.13
[httpCanReadLine]
osx-10.12
-osx-10.13
[httpRecursiveCreation]
-osx-10.12
-osx-10.13
+osx
[httpWithNoCredentialUsage]
osx-10.12
[ignoreSslErrorsList]
-osx-10.12
-osx-10.13
+osx
[ignoreSslErrorsListWithSlot]
-osx-10.12
-osx-10.13
+osx
[ioGetFromBuiltinHttp]
-osx-10.12
-osx-10.11
-osx-10.14
-osx-10.13
+osx
[ioGetFromHttp]
osx-10.12
-[ioGetFromHttpWithAuth]
-osx-10.12
-osx-10.13
-[ioGetFromHttpWithAuthSynchronous]
-osx-10.12
-[ioGetFromHttpWithProxyAuth]
-osx-10.12
-[ioGetFromHttpWithReuseParallel]
-osx-10.12
-osx-10.13
-[ioGetFromHttpWithReuseSequential]
-osx-10.12
-osx-10.13
-[ioGetFromHttpsWithIgnoreSslErrors]
-osx-10.12
-[ioGetFromHttpsWithSslErrors]
-osx-10.12
-[ioGetFromHttpsWithSslHandshakeError]
-osx-10.12
-[ioGetWithManyProxies]
-osx-10.12
[ioPostToHttpFromFile]
osx-10.13
-[ioPostToHttpFromMiddleOfFileFiveBytes]
-osx-10.13
-[ioPostToHttpFromMiddleOfFileToEnd]
-osx-10.13
-[ioPostToHttpFromMiddleOfQBufferFiveBytes]
-osx-10.13
[ioPostToHttpFromSocketSynchronous]
-osx-10.12
-osx-10.13
-[ioPostToHttpNoBufferFlag]
-osx-10.13
+osx
[ioPostToHttpUploadProgress]
-osx-10.12
-osx-10.11
-osx-10.13
+osx
[ioPutToHttpFromFile]
osx-10.13
[lastModifiedHeaderForHttp]
osx-10.12
-osx-10.13
[multipartSkipIndices]
osx-10.12
-osx-10.13
[nestedEventLoops]
-osx-10.12
-osx-10.13
-[pipelining]
-osx-10.13
+osx
[postToHttp]
osx-10.12
-osx-10.13
[postToHttpMultipart]
osx-10.12
-osx-10.13
[postToHttpSynchronous]
osx-10.12
-osx-10.13
[postToHttps]
-osx-10.12
-osx-10.13
+osx
[postToHttpsMultipart]
-osx-10.12
-osx-10.13
+osx
[postToHttpsSynchronous]
-osx-10.12
-osx-10.13
+osx
[putGetDeleteGetFromHttp]
osx-10.12
-[putToHttp]
-osx-10.12
-osx-10.13
[putToHttpSynchronous]
osx-10.12
-osx-10.13
[putToHttps]
-osx-10.12
-osx-10.13
+osx
[putToHttpsSynchronous]
-osx-10.12
-osx-10.13
+osx
[putWithRateLimiting]
-osx-10.12
osx-10.13
[qtbug13431replyThrottling]
osx-10.12
[receiveCookiesFromHttp]
-osx-10.12
-osx-10.13
+osx
[receiveCookiesFromHttpSynchronous]
-osx-10.12
-osx-10.13
+osx
[sendCookies]
-osx-10.12
-osx-10.13
+osx
[sendCookiesSynchronous]
-osx-10.12
-osx-10.13
+osx
[sendCustomRequestToHttp]
osx-10.12
[sslConfiguration]
-osx-10.12
-osx-10.13
+osx
[synchronousRequest]
-osx-10.12
-osx-10.13
+osx
[backgroundRequestConnectInBackground]
-osx-10.12
-osx-10.13
+osx
diff --git a/tests/auto/network/access/spdy/BLACKLIST b/tests/auto/network/access/spdy/BLACKLIST
index ce2f7f383f..5cf79327be 100644
--- a/tests/auto/network/access/spdy/BLACKLIST
+++ b/tests/auto/network/access/spdy/BLACKLIST
@@ -1,8 +1,5 @@
[download]
opensuse-leap
-ubuntu-18.04
-ubuntu-16.04
-b2qt
[upload]
opensuse-leap
ubuntu-18.04
diff --git a/tests/auto/network/kernel/qdnslookup/BLACKLIST b/tests/auto/network/kernel/qdnslookup/BLACKLIST
index 4461d8b5f7..f07a8ce9a3 100644
--- a/tests/auto/network/kernel/qdnslookup/BLACKLIST
+++ b/tests/auto/network/kernel/qdnslookup/BLACKLIST
@@ -1,12 +1,2 @@
[lookup]
-rhel-7.6
-opensuse-leap
-osx-10.13
-windows-7sp1
-ubuntu-18.04
-rhel-7.4
-b2qt
-windows-10 msvc-2017
-osx-10.12
-windows-10 msvc-2015
-opensuse-42.3
+*
diff --git a/tests/auto/network/socket/qsocks5socketengine/BLACKLIST b/tests/auto/network/socket/qsocks5socketengine/BLACKLIST
index f769aafbdd..61fff6ee00 100644
--- a/tests/auto/network/socket/qsocks5socketengine/BLACKLIST
+++ b/tests/auto/network/socket/qsocks5socketengine/BLACKLIST
@@ -4,8 +4,7 @@
ubuntu-18.04
# QTBUG-74162
[passwordAuth2]
-osx-10.12
-ubuntu-18.04
+ubuntu
[downloadBigFile]
windows-10 msvc-2015
windows-7sp1
diff --git a/tests/auto/network/socket/qtcpserver/BLACKLIST b/tests/auto/network/socket/qtcpserver/BLACKLIST
index ad0edf0af1..e268468bdb 100644
--- a/tests/auto/network/socket/qtcpserver/BLACKLIST
+++ b/tests/auto/network/socket/qtcpserver/BLACKLIST
@@ -1,24 +1,16 @@
-[listenWhileListening]
-windows-10 msvc-2015
[listenWhileListening:WithSocks5Proxy]
linux
windows
[ipv6Server]
-windows-10 msvc-2015
windows-7sp1
windows-10 msvc-2017
[ipv6Server:WithoutProxy]
windows
osx
-[addressReusable]
-windows-10 msvc-2015
[eagainBlockingAccept]
-windows-10 msvc-2015
-windows-7sp1
-windows-10 msvc-2017
-[proxyFactory]
windows-7sp1
+windows-10
[serverAddress]
-windows-10 msvc-2017
-windows-10 msvc-2015
windows-7sp1
+windows-10
+
diff --git a/tests/auto/network/socket/qtcpsocket/BLACKLIST b/tests/auto/network/socket/qtcpsocket/BLACKLIST
index 8c2f8d2638..07532710b3 100644
--- a/tests/auto/network/socket/qtcpsocket/BLACKLIST
+++ b/tests/auto/network/socket/qtcpsocket/BLACKLIST
@@ -5,9 +5,6 @@ windows-7sp1
windows
[bind:[::]:randomport]
windows
-[timeoutConnect]
-windows-10 msvc-2015
-# QTBUG-66247
[timeoutConnect:ip]
windows
# QTBUG-66247
diff --git a/tests/auto/network/socket/qudpsocket/BLACKLIST b/tests/auto/network/socket/qudpsocket/BLACKLIST
index 9b5aa8a3fc..bc6068d695 100644
--- a/tests/auto/network/socket/qudpsocket/BLACKLIST
+++ b/tests/auto/network/socket/qudpsocket/BLACKLIST
@@ -2,15 +2,9 @@
windows-10 msvc-2017
windows-10 msvc-2015
windows-7sp1
-[multicastLeaveAfterClose]
-osx-10.12
-osx-10.11
[readyReadForEmptyDatagram]
opensuse-leap
-ubuntu-16.04
[echo]
opensuse-42.3
-[ipv6Loop]
-osx-10.12
[readyReadForEmptyDatagram]
linux
diff --git a/tests/auto/network/ssl/qsslkey/BLACKLIST b/tests/auto/network/ssl/qsslkey/BLACKLIST
index e9723001f5..19fb15cd1f 100644
--- a/tests/auto/network/ssl/qsslkey/BLACKLIST
+++ b/tests/auto/network/ssl/qsslkey/BLACKLIST
@@ -1,16 +1,9 @@
[constructor]
-rhel-6.6
-rhel-7.4
-rhel-7.6
+rhel
[length]
-rhel-6.6
-rhel-7.4
-rhel-7.6
+rhel
[toEncryptedPemOrDer]
-rhel-6.6
-rhel-7.4
-rhel-7.6
+rhel
[toPemOrDer]
-rhel-6.6
-rhel-7.4
-rhel-7.6
+rhel
+
diff --git a/tests/auto/network/ssl/qsslsocket/BLACKLIST b/tests/auto/network/ssl/qsslsocket/BLACKLIST
index 36143691c9..7b4a29f463 100644
--- a/tests/auto/network/ssl/qsslsocket/BLACKLIST
+++ b/tests/auto/network/ssl/qsslsocket/BLACKLIST
@@ -1,11 +1,7 @@
-[abortOnSslErrors]
-windows-10 msvc-2015
[deprecatedProtocols]
windows
[spontaneousWrite]
windows-7sp1
-[sslErrors]
-windows-7sp1
[connectToHostEncrypted]
osx-10.13
[setSslConfiguration]
diff --git a/tests/auto/opengl/qgl/tst_qgl.cpp b/tests/auto/opengl/qgl/tst_qgl.cpp
index 053c4b026b..3cc9592fb1 100644
--- a/tests/auto/opengl/qgl/tst_qgl.cpp
+++ b/tests/auto/opengl/qgl/tst_qgl.cpp
@@ -60,6 +60,8 @@ public:
tst_QGL();
virtual ~tst_QGL();
+ static void initMain();
+
private slots:
void initTestCase();
void getSetCheck();
@@ -101,6 +103,11 @@ tst_QGL::~tst_QGL()
{
}
+void tst_QGL::initMain()
+{
+ QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
+}
+
void tst_QGL::initTestCase()
{
QGLWidget glWidget;
diff --git a/tests/auto/opengl/qglthreads/tst_qglthreads.cpp b/tests/auto/opengl/qglthreads/tst_qglthreads.cpp
index 8a38d0f517..e12f6d9c18 100644
--- a/tests/auto/opengl/qglthreads/tst_qglthreads.cpp
+++ b/tests/auto/opengl/qglthreads/tst_qglthreads.cpp
@@ -606,9 +606,6 @@ void tst_QGLThreads::painterOnPixmapInThread()
if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ThreadedOpenGL)
|| !QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ThreadedPixmaps))
QSKIP("No platformsupport for ThreadedOpenGL or ThreadedPixmaps");
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- QSKIP("Drawing text in threads onto X11 drawables currently crashes on some X11 servers.");
-#endif
PaintThreadManager<PixmapWrapper> painterThreads(5);
painterThreads.start();
diff --git a/tests/auto/other/lancelot/paintcommands.cpp b/tests/auto/other/lancelot/paintcommands.cpp
index dc71253f3e..032580e0f6 100644
--- a/tests/auto/other/lancelot/paintcommands.cpp
+++ b/tests/auto/other/lancelot/paintcommands.cpp
@@ -2478,12 +2478,6 @@ void PaintCommands::command_surface_begin(QRegularExpressionMatch re)
m_painter->fillRect(QRect(0, 0, qRound(w), qRound(h)), Qt::transparent);
m_painter->restore();
#endif
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- } else if (m_type == WidgetType) {
- m_surface_pixmap = QPixmap(qRound(w), qRound(h));
- m_surface_pixmap.fill(Qt::transparent);
- m_painter = new QPainter(&m_surface_pixmap);
-#endif
} else {
QImage::Format surface_format;
if (QImage::toPixelFormat(m_format).alphaUsage() != QPixelFormat::UsesAlpha)
@@ -2535,11 +2529,6 @@ void PaintCommands::command_surface_end(QRegularExpressionMatch)
m_painter->beginNativePainting();
m_painter->endNativePainting();
#endif
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- } else if (m_type == WidgetType) {
- m_painter->drawPixmap(m_surface_rect.topLeft(), m_surface_pixmap);
- m_surface_pixmap = QPixmap();
-#endif
} else {
m_painter->drawImage(m_surface_rect, m_surface_image);
m_surface_image = QImage();
diff --git a/tests/auto/other/lancelot/tst_lancelot.cpp b/tests/auto/other/lancelot/tst_lancelot.cpp
index 15267d256e..ba04802a26 100644
--- a/tests/auto/other/lancelot/tst_lancelot.cpp
+++ b/tests/auto/other/lancelot/tst_lancelot.cpp
@@ -85,6 +85,8 @@ private slots:
void testRasterARGB8565PM();
void testRasterGrayscale8_data();
void testRasterGrayscale8();
+ void testRasterRGBA64PM_data();
+ void testRasterRGBA64PM();
#ifndef QT_NO_OPENGL
void testOpenGL_data();
@@ -226,6 +228,17 @@ void tst_Lancelot::testRasterGrayscale8()
}
+void tst_Lancelot::testRasterRGBA64PM_data()
+{
+ setupTestSuite();
+}
+
+void tst_Lancelot::testRasterRGBA64PM()
+{
+ runTestSuite(Raster, QImage::Format_RGBA64_Premultiplied);
+}
+
+
#ifndef QT_NO_OPENGL
bool tst_Lancelot::checkSystemGLSupport()
{
diff --git a/tests/auto/other/networkselftest/BLACKLIST b/tests/auto/other/networkselftest/BLACKLIST
index 948081eb78..55ebad985d 100644
--- a/tests/auto/other/networkselftest/BLACKLIST
+++ b/tests/auto/other/networkselftest/BLACKLIST
@@ -1,6 +1,5 @@
# QTBUG-27571
[ftpProxyServer]
-windows-10 msvc-2017
-windows-10 msvc-2015
windows-7sp1
+windows-10
diff --git a/tests/auto/other/qabstractitemmodelutils/dynamictreemodel.cpp b/tests/auto/other/qabstractitemmodelutils/dynamictreemodel.cpp
index c8698242d5..ecc95d30b6 100644
--- a/tests/auto/other/qabstractitemmodelutils/dynamictreemodel.cpp
+++ b/tests/auto/other/qabstractitemmodelutils/dynamictreemodel.cpp
@@ -228,7 +228,7 @@ void ModelMoveCommand::doCommand()
if (srcParent == destParent)
d = m_destRow - (m_endRow - m_startRow + 1);
else
- d = m_destRow - (m_endRow - m_startRow) + 1;
+ d = m_destRow;
}
foreach (const qint64 id, l)
diff --git a/tests/auto/other/qfocusevent/BLACKLIST b/tests/auto/other/qfocusevent/BLACKLIST
deleted file mode 100644
index 5af8be91a0..0000000000
--- a/tests/auto/other/qfocusevent/BLACKLIST
+++ /dev/null
@@ -1,3 +0,0 @@
-[checkReason_ActiveWindow]
-winrt
-
diff --git a/tests/auto/other/qnetworkaccessmanager_and_qprogressdialog/BLACKLIST b/tests/auto/other/qnetworkaccessmanager_and_qprogressdialog/BLACKLIST
index 65a939cdcb..6173488c00 100644
--- a/tests/auto/other/qnetworkaccessmanager_and_qprogressdialog/BLACKLIST
+++ b/tests/auto/other/qnetworkaccessmanager_and_qprogressdialog/BLACKLIST
@@ -1,5 +1,4 @@
[downloadCheck]
-windows-10 msvc-2015
-windows-10 msvc-2017
+windows-10
[downloadCheck:with-zeroCopy]
windows
diff --git a/tests/auto/other/toolsupport/tst_toolsupport.cpp b/tests/auto/other/toolsupport/tst_toolsupport.cpp
index 8c129adaf3..ab7bca8322 100644
--- a/tests/auto/other/toolsupport/tst_toolsupport.cpp
+++ b/tests/auto/other/toolsupport/tst_toolsupport.cpp
@@ -135,11 +135,11 @@ void tst_toolsupport::offsets_data()
{
QTest::newRow("QDateTimePrivate::m_msecs")
- << pmm_to_offsetof(&QDateTimePrivate::m_msecs) << 0 << 0;
+ << pmm_to_offsetof(&QDateTimePrivate::m_msecs) << 8 << 8;
QTest::newRow("QDateTimePrivate::m_status")
- << pmm_to_offsetof(&QDateTimePrivate::m_status) << 8 << 8;
+ << pmm_to_offsetof(&QDateTimePrivate::m_status) << 4 << 4;
QTest::newRow("QDateTimePrivate::m_offsetFromUtc")
- << pmm_to_offsetof(&QDateTimePrivate::m_offsetFromUtc) << 12 << 12;
+ << pmm_to_offsetof(&QDateTimePrivate::m_offsetFromUtc) << 16 << 16;
QTest::newRow("QDateTimePrivate::m_timeZone")
<< pmm_to_offsetof(&QDateTimePrivate::m_timeZone) << 20 << 24;
}
diff --git a/tests/auto/testlib/initmain/initmain.pro b/tests/auto/testlib/initmain/initmain.pro
new file mode 100644
index 0000000000..4c12aba08d
--- /dev/null
+++ b/tests/auto/testlib/initmain/initmain.pro
@@ -0,0 +1,5 @@
+CONFIG += testcase
+SOURCES += tst_initmain.cpp
+QT = core testlib
+
+TARGET = tst_initmain
diff --git a/tests/auto/testlib/initmain/tst_initmain.cpp b/tests/auto/testlib/initmain/tst_initmain.cpp
new file mode 100644
index 0000000000..f08f82c5ec
--- /dev/null
+++ b/tests/auto/testlib/initmain/tst_initmain.cpp
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtCore/QCoreApplication>
+#include <QtTest/QtTest>
+
+class tst_InitMain : public QObject
+{
+ Q_OBJECT
+
+public:
+ static void initMain() { m_initMainCalled = true; }
+
+private slots:
+ void testcase();
+
+private:
+ static bool m_initMainCalled;
+};
+
+bool tst_InitMain::m_initMainCalled = false;
+
+void tst_InitMain::testcase()
+{
+ QVERIFY(m_initMainCalled);
+}
+
+QTEST_MAIN(tst_InitMain)
+
+#include "tst_initmain.moc"
diff --git a/tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp b/tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp
index df241c030e..9555c2a844 100644
--- a/tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp
+++ b/tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp
@@ -65,6 +65,11 @@ private slots:
void waitFunctionPointer_signalEmittedLater();
void waitFunctionPointer_signalEmittedTooLate();
void waitFunctionPointer_signalEmittedMultipleTimes();
+
+ void spyOnMetaMethod();
+
+ void spyOnMetaMethod_invalid();
+ void spyOnMetaMethod_invalid_data();
};
class QtTestObject: public QObject
@@ -432,5 +437,52 @@ void tst_QSignalSpy::waitFunctionPointer_signalEmittedMultipleTimes()
QCOMPARE(spy.count(), 3);
}
+void tst_QSignalSpy::spyOnMetaMethod()
+{
+ QObject obj;
+ auto mo = obj.metaObject();
+
+ auto signalIndex = mo->indexOfSignal("objectNameChanged(QString)");
+ QVERIFY(signalIndex != -1);
+
+ auto signal = mo->method(signalIndex);
+ QVERIFY(signal.isValid());
+ QCOMPARE(signal.methodType(), QMetaMethod::Signal);
+
+ QSignalSpy spy(&obj, signal);
+ QVERIFY(spy.isValid());
+
+ obj.setObjectName("A new object name");
+ QCOMPARE(spy.count(), 1);
+}
+
+Q_DECLARE_METATYPE(QMetaMethod);
+void tst_QSignalSpy::spyOnMetaMethod_invalid()
+{
+ QFETCH(QObject*, object);
+ QFETCH(QMetaMethod, signal);
+
+ QSignalSpy spy(object, signal);
+ QVERIFY(!spy.isValid());
+}
+
+void tst_QSignalSpy::spyOnMetaMethod_invalid_data()
+{
+ QTest::addColumn<QObject*>("object");
+ QTest::addColumn<QMetaMethod>("signal");
+
+ QTest::addRow("Invalid object")
+ << static_cast<QObject*>(nullptr)
+ << QMetaMethod();
+
+ QTest::addRow("Empty signal")
+ << new QObject(this)
+ << QMetaMethod();
+
+ QTest::addRow("Method is not a signal")
+ << new QObject(this)
+ << QObject::staticMetaObject.method(QObject::staticMetaObject.indexOfMethod("deleteLater()"));
+}
+
QTEST_MAIN(tst_QSignalSpy)
#include "tst_qsignalspy.moc"
diff --git a/tests/auto/testlib/testlib.pro b/tests/auto/testlib/testlib.pro
index 587c76a189..55f1f9b87b 100644
--- a/tests/auto/testlib/testlib.pro
+++ b/tests/auto/testlib/testlib.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
SUBDIRS = \
+ initmain \
outformat \
qsignalspy \
selftests \
diff --git a/tests/auto/tools/qmake/testcompiler.cpp b/tests/auto/tools/qmake/testcompiler.cpp
index 0a7ba3b40b..8ab8d5d721 100644
--- a/tests/auto/tools/qmake/testcompiler.cpp
+++ b/tests/auto/tools/qmake/testcompiler.cpp
@@ -164,15 +164,17 @@ bool TestCompiler::runCommand(const QString &cmd, const QStringList &args, bool
return errorOut();
}
- child.setReadChannel(QProcess::StandardError);
child.waitForFinished(-1);
bool ok = child.exitStatus() == QProcess::NormalExit && (expectFail ^ (child.exitCode() == 0));
- foreach (const QByteArray &output, child.readAllStandardError().split('\n')) {
- testOutput_.append(QString::fromLocal8Bit(output));
-
- if (output.startsWith("Project MESSAGE: FAILED"))
- ok = false;
+ for (auto channel : { QProcess::StandardOutput, QProcess::StandardError }) {
+ child.setReadChannel(channel);
+ while (!child.atEnd()) {
+ const QString output = QString::fromLocal8Bit(child.readLine());
+ if (output.startsWith("Project MESSAGE: FAILED"))
+ ok = false;
+ testOutput_.append(output);
+ }
}
return ok ? true : errorOut();
@@ -279,14 +281,23 @@ bool TestCompiler::qmake(const QString &workDir, const QString &proName, const Q
<< additionalArguments);
}
+bool TestCompiler::qmake(const QString &workDir, const QStringList &arguments)
+{
+ QDir d;
+ d.setCurrent(workDir); // ### runCommand should take a workingDir argument instead
+ return runCommand(qmakeCmd_, arguments);
+}
+
bool TestCompiler::make( const QString &workPath, const QString &target, bool expectFail )
{
QDir D;
D.setCurrent( workPath );
QStringList args = makeArgs_;
- if (makeCmd_.contains("nmake", Qt::CaseInsensitive))
+ if (makeCmd_.contains("nmake", Qt::CaseInsensitive) ||
+ makeCmd_.contains("jom", Qt::CaseInsensitive)) {
args << "/NOLOGO";
+ }
if (!target.isEmpty())
args << target;
diff --git a/tests/auto/tools/qmake/testcompiler.h b/tests/auto/tools/qmake/testcompiler.h
index 50232669c0..d80cd8d53a 100644
--- a/tests/auto/tools/qmake/testcompiler.h
+++ b/tests/auto/tools/qmake/testcompiler.h
@@ -60,6 +60,8 @@ public:
// executes a qmake on proName in the specified workDir, output goes to buildDir or workDir if it's null
bool qmake(const QString &workDir, const QString &proName, const QString &buildDir = QString(),
const QStringList &additionalArguments = QStringList());
+ // executes qmake in workDir with the specified arguments
+ bool qmake(const QString &workDir, const QStringList &arguments);
// executes a make in the specified workPath, with an optional target (eg. install)
bool make( const QString &workPath, const QString &target = QString(), bool expectFail = false );
// checks if the executable exists in destDir
@@ -71,13 +73,17 @@ public:
bool removeProject( const QString &workPath, const QString &project );
// removes the file specified by 'fileName' on the 'workPath'
bool removeFile( const QString &workPath, const QString &fileName );
- // returns each line of stdout of the last command append with a "new line" character(s) to suit the platform
+
+ // Returns each line of stdout/stderr of the last commands
+ // separated by platform-specific line endings.
QString commandOutput() const;
+
// clear the results of storage of stdout for running previous commands
void clearCommandOutput();
-private:
bool runCommand(const QString &cmd, const QStringList &args, bool expectFail = false);
+
+private:
bool errorOut();
QString makeCmd_;
diff --git a/tests/auto/tools/qmake/testdata/conflicting_targets/conflicting_targets.pro b/tests/auto/tools/qmake/testdata/conflicting_targets/conflicting_targets.pro
new file mode 100644
index 0000000000..c3e8034e35
--- /dev/null
+++ b/tests/auto/tools/qmake/testdata/conflicting_targets/conflicting_targets.pro
@@ -0,0 +1,5 @@
+TEMPLATE = app
+CONFIG += debug_and_release
+TARGET = bah
+DESTDIR = shu
+SOURCES += main.cpp
diff --git a/tests/auto/tools/qmake/testdata/conflicting_targets/main.cpp b/tests/auto/tools/qmake/testdata/conflicting_targets/main.cpp
new file mode 100644
index 0000000000..39de28135a
--- /dev/null
+++ b/tests/auto/tools/qmake/testdata/conflicting_targets/main.cpp
@@ -0,0 +1,4 @@
+int main(int, char **)
+{
+ return 0;
+}
diff --git a/tests/auto/tools/qmake/testdata/windows_resources/inter.inc b/tests/auto/tools/qmake/testdata/windows_resources/inter.inc
new file mode 100644
index 0000000000..0c2594214e
--- /dev/null
+++ b/tests/auto/tools/qmake/testdata/windows_resources/inter.inc
@@ -0,0 +1 @@
+#include "version.inc"
diff --git a/tests/auto/tools/qmake/testdata/windows_resources/main.cpp b/tests/auto/tools/qmake/testdata/windows_resources/main.cpp
new file mode 100644
index 0000000000..237c8ce181
--- /dev/null
+++ b/tests/auto/tools/qmake/testdata/windows_resources/main.cpp
@@ -0,0 +1 @@
+int main() {}
diff --git a/tests/auto/tools/qmake/testdata/windows_resources/version.inc b/tests/auto/tools/qmake/testdata/windows_resources/version.inc
new file mode 100644
index 0000000000..b797c9acce
--- /dev/null
+++ b/tests/auto/tools/qmake/testdata/windows_resources/version.inc
@@ -0,0 +1,28 @@
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,0
+ PRODUCTVERSION 1,0,0,0
+ FILEFLAGS 0x0L
+ FILEFLAGSMASK 0x3fL
+ FILEOS 0x00040004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "000004b0"
+ BEGIN
+ VALUE "CompanyName", "The Qt Company Ltd"
+ VALUE "FileDescription", "A Good File"
+ VALUE "FileVersion", "1.0.0.0"
+ VALUE "LegalCopyright", "Copyright (C) 2019 The Qt Company Ltd."
+ VALUE "InternalName", "foo"
+ VALUE "OriginalFilename", "foo.exe"
+ VALUE "ProductName", "A Good Product"
+ VALUE "ProductVersion", "1.0.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1200
+ END
+END
diff --git a/tests/auto/tools/qmake/testdata/windows_resources/windows_resources.pro b/tests/auto/tools/qmake/testdata/windows_resources/windows_resources.pro
new file mode 100644
index 0000000000..80a5e5c19a
--- /dev/null
+++ b/tests/auto/tools/qmake/testdata/windows_resources/windows_resources.pro
@@ -0,0 +1,4 @@
+QT = core
+SOURCES = main.cpp
+RC_FILE = windows_resources.rc
+TEMPLATE = app
diff --git a/tests/auto/tools/qmake/testdata/windows_resources/windows_resources.rc b/tests/auto/tools/qmake/testdata/windows_resources/windows_resources.rc
new file mode 100644
index 0000000000..4df652de35
--- /dev/null
+++ b/tests/auto/tools/qmake/testdata/windows_resources/windows_resources.rc
@@ -0,0 +1,2 @@
+#include "winver.h"
+#include "inter.inc"
diff --git a/tests/auto/tools/qmake/tst_qmake.cpp b/tests/auto/tools/qmake/tst_qmake.cpp
index 1df31904d6..99d41d3583 100644
--- a/tests/auto/tools/qmake/tst_qmake.cpp
+++ b/tests/auto/tools/qmake/tst_qmake.cpp
@@ -33,6 +33,7 @@
#include <QDir>
#include <QDirIterator>
#include <QObject>
+#include <QRegularExpression>
#include <QStandardPaths>
#include <QTemporaryDir>
@@ -75,13 +76,17 @@ private slots:
void findMocs();
void findDeps();
void rawString();
-#if defined(Q_OS_MAC)
+#if defined(Q_OS_DARWIN)
void bundle_spaces();
+#elif defined(Q_OS_WIN)
+ void windowsResources();
#endif
void substitutes();
void project();
void proFileCache();
+ void qinstall();
void resources();
+ void conflictingTargets();
private:
TestCompiler test_compiler;
@@ -510,7 +515,8 @@ struct TempFile
}
};
-#if defined(Q_OS_MAC)
+#if defined(Q_OS_DARWIN)
+
void tst_qmake::bundle_spaces()
{
QString workDir = base_path + "/testdata/bundle-spaces";
@@ -541,7 +547,34 @@ void tst_qmake::bundle_spaces()
QVERIFY( !non_existing_file.exists() );
QVERIFY( test_compiler.removeMakefile(workDir) );
}
-#endif // defined(Q_OS_MAC)
+
+#elif defined(Q_OS_WIN) // defined(Q_OS_DARWIN)
+
+void tst_qmake::windowsResources()
+{
+ QString workDir = base_path + "/testdata/windows_resources";
+ QVERIFY(test_compiler.qmake(workDir, "windows_resources"));
+ QVERIFY(test_compiler.make(workDir));
+
+ // Another "make" must not rebuild the .res file
+ test_compiler.clearCommandOutput();
+ QVERIFY(test_compiler.make(workDir));
+ QVERIFY(!test_compiler.commandOutput().contains("windows_resources.rc"));
+ test_compiler.clearCommandOutput();
+
+ // Wait a second to make sure we get a new timestamp in the touch below
+ QTest::qWait(1000);
+
+ // Touch the deepest include of the .rc file
+ QVERIFY(test_compiler.runCommand("cmd", QStringList{"/c",
+ "echo.>>" + QDir::toNativeSeparators(workDir + "/version.inc")}));
+
+ // The next "make" must rebuild the .res file
+ QVERIFY(test_compiler.make(workDir));
+ QVERIFY(test_compiler.commandOutput().contains("windows_resources.rc"));
+}
+
+#endif // defined(Q_OS_WIN)
void tst_qmake::substitutes()
{
@@ -588,6 +621,104 @@ void tst_qmake::proFileCache()
QVERIFY( test_compiler.qmake( workDir, "pro_file_cache" ));
}
+void tst_qmake::qinstall()
+{
+ const QString testName = "qinstall";
+ QDir testDataDir = base_path + "/testdata";
+ if (testDataDir.exists(testName))
+ testDataDir.rmdir(testName);
+ QVERIFY(testDataDir.mkdir(testName));
+ const QString workDir = testDataDir.filePath(testName);
+ auto qinstall = [&](const QString &src, const QString &dst, bool executable = false) {
+ QStringList args = {"-install", "qinstall"};
+ if (executable)
+ args << "-exe";
+ args << src << dst;
+ return test_compiler.qmake(workDir, args);
+ };
+ const QFileDevice::Permissions readFlags
+ = QFileDevice::ReadOwner | QFileDevice::ReadUser
+ | QFileDevice::ReadGroup | QFileDevice::ReadOther;
+ const QFileDevice::Permissions writeFlags
+ = QFileDevice::WriteOwner | QFileDevice::WriteUser
+ | QFileDevice::WriteGroup | QFileDevice::WriteOther;
+ const QFileDevice::Permissions exeFlags
+ = QFileDevice::ExeOwner | QFileDevice::ExeUser
+ | QFileDevice::ExeGroup | QFileDevice::ExeOther;
+
+ // install a regular file
+ {
+ QFileInfo src(testDataDir.filePath("project/main.cpp"));
+ QFileInfo dst("foo.cpp");
+ QVERIFY(qinstall(src.filePath(), dst.filePath()));
+ QVERIFY(dst.exists());
+ QCOMPARE(src.size(), dst.size());
+ QVERIFY(dst.permissions() & readFlags);
+ QVERIFY(dst.permissions() & writeFlags);
+ QVERIFY(!(dst.permissions() & exeFlags));
+ test_compiler.clearCommandOutput();
+ }
+
+ // install an executable file
+ {
+ const QString mocFilePath = QLibraryInfo::location(QLibraryInfo::BinariesPath)
+ + "/moc"
+#ifdef Q_OS_WIN
+ + ".exe"
+#endif
+ ;
+ QFileInfo src(mocFilePath);
+ QVERIFY(src.exists());
+ QVERIFY(src.permissions() & exeFlags);
+ QFileInfo dst("copied_" + src.fileName());
+ QVERIFY(qinstall(src.filePath(), dst.filePath(), true));
+ QVERIFY(dst.exists());
+ QCOMPARE(src.size(), dst.size());
+ QVERIFY(dst.permissions() & readFlags);
+ QVERIFY(dst.permissions() & writeFlags);
+ QVERIFY(dst.permissions() & exeFlags);
+ test_compiler.clearCommandOutput();
+ }
+
+ // install a read-only file
+ {
+ QFile srcfile("foo.cpp");
+ QVERIFY(srcfile.setPermissions(srcfile.permissions() & ~writeFlags));
+ QFileInfo src(srcfile);
+ QFileInfo dst("bar.cpp");
+ QVERIFY(qinstall(src.filePath(), dst.filePath()));
+ QVERIFY(dst.exists());
+ QCOMPARE(src.size(), dst.size());
+ QVERIFY(dst.permissions() & readFlags);
+ QVERIFY(dst.permissions() & writeFlags);
+ QVERIFY(!(dst.permissions() & exeFlags));
+ test_compiler.clearCommandOutput();
+ }
+
+ // install a directory
+ {
+ QDir src = testDataDir;
+ src.cd("project");
+ QDir dst("narf");
+ QVERIFY(qinstall(src.absolutePath(), dst.absolutePath()));
+ QCOMPARE(src.entryList(QDir::Files, QDir::Name), dst.entryList(QDir::Files, QDir::Name));
+ test_compiler.clearCommandOutput();
+ }
+
+ // install a directory with a read-only file
+ {
+ QDir src("narf");
+ QFile srcfile(src.filePath("main.cpp"));
+ QVERIFY(srcfile.setPermissions(srcfile.permissions() & ~writeFlags));
+ QDir dst("zort");
+#ifdef Q_OS_WIN
+ QEXPECT_FAIL("", "QTBUG-77299", Abort);
+#endif
+ QVERIFY(qinstall(src.absolutePath(), dst.absolutePath()));
+ QCOMPARE(src.entryList(QDir::Files, QDir::Name), dst.entryList(QDir::Files, QDir::Name));
+ }
+}
+
void tst_qmake::resources()
{
QString workDir = base_path + "/testdata/resources";
@@ -621,5 +752,18 @@ void tst_qmake::resources()
QVERIFY(test_compiler.make(workDir));
}
+void tst_qmake::conflictingTargets()
+{
+ QString workDir = base_path + "/testdata/conflicting_targets";
+ QVERIFY(test_compiler.qmake(workDir, "conflicting_targets"));
+ const QRegularExpression rex("Targets of builds '([^']+)' and '([^']+)' conflict");
+ auto match = rex.match(test_compiler.commandOutput());
+ QVERIFY(match.hasMatch());
+ QStringList builds = { match.captured(1), match.captured(2) };
+ std::sort(builds.begin(), builds.end());
+ const QStringList expectedBuilds{"Debug", "Release"};
+ QCOMPARE(builds, expectedBuilds);
+}
+
QTEST_MAIN(tst_qmake)
#include "tst_qmake.moc"
diff --git a/tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST b/tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST
index f2f0f8d26e..aae2cacc3b 100644
--- a/tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST
+++ b/tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST
@@ -7,13 +7,10 @@ b2qt
[specialFiles]
b2qt
[dirsBeforeFiles]
-ubuntu-16.04
-rhel-7.6
-windows-10 msvc-2017
-ubuntu-18.04
-b2qt
winrt
-windows-10 msvc-2015
-
+b2qt
+ubuntu
+windows-10
+rhel
[drives]
winrt
diff --git a/tests/auto/widgets/dialogs/qmessagebox/BLACKLIST b/tests/auto/widgets/dialogs/qmessagebox/BLACKLIST
index e633e7c0a3..8d8a7c2105 100644
--- a/tests/auto/widgets/dialogs/qmessagebox/BLACKLIST
+++ b/tests/auto/widgets/dialogs/qmessagebox/BLACKLIST
@@ -1,6 +1,4 @@
[defaultButton]
-ubuntu-16.04
-rhel-7.6
opensuse-leap
-ubuntu-18.04
-rhel-7.4
+rhel-7.6
+ubuntu
diff --git a/tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp b/tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp
index 63f6e67a3e..243cb6483e 100644
--- a/tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp
+++ b/tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp
@@ -417,20 +417,19 @@ void tst_QWizard::setPixmap()
QVERIFY(wizard.pixmap(QWizard::BannerPixmap).isNull());
QVERIFY(wizard.pixmap(QWizard::LogoPixmap).isNull());
QVERIFY(wizard.pixmap(QWizard::WatermarkPixmap).isNull());
-#ifdef Q_OS_OSX
- QVERIFY(!wizard.pixmap(QWizard::BackgroundPixmap).isNull());
-#else
- QVERIFY(wizard.pixmap(QWizard::BackgroundPixmap).isNull());
-#endif
+ if (QOperatingSystemVersion::current() <= QOperatingSystemVersion::MacOSHighSierra)
+ QVERIFY(!wizard.pixmap(QWizard::BackgroundPixmap).isNull());
+ else
+ QVERIFY(wizard.pixmap(QWizard::BackgroundPixmap).isNull());
QVERIFY(page->pixmap(QWizard::BannerPixmap).isNull());
QVERIFY(page->pixmap(QWizard::LogoPixmap).isNull());
QVERIFY(page->pixmap(QWizard::WatermarkPixmap).isNull());
-#ifdef Q_OS_OSX
- QVERIFY(!wizard.pixmap(QWizard::BackgroundPixmap).isNull());
-#else
- QVERIFY(page->pixmap(QWizard::BackgroundPixmap).isNull());
-#endif
+ if (QOperatingSystemVersion::current() <= QOperatingSystemVersion::MacOSHighSierra)
+ QVERIFY(!wizard.pixmap(QWizard::BackgroundPixmap).isNull());
+ else
+ QVERIFY(page->pixmap(QWizard::BackgroundPixmap).isNull());
+
wizard.setPixmap(QWizard::BannerPixmap, p1);
wizard.setPixmap(QWizard::LogoPixmap, p2);
wizard.setPixmap(QWizard::WatermarkPixmap, p3);
diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
index 7b914512ab..72ea2ae31a 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -272,6 +272,9 @@ class tst_QGraphicsItem : public QObject
{
Q_OBJECT
+public:
+ static void initMain();
+
private slots:
void construction();
void constructionWithParent();
@@ -474,6 +477,14 @@ private:
QTouchDevice *m_touchDevice = nullptr;
};
+void tst_QGraphicsItem::initMain()
+{
+#ifdef Q_OS_WIN
+ // Ensure minimum size constraints of framed windows on High DPI screens
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+#endif
+}
+
void tst_QGraphicsItem::construction()
{
for (int i = 0; i < 7; ++i) {
diff --git a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
index 39aa65a478..a437b05479 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
@@ -2768,9 +2768,6 @@ void tst_QGraphicsProxyWidget::windowOpacity()
// disabled on platforms without alpha channel support in QPixmap (e.g.,
// X11 without XRender).
int paints = 0;
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- paints = !X11->use_xrender;
-#endif
QTRY_COMPARE(eventSpy.counts[QEvent::UpdateRequest], 0);
QTRY_COMPARE(eventSpy.counts[QEvent::Paint], paints);
diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST b/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST
index a3c9e2e421..c3797c9d57 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST
+++ b/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST
@@ -1,7 +1,5 @@
[isActive]
opensuse-42.3 ci
-[removeFullyTransparentItem]
-osx-10.12
[tabFocus_sceneWithNestedFocusWidgets]
opensuse-42.3
diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
index 46f1d5df5c..950f3ef670 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -26,11 +26,24 @@
**
****************************************************************************/
+#include <QtWidgets/QApplication>
+#include <QtWidgets/QDial>
+#include <QtWidgets/QLabel>
+#include <QtWidgets/QLineEdit>
+#include <QtWidgets/QGraphicsView>
+#include <QtWidgets/QGraphicsScene>
+#include <QtWidgets/QGraphicsPixmapItem>
+#include <QtWidgets/QStyle>
+#include <QtWidgets/QStyleFactory>
+#include <QtWidgets/QVBoxLayout>
+
+#include <QtGui/QScreen>
#include <QtTest/QtTest>
-#include <QtGui>
-#include <QtWidgets>
+#include <QtCore/QDebug>
+#include <QtCore/QLoggingCategory>
+
#include <private/qgraphicsscene_p.h>
#include <private/qgraphicssceneindex_p.h>
#include <math.h>
@@ -39,7 +52,7 @@
#include <private/qinputmethod_p.h>
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
-#include <windows.h>
+#include <QtCore/qt_windows.h>
#define Q_CHECK_PAINTEVENTS \
if (::SwitchDesktop(::GetThreadDesktop(::GetCurrentThreadId())) == 0) \
QSKIP("The Graphics View doesn't get the paint events");
@@ -51,6 +64,7 @@ Q_DECLARE_METATYPE(Qt::FocusReason)
Q_DECLARE_METATYPE(QPainterPath)
Q_DECLARE_METATYPE(Qt::AspectRatioMode)
Q_DECLARE_METATYPE(Qt::ItemSelectionMode)
+Q_DECLARE_METATYPE(QGraphicsItem::GraphicsItemFlags)
static const int randomX[] = {276, 40, 250, 864, -56, 426, 855, 825, 184, 955, -798, -804, 773,
282, 489, 686, 780, -220, 50, 749, -856, -205, 81, 492, -819, 518,
@@ -95,14 +109,16 @@ static const int randomY[] = {603, 70, -318, 843, 450, -637, 199, -527, 407, 964
-588, 864, 234, 225, -303, 493, 246, 153, 338, -378, 377, -819, 140, 136,
467, -849, -326, -533, 166, 252, -994, -699, 904, -566, 621, -752};
+Q_LOGGING_CATEGORY(lcTests, "qt.widgets.tests")
+
class HoverItem : public QGraphicsRectItem
{
public:
HoverItem()
- : QGraphicsRectItem(QRectF(-10, -10, 20, 20)), isHovered(false)
+ : QGraphicsRectItem(QRectF(-10, -10, 20, 20))
{ setAcceptHoverEvents(true); }
- bool isHovered;
+ bool isHovered = false;
protected:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *)
@@ -128,13 +144,13 @@ class EventSpy : public QGraphicsWidget
Q_OBJECT
public:
EventSpy(QObject *watched, QEvent::Type type)
- : _count(0), spied(type)
+ : spied(type)
{
watched->installEventFilter(this);
}
EventSpy(QGraphicsScene *scene, QGraphicsItem *watched, QEvent::Type type)
- : _count(0), spied(type)
+ : spied(type)
{
scene->addItem(this);
watched->installSceneEventFilter(this);
@@ -143,7 +159,7 @@ public:
int count() const { return _count; }
protected:
- bool eventFilter(QObject *watched, QEvent *event)
+ bool eventFilter(QObject *watched, QEvent *event) override
{
Q_UNUSED(watched);
if (event->type() == spied)
@@ -151,7 +167,7 @@ protected:
return false;
}
- bool sceneEventFilter(QGraphicsItem *watched, QEvent *event)
+ bool sceneEventFilter(QGraphicsItem *watched, QEvent *event) override
{
Q_UNUSED(watched);
if (event->type() == spied)
@@ -159,13 +175,17 @@ protected:
return false;
}
- int _count;
- QEvent::Type spied;
+ int _count = 0;
+ const QEvent::Type spied;
};
class tst_QGraphicsScene : public QObject
{
Q_OBJECT
+public:
+ tst_QGraphicsScene();
+ static void initMain() { QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling); }
+
public slots:
void cleanup();
@@ -268,13 +288,26 @@ private slots:
void taskQTBUG_15977_renderWithDeviceCoordinateCache();
void taskQTBUG_16401_focusItem();
void taskQTBUG_42915_focusNextPrevChild();
+
+private:
+ QRect m_availableGeometry = QGuiApplication::primaryScreen()->availableGeometry();
+ QSize m_testSize;
};
+tst_QGraphicsScene::tst_QGraphicsScene()
+{
+ const int testSize = qMax(200, m_availableGeometry.width() / 10);
+ m_testSize.setWidth(testSize);
+ m_testSize.setHeight(testSize);
+}
+
void tst_QGraphicsScene::cleanup()
{
// ensure not even skipped tests with custom input context leave it dangling
- QInputMethodPrivate *inputMethodPrivate = QInputMethodPrivate::get(qApp->inputMethod());
- inputMethodPrivate->testContext = 0;
+ QInputMethodPrivate *inputMethodPrivate =
+ QInputMethodPrivate::get(QGuiApplication::inputMethod());
+ inputMethodPrivate->testContext = nullptr;
+ QTRY_VERIFY(QApplication::topLevelWidgets().isEmpty());
}
void tst_QGraphicsScene::construction()
@@ -287,7 +320,7 @@ void tst_QGraphicsScene::construction()
QVERIFY(scene.items(QPolygonF()).isEmpty());
QVERIFY(scene.items(QPainterPath()).isEmpty());
QTest::ignoreMessage(QtWarningMsg, "QGraphicsScene::collidingItems: cannot find collisions for null item");
- QVERIFY(scene.collidingItems(0).isEmpty());
+ QVERIFY(scene.collidingItems(nullptr).isEmpty());
QVERIFY(scene.items(QPointF()).isEmpty());
QVERIFY(scene.selectedItems().isEmpty());
QVERIFY(!scene.focusItem());
@@ -301,7 +334,7 @@ static inline const QGraphicsItem *itemAt(const QGraphicsScene &scene, qreal x,
void tst_QGraphicsScene::sceneRect()
{
QGraphicsScene scene;
- QSignalSpy sceneRectChanged(&scene, SIGNAL(sceneRectChanged(QRectF)));
+ QSignalSpy sceneRectChanged(&scene, &QGraphicsScene::sceneRectChanged);
QCOMPARE(scene.sceneRect(), QRectF());
QCOMPARE(sceneRectChanged.count(), 0);
@@ -435,9 +468,9 @@ void tst_QGraphicsScene::items()
scene.removeItem(items.at(5));
delete items.at(5);
- QVERIFY(!scene.items().contains(0));
+ QVERIFY(!scene.items().contains(nullptr));
delete items.at(7);
- QVERIFY(!scene.items().contains(0));
+ QVERIFY(!scene.items().contains(nullptr));
}
{
QGraphicsScene scene;
@@ -516,7 +549,7 @@ void tst_QGraphicsScene::itemsBoundingRect()
QGraphicsScene scene;
- foreach (QRectF rect, rects) {
+ for (const auto &rect : qAsConst(rects)) {
QPainterPath path;
path.addRect(rect);
QGraphicsPathItem *item = scene.addPath(path);
@@ -581,7 +614,7 @@ void tst_QGraphicsScene::items_QPointF()
int n = 0;
QList<QGraphicsItem *> addedItems;
- foreach(QRectF rect, items) {
+ for (const auto &rect : qAsConst(items)) {
QPainterPath path;
path.addRect(0, 0, rect.width(), rect.height());
@@ -593,7 +626,8 @@ void tst_QGraphicsScene::items_QPointF()
}
QList<int> itemIndexes;
- foreach (QGraphicsItem *item, scene.items(point))
+ const auto &actualItemsAtPoint = scene.items(point);
+ for (QGraphicsItem *item : actualItemsAtPoint)
itemIndexes << addedItems.indexOf(item);
QCOMPARE(itemIndexes, itemsAtPoint);
@@ -912,12 +946,11 @@ void tst_QGraphicsScene::items_QPainterPath_2()
class CustomView : public QGraphicsView
{
public:
- CustomView() : repaints(0)
- { }
+ using QGraphicsView::QGraphicsView;
- int repaints;
+ int repaints = 0;
protected:
- void paintEvent(QPaintEvent *event)
+ void paintEvent(QPaintEvent *event) override
{
++repaints;
QGraphicsView::paintEvent(event);
@@ -927,7 +960,7 @@ protected:
void tst_QGraphicsScene::selectionChanged()
{
QGraphicsScene scene(0, 0, 1000, 1000);
- QSignalSpy spy(&scene, SIGNAL(selectionChanged()));
+ QSignalSpy spy(&scene, &QGraphicsScene::selectionChanged);
QCOMPARE(spy.count(), 0);
QPainterPath path;
@@ -997,7 +1030,7 @@ void tst_QGraphicsScene::selectionChanged()
void tst_QGraphicsScene::selectionChanged2()
{
QGraphicsScene scene;
- QSignalSpy spy(&scene, SIGNAL(selectionChanged()));
+ QSignalSpy spy(&scene, &QGraphicsScene::selectionChanged);
QGraphicsItem *item1 = scene.addRect(0, 0, 100, 100);
QGraphicsItem *item2 = scene.addRect(100, 100, 100, 100);
@@ -1009,13 +1042,13 @@ void tst_QGraphicsScene::selectionChanged2()
QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMousePress);
event.setScenePos(QPointF(50, 50));
event.setButton(Qt::LeftButton);
- qApp->sendEvent(&scene, &event);
+ QCoreApplication::sendEvent(&scene, &event);
}
{
QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMouseRelease);
event.setScenePos(QPointF(50, 50));
event.setButton(Qt::LeftButton);
- qApp->sendEvent(&scene, &event);
+ QCoreApplication::sendEvent(&scene, &event);
}
QVERIFY(item1->isSelected());
QVERIFY(!item2->isSelected());
@@ -1024,13 +1057,13 @@ void tst_QGraphicsScene::selectionChanged2()
QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMousePress);
event.setScenePos(QPointF(150, 150));
event.setButton(Qt::LeftButton);
- qApp->sendEvent(&scene, &event);
+ QCoreApplication::sendEvent(&scene, &event);
}
{
QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMouseRelease);
event.setScenePos(QPointF(150, 150));
event.setButton(Qt::LeftButton);
- qApp->sendEvent(&scene, &event);
+ QCoreApplication::sendEvent(&scene, &event);
}
QVERIFY(!item1->isSelected());
QVERIFY(item2->isSelected());
@@ -1040,7 +1073,7 @@ void tst_QGraphicsScene::selectionChanged2()
event.setScenePos(QPointF(50, 50));
event.setButton(Qt::LeftButton);
event.setModifiers(Qt::ControlModifier);
- qApp->sendEvent(&scene, &event);
+ QCoreApplication::sendEvent(&scene, &event);
}
QVERIFY(!item1->isSelected());
QVERIFY(item2->isSelected());
@@ -1049,7 +1082,7 @@ void tst_QGraphicsScene::selectionChanged2()
QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMouseRelease);
event.setScenePos(QPointF(50, 50));
event.setButton(Qt::LeftButton);
- qApp->sendEvent(&scene, &event);
+ QCoreApplication::sendEvent(&scene, &event);
}
QVERIFY(item1->isSelected());
QVERIFY(!item2->isSelected());
@@ -1065,10 +1098,12 @@ void tst_QGraphicsScene::addItem()
QGraphicsScene scene;
CustomView view;
+ view.setWindowTitle(QTest::currentTestFunction());
view.setScene(&scene);
+ view.resize(m_testSize);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
- qApp->processEvents();
+ QCoreApplication::processEvents();
view.repaints = 0;
scene.addItem(path);
@@ -1115,14 +1150,14 @@ void tst_QGraphicsScene::addEllipse()
QCOMPARE(ellipse->pen(), QPen(Qt::red));
QCOMPARE(ellipse->brush(), QBrush(Qt::blue));
QCOMPARE(ellipse->rect(), QRectF(-10, -10, 20, 20));
- QCOMPARE(itemAt(scene, 0, 0), (QGraphicsItem *)ellipse);
+ QCOMPARE(itemAt(scene, 0, 0), ellipse);
QVERIFY(scene.items(QPointF(-10, -10)).isEmpty());
- QCOMPARE(itemAt(scene, -9.9, 0), (QGraphicsItem *)ellipse);
+ QCOMPARE(itemAt(scene, -9.9, 0), ellipse);
QVERIFY(scene.items(QPointF(-10, 10)).isEmpty());
- QCOMPARE(itemAt(scene, 0, -9.9), (QGraphicsItem *)ellipse);
- QCOMPARE(itemAt(scene, 0, 9.9), (QGraphicsItem *)ellipse);
+ QCOMPARE(itemAt(scene, 0, -9.9), ellipse);
+ QCOMPARE(itemAt(scene, 0, 9.9), ellipse);
QVERIFY(scene.items(QPointF(10, -10)).isEmpty());
- QCOMPARE(itemAt(scene, 9.9, 0), (QGraphicsItem *)ellipse);
+ QCOMPARE(itemAt(scene, 9.9, 0), ellipse);
QVERIFY(scene.items(QPointF(10, 10)).isEmpty());
}
@@ -1136,15 +1171,15 @@ void tst_QGraphicsScene::addLine()
QCOMPARE(line->pos(), QPointF());
QCOMPARE(line->pen(), pen);
QCOMPARE(line->line(), QLineF(-10, -10, 20, 20));
- QCOMPARE(itemAt(scene, 0, 0), (QGraphicsItem *)line);
- QCOMPARE(itemAt(scene, -10, -10), (QGraphicsItem *)line);
+ QCOMPARE(itemAt(scene, 0, 0), line);
+ QCOMPARE(itemAt(scene, -10, -10), line);
QVERIFY(scene.items(QPointF(-9.9, 0)).isEmpty());
QVERIFY(scene.items(QPointF(-10, 10)).isEmpty());
QVERIFY(scene.items(QPointF(0, -9.9)).isEmpty());
QVERIFY(scene.items(QPointF(0, 9.9)).isEmpty());
QVERIFY(scene.items(QPointF(10, -10)).isEmpty());
QVERIFY(scene.items(QPointF(9.9, 0)).isEmpty());
- QCOMPARE(itemAt(scene, 10, 10), (QGraphicsItem *)line);
+ QCOMPARE(itemAt(scene, 10, 10), line);
}
void tst_QGraphicsScene::addPath()
@@ -1162,16 +1197,16 @@ void tst_QGraphicsScene::addPath()
path->setPen(QPen(Qt::red, 0));
- QCOMPARE(itemAt(scene, 0, 0), (QGraphicsItem *)path);
- QCOMPARE(itemAt(scene, -9.9, 0), (QGraphicsItem *)path);
- QCOMPARE(itemAt(scene, 9.9, 0), (QGraphicsItem *)path);
- QCOMPARE(itemAt(scene, 0, -9.9), (QGraphicsItem *)path);
- QCOMPARE(itemAt(scene, 0, 9.9), (QGraphicsItem *)path);
- QCOMPARE(itemAt(scene, 0, 30), (QGraphicsItem *)path);
- QCOMPARE(itemAt(scene, -9.9, 30), (QGraphicsItem *)path);
- QCOMPARE(itemAt(scene, 9.9, 30), (QGraphicsItem *)path);
- QCOMPARE(itemAt(scene, 0, 20.1), (QGraphicsItem *)path);
- QCOMPARE(itemAt(scene, 0, 39.9), (QGraphicsItem *)path);
+ QCOMPARE(itemAt(scene, 0, 0), path);
+ QCOMPARE(itemAt(scene, -9.9, 0), path);
+ QCOMPARE(itemAt(scene, 9.9, 0), path);
+ QCOMPARE(itemAt(scene, 0, -9.9), path);
+ QCOMPARE(itemAt(scene, 0, 9.9), path);
+ QCOMPARE(itemAt(scene, 0, 30), path);
+ QCOMPARE(itemAt(scene, -9.9, 30), path);
+ QCOMPARE(itemAt(scene, 9.9, 30), path);
+ QCOMPARE(itemAt(scene, 0, 20.1), path);
+ QCOMPARE(itemAt(scene, 0, 39.9), path);
QVERIFY(scene.items(QPointF(-10, -10)).isEmpty());
QVERIFY(scene.items(QPointF(10, -10)).isEmpty());
QVERIFY(scene.items(QPointF(-10, 10)).isEmpty());
@@ -1193,10 +1228,10 @@ void tst_QGraphicsScene::addPixmap()
QCOMPARE(pixmap->pos(), QPointF());
QCOMPARE(pixmap->pixmap(), pix);
- QCOMPARE(itemAt(scene, 0, 0), (QGraphicsItem *)pixmap);
- QCOMPARE(itemAt(scene, pix.width() - 1, 0), (QGraphicsItem *)pixmap);
- QCOMPARE(itemAt(scene, 0, pix.height() - 1), (QGraphicsItem *)pixmap);
- QCOMPARE(itemAt(scene, pix.width() - 1, pix.height() - 1), (QGraphicsItem *)pixmap);
+ QCOMPARE(itemAt(scene, 0, 0), pixmap);
+ QCOMPARE(itemAt(scene, pix.width() - 1, 0), pixmap);
+ QCOMPARE(itemAt(scene, 0, pix.height() - 1), pixmap);
+ QCOMPARE(itemAt(scene, pix.width() - 1, pix.height() - 1), pixmap);
QVERIFY(scene.items(QPointF(-1, -1)).isEmpty());
QVERIFY(scene.items(QPointF(pix.width() - 1, -1)).isEmpty());
@@ -1218,14 +1253,14 @@ void tst_QGraphicsScene::addRect()
rect->setPen(QPen(Qt::red, 0));
- QCOMPARE(itemAt(scene, 0, 0), (QGraphicsItem *)rect);
- QCOMPARE(itemAt(scene, -10, -10), (QGraphicsItem *)rect);
- QCOMPARE(itemAt(scene, -9.9, 0), (QGraphicsItem *)rect);
+ QCOMPARE(itemAt(scene, 0, 0),rect);
+ QCOMPARE(itemAt(scene, -10, -10), rect);
+ QCOMPARE(itemAt(scene, -9.9, 0), rect);
QVERIFY(scene.items(QPointF(-10, 10)).isEmpty());
- QCOMPARE(itemAt(scene, 0, -9.9), (QGraphicsItem *)rect);
- QCOMPARE(itemAt(scene, 0, 9.9), (QGraphicsItem *)rect);
+ QCOMPARE(itemAt(scene, 0, -9.9), rect);
+ QCOMPARE(itemAt(scene, 0, 9.9), rect);
QVERIFY(scene.items(QPointF(10, -10)).isEmpty());
- QCOMPARE(itemAt(scene, 9.9, 0), (QGraphicsItem *)rect);
+ QCOMPARE(itemAt(scene, 9.9, 0), rect);
QVERIFY(scene.items(QPointF(10, 10)).isEmpty());
}
@@ -1271,6 +1306,7 @@ void tst_QGraphicsScene::removeItem()
scene.setSceneRect(-50, -50, 100, 100);
QGraphicsView view(&scene);
+ view.setWindowTitle(QTest::currentTestFunction());
view.setFixedSize(150, 150);
view.show();
QApplication::setActiveWindow(&view);
@@ -1342,7 +1378,7 @@ void tst_QGraphicsScene::focusItem()
class FocusItem : public QGraphicsTextItem
{
protected:
- void focusOutEvent(QFocusEvent *)
+ void focusOutEvent(QFocusEvent *) override
{
QVERIFY(!scene()->focusItem());
}
@@ -1359,14 +1395,14 @@ void tst_QGraphicsScene::focusItemLostFocus()
scene.addItem(item);
item->setFocus();
- QCOMPARE(scene.focusItem(), (QGraphicsItem *)item);
+ QCOMPARE(scene.focusItem(), item);
item->clearFocus();
}
class ClearTestItem : public QGraphicsRectItem
{
public:
- ClearTestItem(QGraphicsItem *parent = 0) : QGraphicsRectItem(parent) {}
+ using QGraphicsRectItem::QGraphicsRectItem;
~ClearTestItem() { qDeleteAll(items); }
QList<QGraphicsItem *> items;
};
@@ -1389,7 +1425,7 @@ void tst_QGraphicsScene::clear()
scene.setItemIndexMethod(QGraphicsScene::NoIndex);
scene.addItem(firstItem);
scene.addItem(secondItem);
- QCOMPARE(scene.items().at(0), (QGraphicsItem*)firstItem);
+ QCOMPARE(scene.items().at(0), firstItem);
QCOMPARE(scene.items().at(1), secondItem);
ClearTestItem *thirdItem = new ClearTestItem(firstItem);
@@ -1441,7 +1477,7 @@ void tst_QGraphicsScene::setFocusItem()
QVERIFY(item->hasFocus());
QVERIFY(!item2->hasFocus());
- scene.setFocusItem(0);
+ scene.setFocusItem(nullptr);
QVERIFY(!item->hasFocus());
QVERIFY(!item2->hasFocus());
@@ -1562,26 +1598,26 @@ void tst_QGraphicsScene::hoverEvents_siblings()
Q_CHECK_PAINTEVENTS
QGraphicsScene scene;
- QGraphicsItem *lastItem = 0;
+ QGraphicsItem *lastItem = nullptr;
QList<HoverItem *> items;
for (int i = 0; i < 15; ++i) {
- QGraphicsItem *item = new HoverItem;
+ auto item = new HoverItem;
scene.addItem(item);
- items << (HoverItem *)item;
- if (lastItem) {
+ items << item;
+ if (lastItem)
item->setPos(lastItem->pos() + QPointF(sin(i / 3.0) * 17, cos(i / 3.0) * 17));
- }
item->setZValue(i);
lastItem = item;
}
QGraphicsView view(&scene);
+ view.setWindowTitle(QTest::currentTestFunction());
view.setRenderHint(QPainter::Antialiasing, true);
view.setMinimumSize(400, 300);
view.rotate(10);
view.scale(1.7, 1.7);
view.show();
- qApp->setActiveWindow(&view);
+ QApplication::setActiveWindow(&view);
view.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&view));
@@ -1604,8 +1640,8 @@ void tst_QGraphicsScene::hoverEvents_siblings()
mouseEvent.setScenePos(items.at(i)->mapToScene(0, 0));
QApplication::sendEvent(&scene, &mouseEvent);
- qApp->processEvents(); // this posts updates from the scene to the view
- qApp->processEvents(); // which trigger a repaint here
+ QCoreApplication::processEvents(); // this posts updates from the scene to the view
+ QCoreApplication::processEvents(); // which trigger a repaint here
QTRY_VERIFY(items.at(i)->isHovered);
if (j && i > 0)
@@ -1621,8 +1657,8 @@ void tst_QGraphicsScene::hoverEvents_siblings()
mouseEvent.setScenePos(QPointF(-1000, -1000));
QApplication::sendEvent(&scene, &mouseEvent);
- qApp->processEvents(); // this posts updates from the scene to the view
- qApp->processEvents(); // which trigger a repaint here
+ QCoreApplication::processEvents(); // this posts updates from the scene to the view
+ QCoreApplication::processEvents(); // which trigger a repaint here
}
}
@@ -1631,12 +1667,12 @@ void tst_QGraphicsScene::hoverEvents_parentChild()
Q_CHECK_PAINTEVENTS
QGraphicsScene scene;
- QGraphicsItem *lastItem = 0;
+ QGraphicsItem *lastItem = nullptr;
QList<HoverItem *> items;
for (int i = 0; i < 15; ++i) {
- QGraphicsItem *item = new HoverItem;
+ auto item = new HoverItem;
scene.addItem(item);
- items << (HoverItem *)item;
+ items << item;
if (lastItem) {
item->setParentItem(lastItem);
item->setPos(sin(i / 3.0) * 17, cos(i / 3.0) * 17);
@@ -1645,12 +1681,13 @@ void tst_QGraphicsScene::hoverEvents_parentChild()
}
QGraphicsView view(&scene);
+ view.setWindowTitle(QTest::currentTestFunction());
view.setRenderHint(QPainter::Antialiasing, true);
view.setMinimumSize(400, 300);
view.rotate(10);
view.scale(1.7, 1.7);
view.show();
- qApp->setActiveWindow(&view);
+ QApplication::setActiveWindow(&view);
QVERIFY(QTest::qWaitForWindowActive(&view));
QGraphicsSceneMouseEvent mouseEvent(QEvent::GraphicsSceneMouseMove);
@@ -1669,8 +1706,8 @@ void tst_QGraphicsScene::hoverEvents_parentChild()
mouseEvent.setScenePos(items.at(i)->mapToScene(0, 0));
QApplication::sendEvent(&scene, &mouseEvent);
- qApp->processEvents(); // this posts updates from the scene to the view
- qApp->processEvents(); // which trigger a repaint here
+ QCoreApplication::processEvents(); // this posts updates from the scene to the view
+ QCoreApplication::processEvents(); // which trigger a repaint here
QTRY_VERIFY(items.at(i)->isHovered);
if (i < 14)
@@ -1683,8 +1720,8 @@ void tst_QGraphicsScene::hoverEvents_parentChild()
mouseEvent.setScenePos(QPointF(-1000, -1000));
QApplication::sendEvent(&scene, &mouseEvent);
- qApp->processEvents(); // this posts updates from the scene to the view
- qApp->processEvents(); // which trigger a repaint here
+ QCoreApplication::processEvents(); // this posts updates from the scene to the view
+ QCoreApplication::processEvents(); // which trigger a repaint here
}
}
@@ -1712,23 +1749,23 @@ void tst_QGraphicsScene::createItemGroup()
// All items in children1 are children of parent1
QGraphicsItem *parent1 = scene.addRect(QRectF(-10, -10, 20, 20));
- foreach (QGraphicsItem *item, children1)
+ for (QGraphicsItem *item : qAsConst(children1))
item->setParentItem(parent1);
QGraphicsItemGroup *group = scene.createItemGroup(children1);
QCOMPARE(group->parentItem(), parent1);
- QCOMPARE(children1.first()->parentItem(), (QGraphicsItem *)group);
+ QCOMPARE(children1.first()->parentItem(), group);
scene.destroyItemGroup(group);
QCOMPARE(children1.first()->parentItem(), parent1);
group = scene.createItemGroup(children1);
QCOMPARE(group->parentItem(), parent1);
- QCOMPARE(children1.first()->parentItem(), (QGraphicsItem *)group);
+ QCOMPARE(children1.first()->parentItem(), group);
scene.destroyItemGroup(group);
QCOMPARE(children1.first()->parentItem(), parent1);
// All items in children2 are children of parent2
QGraphicsItem *parent2 = scene.addRect(QRectF(-10, -10, 20, 20));
- foreach (QGraphicsItem *item, children2)
+ for (QGraphicsItem *item : qAsConst(children2))
item->setParentItem(parent2);
// Now make parent2 a child of parent1, so all children2 are also children
@@ -1738,21 +1775,21 @@ void tst_QGraphicsScene::createItemGroup()
// The children2 group should still have parent2 as their common ancestor.
group = scene.createItemGroup(children2);
QCOMPARE(group->parentItem(), parent2);
- QCOMPARE(children2.first()->parentItem(), (QGraphicsItem *)group);
+ QCOMPARE(children2.first()->parentItem(), group);
scene.destroyItemGroup(group);
QCOMPARE(children2.first()->parentItem(), parent2);
// But the set of both children2 and children1 share only parent1.
group = scene.createItemGroup(children2 + children1);
QCOMPARE(group->parentItem(), parent1);
- QCOMPARE(children1.first()->parentItem(), (QGraphicsItem *)group);
- QCOMPARE(children2.first()->parentItem(), (QGraphicsItem *)group);
+ QCOMPARE(children1.first()->parentItem(), group);
+ QCOMPARE(children2.first()->parentItem(), group);
scene.destroyItemGroup(group);
QCOMPARE(children1.first()->parentItem(), parent1);
QCOMPARE(children2.first()->parentItem(), parent1);
// Fixup the parent-child chain
- foreach (QGraphicsItem *item, children2)
+ for (QGraphicsItem *item : qAsConst(children2))
item->setParentItem(parent2);
// These share no common parent
@@ -1762,7 +1799,7 @@ void tst_QGraphicsScene::createItemGroup()
// Make children3 children of parent3
QGraphicsItem *parent3 = scene.addRect(QRectF(-10, -10, 20, 20));
- foreach (QGraphicsItem *item, children3)
+ for (QGraphicsItem *item : qAsConst(children3))
item->setParentItem(parent3);
// These should have parent3 as a parent
@@ -1794,15 +1831,14 @@ void tst_QGraphicsScene::createItemGroup()
class EventTester : public QGraphicsEllipseItem
{
public:
- EventTester()
- : QGraphicsEllipseItem(QRectF(-10, -10, 20, 20)), ignoreMouse(false)
+ EventTester() : QGraphicsEllipseItem(QRectF(-10, -10, 20, 20))
{ }
- bool ignoreMouse;
- QList<QEvent::Type> eventTypes;
+ bool ignoreMouse = false;
+ QVector<QEvent::Type> eventTypes;
protected:
- bool sceneEvent(QEvent *event)
+ bool sceneEvent(QEvent *event) override
{
eventTypes << QEvent::Type(event->type());
switch (event->type()) {
@@ -1813,6 +1849,7 @@ protected:
event->ignore();
return true;
}
+ break;
default:
break;
}
@@ -1867,7 +1904,7 @@ void tst_QGraphicsScene::mouseEventPropagation()
QCOMPARE(c->eventTypes.size(), 0);
QCOMPARE(b->eventTypes.size(), 0);
QCOMPARE(a->eventTypes.size(), 0);
- QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *)d);
+ QCOMPARE(scene.mouseGrabberItem(), d);
// Send a move
QApplication::sendEvent(&scene, &moveEvent);
@@ -1876,7 +1913,7 @@ void tst_QGraphicsScene::mouseEventPropagation()
QCOMPARE(c->eventTypes.size(), 0);
QCOMPARE(b->eventTypes.size(), 0);
QCOMPARE(a->eventTypes.size(), 0);
- QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *)d);
+ QCOMPARE(scene.mouseGrabberItem(), d);
// Send a release
QApplication::sendEvent(&scene, &releaseEvent);
@@ -1898,7 +1935,7 @@ void tst_QGraphicsScene::mouseEventPropagation()
QCOMPARE(c->eventTypes.at(1), QEvent::GraphicsSceneMousePress);
QCOMPARE(b->eventTypes.size(), 0);
QCOMPARE(a->eventTypes.size(), 0);
- QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *)c);
+ QCOMPARE(scene.mouseGrabberItem(), c);
// Send another press, with a button that isn't actually accepted
QApplication::sendEvent(&scene, &pressEvent);
@@ -1908,7 +1945,7 @@ void tst_QGraphicsScene::mouseEventPropagation()
QCOMPARE(c->eventTypes.at(2), QEvent::GraphicsSceneMousePress);
QCOMPARE(b->eventTypes.size(), 0);
QCOMPARE(a->eventTypes.size(), 0);
- QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *)c);
+ QCOMPARE(scene.mouseGrabberItem(), c);
// Send a move
QApplication::sendEvent(&scene, &moveEvent);
@@ -1917,7 +1954,7 @@ void tst_QGraphicsScene::mouseEventPropagation()
QCOMPARE(c->eventTypes.at(3), QEvent::GraphicsSceneMouseMove);
QCOMPARE(b->eventTypes.size(), 0);
QCOMPARE(a->eventTypes.size(), 0);
- QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *)c);
+ QCOMPARE(scene.mouseGrabberItem(), c);
// Send a release
QApplication::sendEvent(&scene, &releaseEvent);
@@ -1950,7 +1987,7 @@ void tst_QGraphicsScene::mouseEventPropagation()
QCOMPARE(c->eventTypes.at(7), QEvent::GraphicsSceneMousePress);
QCOMPARE(b->eventTypes.size(), 0);
QCOMPARE(a->eventTypes.size(), 0);
- QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *)c);
+ QCOMPARE(scene.mouseGrabberItem(), c);
// Clicking outside the items removes the mouse grabber
}
@@ -1999,7 +2036,7 @@ void tst_QGraphicsScene::mouseEventPropagation_ignore()
QCOMPARE(d->eventTypes.at(0), QEvent::GrabMouse);
QCOMPARE(d->eventTypes.at(1), QEvent::GraphicsSceneMousePress);
QCOMPARE(d->eventTypes.at(2), QEvent::UngrabMouse);
- QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *)a);
+ QCOMPARE(scene.mouseGrabberItem(), a);
a->ignoreMouse = true;
@@ -2115,7 +2152,7 @@ public:
QVector<QPointF> mouseMovePoints;
protected:
- void mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+ void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
{
mouseMovePoints << event->scenePos();
}
@@ -2140,22 +2177,17 @@ void tst_QGraphicsScene::mouseEventPropagation_mouseMove()
class DndTester : public QGraphicsEllipseItem
{
public:
- DndTester(const QRectF &rect)
- : QGraphicsEllipseItem(rect), lastEvent(0),
- ignoresDragEnter(false), ignoresDragMove(false)
-
- {
- }
+ using QGraphicsEllipseItem::QGraphicsEllipseItem;
~DndTester()
{
delete lastEvent;
}
- QGraphicsSceneDragDropEvent *lastEvent;
+ QGraphicsSceneDragDropEvent *lastEvent = nullptr;
QList<QEvent::Type> eventList;
- bool ignoresDragEnter;
- bool ignoresDragMove;
+ bool ignoresDragEnter = false;
+ bool ignoresDragMove = false;
protected:
void dragEnterEvent(QGraphicsSceneDragDropEvent *event)
@@ -2218,21 +2250,21 @@ void tst_QGraphicsScene::dragAndDrop_simple()
QMimeData mimeData;
// Initial drag enter for the scene
- QDragEnterEvent dragEnter(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragEnterEvent dragEnter(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragEnter);
QVERIFY(dragEnter.isAccepted());
QCOMPARE(dragEnter.dropAction(), Qt::CopyAction);
{
// Move outside the item
- QDragMoveEvent dragMove(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(!dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::CopyAction);
}
{
// Move inside the item without setAcceptDrops
- QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(!dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::CopyAction);
@@ -2241,7 +2273,7 @@ void tst_QGraphicsScene::dragAndDrop_simple()
item->setAcceptDrops(true);
{
// Move inside the item with setAcceptDrops
- QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::IgnoreAction);
@@ -2255,7 +2287,7 @@ void tst_QGraphicsScene::dragAndDrop_simple()
}
{
// Another move inside the item
- QDragMoveEvent dragMove(view.mapFromScene(item->mapToScene(5, 5)), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(item->mapToScene(5, 5)), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::IgnoreAction);
@@ -2268,7 +2300,7 @@ void tst_QGraphicsScene::dragAndDrop_simple()
}
{
// Move outside the item
- QDragMoveEvent dragMove(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(!dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::CopyAction);
@@ -2281,7 +2313,7 @@ void tst_QGraphicsScene::dragAndDrop_simple()
}
{
// Move inside the item again
- QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::IgnoreAction);
@@ -2295,7 +2327,7 @@ void tst_QGraphicsScene::dragAndDrop_simple()
}
{
// Drop inside the item
- QDropEvent drop(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDropEvent drop(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &drop);
QVERIFY(drop.isAccepted());
QCOMPARE(drop.dropAction(), Qt::CopyAction);
@@ -2322,13 +2354,13 @@ void tst_QGraphicsScene::dragAndDrop_disabledOrInvisible()
QMimeData mimeData;
// Initial drag enter for the scene
- QDragEnterEvent dragEnter(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragEnterEvent dragEnter(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragEnter);
QVERIFY(dragEnter.isAccepted());
QCOMPARE(dragEnter.dropAction(), Qt::CopyAction);
{
// Move inside the item
- QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::IgnoreAction);
@@ -2338,7 +2370,7 @@ void tst_QGraphicsScene::dragAndDrop_disabledOrInvisible()
}
{
// Move outside the item
- QDragMoveEvent dragMove(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(!dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::CopyAction);
@@ -2353,7 +2385,7 @@ void tst_QGraphicsScene::dragAndDrop_disabledOrInvisible()
{
// Move inside the item
- QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(!dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::CopyAction);
@@ -2369,7 +2401,7 @@ void tst_QGraphicsScene::dragAndDrop_disabledOrInvisible()
{
// Move inside the item
- QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(item->scenePos()), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(!dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::CopyAction);
@@ -2378,7 +2410,7 @@ void tst_QGraphicsScene::dragAndDrop_disabledOrInvisible()
}
// Dummy drop event to keep the Mac from crashing.
- QDropEvent dropEvent(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDropEvent dropEvent(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dropEvent);
}
@@ -2405,14 +2437,14 @@ void tst_QGraphicsScene::dragAndDrop_propagate()
QMimeData mimeData;
// Initial drag enter for the scene
- QDragEnterEvent dragEnter(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragEnterEvent dragEnter(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragEnter);
QVERIFY(dragEnter.isAccepted());
QCOMPARE(dragEnter.dropAction(), Qt::CopyAction);
{
// Move outside the items
- QDragMoveEvent dragMove(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(!dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::CopyAction);
@@ -2421,7 +2453,7 @@ void tst_QGraphicsScene::dragAndDrop_propagate()
}
{
// Move inside item1
- QDragMoveEvent dragMove(view.mapFromScene(-5, -5), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(-5, -5), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::IgnoreAction);
@@ -2432,7 +2464,7 @@ void tst_QGraphicsScene::dragAndDrop_propagate()
{
// Move into the intersection item1-item2
- QDragMoveEvent dragMove(view.mapFromScene(5, 5), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(5, 5), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(!dragMove.isAccepted()); // move does not propagate, (ignoresDragMove = true)
QCOMPARE(item1->eventList.size(), 3);
@@ -2443,7 +2475,7 @@ void tst_QGraphicsScene::dragAndDrop_propagate()
}
{
// Move into the item2
- QDragMoveEvent dragMove(view.mapFromScene(15, 15), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(15, 15), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(!dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::CopyAction);
@@ -2453,7 +2485,7 @@ void tst_QGraphicsScene::dragAndDrop_propagate()
}
{
// Move inside item1
- QDragMoveEvent dragMove(view.mapFromScene(-5, -5), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(-5, -5), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(dragMove.isAccepted());
QCOMPARE(dragMove.dropAction(), Qt::IgnoreAction);
@@ -2467,7 +2499,7 @@ void tst_QGraphicsScene::dragAndDrop_propagate()
{
item2->ignoresDragEnter = true;
// Move into the intersection item1-item2
- QDragMoveEvent dragMove(view.mapFromScene(5, 5), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDragMoveEvent dragMove(view.mapFromScene(5, 5), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dragMove);
QVERIFY(dragMove.isAccepted()); // dragEnter propagates down to item1, which then accepts the move event.
QCOMPARE(dragMove.dropAction(), Qt::IgnoreAction);
@@ -2480,7 +2512,7 @@ void tst_QGraphicsScene::dragAndDrop_propagate()
{
item2->ignoresDragEnter = false;
// Drop on the intersection item1-item2
- QDropEvent drop(view.mapFromScene(5, 5), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDropEvent drop(view.mapFromScene(5, 5), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &drop);
QVERIFY(drop.isAccepted());
QCOMPARE(drop.dropAction(), Qt::CopyAction);
@@ -2491,7 +2523,7 @@ void tst_QGraphicsScene::dragAndDrop_propagate()
}
// Dummy drop event to keep the Mac from crashing.
- QDropEvent dropEvent(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, 0);
+ QDropEvent dropEvent(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, {});
QApplication::sendEvent(view.viewport(), &dropEvent);
}
#endif
@@ -2580,6 +2612,8 @@ void tst_QGraphicsScene::render()
pix.fill(Qt::blue);
QGraphicsView view;
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
QGraphicsScene scene(&view);
scene.addEllipse(QRectF(-10, -10, 20, 20), QPen(Qt::black, 0), QBrush(Qt::white));
scene.addEllipse(QRectF(-2, -7, 4, 4), QPen(Qt::black, 0), QBrush(Qt::yellow))->setZValue(1);
@@ -2642,6 +2676,7 @@ void tst_QGraphicsScene::render()
gridLayout->addWidget(newLabel, 2, 0);
QWidget widget;
+ widget.setWindowTitle(QTest::currentTestFunction());
widget.setLayout(gridLayout);
widget.show();
@@ -2660,33 +2695,32 @@ void tst_QGraphicsScene::renderItemsWithNegativeWidthOrHeight()
#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) || defined(Q_OS_WINRT)
QSKIP("Test only works on platforms with resizable windows");
#endif
-
- QGraphicsScene scene(0, 0, 150, 150);
+ QGraphicsScene scene(0, 0, m_testSize.width(), m_testSize.height());
// Add item with negative width.
- QGraphicsRectItem *item1 = new QGraphicsRectItem(0, 0, -150, 50);
+ QGraphicsRectItem *item1 = new QGraphicsRectItem(0, 0, -m_testSize.width(), 50);
item1->setBrush(Qt::red);
- item1->setPos(150, 50);
+ item1->setPos(m_testSize.width(), 50);
scene.addItem(item1);
// Add item with negative height.
- QGraphicsRectItem *item2 = new QGraphicsRectItem(0, 0, 50, -150);
+ QGraphicsRectItem *item2 = new QGraphicsRectItem(0, 0, 50, -m_testSize.height());
item2->setBrush(Qt::blue);
- item2->setPos(50, 150);
+ item2->setPos(50, m_testSize.height());
scene.addItem(item2);
QGraphicsView view(&scene);
+ view.setWindowTitle(QTest::currentTestFunction());
view.setFrameStyle(QFrame::NoFrame);
- view.resize(150, 150);
view.show();
- QCOMPARE(view.viewport()->size(), QSize(150, 150));
+ QTRY_COMPARE(view.viewport()->size(), m_testSize);
QImage expected(view.viewport()->size(), QImage::Format_RGB32);
view.viewport()->render(&expected);
// Make sure the scene background is the same as the viewport background.
scene.setBackgroundBrush(view.viewport()->palette().brush(view.viewport()->backgroundRole()));
- QImage actual(150, 150, QImage::Format_RGB32);
+ QImage actual(m_testSize, QImage::Format_RGB32);
QPainter painter(&actual);
scene.render(&painter);
painter.end();
@@ -2710,6 +2744,8 @@ void tst_QGraphicsScene::contextMenuEvent()
QVERIFY(scene.hasFocus());
QGraphicsView view(&scene);
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
view.show();
view.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&view));
@@ -2726,11 +2762,11 @@ void tst_QGraphicsScene::contextMenuEvent()
class ContextMenuItem : public QGraphicsRectItem
{
public:
- ContextMenuItem() : QGraphicsRectItem(0, 0, 100, 100)
+ ContextMenuItem(const QSize &s) : QGraphicsRectItem(0, 0, s.width(), s.height())
{ setBrush(Qt::red); }
protected:
- void contextMenuEvent(QGraphicsSceneContextMenuEvent *)
+ void contextMenuEvent(QGraphicsSceneContextMenuEvent *) override
{ /* just accept */ }
};
@@ -2740,26 +2776,30 @@ void tst_QGraphicsScene::contextMenuEvent_ItemIgnoresTransformations()
QSKIP("Test fails on some Android devices (QTBUG-44430)");
#endif
- QGraphicsScene scene(0, 0, 200, 200);
- ContextMenuItem *item = new ContextMenuItem;
+ QGraphicsScene scene(0, 0, m_testSize.width(), m_testSize.height());
+ const QSize itemSize = m_testSize / 2;
+ ContextMenuItem *item = new ContextMenuItem(itemSize);
item->setFlag(QGraphicsItem::ItemIgnoresTransformations);
scene.addItem(item);
QWidget topLevel;
+ topLevel.setWindowTitle(QTest::currentTestFunction());
+ topLevel.resize(m_testSize);
QGraphicsView view(&scene, &topLevel);
- view.resize(200, 200);
topLevel.show();
QVERIFY(QTest::qWaitForWindowExposed(&topLevel));
+
+
{
- QPoint pos(50, 50);
+ QPoint pos(itemSize.width() / 2, itemSize.height() / 2);
QContextMenuEvent event(QContextMenuEvent::Keyboard, pos, view.viewport()->mapToGlobal(pos));
event.ignore();
QApplication::sendEvent(view.viewport(), &event);
QVERIFY(event.isAccepted());
}
{
- QPoint pos(150, 150);
+ QPoint pos(itemSize.width() * 3 / 2, itemSize.height() * 3 / 2);
QContextMenuEvent event(QContextMenuEvent::Keyboard, pos, view.viewport()->mapToGlobal(pos));
event.ignore();
QApplication::sendEvent(view.viewport(), &event);
@@ -2767,14 +2807,14 @@ void tst_QGraphicsScene::contextMenuEvent_ItemIgnoresTransformations()
}
view.scale(1.5, 1.5);
{
- QPoint pos(25, 25);
+ QPoint pos(itemSize.width() / 4, itemSize.height() / 4);
QContextMenuEvent event(QContextMenuEvent::Keyboard, pos, view.viewport()->mapToGlobal(pos));
event.ignore();
QApplication::sendEvent(view.viewport(), &event);
QVERIFY(event.isAccepted());
}
{
- QPoint pos(55, 55);
+ QPoint pos(itemSize.width() / 2 + 5, itemSize.height() / 2 + 5);
QContextMenuEvent event(QContextMenuEvent::Keyboard, pos, view.viewport()->mapToGlobal(pos));
event.ignore();
QApplication::sendEvent(view.viewport(), &event);
@@ -2790,14 +2830,14 @@ void tst_QGraphicsScene::update()
QGraphicsRectItem *rect = new QGraphicsRectItem(0, 0, 100, 100);
rect->setPen(QPen(Qt::black, 0));
scene.addItem(rect);
- qApp->processEvents();
+ QCoreApplication::processEvents();
rect->setPos(-100, -100);
// This function forces indexing
itemAt(scene, 0, 0);
qRegisterMetaType<QList<QRectF> >("QList<QRectF>");
- QSignalSpy spy(&scene, SIGNAL(changed(QList<QRectF>)));
+ QSignalSpy spy(&scene, &QGraphicsScene::changed);
// We update the scene.
scene.update();
@@ -2806,12 +2846,13 @@ void tst_QGraphicsScene::update()
itemAt(scene, 0, 0);
// This will process the pending update
- QApplication::instance()->processEvents();
+ QCoreApplication::processEvents();
// Check that the update region is correct
QCOMPARE(spy.count(), 1);
QRectF region;
- foreach (QRectF rectF, qvariant_cast<QList<QRectF> >(spy.at(0).at(0)))
+ const auto &rects = qvariant_cast<QList<QRectF> >(spy.at(0).at(0));
+ for (const auto &rectF : rects)
region |= rectF;
QCOMPARE(region, QRectF(-100, -100, 200, 200));
}
@@ -2821,9 +2862,11 @@ void tst_QGraphicsScene::update2()
QGraphicsScene scene;
scene.setSceneRect(-200, -200, 200, 200);
CustomView view;
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
view.setScene(&scene);
view.show();
- qApp->setActiveWindow(&view);
+ QApplication::setActiveWindow(&view);
QVERIFY(QTest::qWaitForWindowActive(&view));
QTRY_VERIFY(view.repaints >= 1);
view.repaints = 0;
@@ -2831,13 +2874,13 @@ void tst_QGraphicsScene::update2()
// Make sure QGraphicsScene::update only requires one event-loop iteration
// before the view is updated.
scene.update();
- qApp->processEvents();
+ QCoreApplication::processEvents();
QTRY_COMPARE(view.repaints, 1);
view.repaints = 0;
// The same for partial scene updates.
scene.update(QRectF(-100, -100, 100, 100));
- qApp->processEvents();
+ QCoreApplication::processEvents();
QCOMPARE(view.repaints, 1);
}
@@ -2853,7 +2896,7 @@ void tst_QGraphicsScene::views()
QCOMPARE(scene.views().size(), 2);
QVERIFY(scene.views().contains(&view1));
- view.setScene(0);
+ view.setScene(nullptr);
QCOMPARE(scene.views().size(), 1);
QCOMPARE(scene.views().at(0), &view1);
@@ -2871,12 +2914,12 @@ void tst_QGraphicsScene::views()
class CustomScene : public QGraphicsScene
{
public:
- CustomScene() : gotTimerEvent(false)
+ CustomScene()
{ startTimer(10); }
- bool gotTimerEvent;
+ bool gotTimerEvent = false;
protected:
- void timerEvent(QTimerEvent *)
+ void timerEvent(QTimerEvent *) override
{
gotTimerEvent = true;
}
@@ -2893,7 +2936,7 @@ void tst_QGraphicsScene::testEvent()
class DisabledItemTester : public QGraphicsRectItem
{
public:
- DisabledItemTester(const QRectF &rect, QGraphicsItem *parent = 0)
+ DisabledItemTester(const QRectF &rect, QGraphicsItem *parent = nullptr)
: QGraphicsRectItem(rect, parent)
{ }
@@ -2901,13 +2944,13 @@ public:
QList<QEvent::Type> receivedSceneEventFilters;
protected:
- bool sceneEventFilter(QGraphicsItem *watched, QEvent *event)
+ bool sceneEventFilter(QGraphicsItem *watched, QEvent *event) override
{
receivedSceneEventFilters << event->type();
return QGraphicsRectItem::sceneEventFilter(watched, event);
}
- bool sceneEvent(QEvent *event)
+ bool sceneEvent(QEvent *event) override
{
receivedSceneEvents << event->type();
return QGraphicsRectItem::sceneEvent(event);
@@ -2965,11 +3008,9 @@ void tst_QGraphicsScene::eventsToDisabledItems()
class ExposedPixmapItem : public QGraphicsPixmapItem
{
public:
- ExposedPixmapItem(QGraphicsItem *item = 0)
- : QGraphicsPixmapItem(item)
- { }
+ using QGraphicsPixmapItem::QGraphicsPixmapItem;
- void paint(QPainter *, const QStyleOptionGraphicsItem *option, QWidget *)
+ void paint(QPainter *, const QStyleOptionGraphicsItem *option, QWidget *) override
{
exposed = option->exposedRect;
}
@@ -3013,8 +3054,9 @@ void tst_QGraphicsScene::tabFocus_emptyScene()
QWidget widget;
widget.setLayout(layout);
+ widget.setWindowTitle(QTest::currentTestFunction());
widget.show();
- qApp->setActiveWindow(&widget);
+ QApplication::setActiveWindow(&widget);
widget.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&widget));
@@ -3060,9 +3102,10 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusableItems()
layout->addWidget(dial2);
QWidget widget;
+ widget.setWindowTitle(QTest::currentTestFunction());
widget.setLayout(layout);
widget.show();
- qApp->setActiveWindow(&widget);
+ QApplication::setActiveWindow(&widget);
widget.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&widget));
@@ -3112,18 +3155,18 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusableItems()
QVERIFY(!view->viewport()->hasFocus());
QVERIFY(!scene.hasFocus());
QVERIFY(!item->hasFocus());
- QCOMPARE(scene.focusItem(), static_cast<QGraphicsItem *>(item));
+ QCOMPARE(scene.focusItem(), item);
// Check that the correct item regains focus.
widget.show();
- qApp->setActiveWindow(&widget);
+ QApplication::setActiveWindow(&widget);
widget.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&widget));
QVERIFY(view->hasFocus());
QTRY_VERIFY(scene.isActive());
QVERIFY(view->viewport()->hasFocus());
QVERIFY(scene.hasFocus());
- QCOMPARE(scene.focusItem(), static_cast<QGraphicsItem *>(item));
+ QCOMPARE(scene.focusItem(), item);
QVERIFY(item->hasFocus());
}
@@ -3131,14 +3174,13 @@ class FocusWidget : public QGraphicsWidget
{
Q_OBJECT
public:
- FocusWidget(QGraphicsItem *parent = 0)
- : QGraphicsWidget(parent), tabs(0), backTabs(0)
+ FocusWidget(QGraphicsItem *parent = nullptr) : QGraphicsWidget(parent)
{
setFocusPolicy(Qt::StrongFocus);
resize(100, 100);
}
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *)
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *) override
{
if (option->state & QStyle::State_HasFocus) {
painter->fillRect(rect(), Qt::blue);
@@ -3152,11 +3194,11 @@ public:
}
}
- int tabs;
- int backTabs;
+ int tabs = 0;
+ int backTabs = 0;
protected:
- bool sceneEvent(QEvent *event)
+ bool sceneEvent(QEvent *event) override
{
if (event->type() == QEvent::KeyPress) {
QKeyEvent *k = static_cast<QKeyEvent *>(event);
@@ -3168,9 +3210,9 @@ protected:
return QGraphicsWidget::sceneEvent(event);
}
- void focusInEvent(QFocusEvent *)
+ void focusInEvent(QFocusEvent *) override
{ update(); }
- void focusOutEvent(QFocusEvent *)
+ void focusOutEvent(QFocusEvent *) override
{ update(); }
};
@@ -3195,9 +3237,10 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusWidgets()
layout->addWidget(dial2);
QWidget widget;
+ widget.setWindowTitle(QTest::currentTestFunction());
widget.setLayout(layout);
widget.show();
- qApp->setActiveWindow(&widget);
+ QApplication::setActiveWindow(&widget);
widget.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&widget));
@@ -3236,7 +3279,7 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusWidgets()
widget.hide();
QTest::qWait(15);
widget.show();
- qApp->setActiveWindow(&widget);
+ QApplication::setActiveWindow(&widget);
widget.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&widget));
QTRY_VERIFY(widget1->hasFocus());
@@ -3279,9 +3322,10 @@ void tst_QGraphicsScene::tabFocus_sceneWithNestedFocusWidgets()
layout->addWidget(dial2);
QWidget widget;
+ widget.setWindowTitle(QTest::currentTestFunction());
widget.setLayout(layout);
widget.show();
- qApp->setActiveWindow(&widget);
+ QApplication::setActiveWindow(&widget);
widget.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&widget));
@@ -3366,7 +3410,7 @@ void tst_QGraphicsScene::tabFocus_sceneWithNestedFocusWidgets()
widget.hide();
QTest::qWait(12);
widget.show();
- qApp->setActiveWindow(&widget);
+ QApplication::setActiveWindow(&widget);
widget.activateWindow();
QVERIFY(QTest::qWaitForWindowActive(&widget));
QTRY_VERIFY(widget1->hasFocus());
@@ -3390,11 +3434,11 @@ void tst_QGraphicsScene::style()
QCOMPARE(sceneSpy.count(), 1);
QCOMPARE(proxySpy.count(), 1);
QCOMPARE(editSpy.count(), 1);
- QCOMPARE(scene.style(), (QStyle *)windowsStyle);
- QCOMPARE(proxy->style(), (QStyle *)windowsStyle);
- QCOMPARE(edit->style(), (QStyle *)windowsStyle);
+ QCOMPARE(scene.style(), windowsStyle.data());
+ QCOMPARE(proxy->style(), windowsStyle.data());
+ QCOMPARE(edit->style(), windowsStyle.data());
- scene.setStyle(0);
+ scene.setStyle(nullptr);
QCOMPARE(sceneSpy.count(), 2);
QCOMPARE(proxySpy.count(), 2);
QCOMPARE(editSpy.count(), 2);
@@ -3411,11 +3455,12 @@ void tst_QGraphicsScene::task139710_bspTreeCrash()
for (int i = 0; i < 2; ++i) {
// trigger delayed item indexing
- qApp->processEvents();
+ QCoreApplication::processEvents();
scene.setSceneRect(0, 0, 10000, 10000);
// delete all items in the scene - pointers are now likely to be recycled
- foreach (QGraphicsItem *item, scene.items()) {
+ const auto &items = scene.items();
+ for (QGraphicsItem *item : items) {
scene.removeItem(item);
delete item;
}
@@ -3427,7 +3472,7 @@ void tst_QGraphicsScene::task139710_bspTreeCrash()
}
// trigger delayed item indexing for the first 1000 items
- qApp->processEvents();
+ QCoreApplication::processEvents();
// add 1000 more items - the BSP tree is now resized
for (int i = 0; i < 1000; ++i) {
@@ -3437,7 +3482,8 @@ void tst_QGraphicsScene::task139710_bspTreeCrash()
// get items from the BSP tree and use them. there was junk in the tree
// the second time this happened.
- foreach (QGraphicsItem *item, scene.items(QRectF(0, 0, 1000, 1000)))
+ const auto &itemsWithin = scene.items(QRectF(0, 0, 1000, 1000));
+ for (QGraphicsItem *item : itemsWithin)
item->moveBy(0, 0);
}
}
@@ -3446,7 +3492,7 @@ void tst_QGraphicsScene::task139782_containsItemBoundingRect()
{
// The item in question has a scene bounding rect of (10, 10, 50, 50)
QGraphicsScene scene(0.0, 0.0, 200.0, 200.0);
- QGraphicsRectItem *item = new QGraphicsRectItem(0.0, 0.0, 50.0, 50.0, 0);
+ QGraphicsRectItem *item = new QGraphicsRectItem(0.0, 0.0, 50.0, 50.0, nullptr);
scene.addItem(item);
item->setPos(10.0, 10.0);
@@ -3476,7 +3522,8 @@ void tst_QGraphicsScene::task160653_selectionChanged()
QGraphicsScene scene(0, 0, 100, 100);
scene.addItem(new QGraphicsRectItem(0, 0, 20, 20));
scene.addItem(new QGraphicsRectItem(30, 30, 20, 20));
- foreach (QGraphicsItem *item, scene.items()) {
+ const auto &items = scene.items();
+ for (QGraphicsItem *item : items) {
item->setFlags(
item->flags() | QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsMovable);
item->setSelected(true);
@@ -3484,12 +3531,14 @@ void tst_QGraphicsScene::task160653_selectionChanged()
QVERIFY(scene.items().size() > 1);
QCOMPARE(scene.items().size(), scene.selectedItems().size());
- QSignalSpy spy(&scene, SIGNAL(selectionChanged()));
+ QSignalSpy spy(&scene, &QGraphicsScene::selectionChanged);
QGraphicsView view(&scene);
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QTest::mouseClick(
- view.viewport(), Qt::LeftButton, 0, view.mapFromScene(scene.items().first()->scenePos()));
+ view.viewport(), Qt::LeftButton, {}, view.mapFromScene(scene.items().first()->scenePos()));
QCOMPARE(spy.count(), 1);
}
@@ -3574,17 +3623,21 @@ void tst_QGraphicsScene::sorting()
scene.addItem(t_1);
- foreach (QGraphicsItem *item, scene.items())
+ const auto &items = scene.items();
+ for (QGraphicsItem *item : items)
item->setFlag(QGraphicsItem::ItemIsSelectable);
// QGraphicsView view(&scene);
// view.setDragMode(QGraphicsView::RubberBandDrag);
// view.show();
- qDebug() << "items: {";
- foreach (QGraphicsItem *item, scene.items(QRectF(32, 31, 4, 55)))
- qDebug() << "\t" << item->data(0).toString();
- qDebug() << "}";
+ if (lcTests().isDebugEnabled()) {
+ qCDebug(lcTests) << "items: {";
+ const auto &itemsWithin = scene.items(QRectF(32, 31, 4, 55));
+ for (QGraphicsItem *item : itemsWithin)
+ qCDebug(lcTests).nospace() << '\t' << item->data(0).toString();
+ qCDebug(lcTests) << '}';
+ }
QCOMPARE(scene.items(QRectF(32, 31, 4, 55)),
QList<QGraphicsItem *>()
@@ -3664,11 +3717,11 @@ void tst_QGraphicsScene::changedSignal()
QFETCH(bool, withView);
QGraphicsScene scene;
ChangedListener cl;
- connect(&scene, SIGNAL(changed(QList<QRectF>)), &cl, SLOT(changed(QList<QRectF>)));
+ connect(&scene, &QGraphicsScene::changed, &cl, &ChangedListener::changed);
- QGraphicsView *view = 0;
+ QScopedPointer<QGraphicsView> view;
if (withView)
- view = new QGraphicsView(&scene);
+ view.reset(new QGraphicsView(&scene));
QGraphicsRectItem *rect = new QGraphicsRectItem(0, 0, 10, 10);
rect->setPen(QPen(Qt::black, 0));
@@ -3682,16 +3735,13 @@ void tst_QGraphicsScene::changedSignal()
rect->setPos(20, 0);
QCOMPARE(cl.changes.size(), 1);
- qApp->processEvents();
+ QCoreApplication::processEvents();
QCOMPARE(cl.changes.size(), 2);
QCOMPARE(cl.changes.at(1).size(), 2);
QCOMPARE(cl.changes.at(1).first(), QRectF(0, 0, 10, 10));
QCOMPARE(cl.changes.at(1).last(), QRectF(20, 0, 10, 10));
QCOMPARE(scene.sceneRect(), QRectF(0, 0, 30, 10));
-
- if (withView)
- delete view;
}
void tst_QGraphicsScene::stickyFocus_data()
@@ -3718,7 +3768,7 @@ void tst_QGraphicsScene::stickyFocus()
QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMousePress);
event.setScenePos(QPointF(-10, -10)); // outside item
event.setButton(Qt::LeftButton);
- qApp->sendEvent(&scene, &event);
+ QCoreApplication::sendEvent(&scene, &event);
QCOMPARE(text->hasFocus(), sticky);
}
@@ -3736,43 +3786,51 @@ void tst_QGraphicsScene::sendEvent()
void tst_QGraphicsScene::inputMethod_data()
{
- QTest::addColumn<int>("flags");
+ QTest::addColumn<QGraphicsItem::GraphicsItemFlags>("flags");
QTest::addColumn<bool>("callFocusItem");
- QTest::newRow("0") << 0 << false;
- QTest::newRow("1") << (int)QGraphicsItem::ItemAcceptsInputMethod << false;
- QTest::newRow("2") << (int)QGraphicsItem::ItemIsFocusable << false;
+ QTest::newRow("0") << QGraphicsItem::GraphicsItemFlags() << false;
+ QTest::newRow("1") << QGraphicsItem::GraphicsItemFlags(QGraphicsItem::ItemAcceptsInputMethod) << false;
+ QTest::newRow("2") << QGraphicsItem::GraphicsItemFlags(QGraphicsItem::ItemIsFocusable) << false;
QTest::newRow("3") <<
- (int)(QGraphicsItem::ItemAcceptsInputMethod|QGraphicsItem::ItemIsFocusable) << true;
+ (QGraphicsItem::ItemAcceptsInputMethod|QGraphicsItem::ItemIsFocusable) << true;
}
class InputMethodTester : public QGraphicsRectItem
{
- void inputMethodEvent(QInputMethodEvent *) { ++eventCalls; }
- QVariant inputMethodQuery(Qt::InputMethodQuery) const { ++queryCalls; return QVariant(); }
+ void inputMethodEvent(QInputMethodEvent *) override { ++eventCalls; }
+ QVariant inputMethodQuery(Qt::InputMethodQuery) const override
+ {
+ ++queryCalls;
+ return QVariant();
+ }
+
public:
- int eventCalls;
- mutable int queryCalls;
+ int eventCalls = 0;
+ mutable int queryCalls = 0;
};
void tst_QGraphicsScene::inputMethod()
{
PlatformInputContext inputContext;
- QInputMethodPrivate *inputMethodPrivate = QInputMethodPrivate::get(qApp->inputMethod());
+ QInputMethodPrivate *inputMethodPrivate =
+ QInputMethodPrivate::get(QGuiApplication::inputMethod());
inputMethodPrivate->testContext = &inputContext;
- QFETCH(int, flags);
+ QFETCH(QGraphicsItem::GraphicsItemFlags, flags);
QFETCH(bool, callFocusItem);
InputMethodTester *item = new InputMethodTester;
- item->setFlags((QGraphicsItem::GraphicsItemFlags)flags);
+ item->setFlags(flags);
QGraphicsScene scene;
QGraphicsView view(&scene);
+ view.resize(m_testSize);
view.show();
+ view.setWindowTitle(QTest::currentTestFunction());
QApplication::setActiveWindow(&view);
view.setFocus();
QVERIFY(QTest::qWaitForWindowActive(&view));
- QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QCOMPARE(QApplication::activeWindow(), &view);
inputContext.m_resetCallCount = 0;
inputContext.m_commitCallCount = 0;
@@ -3784,25 +3842,25 @@ void tst_QGraphicsScene::inputMethod()
QCOMPARE(inputContext.m_resetCallCount, 0);
item->eventCalls = 0;
- qApp->sendEvent(&scene, &event);
+ QCoreApplication::sendEvent(&scene, &event);
QCOMPARE(item->eventCalls, callFocusItem ? 1 : 0);
item->queryCalls = 0;
- scene.inputMethodQuery((Qt::InputMethodQuery)0);
+ scene.inputMethodQuery(Qt::InputMethodQuery(0));
QCOMPARE(item->queryCalls, callFocusItem ? 1 : 0);
- scene.setFocusItem(0);
+ scene.setFocusItem(nullptr);
// the input context is reset twice, once because an item has lost focus and again because
// the Qt::WA_InputMethodEnabled flag is cleared because no item has focus.
QCOMPARE(inputContext.m_resetCallCount + inputContext.m_commitCallCount, callFocusItem ? 2 : 0);
QCOMPARE(item->queryCalls, callFocusItem ? 1 : 0); // verify that value is unaffected
item->eventCalls = 0;
- qApp->sendEvent(&scene, &event);
+ QCoreApplication::sendEvent(&scene, &event);
QCOMPARE(item->eventCalls, 0);
item->queryCalls = 0;
- scene.inputMethodQuery((Qt::InputMethodQuery)0);
+ scene.inputMethodQuery(Qt::InputMethodQuery(0));
QCOMPARE(item->queryCalls, 0);
}
@@ -3826,18 +3884,18 @@ void tst_QGraphicsScene::dispatchHoverOnPress()
me.setButtons(Qt::LeftButton);
QGraphicsSceneMouseEvent me2(QEvent::GraphicsSceneMouseRelease);
me2.setButton(Qt::LeftButton);
- qApp->sendEvent(&scene, &me);
- qApp->sendEvent(&scene, &me2);
- QCOMPARE(tester1->eventTypes, QList<QEvent::Type>()
+ QCoreApplication::sendEvent(&scene, &me);
+ QCoreApplication::sendEvent(&scene, &me2);
+ QCOMPARE(tester1->eventTypes, QVector<QEvent::Type>()
<< QEvent::GraphicsSceneHoverEnter
<< QEvent::GraphicsSceneHoverMove
<< QEvent::GrabMouse
<< QEvent::GraphicsSceneMousePress
<< QEvent::UngrabMouse);
tester1->eventTypes.clear();
- qApp->sendEvent(&scene, &me);
- qApp->sendEvent(&scene, &me2);
- QCOMPARE(tester1->eventTypes, QList<QEvent::Type>()
+ QCoreApplication::sendEvent(&scene, &me);
+ QCoreApplication::sendEvent(&scene, &me2);
+ QCOMPARE(tester1->eventTypes, QVector<QEvent::Type>()
<< QEvent::GraphicsSceneHoverMove
<< QEvent::GrabMouse
<< QEvent::GraphicsSceneMousePress
@@ -3852,21 +3910,21 @@ void tst_QGraphicsScene::dispatchHoverOnPress()
me2.setScenePos(QPointF(30, 30));
me2.setButton(Qt::LeftButton);
tester1->eventTypes.clear();
- qApp->sendEvent(&scene, &me);
- qApp->sendEvent(&scene, &me2);
- qDebug() << tester1->eventTypes;
- QCOMPARE(tester1->eventTypes, QList<QEvent::Type>()
+ QCoreApplication::sendEvent(&scene, &me);
+ QCoreApplication::sendEvent(&scene, &me2);
+ qCDebug(lcTests) << tester1->eventTypes;
+ QCOMPARE(tester1->eventTypes, QVector<QEvent::Type>()
<< QEvent::GraphicsSceneHoverLeave);
- QCOMPARE(tester2->eventTypes, QList<QEvent::Type>()
+ QCOMPARE(tester2->eventTypes, QVector<QEvent::Type>()
<< QEvent::GraphicsSceneHoverEnter
<< QEvent::GraphicsSceneHoverMove
<< QEvent::GrabMouse
<< QEvent::GraphicsSceneMousePress
<< QEvent::UngrabMouse);
tester2->eventTypes.clear();
- qApp->sendEvent(&scene, &me);
- qApp->sendEvent(&scene, &me2);
- QCOMPARE(tester2->eventTypes, QList<QEvent::Type>()
+ QCoreApplication::sendEvent(&scene, &me);
+ QCoreApplication::sendEvent(&scene, &me2);
+ QCOMPARE(tester2->eventTypes, QVector<QEvent::Type>()
<< QEvent::GraphicsSceneHoverMove
<< QEvent::GrabMouse
<< QEvent::GraphicsSceneMousePress
@@ -3915,7 +3973,7 @@ void tst_QGraphicsScene::initialFocus()
if (activeScene) {
QEvent windowActivate(QEvent::WindowActivate);
- qApp->sendEvent(&scene, &windowActivate);
+ QCoreApplication::sendEvent(&scene, &windowActivate);
scene.setFocus();
}
@@ -3923,7 +3981,7 @@ void tst_QGraphicsScene::initialFocus()
if (!activeScene) {
QEvent windowActivate(QEvent::WindowActivate);
- qApp->sendEvent(&scene, &windowActivate);
+ QCoreApplication::sendEvent(&scene, &windowActivate);
scene.setFocus();
}
@@ -3933,14 +3991,13 @@ void tst_QGraphicsScene::initialFocus()
class PolishItem : public QGraphicsTextItem
{
public:
- PolishItem(QGraphicsItem *parent = 0)
- : QGraphicsTextItem(parent), polished(false), deleteChildrenInPolish(true), addChildrenInPolish(false) { }
+ using QGraphicsTextItem::QGraphicsTextItem;
- bool polished;
- bool deleteChildrenInPolish;
- bool addChildrenInPolish;
+ bool polished = false;
+ bool deleteChildrenInPolish = true;
+ bool addChildrenInPolish = false;
protected:
- QVariant itemChange(GraphicsItemChange change, const QVariant& value)
+ QVariant itemChange(GraphicsItemChange change, const QVariant& value) override
{
if (change == ItemVisibleChange) {
polished = true;
@@ -3979,19 +4036,19 @@ void tst_QGraphicsScene::polishItems2()
// Wait for the polish event to be delivered.
QVERIFY(!item->polished);
- QApplication::sendPostedEvents(&scene, QEvent::MetaCall);
+ QCoreApplication::sendPostedEvents(&scene, QEvent::MetaCall);
QVERIFY(item->polished);
// We deleted the children we added above, but we also
// added 10 new children. These should be polished in the next
// event loop iteration.
- QList<QGraphicsItem *> children = item->childItems();
+ const QList<QGraphicsItem *> children = item->childItems();
QCOMPARE(children.count(), 10);
- foreach (QGraphicsItem *child, children)
+ for (QGraphicsItem *child : children)
QVERIFY(!static_cast<PolishItem *>(child)->polished);
- QApplication::sendPostedEvents(&scene, QEvent::MetaCall);
- foreach (QGraphicsItem *child, children)
+ QCoreApplication::sendPostedEvents(&scene, QEvent::MetaCall);
+ for (QGraphicsItem *child : children)
QVERIFY(static_cast<PolishItem *>(child)->polished);
}
@@ -4008,6 +4065,8 @@ void tst_QGraphicsScene::isActive()
{
QWidget toplevel1;
+ toplevel1.setWindowTitle(QTest::currentTestFunction());
+ toplevel1.resize(m_testSize);
QHBoxLayout *layout = new QHBoxLayout;
toplevel1.setLayout(layout);
QGraphicsView *view1 = new QGraphicsView(&scene1);
@@ -4073,8 +4132,9 @@ void tst_QGraphicsScene::isActive()
{
- const QRect availableGeometry = QGuiApplication::primaryScreen()->availableGeometry();
QWidget toplevel2;
+ toplevel2.setWindowTitle(QTest::currentTestFunction());
+ toplevel2.resize(m_testSize);
QHBoxLayout *layout = new QHBoxLayout;
toplevel2.setLayout(layout);
QGraphicsView *view1 = new QGraphicsView(&scene1);
@@ -4087,7 +4147,7 @@ void tst_QGraphicsScene::isActive()
QVERIFY(!scene1.hasFocus());
QVERIFY(!scene2.hasFocus());
- toplevel2.move(availableGeometry.topLeft() + QPoint(50, 50));
+ toplevel2.move(m_availableGeometry.topLeft() + QPoint(50, 50));
toplevel2.show();
QApplication::setActiveWindow(&toplevel2);
QVERIFY(QTest::qWaitForWindowActive(&toplevel2));
@@ -4136,12 +4196,13 @@ void tst_QGraphicsScene::isActive()
QVERIFY(!scene2.hasFocus());
QGraphicsView topLevelView;
- topLevelView.move(availableGeometry.topLeft() + QPoint(500, 50));
+ topLevelView.move(toplevel2.geometry().topRight() + QPoint(100, 50));
+ topLevelView.resize(m_testSize);
topLevelView.show();
QApplication::setActiveWindow(&topLevelView);
topLevelView.setFocus();
QVERIFY(QTest::qWaitForWindowActive(&topLevelView));
- QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&topLevelView));
+ QCOMPARE(QApplication::activeWindow(), &topLevelView);
QVERIFY(!scene1.isActive());
QVERIFY(!scene2.isActive());
@@ -4182,6 +4243,7 @@ void tst_QGraphicsScene::isActive()
{
QWidget toplevel3;
+ toplevel3.resize(m_testSize);
QHBoxLayout *layout = new QHBoxLayout;
toplevel3.setLayout(layout);
QGraphicsView *view1 = new QGraphicsView(&scene1);
@@ -4211,7 +4273,7 @@ void tst_QGraphicsScene::isActive()
QVERIFY(scene1.hasFocus());
QVERIFY(!scene2.hasFocus());
- view1->setParent(0);
+ view1->setParent(nullptr);
QVERIFY(!scene1.isActive());
QVERIFY(scene2.isActive());
QVERIFY(!scene1.hasFocus());
@@ -4243,7 +4305,7 @@ void tst_QGraphicsScene::siblingIndexAlwaysValid()
scene.addItem(parent2);
//Then we make the child a top level
- child->setParentItem(0);
+ child->setParentItem(nullptr);
//This is trigerred by a repaint...
QGraphicsScenePrivate::get(&scene)->index->estimateTopLevelItems(QRectF(), Qt::AscendingOrder);
@@ -4259,6 +4321,8 @@ void tst_QGraphicsScene::siblingIndexAlwaysValid()
scene2.setItemIndexMethod(QGraphicsScene::NoIndex);
QGraphicsView view2(&scene2);
+ view2.setWindowTitle(QTest::currentTestFunction());
+ view2.resize(m_testSize);
// first add the blue rect
QGraphicsRectItem* const item1 = new QGraphicsRectItem(QRect( 10, 10, 10, 10 ));
@@ -4302,9 +4366,11 @@ void tst_QGraphicsScene::removeFullyTransparentItem()
child->setParentItem(parent);
CustomView view;
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
view.setScene(&scene);
view.show();
- qApp->setActiveWindow(&view);
+ QApplication::setActiveWindow(&view);
QVERIFY(QTest::qWaitForWindowActive(&view));
QCoreApplication::processEvents(); // Process all queued paint events
@@ -4353,33 +4419,35 @@ void tst_QGraphicsScene::taskQTBUG_5904_crashWithDeviceCoordinateCache()
void tst_QGraphicsScene::taskQT657_paintIntoCacheWithTransparentParts()
{
// Test using DeviceCoordinateCache and opaque item
- QWidget *w = new QWidget();
+ QScopedPointer<QWidget> w(new QWidget);
w->setPalette(QColor(0, 0, 255));
w->setGeometry(0, 0, 50, 50);
QGraphicsScene *scene = new QGraphicsScene();
- CustomView *view = new CustomView;
- view->setScene(scene);
+ CustomView view;
+ view.resize(m_testSize);
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.setScene(scene);
- QGraphicsProxyWidget *proxy = scene->addWidget(w);
+ QGraphicsProxyWidget *proxy = scene->addWidget(w.data());
proxy->setCacheMode(QGraphicsItem::DeviceCoordinateCache);
proxy->setTransform(QTransform().rotate(15), true);
- view->show();
- QVERIFY(QTest::qWaitForWindowExposed(view));
- view->repaints = 0;
+ view.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&view));
+ view.repaints = 0;
proxy->update(10, 10, 10, 10);
- QTRY_VERIFY(view->repaints > 0);
+ QTRY_VERIFY(view.repaints > 0);
QPixmap pix;
QGraphicsItemPrivate* itemp = QGraphicsItemPrivate::get(proxy);
- QTRY_VERIFY(QPixmapCache::find(itemp->extraItemCache()->deviceData.value(view->viewport()).key, &pix));
+ QTRY_VERIFY(QPixmapCache::find(itemp->extraItemCache()->deviceData.value(view.viewport()).key, &pix));
QTransform t = proxy->sceneTransform();
// Map from scene coordinates to pixmap coordinates.
// X origin in the pixmap is the most-left point
// of the item's boundingRect in the scene.
- qreal adjust = t.mapRect(proxy->boundingRect().toRect()).left();
+ const int adjust = t.mapRect(proxy->boundingRect().toRect()).left();
QRect rect = t.mapRect(QRect(10, 10, 10, 10)).adjusted(-adjust, 0, -adjust + 1, 1);
QPixmap subpix = pix.copy(rect);
@@ -4388,8 +4456,6 @@ void tst_QGraphicsScene::taskQT657_paintIntoCacheWithTransparentParts()
for(int j = 0; j < im.height(); j++)
QCOMPARE(qAlpha(im.pixel(i, j)), 255);
}
-
- delete w;
}
void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
@@ -4403,28 +4469,30 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
rectItem->setParentItem(backItem);
QGraphicsScene *scene = new QGraphicsScene();
- CustomView *view = new CustomView;
- view->setScene(scene);
+ CustomView view;
+ view.resize(m_testSize);
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.setScene(scene);
scene->addItem(backItem);
rectItem->setCacheMode(QGraphicsItem::DeviceCoordinateCache);
backItem->setTransform(QTransform().rotate(15), true);
- view->show();
- QVERIFY(QTest::qWaitForWindowExposed(view));
- view->repaints = 0;
+ view.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&view));
+ view.repaints = 0;
rectItem->update(10, 10, 10, 10);
- QTRY_VERIFY(view->repaints > 0);
+ QTRY_VERIFY(view.repaints > 0);
QPixmap pix;
QGraphicsItemPrivate* itemp = QGraphicsItemPrivate::get(rectItem);
- QTRY_VERIFY(QPixmapCache::find(itemp->extraItemCache()->deviceData.value(view->viewport()).key, &pix));
+ QTRY_VERIFY(QPixmapCache::find(itemp->extraItemCache()->deviceData.value(view.viewport()).key, &pix));
QTransform t = rectItem->sceneTransform();
// Map from scene coordinates to pixmap coordinates.
// X origin in the pixmap is the most-left point
// of the item's boundingRect in the scene.
- qreal adjust = t.mapRect(rectItem->boundingRect().toRect()).left();
+ const int adjust = t.mapRect(rectItem->boundingRect().toRect()).left();
QRect rect = t.mapRect(QRect(10, 10, 10, 10)).adjusted(-adjust, 0, -adjust + 1, 1);
QPixmap subpix = pix.copy(rect);
@@ -4434,8 +4502,6 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
QCOMPARE(qAlpha(im.pixel(i, j)), 125);
}
}
-
- delete view;
}
// Test using ItemCoordinateCache and opaque item
@@ -4444,18 +4510,20 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
rectItem->setBrush(QColor(0, 0, 255));
QGraphicsScene *scene = new QGraphicsScene();
- CustomView *view = new CustomView;
- view->setScene(scene);
+ CustomView view;
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
+ view.setScene(scene);
scene->addItem(rectItem);
rectItem->setCacheMode(QGraphicsItem::ItemCoordinateCache);
rectItem->setTransform(QTransform().rotate(15), true);
- view->show();
- QVERIFY(QTest::qWaitForWindowExposed(view));
- view->repaints = 0;
+ view.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&view));
+ view.repaints = 0;
rectItem->update(10, 10, 10, 10);
- QTRY_VERIFY(view->repaints > 0);
+ QTRY_VERIFY(view.repaints > 0);
QPixmap pix;
QGraphicsItemPrivate* itemp = QGraphicsItemPrivate::get(rectItem);
@@ -4465,7 +4533,7 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
// Map from scene coordinates to pixmap coordinates.
// X origin in the pixmap is the most-left point
// of the item's boundingRect in the scene.
- qreal adjust = t.mapRect(rectItem->boundingRect().toRect()).left();
+ const int adjust = t.mapRect(rectItem->boundingRect().toRect()).left();
QRect rect = t.mapRect(QRect(10, 10, 10, 10)).adjusted(-adjust, 0, -adjust + 1, 1);
QPixmap subpix = pix.copy(rect);
@@ -4474,8 +4542,6 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
for(int j = 0; j < im.height(); j++)
QCOMPARE(qAlpha(im.pixel(i, j)), 255);
}
-
- delete view;
}
// Test using ItemCoordinateCache and semi-transparent item
@@ -4484,18 +4550,20 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
rectItem->setBrush(QColor(0, 0, 255, 125));
QGraphicsScene *scene = new QGraphicsScene();
- CustomView *view = new CustomView;
- view->setScene(scene);
+ CustomView view;
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
+ view.setScene(scene);
scene->addItem(rectItem);
rectItem->setCacheMode(QGraphicsItem::ItemCoordinateCache);
rectItem->setTransform(QTransform().rotate(15), true);
- view->show();
- QVERIFY(QTest::qWaitForWindowExposed(view));
- view->repaints = 0;
+ view.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&view));
+ view.repaints = 0;
rectItem->update(10, 10, 10, 10);
- QTRY_VERIFY(view->repaints > 0);
+ QTRY_VERIFY(view.repaints > 0);
QPixmap pix;
QGraphicsItemPrivate* itemp = QGraphicsItemPrivate::get(rectItem);
@@ -4505,7 +4573,7 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
// Map from scene coordinates to pixmap coordinates.
// X origin in the pixmap is the most-left point
// of the item's boundingRect in the scene.
- qreal adjust = t.mapRect(rectItem->boundingRect().toRect()).left();
+ const int adjust = int(t.mapRect(rectItem->boundingRect().toRect()).left());
QRect rect = t.mapRect(QRect(10, 10, 10, 10)).adjusted(-adjust, 0, -adjust + 1, 1);
QPixmap subpix = pix.copy(rect);
@@ -4514,8 +4582,6 @@ void tst_QGraphicsScene::taskQTBUG_7863_paintIntoCacheWithTransparentParts()
for(int j = 0; j < im.height(); j++)
QCOMPARE(qAlpha(im.pixel(i, j)), 125);
}
-
- delete view;
}
}
@@ -4546,7 +4612,7 @@ void tst_QGraphicsScene::zeroScale()
QGraphicsView view(&scene);
ChangedListener cl;
- connect(&scene, SIGNAL(changed(QList<QRectF>)), &cl, SLOT(changed(QList<QRectF>)));
+ connect(&scene, &QGraphicsScene::changed, &cl, &ChangedListener::changed);
QGraphicsRectItem *rect1 = new QGraphicsRectItem(0, 0, 0.0000001, 0.00000001);
scene.addItem(rect1);
@@ -4569,13 +4635,13 @@ void tst_QGraphicsScene::focusItemChangedSignal()
qRegisterMetaType<Qt::FocusReason>("Qt::FocusReason");
QGraphicsScene scene;
- QSignalSpy spy(&scene, SIGNAL(focusItemChanged(QGraphicsItem *, QGraphicsItem *, Qt::FocusReason)));
+ QSignalSpy spy(&scene, &QGraphicsScene::focusItemChanged);
QVERIFY(spy.isValid());
QCOMPARE(spy.count(), 0);
scene.setFocus();
QCOMPARE(spy.count(), 0);
QEvent activateEvent(QEvent::WindowActivate);
- qApp->sendEvent(&scene, &activateEvent);
+ QCoreApplication::sendEvent(&scene, &activateEvent);
QCOMPARE(spy.count(), 0);
QGraphicsRectItem *topLevelItem1 = new QGraphicsRectItem;
@@ -4592,7 +4658,7 @@ void tst_QGraphicsScene::focusItemChangedSignal()
QCOMPARE(spy.count(), 1);
QList<QVariant> arguments = spy.takeFirst();
QCOMPARE(arguments.size(), 3);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), (QGraphicsItem *)topLevelItem2);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), topLevelItem2);
QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), nullptr);
QCOMPARE(qvariant_cast<Qt::FocusReason>(arguments.at(2)), Qt::OtherFocusReason);
QVERIFY(topLevelItem2->hasFocus());
@@ -4602,14 +4668,14 @@ void tst_QGraphicsScene::focusItemChangedSignal()
arguments = spy.takeFirst();
QCOMPARE(arguments.size(), 3);
QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), nullptr);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), (QGraphicsItem *)topLevelItem2);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), topLevelItem2);
QCOMPARE(qvariant_cast<Qt::FocusReason>(arguments.at(2)), Qt::OtherFocusReason);
scene.setFocus(Qt::MenuBarFocusReason);
QCOMPARE(spy.count(), 1);
arguments = spy.takeFirst();
QCOMPARE(arguments.size(), 3);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), (QGraphicsItem *)topLevelItem2);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), topLevelItem2);
QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), nullptr);
QCOMPARE(qvariant_cast<Qt::FocusReason>(arguments.at(2)), Qt::MenuBarFocusReason);
@@ -4617,15 +4683,15 @@ void tst_QGraphicsScene::focusItemChangedSignal()
topLevelItem1->setFocus(Qt::TabFocusReason);
arguments = spy.takeFirst();
QCOMPARE(arguments.size(), 3);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), (QGraphicsItem *)topLevelItem1);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), (QGraphicsItem *)topLevelItem2);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), topLevelItem1);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), topLevelItem2);
QCOMPARE(qvariant_cast<Qt::FocusReason>(arguments.at(2)), Qt::TabFocusReason);
topLevelItem2->setFocus(Qt::TabFocusReason);
arguments = spy.takeFirst();
QCOMPARE(arguments.size(), 3);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), (QGraphicsItem *)topLevelItem2);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), (QGraphicsItem *)topLevelItem1);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), topLevelItem2);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), topLevelItem1);
QCOMPARE(qvariant_cast<Qt::FocusReason>(arguments.at(2)), Qt::TabFocusReason);
}
@@ -4633,10 +4699,10 @@ void tst_QGraphicsScene::focusItemChangedSignal()
// when the scene activation changes) breaks quite a few tests so leave this fix
// for some future release. See QTBUG-28346.
QEvent deactivateEvent(QEvent::WindowDeactivate);
- qApp->sendEvent(&scene, &deactivateEvent);
+ QCoreApplication::sendEvent(&scene, &deactivateEvent);
QEXPECT_FAIL("", "QTBUG-28346", Continue);
QCOMPARE(spy.count(), 1);
- qApp->sendEvent(&scene, &activateEvent);
+ QCoreApplication::sendEvent(&scene, &activateEvent);
QEXPECT_FAIL("", "QTBUG-28346", Continue);
QCOMPARE(spy.count(), 1);
@@ -4647,8 +4713,8 @@ void tst_QGraphicsScene::focusItemChangedSignal()
QCOMPARE(spy.count(), 1);
arguments = spy.takeFirst();
QCOMPARE(arguments.size(), 3);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), (QGraphicsItem *)panel1);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), (QGraphicsItem *)topLevelItem2);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), panel1);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), topLevelItem2);
QCOMPARE(qvariant_cast<Qt::FocusReason>(arguments.at(2)), Qt::ActiveWindowFocusReason);
QGraphicsRectItem *panel2 = new QGraphicsRectItem;
@@ -4661,16 +4727,16 @@ void tst_QGraphicsScene::focusItemChangedSignal()
QCOMPARE(spy.count(), 1);
arguments = spy.takeFirst();
QCOMPARE(arguments.size(), 3);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), (QGraphicsItem *)panel2);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), (QGraphicsItem *)panel1);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), panel2);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), panel1);
QCOMPARE(qvariant_cast<Qt::FocusReason>(arguments.at(2)), Qt::ActiveWindowFocusReason);
scene.setActivePanel(panel1);
QCOMPARE(spy.count(), 1);
arguments = spy.takeFirst();
QCOMPARE(arguments.size(), 3);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), (QGraphicsItem *)panel1);
- QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), (QGraphicsItem *)panel2);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(0)), panel1);
+ QCOMPARE(qvariant_cast<QGraphicsItem *>(arguments.at(1)), panel2);
QCOMPARE(qvariant_cast<Qt::FocusReason>(arguments.at(2)), Qt::ActiveWindowFocusReason);
}
@@ -4679,14 +4745,15 @@ void tst_QGraphicsScene::focusItemChangedSignal()
class ItemCountsPaintCalls : public QGraphicsRectItem
{
public:
- ItemCountsPaintCalls(const QRectF & rect, QGraphicsItem *parent = 0)
- : QGraphicsRectItem(rect, parent), repaints(0) {}
- void paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 )
+ using QGraphicsRectItem::QGraphicsRectItem;
+
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
+ QWidget *widget = nullptr) override
{
QGraphicsRectItem::paint(painter, option, widget);
++repaints;
}
- int repaints;
+ int repaints = 0;
};
void tst_QGraphicsScene::minimumRenderSize()
@@ -4700,10 +4767,12 @@ void tst_QGraphicsScene::minimumRenderSize()
scene.addItem(bigParent);
CustomView view;
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
view.setScene(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
- qApp->processEvents();
+ QCoreApplication::processEvents();
// Initially, everything should be repainted the same number of times
int viewRepaints = 0;
@@ -4716,7 +4785,7 @@ void tst_QGraphicsScene::minimumRenderSize()
// Setting a minimum render size should cause a repaint
scene.setMinimumRenderSize(0.5);
- qApp->processEvents();
+ QCoreApplication::processEvents();
QTRY_VERIFY(view.repaints > viewRepaints);
viewRepaints = view.repaints;
@@ -4727,7 +4796,7 @@ void tst_QGraphicsScene::minimumRenderSize()
// Scaling should cause a repaint of big items only.
view.scale(0.1, 0.1);
- qApp->processEvents();
+ QCoreApplication::processEvents();
QTRY_VERIFY(view.repaints > viewRepaints);
viewRepaints = view.repaints;
@@ -4738,7 +4807,7 @@ void tst_QGraphicsScene::minimumRenderSize()
// Scaling further should cause even fewer items to be repainted
view.scale(0.1, 0.1); // Stacks with previous scale
- qApp->processEvents();
+ QCoreApplication::processEvents();
QTRY_VERIFY(view.repaints > viewRepaints);
viewRepaints = view.repaints;
@@ -4752,6 +4821,8 @@ void tst_QGraphicsScene::focusOnTouch()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
scene.setSceneRect(0, 0, 100, 100);
QGraphicsRectItem *rect = scene.addRect(0, 0, 100, 100);
rect->setFlag(QGraphicsItem::ItemIsFocusable, true);
@@ -4809,6 +4880,7 @@ void tst_QGraphicsScene::taskQTBUG_16401_focusItem()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
+ view.resize(m_testSize);
QGraphicsRectItem *rect = scene.addRect(0, 0, 100, 100);
rect->setFlag(QGraphicsItem::ItemIsFocusable);
@@ -4839,6 +4911,8 @@ void tst_QGraphicsScene::taskQTBUG_42915_focusNextPrevChild()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
+ view.setWindowTitle(QTest::currentTestFunction());
+ view.resize(m_testSize);
scene.setSceneRect(1, 1, 198, 198);
view.setFocus();
diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/BLACKLIST b/tests/auto/widgets/graphicsview/qgraphicsview/BLACKLIST
index 22fce8620b..9b76ea02ff 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsview/BLACKLIST
+++ b/tests/auto/widgets/graphicsview/qgraphicsview/BLACKLIST
@@ -1,24 +1,16 @@
[task255529_transformationAnchorMouseAndViewportMargins]
opensuse-leap
-rhel-7.4
-ubuntu-16.04
-opensuse-42.3
[cursor]
opensuse-leap
-ubuntu-16.04
-opensuse-42.3
[cursor2]
ubuntu-16.04
[sendEvent]
ubuntu-16.04
opensuse-42.3
[resizeAnchor]
-ubuntu-16.04
-rhel-7.6
opensuse-leap
-ubuntu-18.04
-rhel-7.4
-opensuse-42.3
+rhel-7.6
+ubuntu
[update2]
opensuse-42.3
[itemsInRect_cosmeticAdjust]
diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
index 4709499cd6..5ac3834aef 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
@@ -88,7 +88,7 @@ static void sendMousePress(QWidget *widget, const QPoint &point, Qt::MouseButton
static void sendMouseMove(QWidget *widget, const QPoint &point, Qt::MouseButton button = Qt::NoButton, Qt::MouseButtons buttons = 0)
{
QTest::mouseMove(widget, point);
- QMouseEvent event(QEvent::MouseMove, point, button, buttons, 0);
+ QMouseEvent event(QEvent::MouseMove, point, widget->mapToGlobal(point), button, buttons, 0);
QApplication::sendEvent(widget, &event);
QApplication::processEvents();
}
diff --git a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
index 6f7dca86eb..bcfc477733 100644
--- a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
+++ b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
@@ -1024,9 +1024,6 @@ void tst_QAbstractItemView::setItemDelegate()
centerOnScreen(&v);
moveCursorAway(&v);
v.show();
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- QCursor::setPos(v.geometry().center());
-#endif
QApplication::setActiveWindow(&v);
QVERIFY(QTest::qWaitForWindowActive(&v));
diff --git a/tests/auto/widgets/itemviews/qheaderview/BLACKLIST b/tests/auto/widgets/itemviews/qheaderview/BLACKLIST
index 297a6fe7b7..4eceaae0d3 100644
--- a/tests/auto/widgets/itemviews/qheaderview/BLACKLIST
+++ b/tests/auto/widgets/itemviews/qheaderview/BLACKLIST
@@ -1,3 +1,2 @@
[stretchAndRestoreLastSection]
opensuse-leap
-opensuse-42.3
diff --git a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
index f247889d55..df02815eb2 100644
--- a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
+++ b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
@@ -106,6 +106,7 @@ class tst_QHeaderView : public QObject
public:
tst_QHeaderView();
+ static void initMain();
private slots:
void initTestCase();
@@ -265,6 +266,14 @@ protected:
QElapsedTimer timer;
};
+void tst_QHeaderView::initMain()
+{
+#ifdef Q_OS_WIN
+ // Ensure minimum size constraints of framed windows on High DPI screens
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+#endif
+}
+
class QtTestModel: public QAbstractTableModel
{
diff --git a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp
index 6bbb30a6db..35c0c6c606 100644
--- a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp
+++ b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp
@@ -4257,32 +4257,42 @@ void tst_QTableView::task191545_dragSelectRows()
void tst_QTableView::task234926_setHeaderSorting()
{
QStringListModel model;
- QStringList data;
- data << "orange" << "apple" << "banana" << "lemon" << "pumpkin";
+ QSortFilterProxyModel sfpm; // default QStandardItemModel does not support 'unsorted' state
+ sfpm.setSourceModel(&model);
+ const QStringList data({"orange", "apple", "banana", "lemon", "pumpkin"});
QStringList sortedDataA = data;
QStringList sortedDataD = data;
std::sort(sortedDataA.begin(), sortedDataA.end());
std::sort(sortedDataD.begin(), sortedDataD.end(), std::greater<QString>());
model.setStringList(data);
QTableView view;
- view.setModel(&model);
-// view.show();
+ view.setModel(&sfpm);
+
QTRY_COMPARE(model.stringList(), data);
view.setSortingEnabled(true);
view.sortByColumn(0, Qt::AscendingOrder);
- QTRY_COMPARE(model.stringList() , sortedDataA);
+ for (int i = 0; i < sortedDataA.size(); ++i)
+ QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), sortedDataA.at(i));
view.horizontalHeader()->setSortIndicator(0, Qt::DescendingOrder);
- QTRY_COMPARE(model.stringList() , sortedDataD);
+ for (int i = 0; i < sortedDataD.size(); ++i)
+ QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), sortedDataD.at(i));
QHeaderView *h = new QHeaderView(Qt::Horizontal);
h->setModel(&model);
view.setHorizontalHeader(h);
h->setSortIndicator(0, Qt::AscendingOrder);
- QTRY_COMPARE(model.stringList() , sortedDataA);
+ for (int i = 0; i < sortedDataA.size(); ++i)
+ QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), sortedDataA.at(i));
h->setSortIndicator(0, Qt::DescendingOrder);
- QTRY_COMPARE(model.stringList() , sortedDataD);
+ for (int i = 0; i < sortedDataD.size(); ++i)
+ QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), sortedDataD.at(i));
+
+ view.sortByColumn(-1, Qt::AscendingOrder);
+ QCOMPARE(view.horizontalHeader()->sortIndicatorSection(), -1);
+ for (int i = 0; i < data.size(); ++i)
+ QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), data.at(i));
}
void tst_QTableView::taskQTBUG_5062_spansInconsistency()
diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
index c31de2ba22..2a1163ec66 100644
--- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
+++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
@@ -2783,25 +2783,40 @@ void tst_QTreeView::sortByColumn()
QFETCH(bool, sortingEnabled);
QTreeView view;
QStandardItemModel model(4,2);
- model.setItem(0,0,new QStandardItem("b"));
- model.setItem(1,0,new QStandardItem("d"));
- model.setItem(2,0,new QStandardItem("c"));
- model.setItem(3,0,new QStandardItem("a"));
- model.setItem(0,1,new QStandardItem("e"));
- model.setItem(1,1,new QStandardItem("g"));
- model.setItem(2,1,new QStandardItem("h"));
- model.setItem(3,1,new QStandardItem("f"));
+ QSortFilterProxyModel sfpm; // default QStandardItemModel does not support 'unsorted' state
+ sfpm.setSourceModel(&model);
+ model.setItem(0, 0, new QStandardItem("b"));
+ model.setItem(1, 0, new QStandardItem("d"));
+ model.setItem(2, 0, new QStandardItem("c"));
+ model.setItem(3, 0, new QStandardItem("a"));
+ model.setItem(0, 1, new QStandardItem("e"));
+ model.setItem(1, 1, new QStandardItem("g"));
+ model.setItem(2, 1, new QStandardItem("h"));
+ model.setItem(3, 1, new QStandardItem("f"));
view.setSortingEnabled(sortingEnabled);
- view.setModel(&model);
+ view.setModel(&sfpm);
+
view.sortByColumn(1, Qt::DescendingOrder);
QCOMPARE(view.header()->sortIndicatorSection(), 1);
- QCOMPARE(view.model()->data(view.model()->index(0,1)).toString(), QString::fromLatin1("h"));
- QCOMPARE(view.model()->data(view.model()->index(1,1)).toString(), QString::fromLatin1("g"));
+ QCOMPARE(view.model()->data(view.model()->index(0, 0)).toString(), QString::fromLatin1("c"));
+ QCOMPARE(view.model()->data(view.model()->index(1, 0)).toString(), QString::fromLatin1("d"));
+ QCOMPARE(view.model()->data(view.model()->index(0, 1)).toString(), QString::fromLatin1("h"));
+ QCOMPARE(view.model()->data(view.model()->index(1, 1)).toString(), QString::fromLatin1("g"));
+
view.sortByColumn(0, Qt::AscendingOrder);
QCOMPARE(view.header()->sortIndicatorSection(), 0);
- QCOMPARE(view.model()->data(view.model()->index(0,0)).toString(), QString::fromLatin1("a"));
- QCOMPARE(view.model()->data(view.model()->index(1,0)).toString(), QString::fromLatin1("b"));
+ QCOMPARE(view.model()->data(view.model()->index(0, 0)).toString(), QString::fromLatin1("a"));
+ QCOMPARE(view.model()->data(view.model()->index(1, 0)).toString(), QString::fromLatin1("b"));
+ QCOMPARE(view.model()->data(view.model()->index(0, 1)).toString(), QString::fromLatin1("f"));
+ QCOMPARE(view.model()->data(view.model()->index(1, 1)).toString(), QString::fromLatin1("e"));
+
+ view.sortByColumn(-1, Qt::AscendingOrder);
+ QCOMPARE(view.header()->sortIndicatorSection(), -1);
+ QCOMPARE(view.model()->data(view.model()->index(0, 0)).toString(), QString::fromLatin1("b"));
+ QCOMPARE(view.model()->data(view.model()->index(1, 0)).toString(), QString::fromLatin1("d"));
+ QCOMPARE(view.model()->data(view.model()->index(0, 1)).toString(), QString::fromLatin1("e"));
+ QCOMPARE(view.model()->data(view.model()->index(1, 1)).toString(), QString::fromLatin1("g"));
}
/*
diff --git a/tests/auto/widgets/kernel/qapplication/BLACKLIST b/tests/auto/widgets/kernel/qapplication/BLACKLIST
index ac65a97c40..c68c7d6b14 100644
--- a/tests/auto/widgets/kernel/qapplication/BLACKLIST
+++ b/tests/auto/widgets/kernel/qapplication/BLACKLIST
@@ -1,4 +1,3 @@
[touchEventPropagation]
-opensuse-leap
# QTBUG-66745
-opensuse-42.3
+opensuse-leap
diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
index 4f94e83c1c..367a5767c4 100644
--- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
+++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
@@ -491,7 +491,7 @@ void tst_QApplication::lastWindowClosed()
QPointer<QDialog> dialog = new QDialog;
dialog->setWindowTitle(QLatin1String(QTest::currentTestFunction()) + QLatin1String("Dialog"));
QVERIFY(dialog->testAttribute(Qt::WA_QuitOnClose));
- QTimer::singleShot(1000, dialog, &QDialog::accept);
+ QTimer::singleShot(1000, dialog.data(), &QDialog::accept);
dialog->exec();
QVERIFY(dialog);
QCOMPARE(spy.count(), 0);
diff --git a/tests/auto/widgets/kernel/qformlayout/qformlayout.pro b/tests/auto/widgets/kernel/qformlayout/qformlayout.pro
index 617183fee6..0766b50f68 100644
--- a/tests/auto/widgets/kernel/qformlayout/qformlayout.pro
+++ b/tests/auto/widgets/kernel/qformlayout/qformlayout.pro
@@ -1,4 +1,4 @@
CONFIG += testcase
TARGET = tst_qformlayout
-QT += widgets testlib testlib-private
+QT += widgets widgets-private testlib testlib-private
SOURCES += tst_qformlayout.cpp
diff --git a/tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp b/tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp
index ab32643061..c6760000f4 100644
--- a/tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp
+++ b/tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp
@@ -38,6 +38,9 @@
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QPushButton>
+
+#include <private/qdialog_p.h>
+
#include <QStyleFactory>
#include <QSharedPointer>
@@ -1196,22 +1199,20 @@ void tst_QFormLayout::layoutAlone()
void tst_QFormLayout::taskQTBUG_27420_takeAtShouldUnparentLayout()
{
QSharedPointer<QFormLayout> outer(new QFormLayout);
- QPointer<QFormLayout> inner = new QFormLayout;
+ QAutoPointer<QFormLayout> holder{new QFormLayout};
+ auto inner = holder.get();
outer->addRow(inner);
QCOMPARE(outer->count(), 1);
QCOMPARE(inner->parent(), outer.data());
QLayoutItem *item = outer->takeAt(0);
- QCOMPARE(item->layout(), inner.data());
+ QCOMPARE(item->layout(), inner);
QVERIFY(!item->layout()->parent());
outer.reset();
- if (inner)
- delete item; // success: a taken item/layout should not be deleted when the old parent is deleted
- else
- QVERIFY(!inner.isNull());
+ QVERIFY(holder); // a taken item/layout should not be deleted when the old parent is deleted
}
void tst_QFormLayout::taskQTBUG_40609_addingWidgetToItsOwnLayout(){
diff --git a/tests/auto/widgets/kernel/qwidget/BLACKLIST b/tests/auto/widgets/kernel/qwidget/BLACKLIST
index 02e97e4b4e..26f9ce1b85 100644
--- a/tests/auto/widgets/kernel/qwidget/BLACKLIST
+++ b/tests/auto/widgets/kernel/qwidget/BLACKLIST
@@ -14,12 +14,9 @@ rhel-7.4
ubuntu-16.04
rhel-7.6
[focusProxyAndInputMethods]
-ubuntu-16.04
rhel-7.6
opensuse-leap
-ubuntu-18.04
-rhel-7.4
-opensuse-42.3
+ubuntu
[raise]
opensuse-leap
# QTBUG-68175
@@ -45,12 +42,9 @@ opensuse-leap
[moveInResizeEvent]
ubuntu-16.04
[multipleToplevelFocusCheck]
-ubuntu-16.04
rhel-7.6
opensuse-leap
-ubuntu-18.04
-rhel-7.4
-opensuse-42.3
+ubuntu
[windowState]
# QTBUG-75270
winrt
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
index bfc2631842..51049ecd81 100644
--- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
@@ -46,6 +46,7 @@
#include <qstylefactory.h>
#include <qdesktopwidget.h>
#include <private/qwidget_p.h>
+#include <private/qwidgetrepaintmanager_p.h>
#include <private/qapplication_p.h>
#include <private/qhighdpiscaling_p.h>
#include <qcalendarwidget.h>
@@ -1138,6 +1139,7 @@ void tst_QWidget::visible()
QVERIFY( !childWidget->isVisible() );
testWidget->show();
+ QVERIFY(testWidget->screen());
QVERIFY( testWidget->isVisible() );
QVERIFY( childWidget->isVisible() );
@@ -9564,7 +9566,7 @@ void tst_QWidget::destroyBackingStore()
QTRY_VERIFY(w.numPaintEvents > 0);
w.reset();
w.update();
- qt_widget_private(&w)->topData()->backingStoreTracker.create(&w);
+ qt_widget_private(&w)->topData()->repaintManager.reset(new QWidgetRepaintManager(&w));
w.update();
QApplication::processEvents();
@@ -9579,14 +9581,14 @@ void tst_QWidget::destroyBackingStore()
#endif // QT_BUILD_INTERNAL
// Helper function
-QWidgetBackingStore* backingStore(QWidget &widget)
+QWidgetRepaintManager* repaintManager(QWidget &widget)
{
- QWidgetBackingStore *backingStore = nullptr;
+ QWidgetRepaintManager *repaintManager = nullptr;
#ifdef QT_BUILD_INTERNAL
if (QTLWExtra *topExtra = qt_widget_private(&widget)->maybeTopData())
- backingStore = topExtra->backingStoreTracker.data();
+ repaintManager = topExtra->repaintManager.get();
#endif
- return backingStore;
+ return repaintManager;
}
// Tables of 5000 elements do not make sense on Windows Mobile.
@@ -9784,12 +9786,12 @@ class scrollWidgetWBS : public QWidget
public:
void deleteBackingStore()
{
- static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStoreTracker.destroy();
+ static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->repaintManager.reset(nullptr);
}
void enableBackingStore()
{
- if (!static_cast<QWidgetPrivate*>(d_ptr.data())->maybeBackingStore()) {
- static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStoreTracker.create(this);
+ if (!static_cast<QWidgetPrivate*>(d_ptr.data())->maybeRepaintManager()) {
+ static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->repaintManager.reset(new QWidgetRepaintManager(this));
static_cast<QWidgetPrivate*>(d_ptr.data())->invalidateBackingStore(this->rect());
repaint();
}
diff --git a/tests/auto/widgets/styles/qstyle/images/mac/button.png b/tests/auto/widgets/styles/qstyle/images/mac/button.png
deleted file mode 100644
index 7b11325e87..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/mac/button.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/mac/combobox.png b/tests/auto/widgets/styles/qstyle/images/mac/combobox.png
deleted file mode 100644
index ded0b11f29..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/mac/combobox.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/mac/lineedit.png b/tests/auto/widgets/styles/qstyle/images/mac/lineedit.png
deleted file mode 100644
index 8d2861b65b..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/mac/lineedit.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/mac/mdi.png b/tests/auto/widgets/styles/qstyle/images/mac/mdi.png
deleted file mode 100644
index 8c09ae4338..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/mac/mdi.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/mac/menu.png b/tests/auto/widgets/styles/qstyle/images/mac/menu.png
deleted file mode 100644
index 5dd9111d69..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/mac/menu.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/mac/radiobutton.png b/tests/auto/widgets/styles/qstyle/images/mac/radiobutton.png
deleted file mode 100644
index 8828e220a2..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/mac/radiobutton.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/mac/slider.png b/tests/auto/widgets/styles/qstyle/images/mac/slider.png
deleted file mode 100644
index fc65035631..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/mac/slider.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/mac/spinbox.png b/tests/auto/widgets/styles/qstyle/images/mac/spinbox.png
deleted file mode 100644
index ee88441ecb..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/mac/spinbox.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/vista/button.png b/tests/auto/widgets/styles/qstyle/images/vista/button.png
deleted file mode 100644
index a6c45276ca..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/vista/button.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/vista/combobox.png b/tests/auto/widgets/styles/qstyle/images/vista/combobox.png
deleted file mode 100644
index 9b82f64d32..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/vista/combobox.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/vista/lineedit.png b/tests/auto/widgets/styles/qstyle/images/vista/lineedit.png
deleted file mode 100644
index b2c6ac1ae4..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/vista/lineedit.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/vista/menu.png b/tests/auto/widgets/styles/qstyle/images/vista/menu.png
deleted file mode 100644
index b114099cc3..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/vista/menu.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/vista/radiobutton.png b/tests/auto/widgets/styles/qstyle/images/vista/radiobutton.png
deleted file mode 100644
index c8aa7864df..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/vista/radiobutton.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/vista/slider.png b/tests/auto/widgets/styles/qstyle/images/vista/slider.png
deleted file mode 100644
index 7c156ded9d..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/vista/slider.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/images/vista/spinbox.png b/tests/auto/widgets/styles/qstyle/images/vista/spinbox.png
deleted file mode 100644
index b8d0823ab2..0000000000
--- a/tests/auto/widgets/styles/qstyle/images/vista/spinbox.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/styles/qstyle/qstyle.pro b/tests/auto/widgets/styles/qstyle/qstyle.pro
index 9ad0940245..4dc0525c49 100644
--- a/tests/auto/widgets/styles/qstyle/qstyle.pro
+++ b/tests/auto/widgets/styles/qstyle/qstyle.pro
@@ -2,8 +2,3 @@ CONFIG += testcase
TARGET = tst_qstyle
QT += widgets testlib testlib-private
SOURCES += tst_qstyle.cpp
-
-android:!android-embedded {
- RESOURCES += \
- testdata.qrc
-}
diff --git a/tests/auto/widgets/styles/qstyle/testdata.qrc b/tests/auto/widgets/styles/qstyle/testdata.qrc
deleted file mode 100644
index 29bb46726e..0000000000
--- a/tests/auto/widgets/styles/qstyle/testdata.qrc
+++ /dev/null
@@ -1,19 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>images/mac/button.png</file>
- <file>images/mac/combobox.png</file>
- <file>images/mac/lineedit.png</file>
- <file>images/mac/mdi.png</file>
- <file>images/mac/menu.png</file>
- <file>images/mac/radiobutton.png</file>
- <file>images/mac/slider.png</file>
- <file>images/mac/spinbox.png</file>
- <file>images/vista/button.png</file>
- <file>images/vista/combobox.png</file>
- <file>images/vista/lineedit.png</file>
- <file>images/vista/menu.png</file>
- <file>images/vista/radiobutton.png</file>
- <file>images/vista/slider.png</file>
- <file>images/vista/spinbox.png</file>
- </qresource>
-</RCC>
diff --git a/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp b/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp
index 68e672e16d..ae084310b1 100644
--- a/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp
+++ b/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp
@@ -73,7 +73,6 @@ public:
private:
bool testAllFunctions(QStyle *);
bool testScrollBarSubControls();
- void testPainting(QStyle *style, const QString &platform);
private slots:
void drawItemPixmap();
void init();
@@ -333,141 +332,15 @@ void tst_QStyle::testWindowsStyle()
delete wstyle;
}
-void writeImage(const QString &fileName, QImage image)
-{
- QImageWriter imageWriter(fileName);
- imageWriter.setFormat("png");
- qDebug() << "result " << imageWriter.write(image);
-}
-
-QImage readImage(const QString &fileName)
-{
- QImageReader reader(fileName);
- return reader.read();
-}
-
-
#if defined(Q_OS_WIN) && !defined(QT_NO_STYLE_WINDOWSVISTA) && !defined(Q_OS_WINRT)
void tst_QStyle::testWindowsVistaStyle()
{
QStyle *vistastyle = QStyleFactory::create("WindowsVista");
QVERIFY(testAllFunctions(vistastyle));
-
- if (QOperatingSystemVersion::current().majorVersion()
- == QOperatingSystemVersion::WindowsVista.majorVersion()
- && QOperatingSystemVersion::current().minorVersion()
- == QOperatingSystemVersion::WindowsVista.minorVersion())
- testPainting(vistastyle, "vista");
delete vistastyle;
}
#endif
-void comparePixmap(const QString &filename, const QPixmap &pixmap)
-{
- QImage oldFile = readImage(filename);
- QPixmap oldPixmap = QPixmap::fromImage(oldFile);
- if (!oldFile.isNull())
- QCOMPARE(pixmap, oldPixmap);
- else
- writeImage(filename, pixmap.toImage());
-}
-
-void tst_QStyle::testPainting(QStyle *style, const QString &platform)
-{
-qDebug("TEST PAINTING");
- //Test Menu
- QString fileName = "images/" + platform + "/menu.png";
- QMenu menu;
- menu.setStyle(style);
- menu.show();
- menu.addAction(new QAction("Test 1", &menu));
- menu.addAction(new QAction("Test 2", &menu));
- QPixmap pixmap = menu.grab();
- comparePixmap(fileName, pixmap);
-
- //Push button
- fileName = "images/" + platform + "/button.png";
- QPushButton button("OK");
- button.setStyle(style);
- button.show();
- pixmap = button.grab();
- button.hide();
- comparePixmap(fileName, pixmap);
-
- //Push button
- fileName = "images/" + platform + "/radiobutton.png";
- QRadioButton radiobutton("Check");
- radiobutton.setStyle(style);
- radiobutton.show();
- pixmap = radiobutton.grab();
- radiobutton.hide();
- comparePixmap(fileName, pixmap);
-
- //Combo box
- fileName = "images/" + platform + "/combobox.png";
- QComboBox combobox;
- combobox.setStyle(style);
- combobox.addItem("Test 1");
- combobox.addItem("Test 2");
- combobox.show();
- pixmap = combobox.grab();
- combobox.hide();
- comparePixmap(fileName, pixmap);
-
- //Spin box
- fileName = "images/" + platform + "/spinbox.png";
- QDoubleSpinBox spinbox;
- spinbox.setLocale(QLocale(QLocale::English, QLocale::UnitedStates));
- spinbox.setStyle(style);
- spinbox.show();
- pixmap = spinbox.grab();
- spinbox.hide();
- comparePixmap(fileName, pixmap);
- QLocale::setDefault(QLocale::system());
-
- //Slider
- fileName = "images/" + platform + "/slider.png";
- QSlider slider;
- slider.setStyle(style);
- slider.show();
- pixmap = slider.grab();
- slider.hide();
- comparePixmap(fileName, pixmap);
-
- //Line edit
- fileName = "images/" + platform + "/lineedit.png";
- QLineEdit lineedit("Test text");
- lineedit.setStyle(style);
- lineedit.show();
- pixmap = lineedit.grab();
- lineedit.hide();
- comparePixmap(fileName, pixmap);
-
- //MDI
- fileName = "images/" + platform + "/mdi.png";
- QMdiArea mdiArea;
- mdiArea.addSubWindow(new QWidget(&mdiArea));
- mdiArea.resize(200, 200);
- mdiArea.setStyle(style);
- mdiArea.show();
- pixmap = mdiArea.grab();
- mdiArea.hide();
- comparePixmap(fileName, pixmap);
-
- // QToolButton
- fileName = "images/" + platform + "/toolbutton.png";
- QToolButton tb;
- tb.setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
- tb.setText("AaQqPpXx");
- tb.setIcon(style->standardPixmap(QStyle::SP_DirHomeIcon));
- tb.setStyle(style);
- tb.show();
- pixmap = tb.grab();
- tb.hide();
- comparePixmap(fileName, pixmap);
-
-}
-
#ifdef Q_OS_MAC
void tst_QStyle::testMacStyle()
{
diff --git a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
index 810f081b73..26b4b7d020 100644
--- a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
+++ b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
@@ -348,8 +348,7 @@ static QLatin1String sectionToName(const QDateTimeEdit::Section section)
}
}
-static QDate stepDate(const QDate& startDate, const QDateTimeEdit::Section section,
- const int steps)
+static QDate stepDate(QDate startDate, const QDateTimeEdit::Section section, const int steps)
{
switch (section) {
case QDateTimeEdit::DaySection:
@@ -364,8 +363,7 @@ static QDate stepDate(const QDate& startDate, const QDateTimeEdit::Section secti
}
}
-static QTime stepTime(const QTime& startTime, const QDateTimeEdit::Section section,
- const int steps)
+static QTime stepTime(QTime startTime, const QDateTimeEdit::Section section, const int steps)
{
switch (section) {
case QDateTimeEdit::SecondSection:
diff --git a/tests/auto/widgets/widgets/qframe/tst_qframe.cpp b/tests/auto/widgets/widgets/qframe/tst_qframe.cpp
index 432f4474c5..05f9cd2e4a 100644
--- a/tests/auto/widgets/widgets/qframe/tst_qframe.cpp
+++ b/tests/auto/widgets/widgets/qframe/tst_qframe.cpp
@@ -37,6 +37,10 @@
class tst_QFrame : public QObject
{
Q_OBJECT
+
+public:
+ static void initMain() { QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling); }
+
private slots:
void testDefaults();
void testInitStyleOption_data();
diff --git a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp
index b8abd78657..6d38dc262f 100644
--- a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp
+++ b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp
@@ -479,9 +479,6 @@ void tst_QMdiArea::subWindowActivated2()
// Check that we only emit _one_ signal and the active window
// is unchanged after hide/show.
mdiArea.hide();
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- qt_x11_wait_for_window_manager(&mdiArea);
-#endif
QTest::qWait(100);
QTRY_COMPARE(spy.count(), 1);
QVERIFY(!mdiArea.activeSubWindow());
diff --git a/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp b/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp
index b8891fab95..3ee9c72209 100644
--- a/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp
+++ b/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp
@@ -52,9 +52,7 @@
#include <QVector>
QT_BEGIN_NAMESPACE
-#if 1 // Used to be excluded in Qt4 for Q_WS_WIN
extern bool qt_tab_all_widgets();
-#endif
QT_END_NAMESPACE
static inline bool tabAllWidgets()
diff --git a/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp b/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp
index 21c9f41646..76f8ebc804 100644
--- a/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp
+++ b/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp
@@ -49,6 +49,9 @@ class tst_QOpenGLWidget : public QObject
{
Q_OBJECT
+public:
+ static void initMain() { QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling); }
+
private slots:
void initTestCase();
void create();
diff --git a/tests/benchmarks/corelib/kernel/qobject/main.cpp b/tests/benchmarks/corelib/kernel/qobject/main.cpp
index 04ca69ad3b..918227f74e 100644
--- a/tests/benchmarks/corelib/kernel/qobject/main.cpp
+++ b/tests/benchmarks/corelib/kernel/qobject/main.cpp
@@ -51,8 +51,55 @@ private slots:
void connect_disconnect_benchmark_data();
void connect_disconnect_benchmark();
void receiver_destroyed_benchmark();
+
+ void stdAllocator();
};
+class QObjectUsingStandardAllocator : public QObject
+{
+ Q_OBJECT
+public:
+ QObjectUsingStandardAllocator()
+ {
+ }
+};
+
+template<class T>
+inline void allocator()
+{
+ // We need to allocate certain amount of objects otherwise the new implementation
+ // may re-use the previous allocation, hiding the somehow high cost of allocation. It
+ // also helps us to reduce the noise ratio, which is high for memory allocation.
+ //
+ // The check depends on memory allocation performance, which is quite non-deterministic.
+ // When a new memory is requested, the new operator, depending on implementation, is trying
+ // to re-use existing, already allocated for the process memory. If there is not enough, it
+ // asks OS to give more. Of course the first case is faster then the second. In the same
+ // time, from an application perspective the first is also more likely.
+ //
+ // As a result, depending on which use-case one wants to test, it may be recommended to run this
+ // test in separation from others, to "force" expensive code path in the memory allocation.
+ //
+ // The time based results are heavily affected by background noise. One really needs to
+ // prepare OS (no other tasks, CPU and RAM reservations) to run this test, or use
+ // instruction counting which seems to be less fragile.
+
+ const int count = 256 * 1024;
+
+ QScopedPointer<T> objects[count];
+ QBENCHMARK_ONCE {
+ for (int i = 0; i < count; ++i)
+ objects[i].reset(new T);
+ for (int i = 0; i < count; ++i)
+ objects[i].reset();
+ }
+}
+
+void QObjectBenchmark::stdAllocator()
+{
+ allocator<QObjectUsingStandardAllocator>();
+}
+
struct Functor {
void operator()(){}
};
diff --git a/tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp b/tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp
index 399ac44065..10c013c080 100644
--- a/tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp
+++ b/tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp
@@ -26,27 +26,187 @@
**
****************************************************************************/
-#include <QDateTime>
+#include <QDate>
#include <QTest>
+#include <QVector>
class tst_QDate : public QObject
{
Q_OBJECT
+ enum : qint64
+ {
+ JULIAN_DAY_2010 = 2455198,
+ JULIAN_DAY_2011 = 2455563,
+ JULIAN_DAY_2020 = 2458850,
+ };
+
+ static QVector<QDate> daily(qint64 start, qint64 end);
+ static QVector<QDate> yearly(qint32 first, qint32 last);
+
private Q_SLOTS:
- void monthLengths();
+ void create();
+ void year();
+ void month();
+ void day();
+ void dayOfWeek();
+ void dayOfYear();
+ void monthLengths(); // isValid() and daysInMonth()
+ void daysInYear();
+ void isLeapYear();
+ void getSetDate();
+ void addDays();
+ void addMonths();
+ void addYears();
};
+QVector<QDate> tst_QDate::daily(qint64 start, qint64 end)
+{
+ QVector<QDate> list;
+ list.reserve(end - start);
+ for (qint64 jd = start; jd < end; ++jd)
+ list.append(QDate::fromJulianDay(jd));
+ return list;
+}
+
+QVector<QDate> tst_QDate::yearly(qint32 first, qint32 last)
+{
+ QVector<QDate> list;
+ list.reserve(last + 1 - first);
+ for (qint32 year = first; year <= last; ++year)
+ list.append(QDate(year, 3, 21));
+ return list;
+}
+
+void tst_QDate::create()
+{
+ QDate test;
+ QBENCHMARK {
+ for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
+ test = QDate::fromJulianDay(jd);
+ }
+ Q_UNUSED(test);
+}
+
+void tst_QDate::year()
+{
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QBENCHMARK {
+ for (const QDate &test : list)
+ test.year();
+ }
+}
+
+void tst_QDate::month()
+{
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QBENCHMARK {
+ for (const QDate &test : list)
+ test.month();
+ }
+}
+
+void tst_QDate::day()
+{
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QBENCHMARK {
+ for (const QDate &test : list)
+ test.day();
+ }
+}
+
+void tst_QDate::dayOfWeek()
+{
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QBENCHMARK {
+ for (const QDate &test : list)
+ test.dayOfWeek();
+ }
+}
+
+void tst_QDate::dayOfYear()
+{
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QBENCHMARK {
+ for (const QDate &test : list)
+ test.dayOfYear();
+ }
+}
+
void tst_QDate::monthLengths()
{
+ bool check = true;
QBENCHMARK {
for (int year = 1900; year <= 2100; year++) {
- bool check = true;
for (int month = 1; month <= 12; month++)
- check &= QDate::isValid(year, month, QDate(year, month, 1).daysInMonth());
- Q_UNUSED(check);
+ check = QDate::isValid(year, month, QDate(year, month, 1).daysInMonth());
+ }
+ }
+ Q_UNUSED(check);
+}
+
+void tst_QDate::daysInYear()
+{
+ const auto list = yearly(1601, 2401);
+ QBENCHMARK {
+ for (const QDate date : list)
+ date.daysInYear();
+ }
+}
+
+void tst_QDate::isLeapYear()
+{
+ QBENCHMARK {
+ for (qint32 year = 1601; year <= 2401; year++)
+ QDate::isLeapYear(year);
+ }
+}
+
+void tst_QDate::getSetDate()
+{
+ QDate store;
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QBENCHMARK {
+ for (const auto test : list) {
+ int year, month, day;
+ test.getDate(&year, &month, &day);
+ store.setDate(year, month, day);
}
}
+ Q_UNUSED(store);
+}
+
+void tst_QDate::addDays()
+{
+ QDate store;
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QBENCHMARK {
+ for (const auto test : list)
+ store = test.addDays(17);
+ }
+ Q_UNUSED(store);
+}
+
+void tst_QDate::addMonths()
+{
+ QDate store;
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QBENCHMARK {
+ for (const auto test : list)
+ store = test.addMonths(17);
+ }
+ Q_UNUSED(store);
+}
+
+void tst_QDate::addYears()
+{
+ QDate store;
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QBENCHMARK {
+ for (const auto test : list)
+ store = test.addYears(17);
+ }
+ Q_UNUSED(store);
}
QTEST_MAIN(tst_QDate)
diff --git a/tests/benchmarks/corelib/time/qdatetime/main.cpp b/tests/benchmarks/corelib/time/qdatetime/main.cpp
index b693400376..740e08cc46 100644
--- a/tests/benchmarks/corelib/time/qdatetime/main.cpp
+++ b/tests/benchmarks/corelib/time/qdatetime/main.cpp
@@ -29,6 +29,7 @@
#include <QDateTime>
#include <QTimeZone>
#include <QTest>
+#include <QVector>
#include <qdebug.h>
class tst_QDateTime : public QObject
@@ -41,6 +42,7 @@ class tst_QDateTime : public QObject
MSECS_PER_DAY = 86400000,
JULIAN_DAY_1950 = 2433283,
JULIAN_DAY_1960 = 2436935,
+ JULIAN_DAY_1970 = 2440588, // Epoch
JULIAN_DAY_2010 = 2455198,
JULIAN_DAY_2011 = 2455563,
JULIAN_DAY_2020 = 2458850,
@@ -48,6 +50,9 @@ class tst_QDateTime : public QObject
JULIAN_DAY_2060 = 2473460
};
+ static QVector<QDateTime> daily(qint64 start, qint64 end);
+ static QVector<QDateTime> norse(qint64 start, qint64 end);
+
private Q_SLOTS:
void create();
void isNull();
@@ -97,6 +102,25 @@ private Q_SLOTS:
void fromMSecsSinceEpochTz();
};
+QVector<QDateTime> tst_QDateTime::daily(qint64 start, qint64 end)
+{
+ QVector<QDateTime> list;
+ list.reserve(end - start);
+ for (int jd = start; jd < end; ++jd)
+ list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ return list;
+}
+
+QVector<QDateTime> tst_QDateTime::norse(qint64 start, qint64 end)
+{
+ const QTimeZone cet("Europe/Oslo");
+ QVector<QDateTime> list;
+ list.reserve(end - start);
+ for (int jd = start; jd < end; ++jd)
+ list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ return list;
+}
+
void tst_QDateTime::create()
{
QBENCHMARK {
@@ -109,339 +133,286 @@ void tst_QDateTime::create()
void tst_QDateTime::isNull()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.isNull();
}
}
void tst_QDateTime::isValid()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.isValid();
}
}
void tst_QDateTime::date()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.date();
}
}
void tst_QDateTime::time()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.time();
}
}
void tst_QDateTime::timeSpec()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.timeSpec();
}
}
void tst_QDateTime::offsetFromUtc()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.offsetFromUtc();
}
}
void tst_QDateTime::timeZoneAbbreviation()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.timeZoneAbbreviation();
}
}
void tst_QDateTime::toMSecsSinceEpoch()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.toMSecsSinceEpoch();
}
}
void tst_QDateTime::toMSecsSinceEpoch1950()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_1950; jd < JULIAN_DAY_1960; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_1950, JULIAN_DAY_1960);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.toMSecsSinceEpoch();
}
}
void tst_QDateTime::toMSecsSinceEpoch2050()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2050; jd < JULIAN_DAY_2060; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2050, JULIAN_DAY_2060);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.toMSecsSinceEpoch();
}
}
void tst_QDateTime::toMSecsSinceEpochTz()
{
- QTimeZone cet = QTimeZone("Europe/Oslo");
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ qint64 result;
+ const auto list = norse(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
- qint64 result = test.toMSecsSinceEpoch();
+ for (const QDateTime &test : list)
+ result = test.toMSecsSinceEpoch();
}
+ Q_UNUSED(result);
}
void tst_QDateTime::toMSecsSinceEpoch1950Tz()
{
- QTimeZone cet = QTimeZone("Europe/Oslo");
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_1950; jd < JULIAN_DAY_1960; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ qint64 result;
+ const auto list = norse(JULIAN_DAY_1950, JULIAN_DAY_1960);
QBENCHMARK {
- foreach (const QDateTime &test, list)
- qint64 result = test.toMSecsSinceEpoch();
+ for (const QDateTime &test : list)
+ result = test.toMSecsSinceEpoch();
}
+ Q_UNUSED(result);
}
void tst_QDateTime::toMSecsSinceEpoch2050Tz()
{
- QTimeZone cet = QTimeZone("Europe/Oslo");
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2050; jd < JULIAN_DAY_2060; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ qint64 result;
+ const auto list = norse(JULIAN_DAY_2050, JULIAN_DAY_2060);
QBENCHMARK {
- foreach (const QDateTime &test, list)
- qint64 result = test.toMSecsSinceEpoch();
+ for (const QDateTime &test : list)
+ result = test.toMSecsSinceEpoch();
}
+ Q_UNUSED(result);
}
void tst_QDateTime::setDate()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (QDateTime test, list)
+ for (QDateTime test : list)
test.setDate(QDate::fromJulianDay(JULIAN_DAY_2010));
}
}
void tst_QDateTime::setTime()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (QDateTime test, list)
+ for (QDateTime test : list)
test.setTime(QTime(12, 0, 0));
}
}
void tst_QDateTime::setTimeSpec()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (QDateTime test, list)
+ for (QDateTime test : list)
test.setTimeSpec(Qt::UTC);
}
}
void tst_QDateTime::setOffsetFromUtc()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (QDateTime test, list)
+ for (QDateTime test : list)
test.setOffsetFromUtc(3600);
}
}
void tst_QDateTime::setMSecsSinceEpoch()
{
- qint64 msecs = qint64(JULIAN_DAY_2010 + 180) * MSECS_PER_DAY;
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ qint64 msecs = qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970 + 180) * MSECS_PER_DAY;
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (QDateTime test, list)
+ for (QDateTime test : list)
test.setMSecsSinceEpoch(msecs);
}
}
void tst_QDateTime::setMSecsSinceEpochTz()
{
- QTimeZone cet = QTimeZone("Europe/Oslo");
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ const qint64 msecs = qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970 + 180) * MSECS_PER_DAY;
+ const auto list = norse(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (QDateTime test, list)
- test.setMSecsSinceEpoch((JULIAN_DAY_2010 + 180) * MSECS_PER_DAY);
+ for (QDateTime test : list)
+ test.setMSecsSinceEpoch(msecs);
}
}
void tst_QDateTime::toString()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2011; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2011);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.toString(QStringLiteral("yyy-MM-dd hh:mm:ss.zzz t"));
}
}
void tst_QDateTime::toStringTextFormat()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2011; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2011);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.toString(Qt::TextDate);
}
}
void tst_QDateTime::toStringIsoFormat()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2011; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2011);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.toString(Qt::ISODate);
}
}
void tst_QDateTime::addDays()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QDateTime next;
QBENCHMARK {
- foreach (const QDateTime &test, list)
- test.addDays(1);
+ for (const QDateTime &test : list)
+ next = test.addDays(1);
}
+ Q_UNUSED(next);
}
void tst_QDateTime::addDaysTz()
{
- QTimeZone cet = QTimeZone("Europe/Oslo");
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ const auto list = norse(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
QDateTime result = test.addDays(1);
}
}
void tst_QDateTime::addMSecs()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
+ QDateTime next;
QBENCHMARK {
- foreach (const QDateTime &test, list)
- test.addMSecs(1);
+ for (const QDateTime &test : list)
+ next = test.addMSecs(1);
}
+ Q_UNUSED(next);
}
void tst_QDateTime::addMSecsTz()
{
- QTimeZone cet = QTimeZone("Europe/Oslo");
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ const auto list = norse(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
QDateTime result = test.addMSecs(1);
}
}
void tst_QDateTime::toTimeSpec()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.toTimeSpec(Qt::UTC);
}
}
void tst_QDateTime::toOffsetFromUtc()
{
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.toOffsetFromUtc(3600);
}
}
void tst_QDateTime::daysTo()
{
- QDateTime other = QDateTime::fromMSecsSinceEpoch(qint64(JULIAN_DAY_2010) * MSECS_PER_DAY);
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const QDateTime other = QDateTime::fromMSecsSinceEpoch(
+ qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY);
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.daysTo(other);
}
}
void tst_QDateTime::msecsTo()
{
- QDateTime other = QDateTime::fromMSecsSinceEpoch(qint64(JULIAN_DAY_2010) * MSECS_PER_DAY);
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const QDateTime other = QDateTime::fromMSecsSinceEpoch(
+ qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY);
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
test.msecsTo(other);
}
}
@@ -449,12 +420,11 @@ void tst_QDateTime::msecsTo()
void tst_QDateTime::equivalent()
{
bool result;
- QDateTime other = QDateTime::fromMSecsSinceEpoch(qint64(JULIAN_DAY_2010) * MSECS_PER_DAY);
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const QDateTime other = QDateTime::fromMSecsSinceEpoch(
+ qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY);
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
result = (test == other);
}
Q_UNUSED(result)
@@ -463,12 +433,11 @@ void tst_QDateTime::equivalent()
void tst_QDateTime::equivalentUtc()
{
bool result = false;
- QDateTime other = QDateTime::fromMSecsSinceEpoch(qint64(JULIAN_DAY_2010) * MSECS_PER_DAY, Qt::UTC);
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const QDateTime other = QDateTime::fromMSecsSinceEpoch(
+ qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY, Qt::UTC);
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
result = (test == other);
}
Q_UNUSED(result)
@@ -477,12 +446,11 @@ void tst_QDateTime::equivalentUtc()
void tst_QDateTime::lessThan()
{
bool result = false;
- QDateTime other = QDateTime::fromMSecsSinceEpoch(qint64(JULIAN_DAY_2010) * MSECS_PER_DAY);
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const QDateTime other = QDateTime::fromMSecsSinceEpoch(
+ qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY);
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
result = (test < other);
}
Q_UNUSED(result)
@@ -491,12 +459,11 @@ void tst_QDateTime::lessThan()
void tst_QDateTime::lessThanUtc()
{
bool result = false;
- QDateTime other = QDateTime::fromMSecsSinceEpoch(qint64(JULIAN_DAY_2010) * MSECS_PER_DAY, Qt::UTC);
- QList<QDateTime> list;
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
- list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
+ const QDateTime other = QDateTime::fromMSecsSinceEpoch(
+ qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY, Qt::UTC);
+ const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QBENCHMARK {
- foreach (const QDateTime &test, list)
+ for (const QDateTime &test : list)
result = (test < other);
}
Q_UNUSED(result)
@@ -573,25 +540,31 @@ void tst_QDateTime::fromStringIso()
void tst_QDateTime::fromMSecsSinceEpoch()
{
+ const int start = JULIAN_DAY_2010 - JULIAN_DAY_1970;
+ const int end = JULIAN_DAY_2020 - JULIAN_DAY_1970;
QBENCHMARK {
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
+ for (int jd = start; jd < end; ++jd)
QDateTime::fromMSecsSinceEpoch(jd * MSECS_PER_DAY, Qt::LocalTime);
}
}
void tst_QDateTime::fromMSecsSinceEpochUtc()
{
+ const int start = JULIAN_DAY_2010 - JULIAN_DAY_1970;
+ const int end = JULIAN_DAY_2020 - JULIAN_DAY_1970;
QBENCHMARK {
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
+ for (int jd = start; jd < end; ++jd)
QDateTime::fromMSecsSinceEpoch(jd * MSECS_PER_DAY, Qt::UTC);
}
}
void tst_QDateTime::fromMSecsSinceEpochTz()
{
- QTimeZone cet = QTimeZone("Europe/Oslo");
+ const int start = JULIAN_DAY_2010 - JULIAN_DAY_1970;
+ const int end = JULIAN_DAY_2020 - JULIAN_DAY_1970;
+ const QTimeZone cet("Europe/Oslo");
QBENCHMARK {
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
+ for (int jd = start; jd < end; ++jd)
QDateTime test = QDateTime::fromMSecsSinceEpoch(jd * MSECS_PER_DAY, cet);
}
}
diff --git a/tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp b/tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp
index 570c7b59fa..b88669e9ce 100644
--- a/tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp
+++ b/tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp
@@ -183,6 +183,7 @@ void tst_QImageConversion::convertRgb32_data()
QTest::newRow("rgb32 -> rgb30") << rgb32 << QImage::Format_RGB30;
QTest::newRow("rgb32 -> a2bgr30") << rgb32 << QImage::Format_A2BGR30_Premultiplied;
QTest::newRow("rgb32 -> rgb888") << rgb32 << QImage::Format_RGB888;
+ QTest::newRow("rgb32 -> bgr888") << rgb32 << QImage::Format_BGR888;
QTest::newRow("rgb32 -> rgb666") << rgb32 << QImage::Format_RGB666;
QTest::newRow("rgb32 -> rgb555") << rgb32 << QImage::Format_RGB555;
QTest::newRow("rgb32 -> argb8565pm") << rgb32 << QImage::Format_ARGB8565_Premultiplied;
@@ -196,6 +197,7 @@ void tst_QImageConversion::convertRgb32_data()
QTest::newRow("argb32 -> rgb30") << argb32 << QImage::Format_RGB30;
QTest::newRow("argb32 -> a2bgr30") << argb32 << QImage::Format_A2BGR30_Premultiplied;
QTest::newRow("argb32 -> rgb888") << argb32 << QImage::Format_RGB888;
+ QTest::newRow("argb32 -> bgr888") << argb32 << QImage::Format_BGR888;
QTest::newRow("argb32 -> rgb666") << argb32 << QImage::Format_RGB666;
QTest::newRow("argb32 -> argb8565pm") << argb32 << QImage::Format_ARGB8565_Premultiplied;
QTest::newRow("argb32 -> argb4444pm") << argb32 << QImage::Format_ARGB4444_Premultiplied;
@@ -212,6 +214,7 @@ void tst_QImageConversion::convertRgb32_data()
QTest::newRow("argb32pm -> rgb30") << argb32pm << QImage::Format_RGB30;
QTest::newRow("argb32pm -> a2bgr30") << argb32pm << QImage::Format_A2BGR30_Premultiplied;
QTest::newRow("argb32pm -> rgb888") << argb32pm << QImage::Format_RGB888;
+ QTest::newRow("argb32pm -> bgr888") << argb32pm << QImage::Format_BGR888;
QTest::newRow("argb32pm -> rgb666") << argb32pm << QImage::Format_RGB666;
QTest::newRow("argb32pm -> argb8565pm") << argb32pm << QImage::Format_ARGB8565_Premultiplied;
QTest::newRow("argb32pm -> argb4444pm") << argb32pm << QImage::Format_ARGB4444_Premultiplied;
@@ -242,6 +245,8 @@ void tst_QImageConversion::convertGeneric_data()
QImage rgb666 = rgb32.convertToFormat(QImage::Format_RGB666);
QImage argb4444 = argb32.convertToFormat(QImage::Format_ARGB4444_Premultiplied);
QImage rgba64pm = argb32.convertToFormat(QImage::Format_RGBA64_Premultiplied);
+ QImage rgb888 = rgb32.convertToFormat(QImage::Format_RGB888);
+ QImage bgr888 = rgb32.convertToFormat(QImage::Format_BGR888);
QTest::newRow("indexed8 -> rgb32") << i8 << QImage::Format_RGB32;
QTest::newRow("indexed8 -> argb32") << i8 << QImage::Format_ARGB32;
@@ -299,6 +304,20 @@ void tst_QImageConversion::convertGeneric_data()
QTest::newRow("rgba64pm -> rgb30") << rgba64pm << QImage::Format_RGB30;
QTest::newRow("rgba64pm -> a2bgr30") << rgba64pm << QImage::Format_A2BGR30_Premultiplied;
QTest::newRow("rgba64pm -> rgba64") << rgba64pm << QImage::Format_RGBA64;
+
+ QTest::newRow("rgb888 -> rgb32") << rgb888 << QImage::Format_RGB32;
+ QTest::newRow("rgb888 -> argb32") << rgb888 << QImage::Format_ARGB32;
+ QTest::newRow("rgb888 -> argb32pm") << rgb888 << QImage::Format_ARGB32_Premultiplied;
+ QTest::newRow("rgb888 -> rgbx8888") << rgb888 << QImage::Format_RGBX8888;
+ QTest::newRow("rgb888 -> rgba8888pm") << rgb888 << QImage::Format_RGBA8888_Premultiplied;
+ QTest::newRow("rgb888 -> bgr888") << rgb888 << QImage::Format_BGR888;
+
+ QTest::newRow("bgr888 -> rgb32") << bgr888 << QImage::Format_RGB32;
+ QTest::newRow("bgr888 -> argb32") << bgr888 << QImage::Format_ARGB32;
+ QTest::newRow("bgr888 -> argb32pm") << bgr888 << QImage::Format_ARGB32_Premultiplied;
+ QTest::newRow("bgr888 -> rgbx8888") << bgr888 << QImage::Format_RGBX8888;
+ QTest::newRow("bgr888 -> rgba8888pm") << bgr888 << QImage::Format_RGBA8888_Premultiplied;
+ QTest::newRow("bgr888 -> rgb888") << bgr888 << QImage::Format_RGB888;
}
void tst_QImageConversion::convertGeneric()
@@ -323,6 +342,7 @@ void tst_QImageConversion::convertGenericInplace_data()
QImage argb6666 = argb32.convertToFormat(QImage::Format_ARGB6666_Premultiplied);
QImage argb4444 = argb32.convertToFormat(QImage::Format_ARGB4444_Premultiplied);
QImage rgb16 = argb32.convertToFormat(QImage::Format_RGB16);
+ QImage rgb888 = argb32.convertToFormat(QImage::Format_RGB888);
QTest::newRow("argb32 -> argb32pm -> argb32") << argb32 << QImage::Format_ARGB32_Premultiplied;
QTest::newRow("argb32 -> rgb32 -> argb32") << argb32 << QImage::Format_RGB32;
@@ -349,6 +369,8 @@ void tst_QImageConversion::convertGenericInplace_data()
QTest::newRow("rgb16 -> rgb555 -> rgb16") << rgb16 << QImage::Format_RGB555;
QTest::newRow("rgb16 -> rgb444 -> rgb16") << rgb16 << QImage::Format_RGB444;
QTest::newRow("rgb16 -> argb4444pm -> rgb16") << rgb16 << QImage::Format_ARGB4444_Premultiplied;
+
+ QTest::newRow("rgb888 -> bgr888 -> rgb888") << rgb888 << QImage::Format_BGR888;
}
void tst_QImageConversion::convertGenericInplace()
diff --git a/tests/benchmarks/gui/image/qimagereader/qimagereader.pro b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro
index 29f7f6b16e..3454cf1474 100644
--- a/tests/benchmarks/gui/image/qimagereader/qimagereader.pro
+++ b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro
@@ -8,3 +8,5 @@ SOURCES += tst_qimagereader.cpp
qtConfig(gif): DEFINES += QTEST_HAVE_GIF
qtConfig(jpeg): DEFINES += QTEST_HAVE_JPEG
+
+TESTDATA += images/*
diff --git a/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp b/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp
index d81d5bb01a..48e838148f 100644
--- a/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp
+++ b/tests/benchmarks/gui/image/qimagereader/tst_qimagereader.cpp
@@ -51,6 +51,7 @@ public:
virtual ~tst_QImageReader();
public slots:
+ void initTestCase();
void init();
void cleanup();
@@ -69,6 +70,7 @@ private slots:
private:
QList< QPair<QString, QByteArray> > images; // filename, format
+ QString prefix;
};
tst_QImageReader::tst_QImageReader()
@@ -102,6 +104,13 @@ tst_QImageReader::~tst_QImageReader()
{
}
+void tst_QImageReader::initTestCase()
+{
+ prefix = QFINDTESTDATA("images/");
+ if (prefix.isEmpty())
+ QFAIL("Can't find images directory!");
+}
+
void tst_QImageReader::init()
{
}
@@ -128,7 +137,7 @@ void tst_QImageReader::readImage()
QFETCH(QByteArray, format);
QBENCHMARK {
- QImageReader io("images/" + fileName, format);
+ QImageReader io(prefix + fileName, format);
QImage image = io.read();
QVERIFY(!image.isNull());
}
@@ -159,7 +168,7 @@ void tst_QImageReader::setScaledSize()
QFETCH(QByteArray, format);
QBENCHMARK {
- QImageReader reader("images/" + fileName, format);
+ QImageReader reader(prefix + fileName, format);
reader.setScaledSize(newSize);
QImage image = reader.read();
QCOMPARE(image.size(), newSize);
@@ -186,7 +195,7 @@ void tst_QImageReader::setClipRect()
QFETCH(QByteArray, format);
QBENCHMARK {
- QImageReader reader("images/" + fileName, format);
+ QImageReader reader(prefix + fileName, format);
reader.setClipRect(newRect);
QImage image = reader.read();
QCOMPARE(image.rect(), newRect);
@@ -205,7 +214,7 @@ void tst_QImageReader::setScaledClipRect()
QFETCH(QByteArray, format);
QBENCHMARK {
- QImageReader reader("images/" + fileName, format);
+ QImageReader reader(prefix + fileName, format);
reader.setScaledSize(QSize(300, 300));
reader.setScaledClipRect(newRect);
QImage image = reader.read();
diff --git a/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp b/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp
index de4e9e5ad7..6e0ac445a6 100644
--- a/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp
+++ b/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp
@@ -30,12 +30,7 @@
#include <QtGui>
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
-#define CALLGRIND_START_INSTRUMENTATION {}
-#define CALLGRIND_STOP_INSTRUMENTATION {}
-#else
#include "valgrind/callgrind.h"
-#endif
#ifndef QT_NO_OPENGL
#include <QtOpenGL>
diff --git a/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp b/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp
index e0cc0f8eb4..140278b8f6 100644
--- a/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp
+++ b/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp
@@ -27,16 +27,7 @@
****************************************************************************/
#include <QtGui>
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
-#define CALLGRIND_START_INSTRUMENTATION {}
-#define CALLGRIND_STOP_INSTRUMENTATION {}
-#else
#include "valgrind/callgrind.h"
-#endif
-
-#if 0 // Used to be included in Qt4 for Q_WS_X11
-extern void qt_x11_wait_for_window_manager(QWidget *);
-#endif
class View : public QGraphicsView
{
@@ -89,9 +80,6 @@ int main(int argc, char *argv[])
View view(&scene, item);
view.resize(300, 300);
view.show();
-#if 0 // Used to be included in Qt4 for Q_WS_X11
- qt_x11_wait_for_window_manager(&view);
-#endif
return app.exec();
}
diff --git a/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp b/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp
index 1fbb229cd8..566d16ca51 100644
--- a/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp
+++ b/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp
@@ -27,12 +27,7 @@
****************************************************************************/
#include <QtGui>
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
-#define CALLGRIND_START_INSTRUMENTATION {}
-#define CALLGRIND_STOP_INSTRUMENTATION {}
-#else
#include "valgrind/callgrind.h"
-#endif
class ItemMover : public QObject
{
diff --git a/tests/manual/diaglib/textdump.cpp b/tests/manual/diaglib/textdump.cpp
index 8bb899783b..383ec4edb0 100644
--- a/tests/manual/diaglib/textdump.cpp
+++ b/tests/manual/diaglib/textdump.cpp
@@ -44,6 +44,9 @@ static const EnumLookup specialCharactersEnumLookup[] =
#if QT_VERSION >= 0x050000
{QChar::Tabulation, "Tabulation"},
{QChar::LineFeed, "LineFeed"},
+# if QT_VERSION >= 0x050e00
+ {QChar::FormFeed, "FormFeed"},
+# endif
{QChar::CarriageReturn, "CarriageReturn"},
{QChar::Space, "Space"},
#endif
diff --git a/tests/manual/highdpi/highdpi.pro b/tests/manual/highdpi/highdpi.pro
index 9db083cd82..2de8ed3bb5 100644
--- a/tests/manual/highdpi/highdpi.pro
+++ b/tests/manual/highdpi/highdpi.pro
@@ -15,3 +15,4 @@ HEADERS += \
RESOURCES += \
highdpi.qrc
+DEFINES += HAVE_SCREEN_BASE_DPI
diff --git a/tests/manual/highdpi/main.cpp b/tests/manual/highdpi/main.cpp
index 7225587ac0..8884c5feed 100644
--- a/tests/manual/highdpi/main.cpp
+++ b/tests/manual/highdpi/main.cpp
@@ -37,10 +37,12 @@
#include <QPushButton>
#include <QButtonGroup>
#include <QLineEdit>
+#include <QPlainTextEdit>
#include <QScrollBar>
#include <QSlider>
#include <QSpinBox>
#include <QTabBar>
+#include <QTextBrowser>
#include <QIcon>
#include <QPainter>
#include <QWindow>
@@ -55,9 +57,16 @@
#include <QCommandLineOption>
#include <QDebug>
#include <private/qhighdpiscaling_p.h>
+#include <qpa/qplatformscreen.h>
#include "dragwidget.h"
+static QTextStream &operator<<(QTextStream &str, const QRect &r)
+{
+ str << r.width() << 'x' << r.height() << forcesign << r.x() << r.y() << noforcesign;
+ return str;
+}
+
class DemoContainerBase
{
public:
@@ -1176,6 +1185,85 @@ public:
}
};
+class MetricsTest : public QWidget
+{
+ QPlainTextEdit *m_textEdit;
+
+public:
+ MetricsTest()
+ {
+ qDebug() << R"(
+MetricsTest
+Relevant environment variables are:
+QT_FONT_DPI=N
+QT_SCALE_FACTOR=n
+QT_ENABLE_HIGHDPI_SCALING=0|1
+QT_USE_PHYSICAL_DPI=0|1
+QT_SCREEN_SCALE_FACTORS=N;N;N or QT_SCREEN_SCALE_FACTORS=name:N
+QT_SCALE_FACTOR_ROUNDING_POLICY=Round|Ceil|Floor|RoundPreferFloor|PassThrough
+QT_DPI_ADJUSTMENT_POLICY=AdjustDpi|DontAdjustDpi|AdjustUpOnly)";
+
+ resize(480, 360);
+
+ QVBoxLayout *layout = new QVBoxLayout();
+ setLayout(layout);
+
+ m_textEdit = new QPlainTextEdit;
+ m_textEdit->setReadOnly(true);
+ layout->addWidget(m_textEdit);
+ }
+
+ void updateMetrics()
+ {
+ QString text;
+ QTextStream str(&text);
+
+ auto currentScreen = windowHandle()->screen();
+ const auto screens = QGuiApplication::screens();
+ for (int i = 0, size = screens.size(); i < size; ++i) {
+ auto screen = screens.at(i);
+ auto platformScreen = screen->handle();
+ str << "Screen #" << i << " \"" << screen->name() << '"';
+ if (screen == currentScreen)
+ str << " [current]";
+ if (screen == QGuiApplication::primaryScreen())
+ str << " [primary]";
+ str << "\n screen geometry: " << screen->geometry()
+ << "\n platform screen geometry: " << platformScreen->geometry()
+ << "\n platform screen logicalDpi: " << platformScreen->logicalDpi().first;
+
+#ifdef HAVE_SCREEN_BASE_DPI
+ str << "\n platform screen logicalBaseDpi: " << platformScreen->logicalBaseDpi().first;
+#endif
+ str << "\n platform screen devicePixelRatio: " <<platformScreen->devicePixelRatio()
+ << "\n platform screen physicalDpi: " << screen->physicalDotsPerInch()
+ << "\n\n";
+ }
+
+ str << "widget devicePixelRatio: " << this->devicePixelRatioF()
+ << "\nwidget logicalDpi: " << this->logicalDpiX()
+ << "\n\nQT_FONT_DPI: " << qgetenv("QT_FONT_DPI")
+ << "\nQT_SCALE_FACTOR: " << qgetenv("QT_SCALE_FACTOR")
+ << "\nQT_ENABLE_HIGHDPI_SCALING: " << qgetenv("QT_ENABLE_HIGHDPI_SCALING")
+ << "\nQT_SCREEN_SCALE_FACTORS: " << qgetenv("QT_SCREEN_SCALE_FACTORS")
+ << "\nQT_USE_PHYSICAL_DPI: " << qgetenv("QT_USE_PHYSICAL_DPI")
+ << "\nQT_SCALE_FACTOR_ROUNDING_POLICY: " << qgetenv("QT_SCALE_FACTOR_ROUNDING_POLICY")
+ << "\nQT_DPI_ADJUSTMENT_POLICY: " << qgetenv("QT_DPI_ADJUSTMENT_POLICY")
+ << '\n';
+
+ m_textEdit->setPlainText(text);
+ }
+
+ void paintEvent(QPaintEvent *ev)
+ {
+ // We get a paint event on screen change, so this is a convenient place
+ // to update the metrics, at the possible risk of doing something else
+ // than painting in a paint event.
+ updateMetrics();
+ QWidget::paintEvent(ev);
+ }
+};
+
int main(int argc, char **argv)
{
QApplication app(argc, argv);
@@ -1212,6 +1300,7 @@ int main(int argc, char **argv)
demoList << new DemoContainer<ScreenDisplayer>("screens", "Test screen and window positioning");
demoList << new DemoContainer<PhysicalSizeTest>("physicalsize", "Test manual highdpi support using physicalDotsPerInch");
demoList << new DemoContainer<GraphicsViewCaching>("graphicsview", "Test QGraphicsView caching");
+ demoList << new DemoContainer<MetricsTest>("metrics", "Show display metrics");
foreach (DemoContainerBase *demo, demoList)
parser.addOption(demo->option());
diff --git a/tests/manual/lance/main.cpp b/tests/manual/lance/main.cpp
index 7f5af2d908..6dc5e2076a 100644
--- a/tests/manual/lance/main.cpp
+++ b/tests/manual/lance/main.cpp
@@ -334,20 +334,7 @@ int main(int argc, char **argv)
checkers_background = false;
}
} else {
-#if 0 // Used to be included in Qt4 for Q_WS_WIN
- QString input = QString::fromLocal8Bit(argv[i]);
- if (input.indexOf('*') >= 0) {
- QFileInfo info(input);
- QDir dir = info.dir();
- QFileInfoList infos = dir.entryInfoList(QStringList(info.fileName()));
- for (int ii=0; ii<infos.size(); ++ii)
- files.append(infos.at(ii).absoluteFilePath());
- } else {
- files.append(input);
- }
-#else
files.append(QString(argv[i]));
-#endif
}
}
scaledWidth = int(width * scalefactor);
diff --git a/tests/manual/manual.pro b/tests/manual/manual.pro
index e688546374..42f9878e44 100644
--- a/tests/manual/manual.pro
+++ b/tests/manual/manual.pro
@@ -35,6 +35,7 @@ qsslsocket \
qsysinfo \
qtabletevent \
qtexteditlist \
+qtexttableborders \
qtbug-8933 \
qtbug-52641 \
qtouchevent \
diff --git a/tests/manual/qtexttableborders/main.cpp b/tests/manual/qtexttableborders/main.cpp
new file mode 100644
index 0000000000..a8fdf7becc
--- /dev/null
+++ b/tests/manual/qtexttableborders/main.cpp
@@ -0,0 +1,39 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "widget.h"
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ Widget w;
+ w.show();
+
+ return a.exec();
+}
diff --git a/tests/manual/qtexttableborders/qtexttableborders.pro b/tests/manual/qtexttableborders/qtexttableborders.pro
new file mode 100644
index 0000000000..7e454f978d
--- /dev/null
+++ b/tests/manual/qtexttableborders/qtexttableborders.pro
@@ -0,0 +1,10 @@
+#This project can be used to verify QTBUG-36152 case.
+QT += core gui printsupport
+CONFIG += c++11
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+TARGET = qtexttableborders
+TEMPLATE = app
+SOURCES += main.cpp widget.cpp
+HEADERS += widget.h
+FORMS += widget.ui
+RESOURCES += resources.qrc
diff --git a/tests/manual/qtexttableborders/resources.qrc b/tests/manual/qtexttableborders/resources.qrc
new file mode 100644
index 0000000000..a7000a73e3
--- /dev/null
+++ b/tests/manual/qtexttableborders/resources.qrc
@@ -0,0 +1,6 @@
+<RCC>
+ <qresource prefix="/">
+ <file>table-border-test-header.html</file>
+ <file>table-border-test.html</file>
+ </qresource>
+</RCC>
diff --git a/tests/manual/qtexttableborders/table-border-test-header.html b/tests/manual/qtexttableborders/table-border-test-header.html
new file mode 100644
index 0000000000..cb29d0a41d
--- /dev/null
+++ b/tests/manual/qtexttableborders/table-border-test-header.html
@@ -0,0 +1,129 @@
+<html>
+ <body>
+
+ <h2>Printable table with repeated header</h2>
+
+ <p>
+ Please print (to PDF, save the trees) this table and compare this to the
+ print results of Chrome/Firefox.
+ <ul>
+ <li>Firefox fails to render the first repeated header correctly
+ <li>Chrome fails to render the Cell B top edge (should be red, except the first row after header
+ <li>Qt: Could do slightly better with the last row on each page (although both Firefox and Chrome don't work perfect here as well)
+ </ul>
+ </p>
+
+ <table border=1 bordercolor="#aaaaaa" style="border-collapse:collapse">
+ <thead>
+ <tr>
+ <th style="border-bottom: 1px solid blue">Header A</th>
+ <th style="border-bottom: 4px solid blue">Header B</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ <tr><td>Cell A</td><td style="border-top: 1px solid red">Cell B</td></tr>
+ </tbody>
+ </table>
+
+ </body>
+</html>
diff --git a/tests/manual/qtexttableborders/table-border-test.html b/tests/manual/qtexttableborders/table-border-test.html
new file mode 100644
index 0000000000..0339f80d0f
--- /dev/null
+++ b/tests/manual/qtexttableborders/table-border-test.html
@@ -0,0 +1,171 @@
+<html>
+ <body>
+
+ <h1>Working Test Cases</h1>
+
+ <h2>border-collapse: separate</h2>
+
+ <h3>TC-A1: table no border</h3>
+ <table>
+ <tbody>
+ <tr>
+ <td>Cell 1A</td>
+ <td>Cell 1B</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>TC-A2: table attribute controlled border (1px, red)</h3>
+ <table border=1 bordercolor="red">
+ <tbody>
+ <tr>
+ <td>Cell 1A</td>
+ <td>Cell 1B</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>TC-A3: table attribute controlled border (4px, blue)</h3>
+ <table border=4 bordercolor="blue">
+ <tbody>
+ <tr>
+ <td>Cell 1A</td>
+ <td>Cell 1B</td>
+ </tr>
+ </tbody>
+ </table>
+ Note: Real browsers render the inner cells border with 1px, but QTextDocument's rendering has always been like this.
+
+ <h2>border-collapse: collapse</h2>
+
+ <h3>TC-B1: table no border</h3>
+ <table style="border-collapse: collapse">
+ <tbody>
+ <tr>
+ <td>Cell 1A</td>
+ <td>Cell 1B</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>TC-B2: table attribute + css controlled grid (outer border 1px)</h3>
+ <table border=1 bordercolor="red" style="border-collapse: collapse">
+ <tbody>
+ <tr>
+ <td>Cell 1A</td>
+ <td>Cell 1B</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>TC-B3: table attribute + css controlled grid (outer border 4px)</h3>
+ <table border=4 bordercolor="red" style="border-collapse: collapse">
+ <tbody>
+ <tr>
+ <td>Cell 1A</td>
+ <td>Cell 1B</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>TC-B4: table attribute + css controlled grid (one cell with custom edge)</h3>
+ <table border=4 bordercolor="red" style="border-collapse: collapse">
+ <tbody>
+ <tr>
+ <td>Cell 1A</td>
+ <td style="border-right: 8px solid green">Cell 1B (border-right: 8px solid green)</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>TC-B5: table with single decorated cell</h3>
+ <table style="border-collapse: collapse">
+ <tbody>
+ <tr>
+ <td>Cell 1A</td>
+ <td style="border: 2px solid red">Cell 1B (border: 2px solid red)</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>cells with competing rules</h3>
+
+ <h4>TC-C1: vertical edge (pink, 6px) wins over horizontal edge (red|blue, 6px)</h4>
+ <table border=1 bordercolor="#999999" style="border-collapse: collapse">
+ <tbody>
+ <tr>
+ <td style="border-right: 4px solid green; border-bottom: 6px solid red">Cell 1A</td>
+ <td style="border-left: 6px solid pink; border-bottom: 6px solid blue">Cell 2B</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h4>TC-C2: vertical edge (pink, 6px) loses over horizontal edge (red|blue, 8px)</h4>
+ <table border=1 bordercolor="#999999" style="border-collapse: collapse">
+ <tbody>
+ <tr>
+ <td style="border-right: 4px solid green; border-bottom: 8px solid red">Cell 1A</td>
+ <td style="border-left: 6px solid pink; border-bottom: 8px solid blue">Cell 2B</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h4>TC-C3: cells with span and competing rules</h4>
+ <table border=1 bordercolor="#999999" style="border-collapse: collapse">
+ <tbody>
+ <tr>
+ <td colspan=2 style="border-bottom: 4px solid red">Cell 1A/B spans over two columns (border-bottom: red)</td>
+ </tr>
+ <tr>
+ <td style="border-top: 1px solid green">Cell 2A (border-top loses -> red)</td>
+ <td style="border-top: 10px solid green">Cell 2B (border-top wins -> green)</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h1>Non-Working Test Cases</h1>
+
+ <h2>border-collapse: separate</h2>
+
+ <h3>TC-X1: table css border (red via style)</h3>
+ <table style="border: 1px solid red">
+ <tbody>
+ <tr>
+ <td>Cell 1A</td>
+ <td>Cell 1B</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h2>border-collapse: collapse</h2>
+
+ <h3>TC-X2: tr css border</h3>
+ <table border=1 style="border-collapse: collapse">
+ <tbody>
+ <tr style="border-bottom: 2px solid red">
+ <td>Cell 1A (border-bottom should be red)</td>
+ <td>Cell 1B (border-bottom should be red)</td>
+ </tr>
+ <tr style="border-left: 2px solid red">
+ <td>Cell 2A (border-left should be red)</td>
+ <td>Cell 2B</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3>TC-X3: cells with competing rules and colspan</h3>
+ <table border=1 bordercolor="#999999" style="border-collapse: collapse">
+ <tbody>
+ <tr>
+ <td colspan=2 style="border-bottom: 4px solid red; border-right: 15px solid pink">Cell 1A/B spans over two columns (border-bottom: red, border-right pink)</td>
+ </tr>
+ <tr>
+ <td style="border-top: 1px solid green">Cell 2A (border-top loses -> red)</td>
+ <td style="border-top: 10px solid green">Cell 2B (border-top wins -> green)</td>
+ </tr>
+ </tbody>
+ </table>
+ This is currently not 100% correct but admittedly a constructed corner case (and Chrome failes here, too).
+
+ </body>
+</html>
diff --git a/tests/manual/qtexttableborders/widget.cpp b/tests/manual/qtexttableborders/widget.cpp
new file mode 100644
index 0000000000..21d958ce81
--- /dev/null
+++ b/tests/manual/qtexttableborders/widget.cpp
@@ -0,0 +1,125 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "widget.h"
+#include "ui_widget.h"
+
+#include <QScrollBar>
+#include <QFile>
+#include <QDir>
+#include <QTemporaryFile>
+
+#ifndef QT_NO_DESKTOPSERVICES
+#include <QDesktopServices>
+#endif
+
+#ifndef QT_NO_PRINTER
+#include <QPrinter>
+#include <QPrintDialog>
+#include <QPrintPreviewDialog>
+#endif
+
+// This manual test allows checking the QTextTable border logic (QTBUG-36152)
+
+Widget::Widget(QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::Widget)
+{
+ ui->setupUi(this);
+ resize(1400, 800);
+
+ connect(ui->docComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &Widget::onDocumentSelected);
+ connect(ui->printButton, &QPushButton::clicked, this, &Widget::onPrint);
+ connect(ui->previewButton, &QPushButton::clicked, this, &Widget::onPreview);
+ connect(ui->openBrowserButton, &QPushButton::clicked, this, &Widget::onOpenBrowser);
+
+ connect(ui->sourceEdit, &QTextEdit::textChanged, this,
+ [this]() {
+ // make this a world class HTML IDE
+ auto pos = ui->htmlEdit->verticalScrollBar()->value();
+ ui->htmlEdit->setHtml(ui->sourceEdit->toPlainText());
+ ui->htmlEdit->verticalScrollBar()->setValue(pos);
+ });
+
+ ui->docComboBox->addItem(tr("Table Border Test"), ":/table-border-test.html");
+ ui->docComboBox->addItem(tr("Table Border Header Test"), ":/table-border-test-header.html");
+
+ ui->docComboBox->setCurrentIndex(0);
+}
+
+Widget::~Widget()
+{
+ delete ui;
+}
+
+void Widget::onDocumentSelected()
+{
+ QString url = ui->docComboBox->itemData(ui->docComboBox->currentIndex()).toString();
+ QFile f(url);
+ if (f.open(QFile::ReadOnly)) {
+ ui->sourceEdit->setPlainText(QString::fromUtf8(f.readAll()));
+ // preview HTML is set via textChanged signal
+ }
+}
+
+void Widget::onPrint()
+{
+#ifndef QT_NO_PRINTER
+ QPrinter printer(QPrinter::HighResolution);
+ QPrintDialog dlg(&printer, this);
+ if (ui->htmlEdit->textCursor().hasSelection())
+ dlg.addEnabledOption(QAbstractPrintDialog::PrintSelection);
+ dlg.setWindowTitle(tr("Print Document"));
+ if (dlg.exec() == QDialog::Accepted) {
+ ui->htmlEdit->print(&printer);
+ }
+#endif
+}
+
+void Widget::onPreview()
+{
+#ifndef QT_NO_PRINTER
+ QPrinter printer(QPrinter::HighResolution);
+ QPrintPreviewDialog preview(&printer, this);
+ connect(&preview, &QPrintPreviewDialog::paintRequested, ui->htmlEdit, &QTextEdit::print);
+ preview.exec();
+#endif
+}
+
+void Widget::onOpenBrowser()
+{
+ // write the current html to a temp file and open the system browser
+#ifndef QT_NO_DESKTOPSERVICES
+ auto tf = new QTemporaryFile(QDir::tempPath() + "/XXXXXX.html", this);
+ if (tf->open()) {
+ tf->write(ui->sourceEdit->toPlainText().toUtf8());
+ tf->close();
+ QDesktopServices::openUrl(QUrl::fromLocalFile(tf->fileName()));
+ }
+#endif
+}
diff --git a/tests/manual/qtexttableborders/widget.h b/tests/manual/qtexttableborders/widget.h
new file mode 100644
index 0000000000..9cf459e1cd
--- /dev/null
+++ b/tests/manual/qtexttableborders/widget.h
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef WIDGET_H
+#define WIDGET_H
+
+#include <QWidget>
+
+namespace Ui {
+class Widget;
+}
+
+class Widget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit Widget(QWidget *parent = nullptr);
+ ~Widget();
+
+private slots:
+ void onDocumentSelected();
+ void onPrint();
+ void onPreview();
+ void onOpenBrowser();
+
+private:
+ Ui::Widget *ui;
+};
+
+#endif // WIDGET_H
diff --git a/tests/manual/qtexttableborders/widget.ui b/tests/manual/qtexttableborders/widget.ui
new file mode 100644
index 0000000000..95c23be69e
--- /dev/null
+++ b/tests/manual/qtexttableborders/widget.ui
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Widget</class>
+ <widget class="QWidget" name="Widget">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>606</width>
+ <height>522</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>QTextTable Border Manual Test</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QComboBox" name="docComboBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="printButton">
+ <property name="text">
+ <string>Print</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="previewButton">
+ <property name="text">
+ <string>Preview</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="openBrowserButton">
+ <property name="text">
+ <string>Open Browser</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QSplitter" name="splitter">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="QTextEdit" name="htmlEdit"/>
+ <widget class="QTextEdit" name="sourceEdit"/>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <tabstops>
+ <tabstop>docComboBox</tabstop>
+ <tabstop>printButton</tabstop>
+ <tabstop>previewButton</tabstop>
+ <tabstop>openBrowserButton</tabstop>
+ <tabstop>htmlEdit</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/manual/rhi/shared/examplefw.h b/tests/manual/rhi/shared/examplefw.h
index 450aa172c2..1a29ef5f7e 100644
--- a/tests/manual/rhi/shared/examplefw.h
+++ b/tests/manual/rhi/shared/examplefw.h
@@ -124,6 +124,7 @@ QString graphicsApiName()
QRhi::Flags rhiFlags = QRhi::EnableDebugMarkers;
int sampleCount = 1;
QRhiSwapChain::Flags scFlags = 0;
+QRhi::BeginFrameFlags beginFrameFlags = 0;
QRhi::EndFrameFlags endFrameFlags = 0;
class Window : public QWindow
@@ -375,7 +376,7 @@ void Window::render()
// GPU/present, and that's what throttles the thread to the refresh rate.
// (except for OpenGL where it happens either in endFrame or somewhere else
// depending on the GL implementation)
- QRhi::FrameOpResult r = m_r->beginFrame(m_sc);
+ QRhi::FrameOpResult r = m_r->beginFrame(m_sc, beginFrameFlags);
if (r == QRhi::FrameOpSwapChainOutOfDate) {
resizeSwapChain();
if (!m_hasSwapChain)
diff --git a/tests/manual/rhi/triquadcube/triquadcube.cpp b/tests/manual/rhi/triquadcube/triquadcube.cpp
index 4165e96127..76dbe558ab 100644
--- a/tests/manual/rhi/triquadcube/triquadcube.cpp
+++ b/tests/manual/rhi/triquadcube/triquadcube.cpp
@@ -71,6 +71,7 @@
//#define READBACK_SWAPCHAIN
//#define NO_VSYNC
//#define USE_MIN_SWAPCHAIN_BUFFERS
+//#define DECLARE_EXT_CONTENTS
struct {
TriangleRenderer triRenderer;
@@ -118,6 +119,10 @@ void preInit()
scFlags |= QRhiSwapChain::MinimalBufferCount;
#endif
+#ifdef DECLARE_EXT_CONTENTS
+ beginFrameFlags |= QRhi::ExternalContentsInPass;
+#endif
+
// For OpenGL some of these are incorporated into the QSurfaceFormat by
// examplefw.h after returning from here as that is out of the RHI's control.
}
diff --git a/tests/manual/textrendering/glyphshaping/main.cpp b/tests/manual/textrendering/glyphshaping/main.cpp
index c3acda953d..c1e49b3b7e 100644
--- a/tests/manual/textrendering/glyphshaping/main.cpp
+++ b/tests/manual/textrendering/glyphshaping/main.cpp
@@ -160,8 +160,6 @@ bool dumpHtml(const QString &pathName)
QString platformName = QString::fromLatin1(
#if defined(Q_OS_WIN)
"Win32"
-#elif 0 // Used to be included in Qt4 for Q_WS_X11
- "X11"
#else
""
#endif
diff --git a/util/locale_database/cldr2qlocalexml.py b/util/locale_database/cldr2qlocalexml.py
index 1982e3ba27..072ea9e4ed 100755
--- a/util/locale_database/cldr2qlocalexml.py
+++ b/util/locale_database/cldr2qlocalexml.py
@@ -1,7 +1,8 @@
#!/usr/bin/env python2
+# coding=utf8
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2018 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of the test suite of the Qt Toolkit.
@@ -62,6 +63,8 @@ from xpathlite import DraftResolution, findAlias, findEntry, findTagsInFile
from dateconverter import convert_date
from localexml import Locale
+# TODO: make calendars a command-line option
+calendars = ['gregorian', 'persian', 'islamic'] # 'hebrew'
findEntryInFile = xpathlite._findEntryInFile
def wrappedwarn(prefix, tokens):
return sys.stderr.write(
@@ -395,12 +398,12 @@ def _generateLocaleInfo(path, language_code, script_code, country_code, variant_
('narrow', 'format', 'narrow'),
)
- # Month data:
- for cal in ('gregorian',): # We shall want to add to this
+ # Month names for 12-month calendars:
+ for cal in calendars:
stem = 'dates/calendars/calendar[' + cal + ']/months/'
for (key, mode, size) in namings:
prop = 'monthContext[' + mode + ']/monthWidth[' + size + ']/'
- result[key + 'Months'] = ';'.join(
+ result[key + 'Months_' + cal] = ';'.join(
findEntry(path, stem + prop + "month[%d]" % i)
for i in range(1, 13)) + ';'
@@ -686,9 +689,9 @@ if skips:
wrappedwarn('skipping likelySubtags (for unknown language codes): ', skips)
print " <localeList>"
-Locale.C().toXml()
+Locale.C(calendars).toXml(calendars)
for key in locale_keys:
- locale_database[key].toXml()
+ locale_database[key].toXml(calendars)
print " </localeList>"
print "</localeDatabase>"
diff --git a/util/locale_database/localexml.py b/util/locale_database/localexml.py
index e95b3aebcc..9b353f5122 100644
--- a/util/locale_database/localexml.py
+++ b/util/locale_database/localexml.py
@@ -1,6 +1,7 @@
+# coding=utf8
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2018 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of the test suite of the Qt Toolkit.
@@ -113,12 +114,11 @@ def convertFormat(format):
return result
class Locale:
- # Tool used during class body (see del below), not method:
- def propsMonthDay(lengths=('long', 'short', 'narrow'), scale=('months', 'days')):
+ @staticmethod
+ def propsMonthDay(scale, lengths=('long', 'short', 'narrow')):
for L in lengths:
- for S in scale:
- yield camelCase((L, S))
- yield camelCase(('standalone', L, S))
+ yield camelCase((L, scale))
+ yield camelCase(('standalone', L, scale))
# Expected to be numbers, read with int():
__asint = ("decimal", "group", "zero",
@@ -137,15 +137,13 @@ class Locale:
"listPatternPartEnd", "listPatternPartTwo", "am", "pm",
'byte_unit', 'byte_si_quantified', 'byte_iec_quantified',
"currencyIsoCode", "currencySymbol", "currencyDisplayName",
- "currencyFormat", "currencyNegativeFormat"
- ) + tuple(propsMonthDay())
- del propsMonthDay
+ "currencyFormat", "currencyNegativeFormat")
# Day-of-Week numbering used by Qt:
__qDoW = {"mon": 1, "tue": 2, "wed": 3, "thu": 4, "fri": 5, "sat": 6, "sun": 7}
@classmethod
- def fromXmlData(cls, lookup):
+ def fromXmlData(cls, lookup, calendars=('gregorian',)):
"""Constructor from the contents of XML elements.
Single parameter, lookup, is called with the names of XML
@@ -170,12 +168,15 @@ class Locale:
for k in cls.__asfmt:
data[k] = convertFormat(lookup(k))
- for k in cls.__astxt:
+ for k in cls.__astxt + tuple(cls.propsMonthDay('days')):
data[k] = lookup(k)
+ for k in cls.propsMonthDay('months'):
+ data[k] = dict((cal, lookup('_'.join((k, cal)))) for cal in calendars)
+
return cls(data)
- def toXml(self, indent=' ', tab=' '):
+ def toXml(self, calendars=('gregorian',), indent=' ', tab=' '):
print indent + '<locale>'
inner = indent + tab
get = lambda k: getattr(self, k)
@@ -199,13 +200,14 @@ class Locale:
'weekendStart', 'weekendEnd',
'longDateFormat', 'shortDateFormat',
'longTimeFormat', 'shortTimeFormat',
- 'standaloneLongMonths', 'standaloneShortMonths',
- 'standaloneNarrowMonths',
- 'longMonths', 'shortMonths', 'narrowMonths',
'longDays', 'shortDays', 'narrowDays',
'standaloneLongDays', 'standaloneShortDays', 'standaloneNarrowDays',
'currencyIsoCode', 'currencySymbol', 'currencyDisplayName',
- 'currencyFormat', 'currencyNegativeFormat'):
+ 'currencyFormat', 'currencyNegativeFormat'
+ ) + tuple(self.propsMonthDay('days')) + tuple(
+ '_'.join((k, cal))
+ for k in self.propsMonthDay('months')
+ for cal in calendars):
ent = camelCase(key.split('_')) if key.endswith('_endonym') else key
print inner + "<%s>%s</%s>" % (ent, escape(get(key)).encode('utf-8'), ent)
@@ -218,16 +220,70 @@ class Locale:
if data: self.__dict__.update(data)
if kw: self.__dict__.update(kw)
+ # Tools used by __monthNames:
+ def fullName(i, name): return name
+ def firstThree(i, name): return name[:3]
+ def initial(i, name): return name[:1]
+ def number(i, name): return str(i + 1)
+ def islamicShort(i, name):
+ if not name: return name
+ if name == 'Shawwal': return 'Shaw.'
+ words = name.split()
+ if words[0].startswith('Dhu'):
+ words[0] = words[0][:7] + '.'
+ elif len(words[0]) > 3:
+ words[0] = words[0][:3] + '.'
+ return ' '.join(words)
+ @staticmethod
+ def __monthNames(calendars,
+ known={ # Map calendar to (names, extractors...):
+ 'gregorian': (('January', 'February', 'March', 'April', 'May', 'June', 'July',
+ 'August', 'September', 'October', 'November', 'December'),
+ # Extractor pairs, (plain, standalone)
+ (fullName, fullName), # long
+ (firstThree, firstThree), # short
+ (number, initial)), # narrow
+ 'persian': (('Farvardin', 'Ordibehesht', 'Khordad', 'Tir', 'Mordad',
+ 'Shahrivar', 'Mehr', 'Aban', 'Azar', 'Dey', 'Bahman', 'Esfand'),
+ (fullName, fullName),
+ (firstThree, firstThree),
+ (number, initial)),
+ 'islamic': ((u'Muharram', u'Safar', u'Rabiʻ I', u'Rabiʻ II', u'Jumada I',
+ u'Jumada II', u'Rajab', u'Shaʻban', u'Ramadan', u'Shawwal',
+ u'Dhuʻl-Qiʻdah', u'Dhuʻl-Hijjah'),
+ (fullName, fullName),
+ (islamicShort, islamicShort),
+ (number, number)),
+ 'hebrew': (('Tishri', 'Heshvan', 'Kislev', 'Tevet', 'Shevat', 'Adar I',
+ 'Adar', 'Nisan', 'Iyar', 'Sivan', 'Tamuz', 'Av'),
+ (fullName, fullName),
+ (fullName, fullName),
+ (number, number)),
+ },
+ sizes=('long', 'short', 'narrow')):
+ for cal in calendars:
+ try:
+ data = known[cal]
+ except KeyError: # Need to add an entry to known, above.
+ print 'Unsupported calendar:', cal
+ raise
+ names, get = data[0] + ('',), data[1:]
+ for n, size in enumerate(sizes):
+ yield ('_'.join((camelCase((size, 'months')), cal)),
+ ';'.join(get[n][0](i, x) for i, x in enumerate(names)))
+ yield ('_'.join((camelCase(('standalone', size, 'months')), cal)),
+ ';'.join(get[n][1](i, x) for i, x in enumerate(names)))
+ del fullName, firstThree, initial, number, islamicShort
+
@classmethod
- def C(cls,
- # Empty entries at end to ensure final separator when join()ed:
- months = ('January', 'February', 'March', 'April', 'May', 'June', 'July',
- 'August', 'September', 'October', 'November', 'December', ''),
+ def C(cls, calendars=('gregorian',),
+ # Empty entry at end to ensure final separator when join()ed:
days = ('Sunday', 'Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday', 'Saturday', ''),
quantifiers=('k', 'M', 'G', 'T', 'P', 'E')):
"""Returns an object representing the C locale."""
- return cls(language='C', language_code='0', language_endonym='',
+ return cls(dict(cls.__monthNames(calendars)),
+ language='C', language_code='0', language_endonym='',
script='AnyScript', script_code='0',
country='AnyCountry', country_code='0', country_endonym='',
decimal='.', group=',', list=';', percent='%',
@@ -245,12 +301,6 @@ class Locale:
weekendStart='sat', weekendEnd='sun',
longDateFormat='EEEE, d MMMM yyyy', shortDateFormat='d MMM yyyy',
longTimeFormat='HH:mm:ss z', shortTimeFormat='HH:mm:ss',
- longMonths=';'.join(months),
- shortMonths=';'.join(m[:3] for m in months),
- narrowMonths='1;2;3;4;5;6;7;8;9;10;11;12;',
- standaloneLongMonths=';'.join(months),
- standaloneShortMonths=';'.join(m[:3] for m in months),
- standaloneNarrowMonths=';'.join(m[:1] for m in months),
longDays=';'.join(days),
shortDays=';'.join(d[:3] for d in days),
narrowDays='7;1;2;3;4;5;6;',
diff --git a/util/locale_database/qlocalexml2cpp.py b/util/locale_database/qlocalexml2cpp.py
index ea89288b4f..a5ff7ebbf4 100755
--- a/util/locale_database/qlocalexml2cpp.py
+++ b/util/locale_database/qlocalexml2cpp.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python2
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2018 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of the test suite of the Qt Toolkit.
@@ -42,6 +42,24 @@ from enumdata import language_aliases, country_aliases, script_aliases
from localexml import Locale
+# TODO: Make calendars a command-line parameter
+# map { CLDR name: Qt file name }
+calendars = {'gregorian': 'roman', 'persian': 'jalali', 'islamic': 'hijri',} # 'hebrew': 'hebrew',
+
+generated_template = """
+/*
+ This part of the file was generated on %s from the
+ Common Locale Data Repository v%s
+
+ http://www.unicode.org/cldr/
+
+ Do not edit this section: instead regenerate it using
+ cldr2qlocalexml.py and qlocalexml2cpp.py on updated (or
+ edited) CLDR data; see qtbase/util/locale_database/.
+*/
+
+"""
+
class Error:
def __init__(self, msg):
self.msg = msg
@@ -151,7 +169,7 @@ def loadLocaleMap(doc, language_map, script_map, country_map, likely_subtags_map
result = {}
for locale_elt in eachEltInGroup(doc.documentElement, "localeList", "locale"):
- locale = Locale.fromXmlData(lambda k: firstChildText(locale_elt, k))
+ locale = Locale.fromXmlData(lambda k: firstChildText(locale_elt, k), calendars.keys())
language_id = languageNameToId(locale.language, language_map)
if language_id == -1:
sys.stderr.write("Cannot find a language id for '%s'\n" % locale.language)
@@ -254,6 +272,7 @@ class StringData:
self.data = []
self.hash = {}
self.name = name
+
def append(self, s):
if s in self.hash:
return self.hash[s]
@@ -279,6 +298,11 @@ class StringData:
self.data += lst
return token
+ def write(self, fd):
+ fd.write("\nstatic const ushort %s[] = {\n" % self.name)
+ fd.write(wrap_list(self.data))
+ fd.write("\n};\n")
+
def escapedString(s):
result = ""
i = 0
@@ -360,20 +384,7 @@ def main():
dupes = findDupes(language_map, country_map)
cldr_version = firstChildText(doc.documentElement, "version")
-
- data_temp_file.write("""
-/*
- This part of the file was generated on %s from the
- Common Locale Data Repository v%s
-
- http://www.unicode.org/cldr/
-
- Do not edit this section: instead regenerate it using
- cldr2qlocalexml.py and qlocalexml2cpp.py on updated (or
- edited) CLDR data; see qtbase/util/locale_database/.
-*/
-
-""" % (str(datetime.date.today()), cldr_version) )
+ data_temp_file.write(generated_template % (datetime.date.today(), cldr_version))
# Likely subtags map
data_temp_file.write("static const QLocaleId likely_subtags[] = {\n")
@@ -442,7 +453,6 @@ def main():
list_pattern_part_data = StringData('list_pattern_part_data')
date_format_data = StringData('date_format_data')
time_format_data = StringData('time_format_data')
- months_data = StringData('months_data')
days_data = StringData('days_data')
am_data = StringData('am_data')
pm_data = StringData('pm_data')
@@ -482,12 +492,6 @@ def main():
+ ' lDtFmt '
+ ' sTmFmt ' # Time format
+ ' lTmFmt '
- + ' ssMonth ' # Months
- + ' slMonth '
- + ' snMonth '
- + ' sMonth '
- + ' lMonth '
- + ' nMonth '
+ ' ssDays ' # Days
+ ' slDays '
+ ' snDays '
@@ -532,7 +536,7 @@ def main():
# Quotation marks:
+ '%8d,' * 4
# List patterns, date/time formats, month/day names, am/pm:
- + '%11s,' * 22
+ + '%11s,' * 16
# SI/IEC byte-unit abbreviations:
+ '%8s,' * 3
# Currency ISO code:
@@ -568,12 +572,6 @@ def main():
date_format_data.append(l.longDateFormat),
time_format_data.append(l.shortTimeFormat),
time_format_data.append(l.longTimeFormat),
- months_data.append(l.standaloneShortMonths),
- months_data.append(l.standaloneLongMonths),
- months_data.append(l.standaloneNarrowMonths),
- months_data.append(l.shortMonths),
- months_data.append(l.longMonths),
- months_data.append(l.narrowMonths),
days_data.append(l.standaloneShortDays),
days_data.append(l.standaloneLongDays),
days_data.append(l.standaloneNarrowDays),
@@ -599,7 +597,7 @@ def main():
l.weekendEnd)
+ ", // %s/%s/%s\n" % (l.language, l.script, l.country))
data_temp_file.write(line_format # All zeros, matching the format:
- % ( (0,) * (3 + 8 + 4) + ("0,0",) * (22 + 3)
+ % ( (0,) * (3 + 8 + 4) + ("0,0",) * (16 + 3)
+ (currencyIsoCodeData(0),)
+ ("0,0",) * 6 + (0,) * (2 + 3))
+ " // trailing 0s\n")
@@ -607,13 +605,11 @@ def main():
# StringData tables:
for data in (list_pattern_part_data, date_format_data,
- time_format_data, months_data, days_data,
+ time_format_data, days_data,
byte_unit_data, am_data, pm_data, currency_symbol_data,
currency_display_name_data, currency_format_data,
endonyms_data):
- data_temp_file.write("\nstatic const ushort %s[] = {\n" % data.name)
- data_temp_file.write(wrap_list(data.data))
- data_temp_file.write("\n};\n")
+ data.write(data_temp_file)
data_temp_file.write("\n")
@@ -738,6 +734,62 @@ def main():
os.remove(qtsrcdir + "/src/corelib/text/qlocale_data_p.h")
os.rename(data_temp_file_path, qtsrcdir + "/src/corelib/text/qlocale_data_p.h")
+ # Generate calendar data
+ calendar_format = ' {%6d,%6d,%6d,{%5s},{%5s},{%5s},{%5s},{%5s},{%5s}}, '
+ for calendar, stem in calendars.items():
+ months_data = StringData('months_data')
+ calendar_data_file = "q%scalendar_data_p.h" % stem
+ calendar_template_file = open(os.path.join(qtsrcdir, 'src', 'corelib', 'time',
+ calendar_data_file), "r")
+ (calendar_temp_file, calendar_temp_file_path) = tempfile.mkstemp(calendar_data_file, dir=qtsrcdir)
+ calendar_temp_file = os.fdopen(calendar_temp_file, "w")
+ s = calendar_template_file.readline()
+ while s and s != GENERATED_BLOCK_START:
+ calendar_temp_file.write(s)
+ s = calendar_template_file.readline()
+ calendar_temp_file.write(GENERATED_BLOCK_START)
+ calendar_temp_file.write(generated_template % (datetime.date.today(), cldr_version))
+ calendar_temp_file.write("static const QCalendarLocale locale_data[] = {\n")
+ calendar_temp_file.write(' // '
+ # IDs, width 7 (6 + comma)
+ + ' lang '
+ + ' script'
+ + ' terr '
+ # Month-name start-end pairs, width 8 (5 plus '{},'):
+ + ' sShort '
+ + ' sLong '
+ + ' sNarrow'
+ + ' short '
+ + ' long '
+ + ' narrow'
+ # No trailing space on last; be sure
+ # to pad before adding later entries.
+ + '\n')
+ for key in locale_keys:
+ l = locale_map[key]
+ calendar_temp_file.write(
+ calendar_format
+ % (key[0], key[1], key[2],
+ months_data.append(l.standaloneShortMonths[calendar]),
+ months_data.append(l.standaloneLongMonths[calendar]),
+ months_data.append(l.standaloneNarrowMonths[calendar]),
+ months_data.append(l.shortMonths[calendar]),
+ months_data.append(l.longMonths[calendar]),
+ months_data.append(l.narrowMonths[calendar]))
+ + "// %s/%s/%s\n " % (l.language, l.script, l.country))
+ calendar_temp_file.write(calendar_format % ( (0,) * 3 + ('0,0',) * 6 )
+ + '// trailing zeros\n')
+ calendar_temp_file.write("};\n")
+ months_data.write(calendar_temp_file)
+ s = calendar_template_file.readline()
+ while s and s != GENERATED_BLOCK_END:
+ s = calendar_template_file.readline()
+ while s:
+ calendar_temp_file.write(s)
+ s = calendar_template_file.readline()
+ os.rename(calendar_temp_file_path,
+ os.path.join(qtsrcdir, 'src', 'corelib', 'time', calendar_data_file))
+
# qlocale.h
(qlocaleh_temp_file, qlocaleh_temp_file_path) = tempfile.mkstemp("qlocale.h", dir=qtsrcdir)