]>
Commit | Line | Data |
---|---|---|
4f07e9d7 JB |
1 | # to bootstrap: build OpenColorIO --without oiio, build OpenImageIO, rebuild OpenColorIO |
2 | # | |
20734182 | 3 | # Conditional build: |
4f07e9d7 | 4 | %bcond_without ocio # OpenColorIO support in library |
20734182 JB |
5 | %bcond_without static_libs # don't build static libraries |
6 | %bcond_without tbb # Threading Building Blocks | |
7 | # | |
8 | Summary: Library for reading and writing images | |
9 | Summary(pl.UTF-8): Biblioteka do odczytu i zapisu obrazów | |
10 | Name: OpenImageIO | |
b6dc087e | 11 | Version: 1.2.3 |
05e8614e | 12 | Release: 3 |
20734182 JB |
13 | License: BSD |
14 | Group: Libraries | |
db5a25bb | 15 | Source0: https://github.com/OpenImageIO/oiio/tarball/Release-%{version}/%{name}-%{version}.tar.gz |
b6dc087e | 16 | # Source0-md5: 20066ae0e9026717242f64f107f7ee8e |
40b0de7c | 17 | Patch0: %{name}-link.patch |
b6dc087e AM |
18 | |
19 | Patch2: %{name}-build.patch | |
fc6d7d67 | 20 | Patch3: %{name}-system-squish.patch |
d46df4d1 | 21 | Patch4: %{name}-system-ptex.patch |
b238f81f JB |
22 | Patch5: %{name}-system-dpx.patch |
23 | Patch6: %{name}-system-libcineon.patch | |
05e8614e AM |
24 | Patch7: %{name}-werror.patch |
25 | Patch8: 0002-Fix_IlmBase_issue.patch | |
26 | Patch9: 0003-Fix_multiarch_paths.patch | |
27 | Patch10: 0004-Fix_FTBFS_on_atomic_operations.patch | |
20734182 | 28 | URL: https://sites.google.com/site/openimageio/home |
8a5e279e | 29 | BuildRequires: Field3D-devel |
4f07e9d7 | 30 | %{?with_ocio:BuildRequires: OpenColorIO-devel} |
20734182 JB |
31 | BuildRequires: OpenEXR-devel >= 1.6.1 |
32 | BuildRequires: OpenGL-devel | |
33 | BuildRequires: QtCore-devel | |
34 | BuildRequires: QtGui-devel | |
35 | BuildRequires: QtOpenGL-devel | |
36 | # filesystem, regex, system, thread | |
37 | BuildRequires: boost-devel >= 1.35 | |
38 | BuildRequires: boost-python-devel >= 1.35 | |
39 | BuildRequires: cmake >= 2.6 | |
b238f81f | 40 | BuildRequires: dpx-devel |
20734182 | 41 | BuildRequires: glew-devel >= 1.5.1 |
8a5e279e | 42 | BuildRequires: hdf5-devel |
20734182 | 43 | BuildRequires: ilmbase-devel >= 1.0.1 |
4f07e9d7 | 44 | BuildRequires: libstdc++-devel |
20734182 | 45 | BuildRequires: jasper-devel |
e83a6d4b | 46 | BuildRequires: libcineon-devel |
20734182 JB |
47 | BuildRequires: libjpeg-devel |
48 | BuildRequires: libpng-devel | |
49 | BuildRequires: libtiff-devel | |
cf6fcddf | 50 | BuildRequires: libwebp-devel |
2b19192f | 51 | BuildRequires: openjpeg-devel |
4f07e9d7 | 52 | BuildRequires: pugixml-devel |
d46df4d1 | 53 | BuildRequires: ptex-devel >= 2 |
20734182 | 54 | BuildRequires: python-devel >= 1:2.6 |
fc6d7d67 | 55 | BuildRequires: squish-devel >= 1.10 |
20734182 | 56 | %{?with_tbb:BuildRequires: tbb-devel} |
5bef7fef | 57 | BuildRequires: txt2man |
20734182 JB |
58 | BuildRequires: zlib-devel |
59 | Requires: ilmbase >= 1.0.1 | |
60 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
61 | ||
62 | %description | |
63 | OpenImageIO is a library for reading and writing images, and a bunch | |
64 | of related classes, utilities, and applications. It has extremely | |
65 | simple but powerful ImageInput and ImageOutput APIs for reading and | |
66 | writing 2D images that is format agnostic; specific formats are | |
67 | implemented by DLL/DSO plugins. | |
68 | ||
69 | Currently there are format plugins for: TIFF, JPEG/JFIF, OpenEXR, PNG, | |
70 | HDR/RGBE, Targa, JPEG-2000, DPX, Cineon, FITS, BMP, ICO, RMan Zfile, | |
71 | Softimage PIC, DDS, SGI, PNM/PPM/PGM/PBM, Field3d, WebP. | |
72 | ||
73 | %description -l pl.UTF-8 | |
74 | OpenImageIO to biblioteka do odczytu i zapisu obrazów oraz wiele | |
75 | powiązanych klas, narzędzi i aplikacji. Ma bardzo proste, ale mające | |
76 | wiele możliwości API ImageInput i ImageOutput służące do odczytu i | |
77 | zapisu obrazów 2D, które jest niezależne od formatu; konkretne formaty | |
78 | są implementowane przez wtyczki DLL/DSO. | |
79 | ||
80 | Obecnie istnieją wtyczki obsługujące formaty: TIFF, JPEG/JFIF, | |
81 | OpenEXR, PNG, HDR/RGBE, Targa, JPEG-2000, DPX, Cineon, FITS, BMP, ICO, | |
82 | RMan Zfile, Softimage PIC, DDS, SGI, PNM/PPM/PGM/PBM, Field3d, WebP. | |
83 | ||
84 | %package devel | |
85 | Summary: Header files for OpenImageIO library | |
86 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki OpenImageIO | |
87 | Group: Development/Libraries | |
88 | Requires: %{name} = %{version}-%{release} | |
4f07e9d7 | 89 | Requires: libstdc++-devel |
20734182 JB |
90 | |
91 | %description devel | |
92 | Header files for OpenImageIO library. | |
93 | ||
94 | %description devel -l pl.UTF-8 | |
95 | Pliki nagłówkowe biblioteki OpenImageIO. | |
96 | ||
52005a92 JR |
97 | %package plugin-cineon |
98 | Summary: Cineon plugin for OpenImageIO library | |
99 | Summary(pl.UTF-8): Wtyczka Cineon dla biblioteki OpenImageIO | |
100 | Group: Libraries | |
101 | Requires: %{name} = %{version}-%{release} | |
102 | ||
103 | %description plugin-cineon | |
104 | OpenImageIO plugin to read Cineon files. | |
105 | ||
106 | %description plugin-cineon -l pl.UTF-8 | |
107 | Wtyczka biblioteki OpenImageIO czytająca pliki Cineon. | |
108 | ||
fc6d7d67 JB |
109 | %package plugin-dds |
110 | Summary: DDS plugin for OpenImageIO library | |
111 | Summary(pl.UTF-8): Wtyczka DDS dla biblioteki OpenImageIO | |
112 | Group: Libraries | |
113 | Requires: %{name} = %{version}-%{release} | |
114 | Requires: squish >= 1.10 | |
115 | ||
116 | %description plugin-dds | |
d46df4d1 | 117 | OpenImageIO plugin to read DDS files. |
fc6d7d67 JB |
118 | |
119 | %description plugin-dds -l pl.UTF-8 | |
d46df4d1 | 120 | Wtyczka biblioteki OpenImageIO czytająca pliki DDS. |
fc6d7d67 | 121 | |
b238f81f JB |
122 | %package plugin-dpx |
123 | Summary: DPX plugin for OpenImageIO library | |
124 | Summary(pl.UTF-8): Wtyczka DPX dla biblioteki OpenImageIO | |
125 | Group: Libraries | |
126 | Requires: %{name} = %{version}-%{release} | |
127 | ||
128 | %description plugin-dpx | |
129 | OpenImageIO plugin to read and write DPX files. | |
130 | ||
131 | %description plugin-dpx -l pl.UTF-8 | |
132 | Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki DPX. | |
133 | ||
8a5e279e JB |
134 | %package plugin-field3d |
135 | Summary: Field3D plugin for OpenImageIO library | |
136 | Summary(pl.UTF-8): Wtyczka Field3D dla biblioteki OpenImageIO | |
137 | Group: Libraries | |
138 | Requires: %{name} = %{version}-%{release} | |
139 | ||
140 | %description plugin-field3d | |
d46df4d1 | 141 | OpenImageIO plugin to read Field3D files. |
8a5e279e JB |
142 | |
143 | %description plugin-field3d -l pl.UTF-8 | |
d46df4d1 | 144 | Wtyczka biblioteki OpenImageIO czytająca pliki Field3D. |
8a5e279e | 145 | |
20734182 JB |
146 | %package plugin-ico |
147 | Summary: ICO plugin for OpenImageIO library | |
148 | Summary(pl.UTF-8): Wtyczka ICO dla biblioteki OpenImageIO | |
149 | Group: Libraries | |
150 | Requires: %{name} = %{version}-%{release} | |
151 | ||
152 | %description plugin-ico | |
153 | OpenImageIO plugin to read and write ICO files. | |
154 | ||
155 | %description plugin-ico -l pl.UTF-8 | |
156 | Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki ICO. | |
157 | ||
158 | %package plugin-jpeg | |
159 | Summary: JPEG plugin for OpenImageIO library | |
160 | Summary(pl.UTF-8): Wtyczka JPEG dla biblioteki OpenImageIO | |
161 | Group: Libraries | |
162 | Requires: %{name} = %{version}-%{release} | |
163 | ||
164 | %description plugin-jpeg | |
165 | OpenImageIO plugin to read and write JPEG files (with TIFF/EXIF | |
166 | information). | |
167 | ||
168 | %description plugin-jpeg -l pl.UTF-8 | |
169 | Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki JPEG | |
170 | (wraz z informacjami TIFF/EXIF). | |
171 | ||
172 | %package plugin-jpeg2000 | |
173 | Summary: JPEG2000 plugin for OpenImageIO library | |
174 | Summary(pl.UTF-8): Wtyczka JPEG2000 dla biblioteki OpenImageIO | |
175 | Group: Libraries | |
176 | Requires: %{name} = %{version}-%{release} | |
177 | ||
178 | %description plugin-jpeg2000 | |
179 | OpenImageIO plugin to read and write JPEG2000 files. | |
180 | ||
181 | %description plugin-jpeg2000 -l pl.UTF-8 | |
182 | Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki JPEG2000. | |
183 | ||
184 | %package plugin-openexr | |
185 | Summary: OpenEXR plugin for OpenImageIO library | |
186 | Summary(pl.UTF-8): Wtyczka OpenEXR dla biblioteki OpenImageIO | |
187 | Group: Libraries | |
188 | Requires: %{name} = %{version}-%{release} | |
189 | Requires: OpenEXR >= 1.6.1 | |
190 | ||
191 | %description plugin-openexr | |
192 | OpenImageIO plugin to read and write OpenEXR files. | |
193 | ||
194 | %description plugin-openexr -l pl.UTF-8 | |
195 | Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki OpenEXR. | |
196 | ||
197 | %package plugin-png | |
198 | Summary: PNG plugin for OpenImageIO library | |
199 | Summary(pl.UTF-8): Wtyczka PNG dla biblioteki OpenImageIO | |
200 | Group: Libraries | |
201 | Requires: %{name} = %{version}-%{release} | |
202 | ||
203 | %description plugin-png | |
204 | OpenImageIO plugin to read and write PNG files. | |
205 | ||
206 | %description plugin-png -l pl.UTF-8 | |
207 | Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki PNG. | |
208 | ||
52005a92 JR |
209 | %package plugin-psd |
210 | Summary: PSD plugin for OpenImageIO library | |
211 | Summary(pl.UTF-8): Wtyczka PSD dla biblioteki OpenImageIO | |
212 | Group: Libraries | |
213 | Requires: %{name} = %{version}-%{release} | |
214 | ||
215 | %description plugin-psd | |
216 | OpenImageIO plugin to read and write PSD files. | |
217 | ||
218 | %description plugin-psd -l pl.UTF-8 | |
219 | Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki PSD. | |
220 | ||
d46df4d1 JB |
221 | %package plugin-ptex |
222 | Summary: Ptex plugin for OpenImageIO library | |
223 | Summary(pl.UTF-8): Wtyczka Ptex dla biblioteki OpenImageIO | |
224 | Group: Libraries | |
225 | Requires: %{name} = %{version}-%{release} | |
226 | Requires: ptex >= 2 | |
227 | ||
228 | %description plugin-ptex | |
229 | OpenImageIO plugin to read Ptex files. | |
230 | ||
231 | %description plugin-ptex -l pl.UTF-8 | |
232 | Wtyczka biblioteki OpenImageIO czytająca pliki Ptex. | |
233 | ||
cf6fcddf JR |
234 | %package plugin-webp |
235 | Summary: WebP plugin for OpenImageIO library | |
236 | Summary(pl.UTF-8): Wtyczka WebP dla biblioteki OpenImageIO | |
237 | Group: Libraries | |
238 | Requires: %{name} = %{version}-%{release} | |
239 | ||
240 | %description plugin-webp | |
241 | OpenImageIO plugin to read and write WebP files. | |
242 | ||
243 | %description plugin-webp -l pl.UTF-8 | |
244 | Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki WebP. | |
245 | ||
20734182 JB |
246 | %package plugin-tiff |
247 | Summary: TIFF plugin for OpenImageIO library | |
248 | Summary(pl.UTF-8): Wtyczka TIFF dla biblioteki OpenImageIO | |
249 | Group: Libraries | |
250 | Requires: %{name} = %{version}-%{release} | |
251 | ||
252 | %description plugin-tiff | |
253 | OpenImageIO plugin to read and write TIFF files. | |
254 | ||
255 | %description plugin-tiff -l pl.UTF-8 | |
256 | Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki TIFF. | |
257 | ||
258 | %package apidocs | |
259 | Summary: Programmer documentation for OpenImageIO library | |
260 | Summary(pl.UTF-8): Dokumentacja programisty do biblioteki OpenImageIO | |
261 | Group: Documentation | |
262 | ||
263 | %description apidocs | |
264 | Programmer documentation for OpenImageIO library. | |
265 | ||
266 | %description apidocs -l pl.UTF-8 | |
267 | Dokumentacja programisty do biblioteki OpenImageIO. | |
268 | ||
269 | %package iv | |
270 | Summary: Qt/OpenImageIO-based Image Viewer | |
271 | Summary(pl.UTF-8): Przeglądarka obrazków (IV) oparta o Qt i OpenImageIO | |
272 | Group: X11/Applications/Graphics | |
273 | Requires: %{name} = %{version}-%{release} | |
274 | Requires: glew >= 1.5.1 | |
275 | ||
276 | %description iv | |
277 | IV is an image viewer based on ImageIO plugins; therefore it can read | |
278 | images of any format for which an appropriate plugin may be found. | |
279 | ||
280 | %description iv -l pl.UTF-8 | |
281 | IV to przeglądarka obrazków oparta na wtyczkach ImageIO; dzięki temu | |
282 | jest w stanie odczytać obrazy w dowolnym formacie, dla którego | |
283 | istnieje właściwa wtyczka. | |
284 | ||
285 | %package -n python-OpenImageIO | |
286 | Summary: Python binding for OpenImageIO library | |
287 | Summary(pl.UTF-8): Wiązanie Pythona do biblioteki OpenImageIO | |
288 | Group: Libraries/Python | |
289 | Requires: %{name} = %{version}-%{release} | |
290 | ||
291 | %description -n python-OpenImageIO | |
292 | Python binding for OpenImageIO library. | |
293 | ||
294 | %description -n python-OpenImageIO -l pl.UTF-8 | |
295 | Wiązanie Pythona do biblioteki OpenImageIO. | |
296 | ||
297 | %prep | |
b6dc087e | 298 | %setup -q -n OpenImageIO-oiio-bcdad81 |
40b0de7c | 299 | %patch0 -p1 |
b6dc087e | 300 | |
8a5e279e | 301 | %patch2 -p1 |
fc6d7d67 | 302 | %patch3 -p1 |
d46df4d1 | 303 | %patch4 -p1 |
b238f81f JB |
304 | %patch5 -p1 |
305 | %patch6 -p1 | |
725e24e0 | 306 | %patch7 -p1 |
aa41c492 | 307 | %patch8 -p1 |
05e8614e AM |
308 | %patch9 -p1 |
309 | %patch10 -p1 | |
fc6d7d67 | 310 | |
d46df4d1 | 311 | %{__rm} -r src/dds.imageio/squish src/ptex.imageio/ptex |
4f07e9d7 JB |
312 | # when using system pugixml, don't use hacked headers |
313 | %{__rm} src/include/pugi*.hpp | |
20734182 JB |
314 | |
315 | %build | |
316 | install -d build | |
317 | cd build | |
318 | %cmake ../src \ | |
319 | -DEMBEDPLUGINS=OFF \ | |
67c89aae | 320 | -DOPENJPEG_INCLUDE_DIR=%{_includedir}/openjpeg-1.5 \ |
52005a92 | 321 | -DINCLUDE_INSTALL_DIR=%{_includedir}/%{name} \ |
4f07e9d7 | 322 | -DPYLIB_INSTALL_DIR=%{py_sitedir} \ |
20734182 | 323 | -DPYTHON_VERSION=%{py_ver} \ |
4f07e9d7 JB |
324 | -DUSE_EXTERNAL_PUGIXML=ON \ |
325 | %{!?with_ocio:-DUSE_OCIO=OFF} \ | |
326 | %{!?with_tbb:-DUSE_TBB=OFF} | |
20734182 JB |
327 | |
328 | %{__make} | |
329 | ||
330 | %install | |
331 | rm -rf $RPM_BUILD_ROOT | |
332 | ||
333 | %{__make} -C build install \ | |
334 | DESTDIR=$RPM_BUILD_ROOT | |
335 | ||
336 | # name clash with iv | |
40b0de7c | 337 | %{__mv} -f $RPM_BUILD_ROOT%{_bindir}/{iv,oiiv} |
5bef7fef | 338 | %{__mv} -f $RPM_BUILD_ROOT%{_mandir}/man1/{iv,oiiv}.1 |
20734182 | 339 | |
52005a92 JR |
340 | # installed as %doc |
341 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc/openimageio | |
342 | ||
20734182 JB |
343 | %clean |
344 | rm -rf $RPM_BUILD_ROOT | |
345 | ||
346 | %post -p /sbin/ldconfig | |
347 | %postun -p /sbin/ldconfig | |
348 | ||
349 | %files | |
350 | %defattr(644,root,root,755) | |
aa41c492 | 351 | %doc CHANGES CREDITS LICENSE README.rst |
20734182 JB |
352 | %attr(755,root,root) %{_bindir}/iconvert |
353 | %attr(755,root,root) %{_bindir}/idiff | |
354 | %attr(755,root,root) %{_bindir}/igrep | |
355 | %attr(755,root,root) %{_bindir}/iinfo | |
20734182 | 356 | %attr(755,root,root) %{_bindir}/maketx |
52005a92 | 357 | %attr(755,root,root) %{_bindir}/oiiotool |
20734182 | 358 | %attr(755,root,root) %{_libdir}/libOpenImageIO.so.*.*.* |
aa41c492 | 359 | %attr(755,root,root) %ghost %{_libdir}/libOpenImageIO.so.1.2 |
20734182 | 360 | %attr(755,root,root) %{_libdir}/bmp.imageio.so |
20734182 JB |
361 | %attr(755,root,root) %{_libdir}/fits.imageio.so |
362 | %attr(755,root,root) %{_libdir}/hdr.imageio.so | |
52005a92 | 363 | %attr(755,root,root) %{_libdir}/iff.imageio.so |
20734182 | 364 | %attr(755,root,root) %{_libdir}/pnm.imageio.so |
52005a92 | 365 | %attr(755,root,root) %{_libdir}/rla.imageio.so |
20734182 JB |
366 | %attr(755,root,root) %{_libdir}/sgi.imageio.so |
367 | %attr(755,root,root) %{_libdir}/socket.imageio.so | |
368 | %attr(755,root,root) %{_libdir}/softimage.imageio.so | |
369 | %attr(755,root,root) %{_libdir}/targa.imageio.so | |
370 | %attr(755,root,root) %{_libdir}/zfile.imageio.so | |
5bef7fef JR |
371 | %{_mandir}/man1/iconvert.1* |
372 | %{_mandir}/man1/idiff.1* | |
373 | %{_mandir}/man1/igrep.1* | |
374 | %{_mandir}/man1/iinfo.1* | |
5bef7fef JR |
375 | %{_mandir}/man1/maketx.1* |
376 | %{_mandir}/man1/oiiotool.1* | |
20734182 JB |
377 | |
378 | %files devel | |
379 | %defattr(644,root,root,755) | |
380 | %attr(755,root,root) %{_libdir}/libOpenImageIO.so | |
381 | %{_includedir}/OpenImageIO | |
382 | ||
52005a92 JR |
383 | %files plugin-cineon |
384 | %defattr(644,root,root,755) | |
385 | %attr(755,root,root) %{_libdir}/cineon.imageio.so | |
386 | ||
fc6d7d67 JB |
387 | %files plugin-dds |
388 | %defattr(644,root,root,755) | |
389 | %attr(755,root,root) %{_libdir}/dds.imageio.so | |
390 | ||
b238f81f JB |
391 | %files plugin-dpx |
392 | %defattr(644,root,root,755) | |
393 | %attr(755,root,root) %{_libdir}/dpx.imageio.so | |
394 | ||
8a5e279e JB |
395 | %files plugin-field3d |
396 | %defattr(644,root,root,755) | |
397 | %attr(755,root,root) %{_libdir}/field3d.imageio.so | |
398 | ||
20734182 JB |
399 | %files plugin-ico |
400 | %defattr(644,root,root,755) | |
401 | %attr(755,root,root) %{_libdir}/ico.imageio.so | |
402 | ||
403 | %files plugin-jpeg | |
404 | %defattr(644,root,root,755) | |
405 | %attr(755,root,root) %{_libdir}/jpeg.imageio.so | |
406 | ||
407 | %files plugin-jpeg2000 | |
408 | %defattr(644,root,root,755) | |
409 | %attr(755,root,root) %{_libdir}/jpeg2000.imageio.so | |
410 | ||
411 | %files plugin-openexr | |
412 | %defattr(644,root,root,755) | |
413 | %attr(755,root,root) %{_libdir}/openexr.imageio.so | |
414 | ||
415 | %files plugin-png | |
416 | %defattr(644,root,root,755) | |
417 | %attr(755,root,root) %{_libdir}/png.imageio.so | |
418 | ||
52005a92 JR |
419 | %files plugin-psd |
420 | %defattr(644,root,root,755) | |
421 | %attr(755,root,root) %{_libdir}/psd.imageio.so | |
422 | ||
d46df4d1 JB |
423 | %files plugin-ptex |
424 | %defattr(644,root,root,755) | |
425 | %attr(755,root,root) %{_libdir}/ptex.imageio.so | |
426 | ||
20734182 JB |
427 | %files plugin-tiff |
428 | %defattr(644,root,root,755) | |
429 | %attr(755,root,root) %{_libdir}/tiff.imageio.so | |
430 | ||
cf6fcddf JR |
431 | %files plugin-webp |
432 | %defattr(644,root,root,755) | |
433 | %attr(755,root,root) %{_libdir}/webp.imageio.so | |
434 | ||
20734182 JB |
435 | %files apidocs |
436 | %defattr(644,root,root,755) | |
437 | %doc src/doc/openimageio.pdf | |
438 | ||
439 | %files iv | |
440 | %defattr(644,root,root,755) | |
441 | %attr(755,root,root) %{_bindir}/oiiv | |
5bef7fef | 442 | %{_mandir}/man1/oiiv.1* |
20734182 JB |
443 | |
444 | %files -n python-OpenImageIO | |
445 | %defattr(644,root,root,755) | |
446 | %attr(755,root,root) %{py_sitedir}/OpenImageIO.so |