سیمبیان
|
|
ممکن است این مقاله نیازمند ویکیسازی باشد تا با استانداردهای کیفی ویکیپدیا همخوانی یابد. خواهشمندیم با افزودن پیوندهای داخلی مرتبط، یا با بهبود چیدمان به بهبود آن کمک کنید.
برای جزئیات بیشتر روی [نمایش] کلیک کنید.
هیچ دلیلی برای این برچسب ویکیسازی ذکر نشدهاست. میتوانید دلیلتان را با استفاده از پارامتر
|
| شرکت سازنده | سیمبیان (با مسئولیت محدود) |
|---|---|
| نوع هسته | Real Time |
| نوع منبع | مشترک |
| پلاتفرم | ARM (قابل شبیه سازی روی x86) |
| اجازهنامه | نرمافزار مالکیتی |
| وضعیت | رایج |
سیمبیان نام سیستمعاملی برای گوشیهای تلفن همراه است. سیمبیان را پیش از این گروهی از شرکتها مانند نوکیا، اریکسون، سونی اریکسون، پاناسونیک و سامسونگ پشتیبانی میکردند، ولی در ۲۴ ژوئن ۲۰۰۸ نوکیا همهٔ سهام آن را خرید.
محتویات |
Symbian چیست؟[ویرایش]
در ابتدا تلفنهای همراه دارای ساختار پیچیدهای نبودند. سختافزار محدود نیاز به نرمافزارهای پیچیده نداشت، تا اینکه شرکتهای مطرح ساخت گوشیهای تلفن همراه نسلهای دوم و سوم گوشیهای خود را عرضه کردند. این گوشیها دارای امکانات سختافزاری بیشتری بودند که شامل پردازنده، حافظه و دیسک سخت بوده و تقریباً به صورت یک رایانه کوچک طراحی شدند. در این زمان بود که این شرکتها به اهمیت نرمافزار در این گوشیها پی برده و رقابت نرمافزاری در کنار رقابت سختافزاری شروع شد. مایکروسافت یکی از شرکتهایی بود که قبلا روی سیستمعامل رایانههای جیبی خود کار کرده بود و ویندوز سیای را به همین منظور طراحی کرده بود. این ویندوز قابلیت این را داشت که روی موبایلها نیز نصب شود. بعد از رسمیت یافتن موبایلهای نسل جدید شرکتهای مطرح در این صنعت که به مشکلات بی شمار ویندوز سیای پی برده بودند و نمیخواستند نرمافزار این صنعت را در انحصار یک شرکت نگه دارند با همکاری هم سیستمعامل جدیدی برای موبایلها به وجود آوردند که سیمبیان نام گرفت.
پیدایش و حیات سیمبیان[ویرایش]
داستان بوجود آمدن Symbian نیز در نوع خود جالب است. داستان ما از شرکت کوچک انگلیسی-کانادائی با نام Psion آغاز می شود که در سال ۱۹۸۰ با هدف تولید نرمافزارهای سرگرمی که عمدتاً بازیهای مبتنی بر کامپیوترهای اولیه ZX۸۱ بود، بوجود آمد (نام Psion برگرفته از Potter Scientific Instruments Or Nothing). در سال ۱۹۸۳ شرکت همکار Psion با نام Sinclair به آن پیشنهاد تولید نرمافزاری کاربردی نظیر Office امروزی را داد که نتیجه آن تولید پکیجی با نام QL شد که دارای نرمافزارهای Quill (پردازنده متن)، Archive (بانک اطلاعاتی)، Abacus (برنامه مشابه Excel) و Easel (برنامه گرافیکی مدیریت) بود که این مجموعه بعدها با نام PC-Four یا Xchange وارد سیستمعامل MS-DOS نیز شد. علاوه بر آن در سال ۱۹۸۴ شرکت Psion با ارائه Psion Organiser، که در حقیقت نسخه ابتدائی PDAهای امروزی ست، پا در عرصه سختافزاری نیز گذاشت که شباهت زیادی به یک ماشین حساب بسیار بزرگ داشت. در سال ۱۹۸۶ شرکت Psion با اعمال تغییرات و اصلاحیههای فراوان Psion Organiser II را معرفی نمود که شرکت Psion را به آینده روشن PDA و سیستمعامل پرتاب کرد و تمرکز اصلی شرکت را بروی این مقوله متمرکز نمود. در سال ۱۹۸۷ شرکت Psion با ارائه محصولات جدید خود بر پایه پلاتفرم جدید آن شرکت با نام SIBO، سیستمعامل جدید مخصوص به محصولات خود را نیز معرفی کرد سیستمعاملی با نام EPOC (Electronic Piece Of Cheese). اولین نسخه این سیستمعامل جدید بر پایه تکنولوژی ۱۶ بیتی ارائه شد و بر همین اساس EPOC ۱۶ نام گرفت و زبان برنامه نویسی که در ساختار آن به کار گرفته شده بود زبان اسمبلی و C بود. تا ارائه نسل جدید این سیتم عامل سالهای نسبتاً زیادی گذشت تا اینکه در سال ۱۹۹۷ نخستین نمونه از سیستمعامل جدید با نام EPOC ۳۲ در جدیدترین PDA شرکت به نمایش گذاشته شد. در حقیقت تنها وجه تشابه میان این دو سیستمعامل بدون شک نامهای نسبتاً مشابه آنها بود جائیکه سیسم عامل جدید (که اینک به اختصار تنها EPOC نامیده میشد) با زبان برنامه نویسی قدرتمند C++ و ساختار جدید کد نویسی خود کاملاً از رقیب کهنسال خود بالاتر و سریع تر بود. یکی از نکات مهم در ساختار این سیتم عامل این بود که EPOC تنها برای پردازندههای ARM نوشته و بهینه شده بود. در همین اثنا بود که Psion تصمیم گرفت امتیاز تولیدمحصولات بر پایه این سیستمعامل را با شرکت دیگری شریک شود، اولین شرکت در این میان شرکت کوچکی بود با نام "Geofox" که تنها با تولید چیزی نزدیک به ۱۰۰۰ عدد از محصولات Psion کناره گیری خود را اعلام کرد. سپس شرکت بزرگ Ericsson و چندین نام کوچکتر در این میان مطرح گردیدند. تا اینکه در سال ۱۹۹۸ شرکت Psion با شراکت با بزرگان دنیای موبایل یعنی Ericsson، Motorola و Nokia به کل متحول گردید و سیستمعامل EPOC از ویرایش ششم به بعد با نام Symbian خوانده شد.
شرکتهای به وجود آورنده[ویرایش]
۱۴ شرکت اصلی و چند شرکت فرعی از به وجود آوردندگان این محصول بودند، بعضی از این شرکتها در زمینه نرمافزار و بعضی از آنها در زمینه سختافزار به رشد این سیستمعامل و موبایلهای آن کمک کردهاند. در این زمینه نوکیا با ۴۷٫۹% پیشتاز است و پس از آن Ericsson با ۱۵٫۶%، SonyEricsson با ۱۳٫۱%، پاناسونیک با ۱۰٫۵%، Siemens با ۸٫۴% و سامسونگ با ۴٫۵% قرار دارند
فناوری سیمبیان[ویرایش]
Symbian سیستمعاملی ست برای وسایل دستی و همراه پس میبایست قدرت ارائه بالاترین کارائی در پائینترین امکانات سختافزاری را داشته باشد بنابراین و با در نظر گرفتن این ویژگی بسیار کم پیش میآید که در این سیستمعامل با موضوع کمبود حافظه روبرو شویم. یکی دیگر از ویژگیهایی که Symbian را از سیستمعاملهای دیگر نظیر دسک تاپها متمایز میکند این است که ممکن است این سیستمعامل برای ماهها و شاید سالها روشن و مشغول به کار باقی بماند بنابراین قدرت پایداری و Stability این سیستم میبایست در سطح بسیار بالائی باشد. از دیگر ویژگیهای Symbian ویژگی است با نام Active Objects که در آن در لحظاتی که از CPU استفاده نمیشود بطور کلی آن را خاموش میکند و به این ترتیب در مصرف باتری بسیار صرفه جوئی میگردد. زبان برنامه نویسی اصلی Symbian همانگونه که اشاره شد C++ میباشد که البته این بدان معنی نیست که نمیتوان برنامههای دیگر را در ساختار آن استفاده کرد. در حقیقت میتوان توسط زبانهای برنامه نویسی دیگری نظیر OPL،Python، ویژوال بیسک و یا حتی Perl و جاوا نیز برای Symbian برنامه نوشت. از لحاظ ساختاری در پائینترین لایه، هسته یا کرنل سیستمعامل بهمراه کتابخانه توابع قرار دارد که به توسط آن برنامههای اجرا شده توسط کاربران اجازه مییابند که به این توابع کتابخانهای دسترسی پیدا کنند. در حقیقت هسته اصلی Symbian بر پایه معماری میکرو کرنل (MicroKernel Architecture) بنا شدهاست بدین معنی که در ساختار آن کمترین رجوع و استفاده از کرنل توسط سیستمعامل انجام میشود و کلا این هسته شامل دو عنصر مدیریت حافظه و Schedular (زمانبند) میباشد و در آن خبری از پشتیبانی از فایلهای سیستمی و یا عناصر شبکه وجود ندارد و در حقیقت اینگونه وظایف به عهده سرورهای خارج از کرنل واگذار شدهاست تا با محدود کردن وظایف کرنل سیستمعامل کند و سنگین نگردد. اندکی بالاتر و در لایه بعدی سیستم، قسمت System Libraries قرار دارد که در آن اندازه و ظاهر تمام شکلها و کاراکترها بهمراه بانک اطلاعاتی DBMS قرار دارد که جزئی حیاتی از کارکرد متعادل سیستم میباشند. لایه بعدی Networking and communication نام دارد که در آن سه بخش قابل تفکیک دیده میشود با نامهای: ETEL، ESOCK و C۳۲ که هر کدام وظایف خاصی در رابطه با ارتباطات پیرامون این سیستمعامل بعهده دارند بهعنوان مثال قسمت C۳۲ مسئول بخش ارتباطات سریال دستگاه میباشد. علاوه بر این قسمتهایی برای ارتباطات کوتاه نظیر بلوتوث IrDA و USB نیز در این بخش تعبیه شدهاست. بخش عمده دیگری که در ساختار سیستمعامل یافت میشود بخشی است با نام UIKON که مسئول شیوه نمایش رابط کاربری (User Interface) میباشند و چون معمولاً این قسمت توسط برنامههای جانبی (Themeها بهعنوان مثال) قابل تغییر است لذا تنها رابط کاربری پیش فرض در اینجا دیده میشود
ورژنهای مختلف سیستم عامل سیمبیان[ویرایش]
- نسخه ۱ تا ۵ از این سیستم عامل -پیش از تغییر نام- با نام EPOC منتشر میشد.
- اولین نسخهای که سیمبیان نامیده شد نسخه ۶ بود. و ۶٫۱ که بروز رسانی اس برای نسخه ۶ بود و در سال ۲۰۰۱ منتشر شد.
- نسخه ۷٫۰ و 7.0s در سال ۲۰۰۳ منتشر شد. گوشی ۶۶۰۰ از این نسخهٔ سیستم عامل سیمبیان استفاده میکرد.
- نسخه ۸٫۰ در سال ۲۰۰۴ منتشر شد.
- نسخه ۸٫۱ در سال ۲۰۰۵ منتشر شد.
- نسخه ۹٫۰ در سال ۲۰۰۴ منتشر شد و کارهای اساسی بر روی کد سیمبیان برای بالابردن امنیت سیستم عامل اجرا شد.
- نسخه ۹٫۱ در سال ۲۰۰۵ منتشر شد و بازهم تاکید بر روی بالا رفتن امنیت سیستم عامل بود. همچنین پشتیبانی از تکنولوژی بلوتوث ۲٫۰ اضافه شد. رابط کاربری S60 نسخه سوم با این سیستم عامل ارائه میشد.
- نسخه ۹٫۲ در سال ۲۰۰۶ منتشر شد و گوشیهای Nokia E71, Nokia E90, Nokia N95, Nokia N82, Nokia N81 , Nokia 5700 با این سیستم عامل ارائه شدند.
- نسخه ۹٫۳ در نیمه دوم سال ۲۰۰۶ ارائه شد و پشتیبانی از wifi به هسته سیستم عامل اضافه شد. گوشیهای Nokia E72, Nokia 5730 XpressMusic, Nokia N79, Nokia N96, Nokia E52, Nokia E75, Nokia 5320 XpressMusic, Sony Ericsson P1 از این سیستم عامل بهره میبرند.
- نسخه ۹٫۴ در سال ۲۰۰۷ منتشر شد و ادعا میکند که برنامهها تا ۷۵% سریعتر از قبل اجرا میشوند. همچنین پشتیبانی از SQLite به سیستم عامل اضافه شد. گوشیهای Samsung i8910 Omnia HD, Nokia N86 , Nokia N97, Nokia N97 mini, Nokia 5800 XpressMusic, Nokia 5530 XpressMusic, Nokia 5228, Nokia 5230, Nokia 5233, Nokia 5235, Nokia C6-00, Nokia X6, Sony Ericsson Satio, Sony Ericsson Vivaz and Sony Ericsson Vivaz Pro از این سیستم عامل استفاده میکنند. این نسخه از سیستم عامل سیمبیان با رابط کاربری s60 نسخه ۵ ارائه شد و نوکیا اسم این ترکیب را پلتفرم symbian^1 گذاشت.
- نسخه ۹٫۵ در سال ۲۰۰۷ منتشر شد و پشتیبانی از تلویزیون دیجیتال موبایلی با فرمت DVB-H و ISDB-T و نیز پشتیبانی از سرویس GPS به سیستم عامل اضافه شد. این نسخه از سیستم عامل سیمبیان با رابط کاربری s60 نسخه ۵٫۲ ارائه شد و نوکیا اسم این ترکیب را پلتفرم symbian^3 گذاشت. گوشیهای Nokia C6-01 و Nokia C7-00 و Nokia E7-00 و Nokia N8 از این نسخهٔ سیمبیان استفاده میکنند.
- نسخه AnnA و بعد مدت کوتاهی Belle در سال ۲۰۱۱ منتشر شدند و به روز رسانی ای بر اساس نسخه ۹٫۵ هستند. در این دو نسخه از سیمبیان، هسته سیستم عامل همان نسخه ۹٫۵ است، اما امکانات جدیدی به آن اضافه شده.
امکانات اضافه شده در نسخه آنا: کیبورد کوئرتی در حالت portrait، طراحی آیکونهای جدید، یک مرورگر وب جدید، نرم افزار نقشه جدید(با قابلیت ذخیره نقشهٔ یک کشور بر روی حافظه گوشی از طریق اتصال به WIFI) و پشتیبانی از java Runtime 2.2 به سیستم عامل سیمبیان نسخه ۹٫۵ اضافه شد. گوشیهای نوکیا ۵۰۰ و X7 و E6 و 702T از نسخه anna استفاده میکنند امکانات اضافه شده در نسخه belle: ویجتهای قابل تغییر سایز، استاتوس بار بهینه شده در بالای صفحه، NFC داخلی، و بهینه سازی حالت قفل صفحه نمایش. گوشیهایی که از سیستم عامل Anna استفاده میکنند میتوانند گوشی خود را به نسخهٔ Belle ارتقا دهند. هم اکنون گوشیهای Nokia 600 , 603 , 700 , 701 از نسخه belle استفاده میکنند. نوکیا در اوایل سال ۲۰۱۳ قرار است سیستم عامل سیمبین donna و carla را به این مجموعه اضافه کند که در نسخه این سیستم عامل میتواند از پردازنده ددو هستهای پشتیبانی کند.[۱]
نوکیا با پلتفرم Symbian^3 امیدوار است بتواند بخشی از سهم از دست رفتهٔ خود را در بازار موبایلهای هوشمند به دست آورد.
رابط کاربری S60[ویرایش]
سیستم عامل سیمبیان بر روی رابط کاربریهای متفاوتی ارائه میشود. تاکنون دو رابط کاربری برای سیمبیان نوشته شدهاست. اولین و محبوب ترین رابط کاربری سیمبیان، S60 نام دارد (نام پیشین: Series 60) و توسط نوکیا ایجاد شدهاست. این رابط کاربری دارای نسخههای ۱ و ۲ و ۳ و ۵ است. (نوکیا اعلام کرد که چون عدد ۴ در برخی کشورهای آسیایی عدد بد شانسی است، ورژن چهاری ارائه نخواهد کرد و بعد از ۳ مستقیم نسخه ۵ را داد). در میان این نگارشها نیز هر از چند گاهی اصلاحیههایی با نام Feature Packها ارائه میگردد. مشخصه عمده گوشیهای دارای رابط کاربری S۶۰ این است که در آنها میتوان از برنامههای مبتنی بر Java MIDP، C++ و Python نیز استفاده نمود.
-
- بنیاد سیمبیان نسخه ۵ از این رابط کاربری را پلتفرم Symbian^1 نامید.
- همچنین نسخه ۵٫۱ رابط کاربری S60 بنام پلتفرم Symbian^2 شناخته شد.
- همچنین نسخه ۵٫۲ از این رابط کاربری بعنوان پلتفرم Symbian^3 نامیده شد. سیمبیان Belle و Anna هم به روز رسانیهای نسخهٔ ۵٫۲ هستند. [۲]
رزولوشن پیش فرض S۶۰ در نگارش اولیه ۲۰۸×۱۷۶ پیکسل بود که از Feature Pack شماره ۳ نگارش دوم S۶۰ به بعد این رابط توانائی ساپورت رزولوشنهای ۲۰۸×۱۷۶، ۳۲۰×۲۴۰ و ۴۱۶×۳۵۲ پیکسلی را متناسب با نوع گوشی دارا شد. البته در این میان رزولوشنهای عجیب و غریب متناسب با ظاهر گوشی شکل گرفت مثلاً Siemens SX۱ با رزولوشن ۲۲۰×۱۷۶ و یا Nokia ۵۵۰۰ با رزولوشن ۲۰۸×۲۰۸ پیکسلی.
رابط کاربری UIQ[ویرایش]
رابط کاربری دیگر سیمبیان با نام UIQ به وجود آمد که دارای امکان استفاده از صفحهٔ لمسی با قلم بود. رابط کاربری UIQ بر مبنای زبان برنامه نویسی C++ شکل گرفتهاست و در آن میتوان از برنامههای Java نیز استفاده کرد (خبری از پشتیبانی از Python در آن نیست). UIQ دارای سه نسخه اصلی و چند ریزنسخهاست، ولیکن یکی از نکات مشترک در ساختار همه نسخهها شکل گرفتن تقریباً تمامی آنها بر پایه صفحه حساس به تماس و قلم است. رزولوشن صفحه نمایش در نسخههای UIQ 1.X و UIQ 2.X برابر ۳۲۰×۲۰۸ پیکسل و در نسخه UIQ 3.X بر پایه ۳۲۰×۲۴۰ پیکسل میباشد. یکی از نکات جالب در مورد گوشیهای دارای UIQ مسئله عمق رنگ است که با توجه به مدل گوشی، این عمق رنگ ۱۲ بیت (با ۴۰۹۶ رنگ)،۱۶ بیت (با ۶۵ هزار رنگ) و یا ۱۸ بیت (با ۲۶۲ هزار رنگ) میباشد که شاید این یکی از دلایل ۱۶ میلیون رنگی نبودن گوشیهای سونی اریکسون باشد(حداقل در مورد مدلهای سیستمعامل دار آن). آخرین نسخهای که از UIQ منتشر شدهاست نسخه ۳٫۱ آن است که تا در گوشیهایی مانند Motorola Z8 و Motorola Z۱۰ استفاده شدهاست.
- مرگ رابط کاربری UIQ:
دو کمپانی سونی اریکسون و موتورولا که دارندگان حق امتیاز UIQ بودند در سال ۲۰۰۹ رسما اعلام کردند که دیگر از رابط کاربری UIQ در گوشیهای خود استفاده نخواهند کرد و اینگونه بود که این رابط کاربری رسما تعطیل اعلام شد. بنیاد سیمبیان هم در سال ۲۰۰۸ اعلام کرد که نسخههای بعدی سیمبیان فقط با رابط کاربری S60 ارائه خواهند شد.
زبانهای برنامه نویسی برای سیمبیان[ویرایش]
بدون شک زبان اصلی برنامه نویسی برای سیمبیان زبان ++C است اما زبانهای مختلفی برای برنامه نویسی در این سیستمعامل به وجود آمدهاند.
++C
سیستمعامل symbian با زبان ++c نوشته شده و بهمین دلیل این زبان بهعنوان زبان اولیه برای برنامه نویسی در آن انتخاب شدهاست. ++c بیشترین امکان دسترسی به APIهای سیستمعامل سیمبیان را فراهم میکند و بهترین کارکرد در حافظه و سرعت اجرا را داراست. اما در گزینههای زیر باید ازین زبان استفاده شود:
برنامههایی که مانند سرور عمل میکنند مانند برنامههایی که در پشت صحتنه کار میکنند و یکی از بخشهای سیستم را مدیریت میکنند. مانند پورتهای COM PLUG inها که محیطی را بر پایه سیستمعامل ایجاد میکنند. بطور مثال برنامهای که فایلهای html را به فایلهای word سیمبیان تبدیل میکند از کتابخانه مبدل سیستمعامل استفاده میکند. درایورهای دستگاه که با Kernel کار متعامل میکنند. استفاده از زبان ++c در سیستمعامل سیمبیان بر روی مناسب بودن کارکرد گوشیها متمرکز شدهاست، که بدین معناست که چند تا از عملگرهای استاندارد زبان ++c مانند مدیریت استثناها قابل استفاده در برنامه نویسی سیمبیان نیستند.
JAVA
جاوا اکثرا بهعنوان زبان برادر ++c و جایگزین آن در سیمبیان کاربرد دارد. سیستمعامل symbian یک MIDP (Mobile Information Device Profile)را فراهم کردهاست که MIDP یک گروه از APIهای جاوا را در خود جای داده که این APIها برای استفاده در گوشیهای موبایل طراحی شدهاند. مثلاً برای مقاصد طراحی واسط کاربر، شبکه و برنامهها. MIDP تحت کلاسهای ایجاد شده توسط CLDC اجرا میشود و از ماشین مجازی K استفاده میکند که یک ماشین مجازی طراحی شده برای گوشیهای موبایل است. پشتیبانی سیمبیان از نصب و اجرای برنامههای MIDP در راهنمای MIDP جاوا توضیح داده شدهاست.
PersonalJava ۱٫۱.۱ و JavaPhone که در سیمبیان ورژن ۶ آمدند در ورژن ۷ دیگر بخشی از سیستمعامل نیستند.
Python
زبان پایتون و برنامه نویسی اپن سورس جدیدا وارد دنیای سیمبیان و برنامه نویسی موبایل شدهاست. مفسرها و ابزاری چون py2sis (برای تبدیل کد پایتون به فایل sis) نیز توسط شرکت نوکیا اراءه شدهاست. هم اکنون برنامههای نوشته شده با پایتون بخوبی بر روی سری ۶۰ نوکیا اجرا میگردند.
Assembler
اکثر مقاصد برنامه نویسی با زبان ++c مرتفع میگردد. چون این زبان به اندازه کافی دسترسی به بخشهای سطح پایین سیستم را فراهم میکند و نیاز به اسمبلر حس نمیشود. سیمبیان در موارد خاص که بیشترین کارایی مطرح است از اسمبلر استفاده میکند مانند برنامههای scheduler.
JavaScript
جاوا اسکریپت پروسس کلاینت ساید روی صفحات html را بر عهده دارد و اکثرا برای بررسی درستی ورودی کاربر استفاده میشود.
WML Script
این زبان یک زبان اسکریپتی WAP است که با جاوا اسکریپت اهداف یکسانی را دنبال میکنند. اما در یک مرورگر WAP استفاده میشود.
C
این زبان بطور نرمال برای نوشتن برنامههای جدید سیمبیان استفاده نمیشه، اما میتونه یک انتخاب برای شما باشه هنگامی که میخواهید کد C را به سیمبیان تبدیل کنید. برای این هدف سیمبیان شامل یک جعبه ابزار از کتابخانه استاندارد C میباشد.
OPL
یک زبان مانند بیسیک است که روی PDAها فعال شده بود. اما در سیمبیان ورژن ۷ ساپورت نمیشود.
پیوند به بیرون[ویرایش]
- صفحهٔ اصلی بنیاد سیمبیان
- شبکهٔ رسمی توسعهدهندگان سیمبیان
- انجمن تخصصی سیمبیان در ایران - تولید نرم افزارهای فارسی
منابع[ویرایش]
- ↑ http://en.wikipedia.org/wiki/History_of_Symbian ویکیپدیای انگلیسی
- ↑ رابطهای کاربری سیمبیان http://www.macromediax.com/learn/archive.asp?id=126
|
||||||||||||||||||||||||||||||||||||||||||||||||||