xref: /freebsd/contrib/llvm-project/libcxx/include/__format/escaped_output_table.h (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
9 
10 // WARNING, this entire header is generated by
11 // utils/generate_escaped_output_table.py
12 // DO NOT MODIFY!
13 
14 // UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
15 //
16 // See Terms of Use <https://www.unicode.org/copyright.html>
17 // for definitions of Unicode Inc.'s Data Files and Software.
18 //
19 // NOTICE TO USER: Carefully read the following legal agreement.
20 // BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
21 // DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
22 // YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
23 // TERMS AND CONDITIONS OF THIS AGREEMENT.
24 // IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
25 // THE DATA FILES OR SOFTWARE.
26 //
27 // COPYRIGHT AND PERMISSION NOTICE
28 //
29 // Copyright (c) 1991-2022 Unicode, Inc. All rights reserved.
30 // Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
31 //
32 // Permission is hereby granted, free of charge, to any person obtaining
33 // a copy of the Unicode data files and any associated documentation
34 // (the "Data Files") or Unicode software and any associated documentation
35 // (the "Software") to deal in the Data Files or Software
36 // without restriction, including without limitation the rights to use,
37 // copy, modify, merge, publish, distribute, and/or sell copies of
38 // the Data Files or Software, and to permit persons to whom the Data Files
39 // or Software are furnished to do so, provided that either
40 // (a) this copyright and permission notice appear with all copies
41 // of the Data Files or Software, or
42 // (b) this copyright and permission notice appear in associated
43 // Documentation.
44 //
45 // THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
46 // ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
47 // WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
48 // NONINFRINGEMENT OF THIRD PARTY RIGHTS.
49 // IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
50 // NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
51 // DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
52 // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
53 // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
54 // PERFORMANCE OF THE DATA FILES OR SOFTWARE.
55 //
56 // Except as contained in this notice, the name of a copyright holder
57 // shall not be used in advertising or otherwise to promote the sale,
58 // use or other dealings in these Data Files or Software without prior
59 // written authorization of the copyright holder.
60 
61 #ifndef _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H
62 #define _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H
63 
64 #include <__algorithm/ranges_upper_bound.h>
65 #include <__config>
66 #include <cstddef>
67 #include <cstdint>
68 
69 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
70 #  pragma GCC system_header
71 #endif
72 
73 _LIBCPP_BEGIN_NAMESPACE_STD
74 
75 #if _LIBCPP_STD_VER >= 23
76 
77 namespace __escaped_output_table {
78 // clang-format off
79 
80 /// The entries of the characters to escape in format's debug string.
81 ///
82 /// Contains the entries for [format.string.escaped]/2.2.1.2.1
83 ///   CE is a Unicode encoding and C corresponds to a UCS scalar value whose
84 ///   Unicode property General_Category has a value in the groups Separator (Z)
85 ///   or Other (C), as described by table 12 of UAX #44
86 ///
87 /// Separator (Z) consists of General_Category
88 /// - Space_Separator,
89 /// - Line_Separator,
90 /// - Paragraph_Separator.
91 ///
92 /// Other (C) consists of General_Category
93 /// - Control,
94 /// - Format,
95 /// - Surrogate,
96 /// - Private_Use,
97 /// - Unassigned.
98 ///
99 /// The data is generated from
100 /// - https://www.unicode.org/Public/UCD/latest/ucd/extracted/DerivedGeneralCategory.txt
101 ///
102 /// The table is similar to the table
103 ///  __extended_grapheme_custer_property_boundary::__entries
104 /// which explains the details of these classes. The only difference is this
105 /// table lacks a property, thus having more bits available for the size.
106 ///
107 /// The data has 2 values:
108 /// - bits [0, 13] The size of the range, allowing 16384 elements.
109 /// - bits [14, 31] The lower bound code point of the range. The upper bound of
110 ///   the range is lower bound + size. Note the code expects code units the fit
111 ///   into 18 bits, instead of the 21 bits needed for the full Unicode range.
112 _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
113     0x00000020 /* 00000000 - 00000020 [   33] */,
114     0x001fc021 /* 0000007f - 000000a0 [   34] */,
115     0x002b4000 /* 000000ad - 000000ad [    1] */,
116     0x00de0001 /* 00000378 - 00000379 [    2] */,
117     0x00e00003 /* 00000380 - 00000383 [    4] */,
118     0x00e2c000 /* 0000038b - 0000038b [    1] */,
119     0x00e34000 /* 0000038d - 0000038d [    1] */,
120     0x00e88000 /* 000003a2 - 000003a2 [    1] */,
121     0x014c0000 /* 00000530 - 00000530 [    1] */,
122     0x0155c001 /* 00000557 - 00000558 [    2] */,
123     0x0162c001 /* 0000058b - 0000058c [    2] */,
124     0x01640000 /* 00000590 - 00000590 [    1] */,
125     0x01720007 /* 000005c8 - 000005cf [    8] */,
126     0x017ac003 /* 000005eb - 000005ee [    4] */,
127     0x017d4010 /* 000005f5 - 00000605 [   17] */,
128     0x01870000 /* 0000061c - 0000061c [    1] */,
129     0x01b74000 /* 000006dd - 000006dd [    1] */,
130     0x01c38001 /* 0000070e - 0000070f [    2] */,
131     0x01d2c001 /* 0000074b - 0000074c [    2] */,
132     0x01ec800d /* 000007b2 - 000007bf [   14] */,
133     0x01fec001 /* 000007fb - 000007fc [    2] */,
134     0x020b8001 /* 0000082e - 0000082f [    2] */,
135     0x020fc000 /* 0000083f - 0000083f [    1] */,
136     0x02170001 /* 0000085c - 0000085d [    2] */,
137     0x0217c000 /* 0000085f - 0000085f [    1] */,
138     0x021ac004 /* 0000086b - 0000086f [    5] */,
139     0x0223c008 /* 0000088f - 00000897 [    9] */,
140     0x02388000 /* 000008e2 - 000008e2 [    1] */,
141     0x02610000 /* 00000984 - 00000984 [    1] */,
142     0x02634001 /* 0000098d - 0000098e [    2] */,
143     0x02644001 /* 00000991 - 00000992 [    2] */,
144     0x026a4000 /* 000009a9 - 000009a9 [    1] */,
145     0x026c4000 /* 000009b1 - 000009b1 [    1] */,
146     0x026cc002 /* 000009b3 - 000009b5 [    3] */,
147     0x026e8001 /* 000009ba - 000009bb [    2] */,
148     0x02714001 /* 000009c5 - 000009c6 [    2] */,
149     0x02724001 /* 000009c9 - 000009ca [    2] */,
150     0x0273c007 /* 000009cf - 000009d6 [    8] */,
151     0x02760003 /* 000009d8 - 000009db [    4] */,
152     0x02778000 /* 000009de - 000009de [    1] */,
153     0x02790001 /* 000009e4 - 000009e5 [    2] */,
154     0x027fc001 /* 000009ff - 00000a00 [    2] */,
155     0x02810000 /* 00000a04 - 00000a04 [    1] */,
156     0x0282c003 /* 00000a0b - 00000a0e [    4] */,
157     0x02844001 /* 00000a11 - 00000a12 [    2] */,
158     0x028a4000 /* 00000a29 - 00000a29 [    1] */,
159     0x028c4000 /* 00000a31 - 00000a31 [    1] */,
160     0x028d0000 /* 00000a34 - 00000a34 [    1] */,
161     0x028dc000 /* 00000a37 - 00000a37 [    1] */,
162     0x028e8001 /* 00000a3a - 00000a3b [    2] */,
163     0x028f4000 /* 00000a3d - 00000a3d [    1] */,
164     0x0290c003 /* 00000a43 - 00000a46 [    4] */,
165     0x02924001 /* 00000a49 - 00000a4a [    2] */,
166     0x02938002 /* 00000a4e - 00000a50 [    3] */,
167     0x02948006 /* 00000a52 - 00000a58 [    7] */,
168     0x02974000 /* 00000a5d - 00000a5d [    1] */,
169     0x0297c006 /* 00000a5f - 00000a65 [    7] */,
170     0x029dc009 /* 00000a77 - 00000a80 [   10] */,
171     0x02a10000 /* 00000a84 - 00000a84 [    1] */,
172     0x02a38000 /* 00000a8e - 00000a8e [    1] */,
173     0x02a48000 /* 00000a92 - 00000a92 [    1] */,
174     0x02aa4000 /* 00000aa9 - 00000aa9 [    1] */,
175     0x02ac4000 /* 00000ab1 - 00000ab1 [    1] */,
176     0x02ad0000 /* 00000ab4 - 00000ab4 [    1] */,
177     0x02ae8001 /* 00000aba - 00000abb [    2] */,
178     0x02b18000 /* 00000ac6 - 00000ac6 [    1] */,
179     0x02b28000 /* 00000aca - 00000aca [    1] */,
180     0x02b38001 /* 00000ace - 00000acf [    2] */,
181     0x02b4400e /* 00000ad1 - 00000adf [   15] */,
182     0x02b90001 /* 00000ae4 - 00000ae5 [    2] */,
183     0x02bc8006 /* 00000af2 - 00000af8 [    7] */,
184     0x02c00000 /* 00000b00 - 00000b00 [    1] */,
185     0x02c10000 /* 00000b04 - 00000b04 [    1] */,
186     0x02c34001 /* 00000b0d - 00000b0e [    2] */,
187     0x02c44001 /* 00000b11 - 00000b12 [    2] */,
188     0x02ca4000 /* 00000b29 - 00000b29 [    1] */,
189     0x02cc4000 /* 00000b31 - 00000b31 [    1] */,
190     0x02cd0000 /* 00000b34 - 00000b34 [    1] */,
191     0x02ce8001 /* 00000b3a - 00000b3b [    2] */,
192     0x02d14001 /* 00000b45 - 00000b46 [    2] */,
193     0x02d24001 /* 00000b49 - 00000b4a [    2] */,
194     0x02d38006 /* 00000b4e - 00000b54 [    7] */,
195     0x02d60003 /* 00000b58 - 00000b5b [    4] */,
196     0x02d78000 /* 00000b5e - 00000b5e [    1] */,
197     0x02d90001 /* 00000b64 - 00000b65 [    2] */,
198     0x02de0009 /* 00000b78 - 00000b81 [   10] */,
199     0x02e10000 /* 00000b84 - 00000b84 [    1] */,
200     0x02e2c002 /* 00000b8b - 00000b8d [    3] */,
201     0x02e44000 /* 00000b91 - 00000b91 [    1] */,
202     0x02e58002 /* 00000b96 - 00000b98 [    3] */,
203     0x02e6c000 /* 00000b9b - 00000b9b [    1] */,
204     0x02e74000 /* 00000b9d - 00000b9d [    1] */,
205     0x02e80002 /* 00000ba0 - 00000ba2 [    3] */,
206     0x02e94002 /* 00000ba5 - 00000ba7 [    3] */,
207     0x02eac002 /* 00000bab - 00000bad [    3] */,
208     0x02ee8003 /* 00000bba - 00000bbd [    4] */,
209     0x02f0c002 /* 00000bc3 - 00000bc5 [    3] */,
210     0x02f24000 /* 00000bc9 - 00000bc9 [    1] */,
211     0x02f38001 /* 00000bce - 00000bcf [    2] */,
212     0x02f44005 /* 00000bd1 - 00000bd6 [    6] */,
213     0x02f6000d /* 00000bd8 - 00000be5 [   14] */,
214     0x02fec004 /* 00000bfb - 00000bff [    5] */,
215     0x03034000 /* 00000c0d - 00000c0d [    1] */,
216     0x03044000 /* 00000c11 - 00000c11 [    1] */,
217     0x030a4000 /* 00000c29 - 00000c29 [    1] */,
218     0x030e8001 /* 00000c3a - 00000c3b [    2] */,
219     0x03114000 /* 00000c45 - 00000c45 [    1] */,
220     0x03124000 /* 00000c49 - 00000c49 [    1] */,
221     0x03138006 /* 00000c4e - 00000c54 [    7] */,
222     0x0315c000 /* 00000c57 - 00000c57 [    1] */,
223     0x0316c001 /* 00000c5b - 00000c5c [    2] */,
224     0x03178001 /* 00000c5e - 00000c5f [    2] */,
225     0x03190001 /* 00000c64 - 00000c65 [    2] */,
226     0x031c0006 /* 00000c70 - 00000c76 [    7] */,
227     0x03234000 /* 00000c8d - 00000c8d [    1] */,
228     0x03244000 /* 00000c91 - 00000c91 [    1] */,
229     0x032a4000 /* 00000ca9 - 00000ca9 [    1] */,
230     0x032d0000 /* 00000cb4 - 00000cb4 [    1] */,
231     0x032e8001 /* 00000cba - 00000cbb [    2] */,
232     0x03314000 /* 00000cc5 - 00000cc5 [    1] */,
233     0x03324000 /* 00000cc9 - 00000cc9 [    1] */,
234     0x03338006 /* 00000cce - 00000cd4 [    7] */,
235     0x0335c005 /* 00000cd7 - 00000cdc [    6] */,
236     0x0337c000 /* 00000cdf - 00000cdf [    1] */,
237     0x03390001 /* 00000ce4 - 00000ce5 [    2] */,
238     0x033c0000 /* 00000cf0 - 00000cf0 [    1] */,
239     0x033d000b /* 00000cf4 - 00000cff [   12] */,
240     0x03434000 /* 00000d0d - 00000d0d [    1] */,
241     0x03444000 /* 00000d11 - 00000d11 [    1] */,
242     0x03514000 /* 00000d45 - 00000d45 [    1] */,
243     0x03524000 /* 00000d49 - 00000d49 [    1] */,
244     0x03540003 /* 00000d50 - 00000d53 [    4] */,
245     0x03590001 /* 00000d64 - 00000d65 [    2] */,
246     0x03600000 /* 00000d80 - 00000d80 [    1] */,
247     0x03610000 /* 00000d84 - 00000d84 [    1] */,
248     0x0365c002 /* 00000d97 - 00000d99 [    3] */,
249     0x036c8000 /* 00000db2 - 00000db2 [    1] */,
250     0x036f0000 /* 00000dbc - 00000dbc [    1] */,
251     0x036f8001 /* 00000dbe - 00000dbf [    2] */,
252     0x0371c002 /* 00000dc7 - 00000dc9 [    3] */,
253     0x0372c003 /* 00000dcb - 00000dce [    4] */,
254     0x03754000 /* 00000dd5 - 00000dd5 [    1] */,
255     0x0375c000 /* 00000dd7 - 00000dd7 [    1] */,
256     0x03780005 /* 00000de0 - 00000de5 [    6] */,
257     0x037c0001 /* 00000df0 - 00000df1 [    2] */,
258     0x037d400b /* 00000df5 - 00000e00 [   12] */,
259     0x038ec003 /* 00000e3b - 00000e3e [    4] */,
260     0x03970024 /* 00000e5c - 00000e80 [   37] */,
261     0x03a0c000 /* 00000e83 - 00000e83 [    1] */,
262     0x03a14000 /* 00000e85 - 00000e85 [    1] */,
263     0x03a2c000 /* 00000e8b - 00000e8b [    1] */,
264     0x03a90000 /* 00000ea4 - 00000ea4 [    1] */,
265     0x03a98000 /* 00000ea6 - 00000ea6 [    1] */,
266     0x03af8001 /* 00000ebe - 00000ebf [    2] */,
267     0x03b14000 /* 00000ec5 - 00000ec5 [    1] */,
268     0x03b1c000 /* 00000ec7 - 00000ec7 [    1] */,
269     0x03b3c000 /* 00000ecf - 00000ecf [    1] */,
270     0x03b68001 /* 00000eda - 00000edb [    2] */,
271     0x03b8001f /* 00000ee0 - 00000eff [   32] */,
272     0x03d20000 /* 00000f48 - 00000f48 [    1] */,
273     0x03db4003 /* 00000f6d - 00000f70 [    4] */,
274     0x03e60000 /* 00000f98 - 00000f98 [    1] */,
275     0x03ef4000 /* 00000fbd - 00000fbd [    1] */,
276     0x03f34000 /* 00000fcd - 00000fcd [    1] */,
277     0x03f6c024 /* 00000fdb - 00000fff [   37] */,
278     0x04318000 /* 000010c6 - 000010c6 [    1] */,
279     0x04320004 /* 000010c8 - 000010cc [    5] */,
280     0x04338001 /* 000010ce - 000010cf [    2] */,
281     0x04924000 /* 00001249 - 00001249 [    1] */,
282     0x04938001 /* 0000124e - 0000124f [    2] */,
283     0x0495c000 /* 00001257 - 00001257 [    1] */,
284     0x04964000 /* 00001259 - 00001259 [    1] */,
285     0x04978001 /* 0000125e - 0000125f [    2] */,
286     0x04a24000 /* 00001289 - 00001289 [    1] */,
287     0x04a38001 /* 0000128e - 0000128f [    2] */,
288     0x04ac4000 /* 000012b1 - 000012b1 [    1] */,
289     0x04ad8001 /* 000012b6 - 000012b7 [    2] */,
290     0x04afc000 /* 000012bf - 000012bf [    1] */,
291     0x04b04000 /* 000012c1 - 000012c1 [    1] */,
292     0x04b18001 /* 000012c6 - 000012c7 [    2] */,
293     0x04b5c000 /* 000012d7 - 000012d7 [    1] */,
294     0x04c44000 /* 00001311 - 00001311 [    1] */,
295     0x04c58001 /* 00001316 - 00001317 [    2] */,
296     0x04d6c001 /* 0000135b - 0000135c [    2] */,
297     0x04df4002 /* 0000137d - 0000137f [    3] */,
298     0x04e68005 /* 0000139a - 0000139f [    6] */,
299     0x04fd8001 /* 000013f6 - 000013f7 [    2] */,
300     0x04ff8001 /* 000013fe - 000013ff [    2] */,
301     0x05a00000 /* 00001680 - 00001680 [    1] */,
302     0x05a74002 /* 0000169d - 0000169f [    3] */,
303     0x05be4006 /* 000016f9 - 000016ff [    7] */,
304     0x05c58008 /* 00001716 - 0000171e [    9] */,
305     0x05cdc008 /* 00001737 - 0000173f [    9] */,
306     0x05d5000b /* 00001754 - 0000175f [   12] */,
307     0x05db4000 /* 0000176d - 0000176d [    1] */,
308     0x05dc4000 /* 00001771 - 00001771 [    1] */,
309     0x05dd000b /* 00001774 - 0000177f [   12] */,
310     0x05f78001 /* 000017de - 000017df [    2] */,
311     0x05fa8005 /* 000017ea - 000017ef [    6] */,
312     0x05fe8005 /* 000017fa - 000017ff [    6] */,
313     0x06038000 /* 0000180e - 0000180e [    1] */,
314     0x06068005 /* 0000181a - 0000181f [    6] */,
315     0x061e4006 /* 00001879 - 0000187f [    7] */,
316     0x062ac004 /* 000018ab - 000018af [    5] */,
317     0x063d8009 /* 000018f6 - 000018ff [   10] */,
318     0x0647c000 /* 0000191f - 0000191f [    1] */,
319     0x064b0003 /* 0000192c - 0000192f [    4] */,
320     0x064f0003 /* 0000193c - 0000193f [    4] */,
321     0x06504002 /* 00001941 - 00001943 [    3] */,
322     0x065b8001 /* 0000196e - 0000196f [    2] */,
323     0x065d400a /* 00001975 - 0000197f [   11] */,
324     0x066b0003 /* 000019ac - 000019af [    4] */,
325     0x06728005 /* 000019ca - 000019cf [    6] */,
326     0x0676c002 /* 000019db - 000019dd [    3] */,
327     0x06870001 /* 00001a1c - 00001a1d [    2] */,
328     0x0697c000 /* 00001a5f - 00001a5f [    1] */,
329     0x069f4001 /* 00001a7d - 00001a7e [    2] */,
330     0x06a28005 /* 00001a8a - 00001a8f [    6] */,
331     0x06a68005 /* 00001a9a - 00001a9f [    6] */,
332     0x06ab8001 /* 00001aae - 00001aaf [    2] */,
333     0x06b3c030 /* 00001acf - 00001aff [   49] */,
334     0x06d34002 /* 00001b4d - 00001b4f [    3] */,
335     0x06dfc000 /* 00001b7f - 00001b7f [    1] */,
336     0x06fd0007 /* 00001bf4 - 00001bfb [    8] */,
337     0x070e0002 /* 00001c38 - 00001c3a [    3] */,
338     0x07128002 /* 00001c4a - 00001c4c [    3] */,
339     0x07224006 /* 00001c89 - 00001c8f [    7] */,
340     0x072ec001 /* 00001cbb - 00001cbc [    2] */,
341     0x07320007 /* 00001cc8 - 00001ccf [    8] */,
342     0x073ec004 /* 00001cfb - 00001cff [    5] */,
343     0x07c58001 /* 00001f16 - 00001f17 [    2] */,
344     0x07c78001 /* 00001f1e - 00001f1f [    2] */,
345     0x07d18001 /* 00001f46 - 00001f47 [    2] */,
346     0x07d38001 /* 00001f4e - 00001f4f [    2] */,
347     0x07d60000 /* 00001f58 - 00001f58 [    1] */,
348     0x07d68000 /* 00001f5a - 00001f5a [    1] */,
349     0x07d70000 /* 00001f5c - 00001f5c [    1] */,
350     0x07d78000 /* 00001f5e - 00001f5e [    1] */,
351     0x07df8001 /* 00001f7e - 00001f7f [    2] */,
352     0x07ed4000 /* 00001fb5 - 00001fb5 [    1] */,
353     0x07f14000 /* 00001fc5 - 00001fc5 [    1] */,
354     0x07f50001 /* 00001fd4 - 00001fd5 [    2] */,
355     0x07f70000 /* 00001fdc - 00001fdc [    1] */,
356     0x07fc0001 /* 00001ff0 - 00001ff1 [    2] */,
357     0x07fd4000 /* 00001ff5 - 00001ff5 [    1] */,
358     0x07ffc010 /* 00001fff - 0000200f [   17] */,
359     0x080a0007 /* 00002028 - 0000202f [    8] */,
360     0x0817c010 /* 0000205f - 0000206f [   17] */,
361     0x081c8001 /* 00002072 - 00002073 [    2] */,
362     0x0823c000 /* 0000208f - 0000208f [    1] */,
363     0x08274002 /* 0000209d - 0000209f [    3] */,
364     0x0830400e /* 000020c1 - 000020cf [   15] */,
365     0x083c400e /* 000020f1 - 000020ff [   15] */,
366     0x08630003 /* 0000218c - 0000218f [    4] */,
367     0x0909c018 /* 00002427 - 0000243f [   25] */,
368     0x0912c014 /* 0000244b - 0000245f [   21] */,
369     0x0add0001 /* 00002b74 - 00002b75 [    2] */,
370     0x0ae58000 /* 00002b96 - 00002b96 [    1] */,
371     0x0b3d0004 /* 00002cf4 - 00002cf8 [    5] */,
372     0x0b498000 /* 00002d26 - 00002d26 [    1] */,
373     0x0b4a0004 /* 00002d28 - 00002d2c [    5] */,
374     0x0b4b8001 /* 00002d2e - 00002d2f [    2] */,
375     0x0b5a0006 /* 00002d68 - 00002d6e [    7] */,
376     0x0b5c400d /* 00002d71 - 00002d7e [   14] */,
377     0x0b65c008 /* 00002d97 - 00002d9f [    9] */,
378     0x0b69c000 /* 00002da7 - 00002da7 [    1] */,
379     0x0b6bc000 /* 00002daf - 00002daf [    1] */,
380     0x0b6dc000 /* 00002db7 - 00002db7 [    1] */,
381     0x0b6fc000 /* 00002dbf - 00002dbf [    1] */,
382     0x0b71c000 /* 00002dc7 - 00002dc7 [    1] */,
383     0x0b73c000 /* 00002dcf - 00002dcf [    1] */,
384     0x0b75c000 /* 00002dd7 - 00002dd7 [    1] */,
385     0x0b77c000 /* 00002ddf - 00002ddf [    1] */,
386     0x0b978021 /* 00002e5e - 00002e7f [   34] */,
387     0x0ba68000 /* 00002e9a - 00002e9a [    1] */,
388     0x0bbd000b /* 00002ef4 - 00002eff [   12] */,
389     0x0bf58019 /* 00002fd6 - 00002fef [   26] */,
390     0x0c000000 /* 00003000 - 00003000 [    1] */,
391     0x0c100000 /* 00003040 - 00003040 [    1] */,
392     0x0c25c001 /* 00003097 - 00003098 [    2] */,
393     0x0c400004 /* 00003100 - 00003104 [    5] */,
394     0x0c4c0000 /* 00003130 - 00003130 [    1] */,
395     0x0c63c000 /* 0000318f - 0000318f [    1] */,
396     0x0c79000a /* 000031e4 - 000031ee [   11] */,
397     0x0c87c000 /* 0000321f - 0000321f [    1] */,
398     0x29234002 /* 0000a48d - 0000a48f [    3] */,
399     0x2931c008 /* 0000a4c7 - 0000a4cf [    9] */,
400     0x298b0013 /* 0000a62c - 0000a63f [   20] */,
401     0x29be0007 /* 0000a6f8 - 0000a6ff [    8] */,
402     0x29f2c004 /* 0000a7cb - 0000a7cf [    5] */,
403     0x29f48000 /* 0000a7d2 - 0000a7d2 [    1] */,
404     0x29f50000 /* 0000a7d4 - 0000a7d4 [    1] */,
405     0x29f68017 /* 0000a7da - 0000a7f1 [   24] */,
406     0x2a0b4002 /* 0000a82d - 0000a82f [    3] */,
407     0x2a0e8005 /* 0000a83a - 0000a83f [    6] */,
408     0x2a1e0007 /* 0000a878 - 0000a87f [    8] */,
409     0x2a318007 /* 0000a8c6 - 0000a8cd [    8] */,
410     0x2a368005 /* 0000a8da - 0000a8df [    6] */,
411     0x2a55000a /* 0000a954 - 0000a95e [   11] */,
412     0x2a5f4002 /* 0000a97d - 0000a97f [    3] */,
413     0x2a738000 /* 0000a9ce - 0000a9ce [    1] */,
414     0x2a768003 /* 0000a9da - 0000a9dd [    4] */,
415     0x2a7fc000 /* 0000a9ff - 0000a9ff [    1] */,
416     0x2a8dc008 /* 0000aa37 - 0000aa3f [    9] */,
417     0x2a938001 /* 0000aa4e - 0000aa4f [    2] */,
418     0x2a968001 /* 0000aa5a - 0000aa5b [    2] */,
419     0x2ab0c017 /* 0000aac3 - 0000aada [   24] */,
420     0x2abdc009 /* 0000aaf7 - 0000ab00 [   10] */,
421     0x2ac1c001 /* 0000ab07 - 0000ab08 [    2] */,
422     0x2ac3c001 /* 0000ab0f - 0000ab10 [    2] */,
423     0x2ac5c008 /* 0000ab17 - 0000ab1f [    9] */,
424     0x2ac9c000 /* 0000ab27 - 0000ab27 [    1] */,
425     0x2acbc000 /* 0000ab2f - 0000ab2f [    1] */,
426     0x2adb0003 /* 0000ab6c - 0000ab6f [    4] */,
427     0x2afb8001 /* 0000abee - 0000abef [    2] */,
428     0x2afe8005 /* 0000abfa - 0000abff [    6] */,
429     0x35e9000b /* 0000d7a4 - 0000d7af [   12] */,
430     0x35f1c003 /* 0000d7c7 - 0000d7ca [    4] */,
431     0x35ff2103 /* 0000d7fc - 0000f8ff [ 8452] */,
432     0x3e9b8001 /* 0000fa6e - 0000fa6f [    2] */,
433     0x3eb68025 /* 0000fada - 0000faff [   38] */,
434     0x3ec1c00b /* 0000fb07 - 0000fb12 [   12] */,
435     0x3ec60004 /* 0000fb18 - 0000fb1c [    5] */,
436     0x3ecdc000 /* 0000fb37 - 0000fb37 [    1] */,
437     0x3ecf4000 /* 0000fb3d - 0000fb3d [    1] */,
438     0x3ecfc000 /* 0000fb3f - 0000fb3f [    1] */,
439     0x3ed08000 /* 0000fb42 - 0000fb42 [    1] */,
440     0x3ed14000 /* 0000fb45 - 0000fb45 [    1] */,
441     0x3ef0c00f /* 0000fbc3 - 0000fbd2 [   16] */,
442     0x3f640001 /* 0000fd90 - 0000fd91 [    2] */,
443     0x3f720006 /* 0000fdc8 - 0000fdce [    7] */,
444     0x3f74001f /* 0000fdd0 - 0000fdef [   32] */,
445     0x3f868005 /* 0000fe1a - 0000fe1f [    6] */,
446     0x3f94c000 /* 0000fe53 - 0000fe53 [    1] */,
447     0x3f99c000 /* 0000fe67 - 0000fe67 [    1] */,
448     0x3f9b0003 /* 0000fe6c - 0000fe6f [    4] */,
449     0x3f9d4000 /* 0000fe75 - 0000fe75 [    1] */,
450     0x3fbf4003 /* 0000fefd - 0000ff00 [    4] */,
451     0x3fefc002 /* 0000ffbf - 0000ffc1 [    3] */,
452     0x3ff20001 /* 0000ffc8 - 0000ffc9 [    2] */,
453     0x3ff40001 /* 0000ffd0 - 0000ffd1 [    2] */,
454     0x3ff60001 /* 0000ffd8 - 0000ffd9 [    2] */,
455     0x3ff74002 /* 0000ffdd - 0000ffdf [    3] */,
456     0x3ff9c000 /* 0000ffe7 - 0000ffe7 [    1] */,
457     0x3ffbc00c /* 0000ffef - 0000fffb [   13] */,
458     0x3fff8001 /* 0000fffe - 0000ffff [    2] */,
459     0x40030000 /* 0001000c - 0001000c [    1] */,
460     0x4009c000 /* 00010027 - 00010027 [    1] */,
461     0x400ec000 /* 0001003b - 0001003b [    1] */,
462     0x400f8000 /* 0001003e - 0001003e [    1] */,
463     0x40138001 /* 0001004e - 0001004f [    2] */,
464     0x40178021 /* 0001005e - 0001007f [   34] */,
465     0x403ec004 /* 000100fb - 000100ff [    5] */,
466     0x4040c003 /* 00010103 - 00010106 [    4] */,
467     0x404d0002 /* 00010134 - 00010136 [    3] */,
468     0x4063c000 /* 0001018f - 0001018f [    1] */,
469     0x40674002 /* 0001019d - 0001019f [    3] */,
470     0x4068402e /* 000101a1 - 000101cf [   47] */,
471     0x407f8081 /* 000101fe - 0001027f [  130] */,
472     0x40a74002 /* 0001029d - 0001029f [    3] */,
473     0x40b4400e /* 000102d1 - 000102df [   15] */,
474     0x40bf0003 /* 000102fc - 000102ff [    4] */,
475     0x40c90008 /* 00010324 - 0001032c [    9] */,
476     0x40d2c004 /* 0001034b - 0001034f [    5] */,
477     0x40dec004 /* 0001037b - 0001037f [    5] */,
478     0x40e78000 /* 0001039e - 0001039e [    1] */,
479     0x40f10003 /* 000103c4 - 000103c7 [    4] */,
480     0x40f58029 /* 000103d6 - 000103ff [   42] */,
481     0x41278001 /* 0001049e - 0001049f [    2] */,
482     0x412a8005 /* 000104aa - 000104af [    6] */,
483     0x41350003 /* 000104d4 - 000104d7 [    4] */,
484     0x413f0003 /* 000104fc - 000104ff [    4] */,
485     0x414a0007 /* 00010528 - 0001052f [    8] */,
486     0x4159000a /* 00010564 - 0001056e [   11] */,
487     0x415ec000 /* 0001057b - 0001057b [    1] */,
488     0x4162c000 /* 0001058b - 0001058b [    1] */,
489     0x4164c000 /* 00010593 - 00010593 [    1] */,
490     0x41658000 /* 00010596 - 00010596 [    1] */,
491     0x41688000 /* 000105a2 - 000105a2 [    1] */,
492     0x416c8000 /* 000105b2 - 000105b2 [    1] */,
493     0x416e8000 /* 000105ba - 000105ba [    1] */,
494     0x416f4042 /* 000105bd - 000105ff [   67] */,
495     0x41cdc008 /* 00010737 - 0001073f [    9] */,
496     0x41d58009 /* 00010756 - 0001075f [   10] */,
497     0x41da0017 /* 00010768 - 0001077f [   24] */,
498     0x41e18000 /* 00010786 - 00010786 [    1] */,
499     0x41ec4000 /* 000107b1 - 000107b1 [    1] */,
500     0x41eec044 /* 000107bb - 000107ff [   69] */,
501     0x42018001 /* 00010806 - 00010807 [    2] */,
502     0x42024000 /* 00010809 - 00010809 [    1] */,
503     0x420d8000 /* 00010836 - 00010836 [    1] */,
504     0x420e4002 /* 00010839 - 0001083b [    3] */,
505     0x420f4001 /* 0001083d - 0001083e [    2] */,
506     0x42158000 /* 00010856 - 00010856 [    1] */,
507     0x4227c007 /* 0001089f - 000108a6 [    8] */,
508     0x422c002f /* 000108b0 - 000108df [   48] */,
509     0x423cc000 /* 000108f3 - 000108f3 [    1] */,
510     0x423d8004 /* 000108f6 - 000108fa [    5] */,
511     0x42470002 /* 0001091c - 0001091e [    3] */,
512     0x424e8004 /* 0001093a - 0001093e [    5] */,
513     0x4250003f /* 00010940 - 0001097f [   64] */,
514     0x426e0003 /* 000109b8 - 000109bb [    4] */,
515     0x42740001 /* 000109d0 - 000109d1 [    2] */,
516     0x42810000 /* 00010a04 - 00010a04 [    1] */,
517     0x4281c004 /* 00010a07 - 00010a0b [    5] */,
518     0x42850000 /* 00010a14 - 00010a14 [    1] */,
519     0x42860000 /* 00010a18 - 00010a18 [    1] */,
520     0x428d8001 /* 00010a36 - 00010a37 [    2] */,
521     0x428ec003 /* 00010a3b - 00010a3e [    4] */,
522     0x42924006 /* 00010a49 - 00010a4f [    7] */,
523     0x42964006 /* 00010a59 - 00010a5f [    7] */,
524     0x42a8001f /* 00010aa0 - 00010abf [   32] */,
525     0x42b9c003 /* 00010ae7 - 00010aea [    4] */,
526     0x42bdc008 /* 00010af7 - 00010aff [    9] */,
527     0x42cd8002 /* 00010b36 - 00010b38 [    3] */,
528     0x42d58001 /* 00010b56 - 00010b57 [    2] */,
529     0x42dcc004 /* 00010b73 - 00010b77 [    5] */,
530     0x42e48006 /* 00010b92 - 00010b98 [    7] */,
531     0x42e7400b /* 00010b9d - 00010ba8 [   12] */,
532     0x42ec004f /* 00010bb0 - 00010bff [   80] */,
533     0x43124036 /* 00010c49 - 00010c7f [   55] */,
534     0x432cc00c /* 00010cb3 - 00010cbf [   13] */,
535     0x433cc006 /* 00010cf3 - 00010cf9 [    7] */,
536     0x434a0007 /* 00010d28 - 00010d2f [    8] */,
537     0x434e8125 /* 00010d3a - 00010e5f [  294] */,
538     0x439fc000 /* 00010e7f - 00010e7f [    1] */,
539     0x43aa8000 /* 00010eaa - 00010eaa [    1] */,
540     0x43ab8001 /* 00010eae - 00010eaf [    2] */,
541     0x43ac804a /* 00010eb2 - 00010efc [   75] */,
542     0x43ca0007 /* 00010f28 - 00010f2f [    8] */,
543     0x43d68015 /* 00010f5a - 00010f6f [   22] */,
544     0x43e28025 /* 00010f8a - 00010faf [   38] */,
545     0x43f30013 /* 00010fcc - 00010fdf [   20] */,
546     0x43fdc008 /* 00010ff7 - 00010fff [    9] */,
547     0x44138003 /* 0001104e - 00011051 [    4] */,
548     0x441d8008 /* 00011076 - 0001107e [    9] */,
549     0x442f4000 /* 000110bd - 000110bd [    1] */,
550     0x4430c00c /* 000110c3 - 000110cf [   13] */,
551     0x443a4006 /* 000110e9 - 000110ef [    7] */,
552     0x443e8005 /* 000110fa - 000110ff [    6] */,
553     0x444d4000 /* 00011135 - 00011135 [    1] */,
554     0x44520007 /* 00011148 - 0001114f [    8] */,
555     0x445dc008 /* 00011177 - 0001117f [    9] */,
556     0x44780000 /* 000111e0 - 000111e0 [    1] */,
557     0x447d400a /* 000111f5 - 000111ff [   11] */,
558     0x44848000 /* 00011212 - 00011212 [    1] */,
559     0x4490803d /* 00011242 - 0001127f [   62] */,
560     0x44a1c000 /* 00011287 - 00011287 [    1] */,
561     0x44a24000 /* 00011289 - 00011289 [    1] */,
562     0x44a38000 /* 0001128e - 0001128e [    1] */,
563     0x44a78000 /* 0001129e - 0001129e [    1] */,
564     0x44aa8005 /* 000112aa - 000112af [    6] */,
565     0x44bac004 /* 000112eb - 000112ef [    5] */,
566     0x44be8005 /* 000112fa - 000112ff [    6] */,
567     0x44c10000 /* 00011304 - 00011304 [    1] */,
568     0x44c34001 /* 0001130d - 0001130e [    2] */,
569     0x44c44001 /* 00011311 - 00011312 [    2] */,
570     0x44ca4000 /* 00011329 - 00011329 [    1] */,
571     0x44cc4000 /* 00011331 - 00011331 [    1] */,
572     0x44cd0000 /* 00011334 - 00011334 [    1] */,
573     0x44ce8000 /* 0001133a - 0001133a [    1] */,
574     0x44d14001 /* 00011345 - 00011346 [    2] */,
575     0x44d24001 /* 00011349 - 0001134a [    2] */,
576     0x44d38001 /* 0001134e - 0001134f [    2] */,
577     0x44d44005 /* 00011351 - 00011356 [    6] */,
578     0x44d60004 /* 00011358 - 0001135c [    5] */,
579     0x44d90001 /* 00011364 - 00011365 [    2] */,
580     0x44db4002 /* 0001136d - 0001136f [    3] */,
581     0x44dd408a /* 00011375 - 000113ff [  139] */,
582     0x45170000 /* 0001145c - 0001145c [    1] */,
583     0x4518801d /* 00011462 - 0001147f [   30] */,
584     0x45320007 /* 000114c8 - 000114cf [    8] */,
585     0x453680a5 /* 000114da - 0001157f [  166] */,
586     0x456d8001 /* 000115b6 - 000115b7 [    2] */,
587     0x45778021 /* 000115de - 000115ff [   34] */,
588     0x4591400a /* 00011645 - 0001164f [   11] */,
589     0x45968005 /* 0001165a - 0001165f [    6] */,
590     0x459b4012 /* 0001166d - 0001167f [   19] */,
591     0x45ae8005 /* 000116ba - 000116bf [    6] */,
592     0x45b28035 /* 000116ca - 000116ff [   54] */,
593     0x45c6c001 /* 0001171b - 0001171c [    2] */,
594     0x45cb0003 /* 0001172c - 0001172f [    4] */,
595     0x45d1c0b8 /* 00011747 - 000117ff [  185] */,
596     0x460f0063 /* 0001183c - 0001189f [  100] */,
597     0x463cc00b /* 000118f3 - 000118fe [   12] */,
598     0x4641c001 /* 00011907 - 00011908 [    2] */,
599     0x46428001 /* 0001190a - 0001190b [    2] */,
600     0x46450000 /* 00011914 - 00011914 [    1] */,
601     0x4645c000 /* 00011917 - 00011917 [    1] */,
602     0x464d8000 /* 00011936 - 00011936 [    1] */,
603     0x464e4001 /* 00011939 - 0001193a [    2] */,
604     0x4651c008 /* 00011947 - 0001194f [    9] */,
605     0x46568045 /* 0001195a - 0001199f [   70] */,
606     0x466a0001 /* 000119a8 - 000119a9 [    2] */,
607     0x46760001 /* 000119d8 - 000119d9 [    2] */,
608     0x4679401a /* 000119e5 - 000119ff [   27] */,
609     0x46920007 /* 00011a48 - 00011a4f [    8] */,
610     0x46a8c00c /* 00011aa3 - 00011aaf [   13] */,
611     0x46be4006 /* 00011af9 - 00011aff [    7] */,
612     0x46c280f5 /* 00011b0a - 00011bff [  246] */,
613     0x47024000 /* 00011c09 - 00011c09 [    1] */,
614     0x470dc000 /* 00011c37 - 00011c37 [    1] */,
615     0x47118009 /* 00011c46 - 00011c4f [   10] */,
616     0x471b4002 /* 00011c6d - 00011c6f [    3] */,
617     0x47240001 /* 00011c90 - 00011c91 [    2] */,
618     0x472a0000 /* 00011ca8 - 00011ca8 [    1] */,
619     0x472dc048 /* 00011cb7 - 00011cff [   73] */,
620     0x4741c000 /* 00011d07 - 00011d07 [    1] */,
621     0x47428000 /* 00011d0a - 00011d0a [    1] */,
622     0x474dc002 /* 00011d37 - 00011d39 [    3] */,
623     0x474ec000 /* 00011d3b - 00011d3b [    1] */,
624     0x474f8000 /* 00011d3e - 00011d3e [    1] */,
625     0x47520007 /* 00011d48 - 00011d4f [    8] */,
626     0x47568005 /* 00011d5a - 00011d5f [    6] */,
627     0x47598000 /* 00011d66 - 00011d66 [    1] */,
628     0x475a4000 /* 00011d69 - 00011d69 [    1] */,
629     0x4763c000 /* 00011d8f - 00011d8f [    1] */,
630     0x47648000 /* 00011d92 - 00011d92 [    1] */,
631     0x47664006 /* 00011d99 - 00011d9f [    7] */,
632     0x476a8135 /* 00011daa - 00011edf [  310] */,
633     0x47be4006 /* 00011ef9 - 00011eff [    7] */,
634     0x47c44000 /* 00011f11 - 00011f11 [    1] */,
635     0x47cec002 /* 00011f3b - 00011f3d [    3] */,
636     0x47d68055 /* 00011f5a - 00011faf [   86] */,
637     0x47ec400e /* 00011fb1 - 00011fbf [   15] */,
638     0x47fc800c /* 00011ff2 - 00011ffe [   13] */,
639     0x48e68065 /* 0001239a - 000123ff [  102] */,
640     0x491bc000 /* 0001246f - 0001246f [    1] */,
641     0x491d400a /* 00012475 - 0001247f [   11] */,
642     0x49510a4b /* 00012544 - 00012f8f [ 2636] */,
643     0x4bfcc00c /* 00012ff3 - 00012fff [   13] */,
644     0x4d0c000f /* 00013430 - 0001343f [   16] */,
645     0x4d158fa9 /* 00013456 - 000143ff [ 4010] */,
646     0x5191e1b8 /* 00014647 - 000167ff [ 8633] */,
647     0x5a8e4006 /* 00016a39 - 00016a3f [    7] */,
648     0x5a97c000 /* 00016a5f - 00016a5f [    1] */,
649     0x5a9a8003 /* 00016a6a - 00016a6d [    4] */,
650     0x5aafc000 /* 00016abf - 00016abf [    1] */,
651     0x5ab28005 /* 00016aca - 00016acf [    6] */,
652     0x5abb8001 /* 00016aee - 00016aef [    2] */,
653     0x5abd8009 /* 00016af6 - 00016aff [   10] */,
654     0x5ad18009 /* 00016b46 - 00016b4f [   10] */,
655     0x5ad68000 /* 00016b5a - 00016b5a [    1] */,
656     0x5ad88000 /* 00016b62 - 00016b62 [    1] */,
657     0x5ade0004 /* 00016b78 - 00016b7c [    5] */,
658     0x5ae402af /* 00016b90 - 00016e3f [  688] */,
659     0x5ba6c064 /* 00016e9b - 00016eff [  101] */,
660     0x5bd2c003 /* 00016f4b - 00016f4e [    4] */,
661     0x5be20006 /* 00016f88 - 00016f8e [    7] */,
662     0x5be8003f /* 00016fa0 - 00016fdf [   64] */,
663     0x5bf9400a /* 00016fe5 - 00016fef [   11] */,
664     0x5bfc800d /* 00016ff2 - 00016fff [   14] */,
665     0x61fe0007 /* 000187f8 - 000187ff [    8] */,
666     0x63358029 /* 00018cd6 - 00018cff [   42] */,
667     0x634262e6 /* 00018d09 - 0001afef [ 8935] */,
668     0x6bfd0000 /* 0001aff4 - 0001aff4 [    1] */,
669     0x6bff0000 /* 0001affc - 0001affc [    1] */,
670     0x6bffc000 /* 0001afff - 0001afff [    1] */,
671     0x6c48c00e /* 0001b123 - 0001b131 [   15] */,
672     0x6c4cc01c /* 0001b133 - 0001b14f [   29] */,
673     0x6c54c001 /* 0001b153 - 0001b154 [    2] */,
674     0x6c55800d /* 0001b156 - 0001b163 [   14] */,
675     0x6c5a0007 /* 0001b168 - 0001b16f [    8] */,
676     0x6cbf0903 /* 0001b2fc - 0001bbff [ 2308] */,
677     0x6f1ac004 /* 0001bc6b - 0001bc6f [    5] */,
678     0x6f1f4002 /* 0001bc7d - 0001bc7f [    3] */,
679     0x6f224006 /* 0001bc89 - 0001bc8f [    7] */,
680     0x6f268001 /* 0001bc9a - 0001bc9b [    2] */,
681     0x6f28125f /* 0001bca0 - 0001ceff [ 4704] */,
682     0x73cb8001 /* 0001cf2e - 0001cf2f [    2] */,
683     0x73d1c008 /* 0001cf47 - 0001cf4f [    9] */,
684     0x73f1003b /* 0001cfc4 - 0001cfff [   60] */,
685     0x743d8009 /* 0001d0f6 - 0001d0ff [   10] */,
686     0x7449c001 /* 0001d127 - 0001d128 [    2] */,
687     0x745cc007 /* 0001d173 - 0001d17a [    8] */,
688     0x747ac014 /* 0001d1eb - 0001d1ff [   21] */,
689     0x74918079 /* 0001d246 - 0001d2bf [  122] */,
690     0x74b5000b /* 0001d2d4 - 0001d2df [   12] */,
691     0x74bd000b /* 0001d2f4 - 0001d2ff [   12] */,
692     0x74d5c008 /* 0001d357 - 0001d35f [    9] */,
693     0x74de4086 /* 0001d379 - 0001d3ff [  135] */,
694     0x75154000 /* 0001d455 - 0001d455 [    1] */,
695     0x75274000 /* 0001d49d - 0001d49d [    1] */,
696     0x75280001 /* 0001d4a0 - 0001d4a1 [    2] */,
697     0x7528c001 /* 0001d4a3 - 0001d4a4 [    2] */,
698     0x7529c001 /* 0001d4a7 - 0001d4a8 [    2] */,
699     0x752b4000 /* 0001d4ad - 0001d4ad [    1] */,
700     0x752e8000 /* 0001d4ba - 0001d4ba [    1] */,
701     0x752f0000 /* 0001d4bc - 0001d4bc [    1] */,
702     0x75310000 /* 0001d4c4 - 0001d4c4 [    1] */,
703     0x75418000 /* 0001d506 - 0001d506 [    1] */,
704     0x7542c001 /* 0001d50b - 0001d50c [    2] */,
705     0x75454000 /* 0001d515 - 0001d515 [    1] */,
706     0x75474000 /* 0001d51d - 0001d51d [    1] */,
707     0x754e8000 /* 0001d53a - 0001d53a [    1] */,
708     0x754fc000 /* 0001d53f - 0001d53f [    1] */,
709     0x75514000 /* 0001d545 - 0001d545 [    1] */,
710     0x7551c002 /* 0001d547 - 0001d549 [    3] */,
711     0x75544000 /* 0001d551 - 0001d551 [    1] */,
712     0x75a98001 /* 0001d6a6 - 0001d6a7 [    2] */,
713     0x75f30001 /* 0001d7cc - 0001d7cd [    2] */,
714     0x76a3000e /* 0001da8c - 0001da9a [   15] */,
715     0x76a80000 /* 0001daa0 - 0001daa0 [    1] */,
716     0x76ac044f /* 0001dab0 - 0001deff [ 1104] */,
717     0x77c7c005 /* 0001df1f - 0001df24 [    6] */,
718     0x77cac0d4 /* 0001df2b - 0001dfff [  213] */,
719     0x7801c000 /* 0001e007 - 0001e007 [    1] */,
720     0x78064001 /* 0001e019 - 0001e01a [    2] */,
721     0x78088000 /* 0001e022 - 0001e022 [    1] */,
722     0x78094000 /* 0001e025 - 0001e025 [    1] */,
723     0x780ac004 /* 0001e02b - 0001e02f [    5] */,
724     0x781b8020 /* 0001e06e - 0001e08e [   33] */,
725     0x7824006f /* 0001e090 - 0001e0ff [  112] */,
726     0x784b4002 /* 0001e12d - 0001e12f [    3] */,
727     0x784f8001 /* 0001e13e - 0001e13f [    2] */,
728     0x78528003 /* 0001e14a - 0001e14d [    4] */,
729     0x7854013f /* 0001e150 - 0001e28f [  320] */,
730     0x78abc010 /* 0001e2af - 0001e2bf [   17] */,
731     0x78be8004 /* 0001e2fa - 0001e2fe [    5] */,
732     0x78c001cf /* 0001e300 - 0001e4cf [  464] */,
733     0x793e82e5 /* 0001e4fa - 0001e7df [  742] */,
734     0x79f9c000 /* 0001e7e7 - 0001e7e7 [    1] */,
735     0x79fb0000 /* 0001e7ec - 0001e7ec [    1] */,
736     0x79fbc000 /* 0001e7ef - 0001e7ef [    1] */,
737     0x79ffc000 /* 0001e7ff - 0001e7ff [    1] */,
738     0x7a314001 /* 0001e8c5 - 0001e8c6 [    2] */,
739     0x7a35c028 /* 0001e8d7 - 0001e8ff [   41] */,
740     0x7a530003 /* 0001e94c - 0001e94f [    4] */,
741     0x7a568003 /* 0001e95a - 0001e95d [    4] */,
742     0x7a580310 /* 0001e960 - 0001ec70 [  785] */,
743     0x7b2d404b /* 0001ecb5 - 0001ed00 [   76] */,
744     0x7b4f80c1 /* 0001ed3e - 0001edff [  194] */,
745     0x7b810000 /* 0001ee04 - 0001ee04 [    1] */,
746     0x7b880000 /* 0001ee20 - 0001ee20 [    1] */,
747     0x7b88c000 /* 0001ee23 - 0001ee23 [    1] */,
748     0x7b894001 /* 0001ee25 - 0001ee26 [    2] */,
749     0x7b8a0000 /* 0001ee28 - 0001ee28 [    1] */,
750     0x7b8cc000 /* 0001ee33 - 0001ee33 [    1] */,
751     0x7b8e0000 /* 0001ee38 - 0001ee38 [    1] */,
752     0x7b8e8000 /* 0001ee3a - 0001ee3a [    1] */,
753     0x7b8f0005 /* 0001ee3c - 0001ee41 [    6] */,
754     0x7b90c003 /* 0001ee43 - 0001ee46 [    4] */,
755     0x7b920000 /* 0001ee48 - 0001ee48 [    1] */,
756     0x7b928000 /* 0001ee4a - 0001ee4a [    1] */,
757     0x7b930000 /* 0001ee4c - 0001ee4c [    1] */,
758     0x7b940000 /* 0001ee50 - 0001ee50 [    1] */,
759     0x7b94c000 /* 0001ee53 - 0001ee53 [    1] */,
760     0x7b954001 /* 0001ee55 - 0001ee56 [    2] */,
761     0x7b960000 /* 0001ee58 - 0001ee58 [    1] */,
762     0x7b968000 /* 0001ee5a - 0001ee5a [    1] */,
763     0x7b970000 /* 0001ee5c - 0001ee5c [    1] */,
764     0x7b978000 /* 0001ee5e - 0001ee5e [    1] */,
765     0x7b980000 /* 0001ee60 - 0001ee60 [    1] */,
766     0x7b98c000 /* 0001ee63 - 0001ee63 [    1] */,
767     0x7b994001 /* 0001ee65 - 0001ee66 [    2] */,
768     0x7b9ac000 /* 0001ee6b - 0001ee6b [    1] */,
769     0x7b9cc000 /* 0001ee73 - 0001ee73 [    1] */,
770     0x7b9e0000 /* 0001ee78 - 0001ee78 [    1] */,
771     0x7b9f4000 /* 0001ee7d - 0001ee7d [    1] */,
772     0x7b9fc000 /* 0001ee7f - 0001ee7f [    1] */,
773     0x7ba28000 /* 0001ee8a - 0001ee8a [    1] */,
774     0x7ba70004 /* 0001ee9c - 0001eea0 [    5] */,
775     0x7ba90000 /* 0001eea4 - 0001eea4 [    1] */,
776     0x7baa8000 /* 0001eeaa - 0001eeaa [    1] */,
777     0x7baf0033 /* 0001eebc - 0001eeef [   52] */,
778     0x7bbc810d /* 0001eef2 - 0001efff [  270] */,
779     0x7c0b0003 /* 0001f02c - 0001f02f [    4] */,
780     0x7c25000b /* 0001f094 - 0001f09f [   12] */,
781     0x7c2bc001 /* 0001f0af - 0001f0b0 [    2] */,
782     0x7c300000 /* 0001f0c0 - 0001f0c0 [    1] */,
783     0x7c340000 /* 0001f0d0 - 0001f0d0 [    1] */,
784     0x7c3d8009 /* 0001f0f6 - 0001f0ff [   10] */,
785     0x7c6b8037 /* 0001f1ae - 0001f1e5 [   56] */,
786     0x7c80c00c /* 0001f203 - 0001f20f [   13] */,
787     0x7c8f0003 /* 0001f23c - 0001f23f [    4] */,
788     0x7c924006 /* 0001f249 - 0001f24f [    7] */,
789     0x7c94800d /* 0001f252 - 0001f25f [   14] */,
790     0x7c998099 /* 0001f266 - 0001f2ff [  154] */,
791     0x7db60003 /* 0001f6d8 - 0001f6db [    4] */,
792     0x7dbb4002 /* 0001f6ed - 0001f6ef [    3] */,
793     0x7dbf4002 /* 0001f6fd - 0001f6ff [    3] */,
794     0x7dddc003 /* 0001f777 - 0001f77a [    4] */,
795     0x7df68005 /* 0001f7da - 0001f7df [    6] */,
796     0x7dfb0003 /* 0001f7ec - 0001f7ef [    4] */,
797     0x7dfc400e /* 0001f7f1 - 0001f7ff [   15] */,
798     0x7e030003 /* 0001f80c - 0001f80f [    4] */,
799     0x7e120007 /* 0001f848 - 0001f84f [    8] */,
800     0x7e168005 /* 0001f85a - 0001f85f [    6] */,
801     0x7e220007 /* 0001f888 - 0001f88f [    8] */,
802     0x7e2b8001 /* 0001f8ae - 0001f8af [    2] */,
803     0x7e2c804d /* 0001f8b2 - 0001f8ff [   78] */,
804     0x7e95000b /* 0001fa54 - 0001fa5f [   12] */,
805     0x7e9b8001 /* 0001fa6e - 0001fa6f [    2] */,
806     0x7e9f4002 /* 0001fa7d - 0001fa7f [    3] */,
807     0x7ea24006 /* 0001fa89 - 0001fa8f [    7] */,
808     0x7eaf8000 /* 0001fabe - 0001fabe [    1] */,
809     0x7eb18007 /* 0001fac6 - 0001facd [    8] */,
810     0x7eb70003 /* 0001fadc - 0001fadf [    4] */,
811     0x7eba4006 /* 0001fae9 - 0001faef [    7] */,
812     0x7ebe4006 /* 0001faf9 - 0001faff [    7] */,
813     0x7ee4c000 /* 0001fb93 - 0001fb93 [    1] */,
814     0x7ef2c024 /* 0001fbcb - 0001fbef [   37] */,
815     0x7efe8405 /* 0001fbfa - 0001ffff [ 1030] */,
816     0xa9b8001f /* 0002a6e0 - 0002a6ff [   32] */,
817     0xadce8005 /* 0002b73a - 0002b73f [    6] */,
818     0xae078001 /* 0002b81e - 0002b81f [    2] */,
819     0xb3a8800d /* 0002cea2 - 0002ceaf [   14] */,
820     0xbaf8400e /* 0002ebe1 - 0002ebef [   15] */,
821     0xbb9789a1 /* 0002ee5e - 0002f7ff [ 2466] */,
822     0xbe8785e1 /* 0002fa1e - 0002ffff [ 1506] */,
823     0xc4d2c004 /* 0003134b - 0003134f [    5] */};
824 
825 /// Returns whether the code unit needs to be escaped.
826 ///
827 /// At the end of the valid Unicode code points space a lot of code points are
828 /// either reserved or a noncharacter. Adding all these entries to the
829 /// lookup table would greatly increase the size of the table. Instead these
830 /// entries are manually processed. In this large area of reserved code points,
831 /// there is a small area of extended graphemes that should not be escaped
832 /// unconditionally. This is also manually coded. See the generation script for
833 /// more details.
834 
835 ///
836 /// \\pre The code point is a valid Unicode code point.
__needs_escape(const char32_t __code_point)837 [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr bool __needs_escape(const char32_t __code_point) noexcept {
838 
839   // The entries in the gap at the end.
840   if(__code_point >= 0x000e0100 && __code_point <= 0x000e01ef)
841      return false;
842 
843   // The entries at the end.
844   if (__code_point >= 0x000323b0)
845     return true;
846 
847   ptrdiff_t __i = std::ranges::upper_bound(__entries, (__code_point << 14) | 0x3fffu) - __entries;
848   if (__i == 0)
849     return false;
850 
851   --__i;
852   uint32_t __upper_bound = (__entries[__i] >> 14) + (__entries[__i] & 0x3fffu);
853   return __code_point <= __upper_bound;
854 }
855 
856 // clang-format on
857 } // namespace __escaped_output_table
858 
859 #endif //_LIBCPP_STD_VER >= 23
860 
861 _LIBCPP_END_NAMESPACE_STD
862 
863 #endif // _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H
864