text:
"use strict";

! function(root, factory) {
    if ("function" === typeof define && define.amd) {
        define((function(require) {
            factory(require("devextreme/localization"))
        }))
    } else if ("object" === typeof module && module.exports) {
        factory(require("devextreme/localization"))
    } else {
        factory(DevExpress.localization)
    }
}(0, (function(localization) {
    localization.loadMessages({
        fi: {
            Yes: "Kyll\xe4",
            No: "Ei",
            Cancel: "Peruuta",
            Close: "Sulkea",
            Clear: "Tyhjenn\xe4",
            Done: "Valmis",
            Loading: "Ladataan...",
            Select: "Valitse...",
            Search: "Haku",
            Back: "Takaisin",
            OK: "OK",
            "dxCollectionWidget-noDataText": "Ei n\xe4ytett\xe4vi\xe4 tietoja",
            "dxDropDownEditor-selectLabel": "Valitse",
            "validation-required": "Pakollinen",
            "validation-required-formatted": "{0} on pakollinen",
            "validation-numeric": "Arvon on oltava luku",
            "validation-numeric-formatted": "{0} on oltava luku",
            "validation-range": "Arvo on alueen ulkopuolella",
            "validation-range-formatted": "{0} on alueen ulkopuolella",
            "validation-stringLength": "Arvon pituus ei ole oikein",
            "validation-stringLength-formatted": "Arvolla {0} on v\xe4\xe4r\xe4 pituus",
            "validation-custom": "Arvo on virheellinen",
            "validation-custom-formatted": "{0} on virheellinen",
            "validation-async": "Arvo on virheellinen",
            "validation-async-formatted": "{0} on virheellinen",
            "validation-compare": "Arvot eiv\xe4t t\xe4sm\xe4\xe4",
            "validation-compare-formatted": "{0} eiv\xe4t t\xe4sm\xe4\xe4",
            "validation-pattern": "Arvo ei vastaa mallia",
            "validation-pattern-formatted": "{0} ei vastaa mallia",
            "validation-email": "S\xe4hk\xf6postiosoite on virheellinen",
            "validation-email-formatted": "{0} on virheellinen",
            "validation-mask": "Arvo on virheellinen",
            "dxLookup-searchPlaceholder": "Merkkien v\xe4himm\xe4ism\xe4\xe4r\xe4: {0}",
            "dxList-pullingDownText": "P\xe4ivit\xe4 vet\xe4m\xe4ll\xe4 alas...",
            "dxList-pulledDownText": "P\xe4ivit\xe4 vapauttamalla...",
            "dxList-refreshingText": "P\xe4ivitet\xe4\xe4n...",
            "dxList-pageLoadingText": "Ladataan...",
            "dxList-nextButtonText": "Lis\xe4\xe4",
            "dxList-selectAll": "Valitse kaikki",
            "dxListEditDecorator-delete": "Poista",
            "dxListEditDecorator-more": "Lis\xe4\xe4",
            "dxScrollView-pullingDownText": "P\xe4ivit\xe4 vet\xe4m\xe4ll\xe4 alas...",
            "dxScrollView-pulledDownText": "P\xe4ivit\xe4 vapauttamalla...",
            "dxScrollView-refreshingText": "P\xe4ivitet\xe4\xe4n...",
            "dxScrollView-reachBottomText": "Ladataan...",
            "dxDateBox-simulatedDataPickerTitleTime": "Valitse kellonaika",
            "dxDateBox-simulatedDataPickerTitleDate": "Valitse p\xe4iv\xe4m\xe4\xe4r\xe4",
            "dxDateBox-simulatedDataPickerTitleDateTime": "Valitse p\xe4iv\xe4m\xe4\xe4r\xe4 ja kellonaika",
            "dxDateBox-validation-datetime": "Arvon on oltava p\xe4iv\xe4ys tai aika",
            "dxFileUploader-selectFile": "Valitse tiedosto",
            "dxFileUploader-dropFile": "tai ved\xe4 ja pudota tiedosto t\xe4h\xe4n",
            "dxFileUploader-bytes": "tavua",
            "dxFileUploader-kb": "kt",
            "dxFileUploader-Mb": "Mt",
            "dxFileUploader-Gb": "Gt",
            "dxFileUploader-upload": "L\xe4het\xe4",
            "dxFileUploader-uploaded": "L\xe4hetetty",
            "dxFileUploader-readyToUpload": "Valmis l\xe4hetett\xe4v\xe4ksi",
            "dxFileUploader-uploadAbortedMessage": "Upload cancelled",
            "dxFileUploader-uploadFailedMessage": "L\xe4hetys ep\xe4onnistui",
            "dxFileUploader-invalidFileExtension": "File type is not allowed",
            "dxFileUploader-invalidMaxFileSize": "File is too large",
            "dxFileUploader-invalidMinFileSize": "File is too small",
            "dxRangeSlider-ariaFrom": "Alkaen",
            "dxRangeSlider-ariaTill": "Asti",
            "dxSwitch-switchedOnText": "P\xc4\xc4LLE",
            "dxSwitch-switchedOffText": "POIS",
            "dxForm-optionalMark": "valinnainen",
            "dxForm-requiredMessage": "{0} on pakollinen",
            "dxNumberBox-invalidValueMessage": "Arvon on oltava numero",
            "dxNumberBox-noDataText": "Ei dataa",
            "dxDataGrid-columnChooserTitle": "Sarakkeenvalitsin",
            "dxDataGrid-columnChooserEmptyText": "Ved\xe4 sarake t\xe4\xe4ll\xe4 piilottaa sen",
            "dxDataGrid-groupContinuesMessage": "Jatkuu seuraavalla sivulla",
            "dxDataGrid-groupContinuedMessage": "Jatkoa edelliselt\xe4 sivulta",
            "dxDataGrid-groupHeaderText": "Ryhmittele t\xe4m\xe4n sarakkeen mukaan",
            "dxDataGrid-ungroupHeaderText": "Poista ryhmittely",
            "dxDataGrid-ungroupAllText": "Poista kaikki ryhmittym\xe4t",
            "dxDataGrid-editingEditRow": "Muokkaa",
            "dxDataGrid-editingSaveRowChanges": "Tallenna",
            "dxDataGrid-editingCancelRowChanges": "Peruuta",
            "dxDataGrid-editingDeleteRow": "Poista",
            "dxDataGrid-editingUndeleteRow": "Palauta",
            "dxDataGrid-editingConfirmDeleteMessage": "Oletko varma, ett\xe4 haluat poistaa t\xe4m\xe4n tietueen?",
            "dxDataGrid-validationCancelChanges": "Peruuta muutokset",
            "dxDataGrid-groupPanelEmptyText": "Ved\xe4 sarakeotsikko t\xe4h\xe4n, jos haluat ryhmitell\xe4 kyseisen sarakkeen mukaan",
            "dxDataGrid-noDataText": "Ei dataa",
            "dxDataGrid-searchPanelPlaceholder": "Haku...",
            "dxDataGrid-filterRowShowAllText": "(Kaikki)",
            "dxDataGrid-filterRowResetOperationText": "Palauta",
            "dxDataGrid-filterRowOperationEquals": "Yht\xe4 suuri kuin",
            "dxDataGrid-filterRowOperationNotEquals": "Eri suuri kuin",
            "dxDataGrid-filterRowOperationLess": "Pienempi kuin",
            "dxDataGrid-filterRowOperationLessOrEquals": "Pienempi tai yht\xe4 suuri kuin",
            "dxDataGrid-filterRowOperationGreater": "Suurempi kuin",
            "dxDataGrid-filterRowOperationGreaterOrEquals": "Suurempi tai yht\xe4 suuri kuin",
            "dxDataGrid-filterRowOperationStartsWith": "Alkaa merkeill\xe4",
            "dxDataGrid-filterRowOperationContains": "Sis\xe4lt\xe4\xe4",
            "dxDataGrid-filterRowOperationNotContains": "Ei sis\xe4ll\xe4",
            "dxDataGrid-filterRowOperationEndsWith": "Loppuu merkeill\xe4",
            "dxDataGrid-filterRowOperationBetween": "V\xe4lill\xe4",
            "dxDataGrid-filterRowOperationBetweenStartText": "Alkaa",
            "dxDataGrid-filterRowOperationBetweenEndText": "Loppu",
            "dxDataGrid-applyFilterText": "K\xe4yt\xe4 suodatinta",
            "dxDataGrid-trueText": "tosi",
            "dxDataGrid-falseText": "ep\xe4tosi",
            "dxDataGrid-sortingAscendingText": "Lajittele nouseva",
            "dxDataGrid-sortingDescendingText": "Lajittele laskeva",
            "dxDataGrid-sortingClearText": "Tyhjenn\xe4 lajittelu",
            "dxDataGrid-editingSaveAllChanges": "Tallenna muutokset",
            "dxDataGrid-editingCancelAllChanges": "Hylk\xe4\xe4 muutokset",
            "dxDataGrid-editingAddRow": "Lis\xe4\xe4 rivi",
            "dxDataGrid-summaryMin": "Min: {0}",
            "dxDataGrid-summaryMinOtherColumn": "Min {1} on {0}",
            "dxDataGrid-summaryMax": "Max: {0}",
            "dxDataGrid-summaryMaxOtherColumn": "Max {1} on {0}",
            "dxDataGrid-summaryAvg": "Keskiarvo: {0}",
            "dxDataGrid-summaryAvgOtherColumn": "Keskiarvo {1} on {0}",
            "dxDataGrid-summarySum": "Summa: {0}",
            "dxDataGrid-summarySumOtherColumn": "Summa {1} on {0}",
            "dxDataGrid-summaryCount": "M\xe4\xe4r\xe4: {0}",
            "dxDataGrid-columnFixingFix": "Kiinte\xe4t sarakkeet",
            "dxDataGrid-columnFixingUnfix": "Poista kiinte\xe4t sarakkeet",
            "dxDataGrid-columnFixingLeftPosition": "Vasemmalle",
            "dxDataGrid-columnFixingRightPosition": "Oikealle",
            "dxDataGrid-exportTo": "Vie",
            "dxDataGrid-exportToExcel": "Vie Exceliin",
            "dxDataGrid-exporting": "Vienti...",
            "dxDataGrid-excelFormat": "Excel-tiedostot",
            "dxDataGrid-selectedRows": "Valitut tietueet",
            "dxDataGrid-exportSelectedRows": "Vie valitut tietueet",
            "dxDataGrid-exportAll": "Vie kaikki tiedot",
            "dxDataGrid-headerFilterLabel": "Filter options",
            "dxDataGrid-headerFilterIndicatorLabel": "Show filter options for column '{0}'",
            "dxDataGrid-headerFilterEmptyValue": "(Tyhj\xe4t)",
            "dxDataGrid-headerFilterOK": "OK",
            "dxDataGrid-headerFilterCancel": "Peruuta",
            "dxDataGrid-ariaAdaptiveCollapse": "Hide additional data",
            "dxDataGrid-ariaAdaptiveExpand": "Display additional data",
            "dxDataGrid-ariaColumn": "Sarake",
            "dxDataGrid-ariaValue": "Arvo",
            "dxDataGrid-ariaFilterCell": "Suodatinsolu",
            "dxDataGrid-ariaCollapse": "Tiivist\xe4",
            "dxDataGrid-ariaExpand": "Laajenna",
            "dxDataGrid-ariaDataGrid": "Tietoruudukko",
            "dxDataGrid-ariaSearchInGrid": "Hae tietorivilt\xe4",
            "dxDataGrid-ariaSelectAll": "Valitse kaikki",
            "dxDataGrid-ariaSelectRow": "Valitse rivi",
            "dxDataGrid-ariaToolbar": "Data grid toolbar",
            "dxDataGrid-filterBuilderPopupTitle": "Suodattimen muodostin",
            "dxDataGrid-filterPanelCreateFilter": "Luo suodatin",
            "dxDataGrid-filterPanelClearFilter": "Tyhjenn\xe4",
            "dxDataGrid-filterPanelFilterEnabledHint": "Ota suodatin k\xe4ytt\xf6\xf6n",
            "dxTreeList-ariaTreeList": "Puu",
            "dxTreeList-ariaSearchInGrid": "Search in the tree list",
            "dxTreeList-ariaToolbar": "Tree list toolbar",
            "dxTreeList-editingAddRowToNode": "Lis\xe4\xe4",
            "dxPager-infoText": "Sivu {0}/{1} ({2} kohdetta)",
            "dxPager-pagesCountText": "/",
            "dxPager-pageSizesAllText": "Kaikki",
            "dxPager-page": "Page {0}",
            "dxPager-prevPage": "Previous Page",
            "dxPager-nextPage": "Next Page",
            "dxPager-ariaLabel": "Page Navigation",
            "dxPivotGrid-grandTotal": "Loppusumma",
            "dxPivotGrid-total": "{0} Summa",
            "dxPivotGrid-fieldChooserTitle": "Kent\xe4n valitseminen",
            "dxPivotGrid-showFieldChooser": "Avaa kent\xe4n valitsemistoiminto",
            "dxPivotGrid-expandAll": "Laajenna kaikki",
            "dxPivotGrid-collapseAll": "Tiivist\xe4 kaikki",
            "dxPivotGrid-sortColumnBySummary": 'Lajittele "{0}" t\xe4h\xe4n sarakkeeseen',
            "dxPivotGrid-sortRowBySummary": 'Lajittele "{0}" t\xe4m\xe4n rivin mukaan',
            "dxPivotGrid-removeAllSorting": "Poista kaikki lajittelu",
            "dxPivotGrid-dataNotAvailable": "Puuttuu",
            "dxPivotGrid-rowFields": "Rivikent\xe4t",
            "dxPivotGrid-columnFields": "Sarakekent\xe4t",
            "dxPivotGrid-dataFields": "Tietokent\xe4t",
            "dxPivotGrid-filterFields": "Suodatinkent\xe4t",
            "dxPivotGrid-allFields": "Kaikki kent\xe4t",
            "dxPivotGrid-columnFieldArea": "Pudota sarakekent\xe4t t\xe4h\xe4n",
            "dxPivotGrid-dataFieldArea": "Pudota tietokent\xe4t t\xe4h\xe4n",
            "dxPivotGrid-rowFieldArea": "Pudota rivikent\xe4t t\xe4h\xe4n",
            "dxPivotGrid-filterFieldArea": "Pudota suodatinkent\xe4t t\xe4h\xe4n",
            "dxScheduler-editorLabelTitle": "Aihe",
            "dxScheduler-editorLabelStartDate": "Alkamisp\xe4iv\xe4",
            "dxScheduler-editorLabelEndDate": "P\xe4\xe4ttymisp\xe4iv\xe4",
            "dxScheduler-editorLabelDescription": "Kuvaus",
            "dxScheduler-editorLabelRecurrence": "Toista",
            "dxScheduler-openAppointment": "Avaa tapaaminen",
            "dxScheduler-recurrenceNever": "Ei koskaan",
            "dxScheduler-recurrenceMinutely": "Minutely",
            "dxScheduler-recurrenceHourly": "Hourly",
            "dxScheduler-recurrenceDaily": "P\xe4ivitt\xe4in",
            "dxScheduler-recurrenceWeekly": "Viikoittain",
            "dxScheduler-recurrenceMonthly": "Kuukausittain",
            "dxScheduler-recurrenceYearly": "Vuosittain",
            "dxScheduler-recurrenceRepeatEvery": "Joka",
            "dxScheduler-recurrenceRepeatOn": "Repeat On",
            "dxScheduler-recurrenceEnd": "Loppu",
            "dxScheduler-recurrenceAfter": "J\xe4lkeen",
            "dxScheduler-recurrenceOn": "Aika",
            "dxScheduler-recurrenceRepeatMinutely": "minute(s)",
            "dxScheduler-recurrenceRepeatHourly": "hour(s)",
            "dxScheduler-recurrenceRepeatDaily": "p\xe4ivitt\xe4in",
            "dxScheduler-recurrenceRepeatWeekly": "viikon v\xe4lein",
            "dxScheduler-recurrenceRepeatMonthly": "kuukauden v\xe4lein",
            "dxScheduler-recurrenceRepeatYearly": "vuosittain",
            "dxScheduler-switcherDay": "P\xe4iv\xe4",
            "dxScheduler-switcherWeek": "Viikko",
            "dxScheduler-switcherWorkWeek": "Ty\xf6viikko",
            "dxScheduler-switcherMonth": "Kuukausi",
            "dxScheduler-switcherAgenda": "Esityslista",
            "dxScheduler-switcherTimelineDay": "Aikajana p\xe4iv\xe4",
            "dxScheduler-switcherTimelineWeek": "Aikajana viikko",
            "dxScheduler-switcherTimelineWorkWeek": "Aikajana ty\xf6viikko",
            "dxScheduler-switcherTimelineMonth": "Aikajana kuukausi",
            "dxScheduler-recurrenceRepeatOnDate": "p\xe4iv\xe4m\xe4\xe4r\xe4ll\xe4",
            "dxScheduler-recurrenceRepeatCount": "esiintymi\xe4",
            "dxScheduler-allDay": "Koko p\xe4iv\xe4",
            "dxScheduler-confirmRecurrenceEditMessage": "Haluatko muokata vain t\xe4m\xe4n tapaamisen tai koko sarja?",
            "dxScheduler-confirmRecurrenceDeleteMessage": "Haluatko poistaa vain t\xe4m\xe4n tapaamisen tai koko sarja?",
            "dxScheduler-confirmRecurrenceEditSeries": "Muokkaa sarjaa",
            "dxScheduler-confirmRecurrenceDeleteSeries": "Poista sarja",
            "dxScheduler-confirmRecurrenceEditOccurrence": "Muokkaa tapaaminen",
            "dxScheduler-confirmRecurrenceDeleteOccurrence": "Poista tapaaminen",
            "dxScheduler-noTimezoneTitle": "Ei aikavy\xf6hyke",
            "dxScheduler-moreAppointments": "{0} lis\xe4\xe4",
            "dxCalendar-todayButtonText": "T\xe4n\xe4\xe4n",
            "dxCalendar-ariaWidgetName": "Kalenteri",
            "dxColorView-ariaRed": "Punainen",
            "dxColorView-ariaGreen": "Vihre\xe4",
            "dxColorView-ariaBlue": "Sininen",
            "dxColorView-ariaAlpha": "L\xe4pin\xe4kyvyys",
            "dxColorView-ariaHex": "V\xe4rikoodi",
            "dxTagBox-selected": "{0} valittu",
            "dxTagBox-allSelected": "Kaikki valitut ({0})",
            "dxTagBox-moreSelected": "{0} lis\xe4\xe4",
            "vizExport-printingButtonText": "Tulosta",
            "vizExport-titleMenuText": "Vienti/Tulostus",
            "vizExport-exportButtonText": "{0} tiedosto",
            "dxFilterBuilder-and": "Ja",
            "dxFilterBuilder-or": "Tai",
            "dxFilterBuilder-notAnd": "Ei ja",
            "dxFilterBuilder-notOr": "Ei tai",
            "dxFilterBuilder-addCondition": "Lis\xe4\xe4 ehto",
            "dxFilterBuilder-addGroup": "Lis\xe4\xe4 ryhm\xe4",
            "dxFilterBuilder-enterValueText": "<anna arvo>",
            "dxFilterBuilder-filterOperationEquals": "On sama kuin",
            "dxFilterBuilder-filterOperationNotEquals": "Ei ole sama kuin",
            "dxFilterBuilder-filterOperationLess": "Pienempi kuin",
            "dxFilterBuilder-filterOperationLessOrEquals": "Pienempi tai yht\xe4 suuri kuin",
            "dxFilterBuilder-filterOperationGreater": "Suurempi kuin",
            "dxFilterBuilder-filterOperationGreaterOrEquals": "Suurempi tai yht\xe4 suuri kuin",
            "dxFilterBuilder-filterOperationStartsWith": "Alkaa merkill\xe4",
            "dxFilterBuilder-filterOperationContains": "Sis\xe4lt\xe4\xe4",
            "dxFilterBuilder-filterOperationNotContains": "Ei sis\xe4ll\xe4",
            "dxFilterBuilder-filterOperationEndsWith": "Loppuu merkill\xe4",
            "dxFilterBuilder-filterOperationIsBlank": "On tyhj\xe4",
            "dxFilterBuilder-filterOperationIsNotBlank": "Ei ole tyhj\xe4",
            "dxFilterBuilder-filterOperationBetween": "V\xe4lill\xe4",
            "dxFilterBuilder-filterOperationAnyOf": "Joku n\xe4ist\xe4",
            "dxFilterBuilder-filterOperationNoneOf": "Ei mik\xe4\xe4n n\xe4ist\xe4",
            "dxHtmlEditor-dialogColorCaption": "Change Font Color",
            "dxHtmlEditor-dialogBackgroundCaption": "Change Background Color",
            "dxHtmlEditor-dialogLinkCaption": "Add Link",
            "dxHtmlEditor-dialogLinkUrlField": "URL",
            "dxHtmlEditor-dialogLinkTextField": "Text",
            "dxHtmlEditor-dialogLinkTargetField": "Open link in new window",
            "dxHtmlEditor-dialogImageCaption": "Add Image",
            "dxHtmlEditor-dialogImageUrlField": "URL",
            "dxHtmlEditor-dialogImageAltField": "Alternate text",
            "dxHtmlEditor-dialogImageWidthField": "Width (px)",
            "dxHtmlEditor-dialogImageHeightField": "Height (px)",
            "dxHtmlEditor-dialogInsertTableRowsField": "Rows",
            "dxHtmlEditor-dialogInsertTableColumnsField": "Columns",
            "dxHtmlEditor-dialogInsertTableCaption": "Insert Table",
            "dxHtmlEditor-dialogUpdateImageCaption": "Update Image",
            "dxHtmlEditor-dialogImageUpdateButton": "Update",
            "dxHtmlEditor-dialogImageAddButton": "Add",
            "dxHtmlEditor-dialogImageSpecifyUrl": "From the Web",
            "dxHtmlEditor-dialogImageSelectFile": "From This Device",
            "dxHtmlEditor-dialogImageKeepAspectRatio": "Keep Aspect Ratio",
            "dxHtmlEditor-dialogImageEncodeToBase64": "Encode to Base64",
            "dxHtmlEditor-heading": "Heading",
            "dxHtmlEditor-normalText": "Normal text",
            "dxHtmlEditor-background": "Background Color",
            "dxHtmlEditor-bold": "Bold",
            "dxHtmlEditor-color": "Font Color",
            "dxHtmlEditor-font": "Font",
            "dxHtmlEditor-italic": "Italic",
            "dxHtmlEditor-link": "Add Link",
            "dxHtmlEditor-image": "Add Image",
            "dxHtmlEditor-size": "Size",
            "dxHtmlEditor-strike": "Strikethrough",
            "dxHtmlEditor-subscript": "Subscript",
            "dxHtmlEditor-superscript": "Superscript",
            "dxHtmlEditor-underline": "Underline",
            "dxHtmlEditor-blockquote": "Blockquote",
            "dxHtmlEditor-header": "Header",
            "dxHtmlEditor-increaseIndent": "Increase Indent",
            "dxHtmlEditor-decreaseIndent": "Decrease Indent",
            "dxHtmlEditor-orderedList": "Ordered List",
            "dxHtmlEditor-bulletList": "Bullet List",
            "dxHtmlEditor-alignLeft": "Align Left",
            "dxHtmlEditor-alignCenter": "Align Center",
            "dxHtmlEditor-alignRight": "Align Right",
            "dxHtmlEditor-alignJustify": "Align Justify",
            "dxHtmlEditor-codeBlock": "Code Block",
            "dxHtmlEditor-variable": "Add Variable",
            "dxHtmlEditor-undo": "Undo",
            "dxHtmlEditor-redo": "Redo",
            "dxHtmlEditor-clear": "Clear Formatting",
            "dxHtmlEditor-insertTable": "Insert Table",
            "dxHtmlEditor-insertHeaderRow": "Insert Header Row",
            "dxHtmlEditor-insertRowAbove": "Insert Row Above",
            "dxHtmlEditor-insertRowBelow": "Insert Row Below",
            "dxHtmlEditor-insertColumnLeft": "Insert Column Left",
            "dxHtmlEditor-insertColumnRight": "Insert Column Right",
            "dxHtmlEditor-deleteColumn": "Delete Column",
            "dxHtmlEditor-deleteRow": "Delete Row",
            "dxHtmlEditor-deleteTable": "Delete Table",
            "dxHtmlEditor-cellProperties": "Cell Properties",
            "dxHtmlEditor-tableProperties": "Table Properties",
            "dxHtmlEditor-insert": "Insert",
            "dxHtmlEditor-delete": "Delete",
            "dxHtmlEditor-border": "Border",
            "dxHtmlEditor-style": "Style",
            "dxHtmlEditor-width": "Width",
            "dxHtmlEditor-height": "Height",
            "dxHtmlEditor-borderColor": "Color",
            "dxHtmlEditor-tableBackground": "Background",
            "dxHtmlEditor-dimensions": "Dimensions",
            "dxHtmlEditor-alignment": "Alignment",
            "dxHtmlEditor-horizontal": "Horizontal",
            "dxHtmlEditor-vertical": "Vertical",
            "dxHtmlEditor-paddingVertical": "Vertical Padding",
            "dxHtmlEditor-paddingHorizontal": "Horizontal Padding",
            "dxHtmlEditor-pixels": "Pixels",
            "dxHtmlEditor-list": "List",
            "dxHtmlEditor-ordered": "Ordered",
            "dxHtmlEditor-bullet": "Bullet",
            "dxHtmlEditor-align": "Align",
            "dxHtmlEditor-center": "Center",
            "dxHtmlEditor-left": "Left",
            "dxHtmlEditor-right": "Right",
            "dxHtmlEditor-indent": "Indent",
            "dxHtmlEditor-justify": "Justify",
            "dxFileManager-newDirectoryName": "Untitled directory",
            "dxFileManager-rootDirectoryName": "Files",
            "dxFileManager-errorNoAccess": "Access Denied. Operation could not be completed.",
            "dxFileManager-errorDirectoryExistsFormat": "Directory '{0}' already exists.",
            "dxFileManager-errorFileExistsFormat": "File '{0}' already exists.",
            "dxFileManager-errorFileNotFoundFormat": "File '{0}' not found.",
            "dxFileManager-errorDirectoryNotFoundFormat": "Directory '{0}' not found.",
            "dxFileManager-errorWrongFileExtension": "File extension is not allowed.",
            "dxFileManager-errorMaxFileSizeExceeded": "File size exceeds the maximum allowed size.",
            "dxFileManager-errorInvalidSymbols": "This name contains invalid characters.",
            "dxFileManager-errorDefault": "Unspecified error.",
            "dxFileManager-errorDirectoryOpenFailed": "The directory cannot be opened",
            "dxFileManager-commandCreate": "New directory",
            "dxFileManager-commandRename": "Rename",
            "dxFileManager-commandMove": "Move to",
            "dxFileManager-commandCopy": "Copy to",
            "dxFileManager-commandDelete": "Delete",
            "dxFileManager-commandDownload": "Download",
            "dxFileManager-commandUpload": "Upload files",
            "dxFileManager-commandRefresh": "Refresh",
            "dxFileManager-commandThumbnails": "Thumbnails View",
            "dxFileManager-commandDetails": "Details View",
            "dxFileManager-commandClearSelection": "Clear selection",
            "dxFileManager-commandShowNavPane": "Toggle navigation pane",
            "dxFileManager-dialogDirectoryChooserMoveTitle": "Move to",
            "dxFileManager-dialogDirectoryChooserMoveButtonText": "Move",
            "dxFileManager-dialogDirectoryChooserCopyTitle": "Copy to",
            "dxFileManager-dialogDirectoryChooserCopyButtonText": "Copy",
            "dxFileManager-dialogRenameItemTitle": "Rename",
            "dxFileManager-dialogRenameItemButtonText": "Save",
            "dxFileManager-dialogCreateDirectoryTitle": "New directory",
            "dxFileManager-dialogCreateDirectoryButtonText": "Create",
            "dxFileManager-dialogDeleteItemTitle": "Delete",
            "dxFileManager-dialogDeleteItemButtonText": "Delete",
            "dxFileManager-dialogDeleteItemSingleItemConfirmation": "Are you sure you want to delete {0}?",
            "dxFileManager-dialogDeleteItemMultipleItemsConfirmation": "Are you sure you want to delete {0} items?",
            "dxFileManager-dialogButtonCancel": "Cancel",
            "dxFileManager-editingCreateSingleItemProcessingMessage": "Creating a directory inside {0}",
            "dxFileManager-editingCreateSingleItemSuccessMessage": "Created a directory inside {0}",
            "dxFileManager-editingCreateSingleItemErrorMessage": "Directory was not created",
            "dxFileManager-editingCreateCommonErrorMessage": "Directory was not created",
            "dxFileManager-editingRenameSingleItemProcessingMessage": "Renaming an item inside {0}",
            "dxFileManager-editingRenameSingleItemSuccessMessage": "Renamed an item inside {0}",
            "dxFileManager-editingRenameSingleItemErrorMessage": "Item was not renamed",
            "dxFileManager-editingRenameCommonErrorMessage": "Item was not renamed",
            "dxFileManager-editingDeleteSingleItemProcessingMessage": "Deleting an item from {0}",
            "dxFileManager-editingDeleteMultipleItemsProcessingMessage": "Deleting {0} items from {1}",
            "dxFileManager-editingDeleteSingleItemSuccessMessage": "Deleted an item from {0}",
            "dxFileManager-editingDeleteMultipleItemsSuccessMessage": "Deleted {0} items from {1}",
            "dxFileManager-editingDeleteSingleItemErrorMessage": "Item was not deleted",
            "dxFileManager-editingDeleteMultipleItemsErrorMessage": "{0} items were not deleted",
            "dxFileManager-editingDeleteCommonErrorMessage": "Some items were not deleted",
            "dxFileManager-editingMoveSingleItemProcessingMessage": "Moving an item to {0}",
            "dxFileManager-editingMoveMultipleItemsProcessingMessage": "Moving {0} items to {1}",
            "dxFileManager-editingMoveSingleItemSuccessMessage": "Moved an item to {0}",
            "dxFileManager-editingMoveMultipleItemsSuccessMessage": "Moved {0} items to {1}",
            "dxFileManager-editingMoveSingleItemErrorMessage": "Item was not moved",
            "dxFileManager-editingMoveMultipleItemsErrorMessage": "{0} items were not moved",
            "dxFileManager-editingMoveCommonErrorMessage": "Some items were not moved",
            "dxFileManager-editingCopySingleItemProcessingMessage": "Copying an item to {0}",
            "dxFileManager-editingCopyMultipleItemsProcessingMessage": "Copying {0} items to {1}",
            "dxFileManager-editingCopySingleItemSuccessMessage": "Copied an item to {0}",
            "dxFileManager-editingCopyMultipleItemsSuccessMessage": "Copied {0} items to {1}",
            "dxFileManager-editingCopySingleItemErrorMessage": "Item was not copied",
            "dxFileManager-editingCopyMultipleItemsErrorMessage": "{0} items were not copied",
            "dxFileManager-editingCopyCommonErrorMessage": "Some items were not copied",
            "dxFileManager-editingUploadSingleItemProcessingMessage": "Uploading an item to {0}",
            "dxFileManager-editingUploadMultipleItemsProcessingMessage": "Uploading {0} items to {1}",
            "dxFileManager-editingUploadSingleItemSuccessMessage": "Uploaded an item to {0}",
            "dxFileManager-editingUploadMultipleItemsSuccessMessage": "Uploaded {0} items to {1}",
            "dxFileManager-editingUploadSingleItemErrorMessage": "Item was not uploaded",
            "dxFileManager-editingUploadMultipleItemsErrorMessage": "{0} items were not uploaded",
            "dxFileManager-editingUploadCanceledMessage": "Canceled",
            "dxFileManager-editingDownloadSingleItemErrorMessage": "Item was not downloaded",
            "dxFileManager-editingDownloadMultipleItemsErrorMessage": "{0} items were not downloaded",
            "dxFileManager-listDetailsColumnCaptionName": "Name",
            "dxFileManager-listDetailsColumnCaptionDateModified": "Date Modified",
            "dxFileManager-listDetailsColumnCaptionFileSize": "File Size",
            "dxFileManager-listThumbnailsTooltipTextSize": "Size",
            "dxFileManager-listThumbnailsTooltipTextDateModified": "Date Modified",
            "dxFileManager-notificationProgressPanelTitle": "Progress",
            "dxFileManager-notificationProgressPanelEmptyListText": "No operations",
            "dxFileManager-notificationProgressPanelOperationCanceled": "Canceled",
            "dxDiagram-categoryGeneral": "General",
            "dxDiagram-categoryFlowchart": "Flowchart",
            "dxDiagram-categoryOrgChart": "Org Chart",
            "dxDiagram-categoryContainers": "Containers",
            "dxDiagram-categoryCustom": "Custom",
            "dxDiagram-commandExportToSvg": "Export to SVG",
            "dxDiagram-commandExportToPng": "Export to PNG",
            "dxDiagram-commandExportToJpg": "Export to JPEG",
            "dxDiagram-commandUndo": "Undo",
            "dxDiagram-commandRedo": "Redo",
            "dxDiagram-commandFontName": "Font Name",
            "dxDiagram-commandFontSize": "Font Size",
            "dxDiagram-commandBold": "Bold",
            "dxDiagram-commandItalic": "Italic",
            "dxDiagram-commandUnderline": "Underline",
            "dxDiagram-commandTextColor": "Font Color",
            "dxDiagram-commandLineColor": "Line Color",
            "dxDiagram-commandLineWidth": "Line Width",
            "dxDiagram-commandLineStyle": "Line Style",
            "dxDiagram-commandLineStyleSolid": "Solid",
            "dxDiagram-commandLineStyleDotted": "Dotted",
            "dxDiagram-commandLineStyleDashed": "Dashed",
            "dxDiagram-commandFillColor": "Fill Color",
            "dxDiagram-commandAlignLeft": "Align Left",
            "dxDiagram-commandAlignCenter": "Align Center",
            "dxDiagram-commandAlignRight": "Align Right",
            "dxDiagram-commandConnectorLineType": "Connector Line Type",
            "dxDiagram-commandConnectorLineStraight": "Straight",
            "dxDiagram-commandConnectorLineOrthogonal": "Orthogonal",
            "dxDiagram-commandConnectorLineStart": "Connector Line Start",
            "dxDiagram-commandConnectorLineEnd": "Connector Line End",
            "dxDiagram-commandConnectorLineNone": "None",
            "dxDiagram-commandConnectorLineArrow": "Arrow",
            "dxDiagram-commandFullscreen": "Full Screen",
            "dxDiagram-commandUnits": "Units",
            "dxDiagram-commandPageSize": "Page Size",
            "dxDiagram-commandPageOrientation": "Page Orientation",
            "dxDiagram-commandPageOrientationLandscape": "Landscape",
            "dxDiagram-commandPageOrientationPortrait": "Portrait",
            "dxDiagram-commandPageColor": "Page Color",
            "dxDiagram-commandShowGrid": "Show Grid",
            "dxDiagram-commandSnapToGrid": "Snap to Grid",
            "dxDiagram-commandGridSize": "Grid Size",
            "dxDiagram-commandZoomLevel": "Zoom Level",
            "dxDiagram-commandAutoZoom": "Auto Zoom",
            "dxDiagram-commandFitToContent": "Fit to Content",
            "dxDiagram-commandFitToWidth": "Fit to Width",
            "dxDiagram-commandAutoZoomByContent": "Auto Zoom by Content",
            "dxDiagram-commandAutoZoomByWidth": "Auto Zoom by Width",
            "dxDiagram-commandSimpleView": "Simple View",
            "dxDiagram-commandCut": "Cut",
            "dxDiagram-commandCopy": "Copy",
            "dxDiagram-commandPaste": "Paste",
            "dxDiagram-commandSelectAll": "Select All",
            "dxDiagram-commandDelete": "Delete",
            "dxDiagram-commandBringToFront": "Bring to Front",
            "dxDiagram-commandSendToBack": "Send to Back",
            "dxDiagram-commandLock": "Lock",
            "dxDiagram-commandUnlock": "Unlock",
            "dxDiagram-commandInsertShapeImage": "Insert Image...",
            "dxDiagram-commandEditShapeImage": "Change Image...",
            "dxDiagram-commandDeleteShapeImage": "Delete Image",
            "dxDiagram-commandLayoutLeftToRight": "Left-to-right",
            "dxDiagram-commandLayoutRightToLeft": "Right-to-left",
            "dxDiagram-commandLayoutTopToBottom": "Top-to-bottom",
            "dxDiagram-commandLayoutBottomToTop": "Bottom-to-top",
            "dxDiagram-unitIn": "in",
            "dxDiagram-unitCm": "cm",
            "dxDiagram-unitPx": "px",
            "dxDiagram-dialogButtonOK": "OK",
            "dxDiagram-dialogButtonCancel": "Cancel",
            "dxDiagram-dialogInsertShapeImageTitle": "Insert Image",
            "dxDiagram-dialogEditShapeImageTitle": "Change Image",
            "dxDiagram-dialogEditShapeImageSelectButton": "Select image",
            "dxDiagram-dialogEditShapeImageLabelText": "or drop a file here",
            "dxDiagram-uiExport": "Export",
            "dxDiagram-uiProperties": "Properties",
            "dxDiagram-uiSettings": "Settings",
            "dxDiagram-uiShowToolbox": "Show Toolbox",
            "dxDiagram-uiSearch": "Search",
            "dxDiagram-uiStyle": "Style",
            "dxDiagram-uiLayout": "Layout",
            "dxDiagram-uiLayoutTree": "Tree",
            "dxDiagram-uiLayoutLayered": "Layered",
            "dxDiagram-uiDiagram": "Diagram",
            "dxDiagram-uiText": "Text",
            "dxDiagram-uiObject": "Object",
            "dxDiagram-uiConnector": "Connector",
            "dxDiagram-uiPage": "Page",
            "dxDiagram-shapeText": "Text",
            "dxDiagram-shapeRectangle": "Rectangle",
            "dxDiagram-shapeEllipse": "Ellipse",
            "dxDiagram-shapeCross": "Cross",
            "dxDiagram-shapeTriangle": "Triangle",
            "dxDiagram-shapeDiamond": "Diamond",
            "dxDiagram-shapeHeart": "Heart",
            "dxDiagram-shapePentagon": "Pentagon",
            "dxDiagram-shapeHexagon": "Hexagon",
            "dxDiagram-shapeOctagon": "Octagon",
            "dxDiagram-shapeStar": "Star",
            "dxDiagram-shapeArrowLeft": "Left Arrow",
            "dxDiagram-shapeArrowUp": "Up Arrow",
            "dxDiagram-shapeArrowRight": "Right Arrow",
            "dxDiagram-shapeArrowDown": "Down Arrow",
            "dxDiagram-shapeArrowUpDown": "Up Down Arrow",
            "dxDiagram-shapeArrowLeftRight": "Left Right Arrow",
            "dxDiagram-shapeProcess": "Process",
            "dxDiagram-shapeDecision": "Decision",
            "dxDiagram-shapeTerminator": "Terminator",
            "dxDiagram-shapePredefinedProcess": "Predefined Process",
            "dxDiagram-shapeDocument": "Document",
            "dxDiagram-shapeMultipleDocuments": "Multiple Documents",
            "dxDiagram-shapeManualInput": "Manual Input",
            "dxDiagram-shapePreparation": "Preparation",
            "dxDiagram-shapeData": "Data",
            "dxDiagram-shapeDatabase": "Database",
            "dxDiagram-shapeHardDisk": "Hard Disk",
            "dxDiagram-shapeInternalStorage": "Internal Storage",
            "dxDiagram-shapePaperTape": "Paper Tape",
            "dxDiagram-shapeManualOperation": "Manual Operation",
            "dxDiagram-shapeDelay": "Delay",
            "dxDiagram-shapeStoredData": "Stored Data",
            "dxDiagram-shapeDisplay": "Display",
            "dxDiagram-shapeMerge": "Merge",
            "dxDiagram-shapeConnector": "Connector",
            "dxDiagram-shapeOr": "Or",
            "dxDiagram-shapeSummingJunction": "Summing Junction",
            "dxDiagram-shapeContainerDefaultText": "Container",
            "dxDiagram-shapeVerticalContainer": "Vertical Container",
            "dxDiagram-shapeHorizontalContainer": "Horizontal Container",
            "dxDiagram-shapeCardDefaultText": "Person's Name",
            "dxDiagram-shapeCardWithImageOnLeft": "Card with Image on the Left",
            "dxDiagram-shapeCardWithImageOnTop": "Card with Image on the Top",
            "dxDiagram-shapeCardWithImageOnRight": "Card with Image on the Right",
            "dxGantt-dialogTitle": "Title",
            "dxGantt-dialogStartTitle": "Start",
            "dxGantt-dialogEndTitle": "End",
            "dxGantt-dialogProgressTitle": "Progress",
            "dxGantt-dialogResourcesTitle": "Resources",
            "dxGantt-dialogResourceManagerTitle": "Resource Manager",
            "dxGantt-dialogTaskDetailsTitle": "Task Details",
            "dxGantt-dialogEditResourceListHint": "Edit Resource List",
            "dxGantt-dialogEditNoResources": "No resources",
            "dxGantt-dialogButtonAdd": "Add",
            "dxGantt-contextMenuNewTask": "New Task",
            "dxGantt-contextMenuNewSubtask": "New Subtask",
            "dxGantt-contextMenuDeleteTask": "Delete Task",
            "dxGantt-contextMenuDeleteDependency": "Delete Dependency",
            "dxGantt-dialogTaskDeleteConfirmation": "Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?",
            "dxGantt-dialogDependencyDeleteConfirmation": "Are you sure you want to delete the dependency from the task?",
            "dxGantt-dialogResourcesDeleteConfirmation": "Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}",
            "dxGantt-dialogConstraintCriticalViolationMessage": "The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?",
            "dxGantt-dialogConstraintViolationMessage": "The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?",
            "dxGantt-dialogCancelOperationMessage": "Cancel the operation",
            "dxGantt-dialogDeleteDependencyMessage": "Delete the dependency",
            "dxGantt-dialogMoveTaskAndKeepDependencyMessage": "Move the task and keep the dependency",
            "dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage": "The task you are attempting to move is linked to another tasks by dependency relations. This change would conflict with dependency rules. How would you like to proceed?",
            "dxGantt-dialogConstraintViolationSeveralTasksMessage": "The task you are attempting to move is linked to another tasks by dependency relations. How would you like to proceed?",
            "dxGantt-dialogDeleteDependenciesMessage": "Delete the dependency relations",
            "dxGantt-dialogMoveTaskAndKeepDependenciesMessage": "Move the task and keep the dependencies",
            "dxGantt-undo": "Undo",
            "dxGantt-redo": "Redo",
            "dxGantt-expandAll": "Expand All",
            "dxGantt-collapseAll": "Collapse All",
            "dxGantt-addNewTask": "Add New Task",
            "dxGantt-deleteSelectedTask": "Delete Selected Task",
            "dxGantt-zoomIn": "Zoom In",
            "dxGantt-zoomOut": "Zoom Out",
            "dxGantt-fullScreen": "Full Screen",
            "dxGantt-quarter": "Q{0}",
            "dxGantt-sortingAscendingText": "Lajittele nouseva",
            "dxGantt-sortingDescendingText": "Lajittele laskeva",
            "dxGantt-sortingClearText": "Tyhjenn\xe4 lajittelu",
            "dxGantt-showResources": "Show Resources",
            "dxGantt-showDependencies": "Show Dependencies",
            "dxGantt-dialogStartDateValidation": "Start date must be after {0}",
            "dxGantt-dialogEndDateValidation": "End date must be after {0}"
        }
    })
}));


text:
package com.jme.scene.state.jogl;

import javax.media.opengl.GL;
import javax.media.opengl.glu.GLU;

import com.jme.renderer.RenderContext;
import com.jme.scene.state.ZBufferState;
import com.jme.scene.state.jogl.records.ZBufferStateRecord;
import com.jme.system.DisplaySystem;

/**
 * JOGLZBufferState subclasses ZBufferState to use the JOGL API
 * to access OpenGL.
 *
 * @author Mark Powell
 * @author Joshua Slack - reworked for StateRecords.
 * @author Steve Vaughan - JOGL port
 * @version $Id: JOGLZBufferState.java 4131 2009-03-19 20:15:28Z blaine.dev $
 */
public class JOGLZBufferState extends ZBufferState {
    private static final long serialVersionUID = 1L;

    /**
     * set turns on the specified depth test specified by the
     * state.
     *
     * @see com.jme.scene.state.RenderState#apply()
     */
    public void apply() {
        // ask for the current state record
        RenderContext<?> context = DisplaySystem.getDisplaySystem()
                .getCurrentContext();
        ZBufferStateRecord record = (ZBufferStateRecord) context.getStateRecord(StateType.ZBuffer);
        context.currentStates[StateType.ZBuffer.ordinal()] = this;

        enableDepthTest(isEnabled(), record);
        if (isEnabled()) {
            int depthFunc = 0;
            switch (getFunction()) {
                case Never:
                    depthFunc = GL.GL_NEVER;
                    break;
                case LessThan:
                    depthFunc = GL.GL_LESS;
                    break;
                case EqualTo:
                    depthFunc = GL.GL_EQUAL;
                    break;
                case LessThanOrEqualTo:
                    depthFunc = GL.GL_LEQUAL;
                    break;
                case GreaterThan:
                    depthFunc = GL.GL_GREATER;
                    break;
                case NotEqualTo:
                    depthFunc = GL.GL_NOTEQUAL;
                    break;
                case GreaterThanOrEqualTo:
                    depthFunc = GL.GL_GEQUAL;
                    break;
                case Always:
                    depthFunc = GL.GL_ALWAYS;
            }
            applyFunction(depthFunc, record);
        }

        enableWrite(isWritable(), record);

        if (!record.isValid())
            record.validate();
    }

    private void enableDepthTest(boolean enable, ZBufferStateRecord record) {
        final GL gl = GLU.getCurrentGL();

        if (enable && (!record.depthTest || !record.isValid())) {
            gl.glEnable(GL.GL_DEPTH_TEST);
            record.depthTest = true;
        } else if (!enable && (record.depthTest || !record.isValid())) {
            gl.glDisable(GL.GL_DEPTH_TEST);
            record.depthTest = false;
        }
    }

    private void applyFunction(int depthFunc, ZBufferStateRecord record) {
        final GL gl = GLU.getCurrentGL();

        if (depthFunc != record.depthFunc || !record.isValid()) {
            gl.glDepthFunc(depthFunc);
            record.depthFunc = depthFunc;
        }
    }

    private void enableWrite(boolean enable, ZBufferStateRecord record) {
        final GL gl = GLU.getCurrentGL();

        if (enable != record.writable || !record.isValid()) {
            gl.glDepthMask(enable);
            record.writable = enable;
        }
    }

    @Override
    public ZBufferStateRecord createStateRecord() {
        return new ZBufferStateRecord();
    }
}

redpajama_set_name: RedPajamaGithub


text:
using namespace BloombergLP;
using namespace bsl;

//=============================================================================
//                                  TEST PLAN
//-----------------------------------------------------------------------------
//                                  Overview
//                                  --------
// A 'bdlma::LocalSequentialAllocator' provides an encapsulation of a common
// use case of 'bdlma::BufferedSequentialAllocator', which is to provide it
// with a 'bsls::AlignedBuffer' as the local buffer.  This class adds no extra
// methods to the inherited 'bdlma::BufferedSequentialAllocator', so the
// primary concern is that the local buffer is correctly passed to the
// 'bdlma::BufferedSequentialAllocator' base.
//
// We also need to verify that the 'deallocate' method has no effect.  Again,
// we make use of the test allocator to ensure that no memory is deallocated
// when the 'deallocate' method of a buffered sequential allocator is invoked
// on previously allocated memory (both from the buffer and from the fall back
// allocator).
//
// Finally, the destructor of 'bdlma::LocalSequentialAllocator' is tested
// throughout the test driver.  At destruction, the allocator should reclaim
// all outstanding allocated memory.  By setting the global allocator, default
// allocator, and object allocator to different test allocators, we can
// determine whether all memory had been released by the destructor of the
// local sequential allocator.
//-----------------------------------------------------------------------------
// // CREATORS
// [ 2] bdlma::LocalSequentialAllocator(*a = 0);
//
// [ 5] ~bdlma::LocalSequentialAllocator();
//
// // MANIPULATORS
// [ 2] void *allocate(size_type size);
// [ 3] void deallocate(void *address);
// [ 4] void release();
//-----------------------------------------------------------------------------
// [ 1] BREATHING TEST
// [ 6] USAGE TEST

//=============================================================================
//                      STANDARD BDE ASSERT TEST MACRO
//-----------------------------------------------------------------------------

namespace {

int testStatus = 0;

void aSsErT(int c, const char *s, int i)
{
    if (c) {
        cout << "Error " << __FILE__ << "(" << i << "): " << s
             << "    (failed)" << endl;
        if (0 <= testStatus && testStatus <= 100) ++testStatus;
    }
}

}  // close unnamed namespace

//=============================================================================
//                       STANDARD BDE TEST DRIVER MACROS
//-----------------------------------------------------------------------------

#define ASSERT       BDLS_TESTUTIL_ASSERT
#define LOOP_ASSERT  BDLS_TESTUTIL_LOOP_ASSERT
#define LOOP0_ASSERT BDLS_TESTUTIL_LOOP0_ASSERT
#define LOOP1_ASSERT BDLS_TESTUTIL_LOOP1_ASSERT
#define LOOP2_ASSERT BDLS_TESTUTIL_LOOP2_ASSERT
#define LOOP3_ASSERT BDLS_TESTUTIL_LOOP3_ASSERT
#define LOOP4_ASSERT BDLS_TESTUTIL_LOOP4_ASSERT
#define LOOP5_ASSERT BDLS_TESTUTIL_LOOP5_ASSERT
#define LOOP6_ASSERT BDLS_TESTUTIL_LOOP6_ASSERT
#define ASSERTV      BDLS_TESTUTIL_ASSERTV

#define Q   BDLS_TESTUTIL_Q   // Quote identifier literally.
#define P   BDLS_TESTUTIL_P   // Print identifier and value.
#define P_  BDLS_TESTUTIL_P_  // P(X) without '\n'.
#define T_  BDLS_TESTUTIL_T_  // Print a tab (w/o newline).
#define L_  BDLS_TESTUTIL_L_  // current Line number

// ============================================================================
//                  NEGATIVE-TEST MACRO ABBREVIATIONS
// ----------------------------------------------------------------------------

#define ASSERT_SAFE_PASS(EXPR) BSLS_ASSERTTEST_ASSERT_SAFE_PASS(EXPR)
#define ASSERT_SAFE_FAIL(EXPR) BSLS_ASSERTTEST_ASSERT_SAFE_FAIL(EXPR)
#define ASSERT_PASS(EXPR)      BSLS_ASSERTTEST_ASSERT_PASS(EXPR)
#define ASSERT_FAIL(EXPR)      BSLS_ASSERTTEST_ASSERT_FAIL(EXPR)
#define ASSERT_OPT_PASS(EXPR)  BSLS_ASSERTTEST_ASSERT_OPT_PASS(EXPR)
#define ASSERT_OPT_FAIL(EXPR)  BSLS_ASSERTTEST_ASSERT_OPT_FAIL(EXPR)

#define ASSERT_SAFE_PASS_RAW(EXPR) BSLS_ASSERTTEST_ASSERT_SAFE_PASS_RAW(EXPR)
#define ASSERT_SAFE_FAIL_RAW(EXPR) BSLS_ASSERTTEST_ASSERT_SAFE_FAIL_RAW(EXPR)
#define ASSERT_PASS_RAW(EXPR)      BSLS_ASSERTTEST_ASSERT_PASS_RAW(EXPR)
#define ASSERT_FAIL_RAW(EXPR)      BSLS_ASSERTTEST_ASSERT_FAIL_RAW(EXPR)
#define ASSERT_OPT_PASS_RAW(EXPR)  BSLS_ASSERTTEST_ASSERT_OPT_PASS_RAW(EXPR)
#define ASSERT_OPT_FAIL_RAW(EXPR)  BSLS_ASSERTTEST_ASSERT_OPT_FAIL_RAW(EXPR)

//=============================================================================
//                  GLOBAL VARIABLES / TYPEDEF FOR TESTING
//-----------------------------------------------------------------------------

static const int k_SIZE = 256;
typedef bdlma::LocalSequentialAllocator<k_SIZE> Obj;

//=============================================================================
//                                USAGE EXAMPLE
//-----------------------------------------------------------------------------

typedef bsl::string DatabaseKey;
typedef bsl::string DatabaseValue;

void updateRecords_1(const bsl::map<DatabaseKey, DatabaseValue>& values)
{
    for (bsl::map<DatabaseKey, DatabaseValue>::const_iterator
             it = values.begin(), end = values.end();
         it != end;
         ++it) {
        bsl::stringbuf stringBuf;
        bsl::ostream   ostr(&stringBuf);
        ostr << "UPDATE myTable SET myValue = '" << it->first << "' WHERE "
                "myKey = '" << it->second << "'";
        // execute query using 'stringBuf.str()'
    }
}

void updateRecords_2(const bsl::map<DatabaseKey, DatabaseValue>& values)
{
    bslma::TestAllocator ta;

    for (bsl::map<DatabaseKey, DatabaseValue>::const_iterator
             it = values.begin(), end = values.end();
         it != end;
         ++it) {
        bsl::stringbuf stringBuf(&ta);
        bsl::ostream   ostr(&stringBuf);

        ostr << "UPDATE myTable SET myValue = '" << it->first << "' WHERE "
                "myKey = '" << it->second << "'";

        // execute query using 'stringBuf.str()'

        bsl::cout << "In use: " << ta.numBytesInUse() << '\n';
    }

    bsl::cout << "Max: " << ta.numBytesMax() << '\n';
}

void updateRecords_3(const bsl::map<DatabaseKey, DatabaseValue>& values)
{
    bdlma::LocalSequentialAllocator<129> lsa;

    for (bsl::map<DatabaseKey, DatabaseValue>::const_iterator
             it = values.begin(), end = values.end();
         it != end;
         ++it) {
        lsa.release();

        bsl::stringbuf stringBuf(&lsa);
        bsl::ostream   ostr(&stringBuf);

        ostr << "UPDATE myTable SET myValue = '" << it->first << "' WHERE "
                "myKey = '" << it->second << "'";

        // execute query using 'stringBuf.str()'
    }
}

//=============================================================================
//           Additional Functionality Needed to Complete Usage Test Case
//-----------------------------------------------------------------------------

void populateDummyData(bsl::map<DatabaseKey, DatabaseValue> *values)
{
    BSLS_ASSERT(values);

    typedef bsl::map<DatabaseKey, DatabaseValue>::value_type ValueType;

    values->insert(ValueType("MyKeyNumber1", "MyValueNumber1"));
    values->insert(ValueType("MyKeyNumber2", "MyValueNumber2"));
    values->insert(ValueType("MyKeyNumber3", "MyValueNumber3"));
    values->insert(ValueType("MyKeyNumber4", "MyValueNumber4"));
    values->insert(ValueType("MyKeyNumber5", "MyValueNumber5"));
}

//=============================================================================
//                                MAIN PROGRAM
//-----------------------------------------------------------------------------

int main(int argc, char *argv[])
{
    int test = argc > 1 ? atoi(argv[1]) : 0;
    int verbose = argc > 2;
    int veryVerbose = argc > 3;
    int veryVeryVeryVerbose = argc > 5;

    cout << "TEST " << __FILE__ << " CASE " << test << endl;

    // As part of our overall allocator testing strategy, we will create
    // three test allocators.

    // Object Test Allocator
    bslma::TestAllocator objectAllocator("Object Allocator",
                                         veryVeryVeryVerbose);

    // Default Test Allocator
    bslma::TestAllocator defaultAllocator("Default Allocator",
                                          veryVeryVeryVerbose);
    bslma::DefaultAllocatorGuard guard(&defaultAllocator);

    // Global Test Allocator
    bslma::TestAllocator globalAllocator("Global Allocator",
                                         veryVeryVeryVerbose);
    bslma::Default::setGlobalAllocator(&globalAllocator);

    switch (test) { case 0:
      case 6: {
        // --------------------------------------------------------------------
        // USAGE EXAMPLE
        //   Extracted from component header file.
        //
        // Concerns:
        //: 1 The usage example provided in the component header file compiles,
        //:   links, and runs as shown.
        //
        // Plan:
        //: 1 Incorporate usage example from header into test driver, remove
        //:   leading comment characters, and replace 'assert' with 'ASSERT'
        //:   (C-1).
        //
        // Testing:
        //   USAGE EXAMPLE
        // --------------------------------------------------------------------

        if (verbose) cout << endl
                          << "USAGE EXAMPLE" << endl
                          << "=============" << endl;

        if (verbose) cout << "\nTesting usage example 1." << endl;
        {
            bsl::map<DatabaseKey, DatabaseValue> values;
            populateDummyData(&values);

            updateRecords_1(values);
            updateRecords_2(values);
            updateRecords_3(values);
        }

      } break;
      case 5: {
        // --------------------------------------------------------------------
        // DTOR TEST
        //
        // Concerns:
        //: 1 That all memory allocated from the allocator supplied at
        //:   construction is deallocated after destruction of the local
        //:   sequential allocator.
        //
        // Plan:
        //: 1 Construct a local sequential allocator using a
        //:   'bslma::TestAllocator', then allocate sufficient memory such that
        //:   the buffer runs out and the allocator is used.  Finally, destroy
        //:   the local sequential allocator, and verify, using the test
        //:   allocator, that there is no outstanding memory allocated (C-1).
        //
        // Testing:
        //   ~bdlma::LocalSequentialAllocator();
        // --------------------------------------------------------------------

        if (verbose) cout << endl << "DTOR TEST" << endl
                                  << "=========" << endl;

        if (verbose) cout << "\nTesting allocated memory is deallocated after"
                             " destruction." << endl;
        {
            ASSERT(0 == objectAllocator.numBlocksInUse());

            Obj mX(&objectAllocator);

            ASSERT(0 == objectAllocator.numBlocksInUse());

            // Allocate some memory such that memory is allocated from the test
            // allocator.
            mX.allocate(k_SIZE + 1);
            mX.allocate(1);
            mX.allocate(16);
            ASSERT(0 != objectAllocator.numBlocksInUse());
        }
        ASSERT(0 == objectAllocator.numBlocksInUse());

      } break;
      case 4: {
        // --------------------------------------------------------------------
        // 'release' TEST
        //
        // Concerns:
        //: 1 That all memory allocated from the allocator supplied at
        //:   construction is deallocated after 'release'.
        //
        //: 2 That subsequent allocation requests after invocation of the
        //:   'release' method are satisfied by the local buffer.
        //
        // Plan:
        //: 1 Construct a local sequential allocator using a
        //: 'bslma::TestAllocator', then allocate sufficient memory such that
        //: the buffer runs out and the allocator is used.  Finally, invoke
        //: 'release' and verify, using the test allocator, that there is no
        //: outstanding memory allocated.  Then, allocate memory again and
        //: verify memory comes from the local buffer, rather than the external
        //: allocator (C-1, C-2).
        //
        // Testing:
        //   void release();
        // --------------------------------------------------------------------

        if (verbose) cout << endl << "'release' TEST" << endl
                                  << "==============" << endl;

        if (verbose) cout << "\nTesting allocated memory is deallocated after"
                             " 'release'." << endl;
        {
            ASSERT(0 == objectAllocator.numBlocksInUse());

            Obj mX(&objectAllocator);

            ASSERT(0 == objectAllocator.numBlocksInUse());

            // Allocate some memory such that memory is allocated from the test
            // allocator.
            mX.allocate(k_SIZE + 1);
            mX.allocate(1);
            mX.allocate(16);

            ASSERT(0 != objectAllocator.numBlocksInUse());

            // Release all memory.
            mX.release();

            ASSERT(0 == objectAllocator.numBlocksInUse());

            if (verbose) cout << "\nTesting subsequent allocations come"
                                 " first from the initial buffer." << endl;
            void *addr = mX.allocate(16);

            ASSERT(0 == objectAllocator.numBlocksInUse());
        }
      } break;
      case 3: {
        // --------------------------------------------------------------------
        // 'deallocate' TEST
        //
        // Concerns:
        //: 1 That 'deallocate' has no effect.
        //
        // Plan:
        //: 1 Create a local sequential allocator initialized with a test
        //:   allocator.  Request memory of varying sizes and then deallocate
        //:   each memory block.  Verify that the number of bytes in use
        //:   indicated by the test allocator does not decrease after each
        //:   'deallocate' method invocation (C-1).
        //
        // Testing:
        //   void deallocate(void *address);
        // --------------------------------------------------------------------

        if (verbose) cout << endl << "'deallocate' TEST" << endl
                                  << "=================" << endl;

        if (verbose) cout << "\nTesting 'deallocate'." << endl;

        const int DATA[] = { 0, 1, 5, 12, 24, 32, 64, 256, 257, 512, 1000 };
        const int NUM_DATA = sizeof DATA / sizeof *DATA;

        Obj mX(&objectAllocator);

        int lastNumBytesInUse = objectAllocator.numBytesInUse();

        for (int i = 0; i < NUM_DATA; ++i) {
            const int SIZE = DATA[i];
            void *p = mX.allocate(SIZE);
            const int numBytesInUse = objectAllocator.numBytesInUse();
            mX.deallocate(p);
            LOOP_ASSERT(i, numBytesInUse == objectAllocator.numBytesInUse());
            LOOP_ASSERT(i, lastNumBytesInUse <=
                                              objectAllocator.numBytesInUse());
            lastNumBytesInUse = objectAllocator.numBytesInUse();
        }
      } break;
      case 2: {
        // --------------------------------------------------------------------
        // CTOR / ALLOCATE TEST
        //
        // Concerns:
        //: 1 That the 'bdlma::LocalSequentialAllocator' correctly provides a
        //:   local buffer for the 'bdlma::BufferedSequentialAllocator' it
        //:   adapts.
        //
        //: 2 That allocating 0 bytes returns 0.
        //
        // Plan:
        //: 1 Using the array driven approach, create an array of various
        //:   memory allocation request sizes.  Then, create both a local
        //:   sequential allocator and buffered sequential allocator using the
        //:   same buffer size and two different test allocators.  Finally,
        //:   verify that:
        //:     1) If the memory used by either test allocator is non-zero, the
        //:        number of bytes used by both test allocators is the same
        //:        (C-1).
        //
        //: 2 Create a local sequential allocator, and call 'allocate' with 0.
        //:   Verify that the returned address is 0.  (C-2)
        //
        // Testing:
        //   bdlma::LocalSequentialAllocator(*a = 0);
        //   void *allocate(size_type size);
        // --------------------------------------------------------------------

        if (verbose) cout << endl << "CTOR / ALLOCATE TEST" << endl
                                  << "====================" << endl;

        bsls::AlignedBuffer<k_SIZE> buffer;
        const int DATA[] = { 1, 5, 12, 24, 32, 64, 256, 257, 512, 1000 };
        const int NUM_DATA = sizeof DATA / sizeof *DATA;

        bslma::TestAllocator taA(veryVeryVeryVerbose);
        bslma::TestAllocator taV(veryVeryVeryVerbose);

        if (verbose) cout << "\nTesting single allocation." << endl;
        for (int i = 0; i < NUM_DATA; ++i) {
            // local allocator
            Obj mV(&taV);

            // buffered allocator
            bdlma::BufferedSequentialAllocator mA(buffer.buffer(),
                                                  k_SIZE,
                                                  &taA);

            void *addrA = mA.allocate(DATA[i]);
            void *addrV = mV.allocate(DATA[i]);

            // If one allocates from the provided allocator, the other should
            // too.
            LOOP_ASSERT(i, taA.numBytesInUse() == taV.numBytesInUse());
        }
        ASSERT(0 == taA.numBytesInUse());
        ASSERT(0 == taV.numBytesInUse());

        if (verbose) cout << "\nTesting consecutive allocations." << endl;
        {
            // local allocator
            Obj mV(&taV);

            // buffered allocator
            bdlma::BufferedSequentialAllocator mA(buffer.buffer(),
                                                  k_SIZE,
                                                  &taA);

            for (int i = 0; i < NUM_DATA; ++i) {
                void *addrA = mA.allocate(DATA[i]);
                void *addrV = mV.allocate(DATA[i]);

                // If one allocates from the provided allocator, the other
                // should too.
                LOOP_ASSERT(i, taA.numBytesInUse() == taV.numBytesInUse());
            }
        }
        ASSERT(0 == taA.numBytesInUse());
        ASSERT(0 == taV.numBytesInUse());

        if (verbose) cout << "\nTesting allocation size of 0 bytes." << endl;
        {
            Obj mX(&objectAllocator);
            void *addr = mX.allocate(0);
            ASSERT(0 == addr);
            ASSERT(0 == objectAllocator.numBytesInUse());
        }
        ASSERT(0 == objectAllocator.numBlocksTotal());
        ASSERT(0 == defaultAllocator.numBlocksTotal());
        ASSERT(0 == globalAllocator.numBlocksTotal());

      } break;
      case 1: {
        // --------------------------------------------------------------------
        // BREATHING TEST
        //
        // Concerns:
        //: 1 That a 'bdlma::LocalSequentialAllocator' can be created and
        //:   destroyed.
        //
        //: 2 That 'allocate' returns a block of memory having the specified
        //:   size.
        //
        //: 3 That 'allocate' returns a block of memory having the correct
        //:   alignment.
        //
        //: 4 That 'allocate' returns a block of memory even when the
        //:   allocation request exceeds the remaining free space in the
        //:   internal buffer.
        //
        //: 5 Destruction of the allocator releases all managed memory,
        //:   including memory that comes from dynamic allocation.
        //
        // Plan:
        //: 1 First, create a 'bdlma::LocalSequentialAllocator' (C-1).  Next,
        //:   allocate a block of memory from the allocator and verify that it
        //:   comes from its local buffer (C-2).
        //
        //: 2 Using the array driven approach, allocate 1 byte, followed by
        //:   N bytes.  Ensure that the N bytes are correctly aligned for the
        //:   size of N (C-3).  This test is repeated, where an extra call to
        //:   ensure the local buffer is full.  This ensures that the alignment
        //:   is correct for memory both from the local buffer, and from the
        //:   supplied allocator.
        //
        //: 3 Initialize a 'bdlma::LocalSequentialAllocator' with a
        //:   'bslma::TestAllocator'.  Then allocate a block of memory that is
        //:   larger than its local buffer.  Verify that memory is allocated
        //:   from the test allocator (C-4).
        //
        //: 4 Let the allocator created with the test allocator go out of scope
        //:   (C-1), and verify, through the test allocator, that all allocated
        //:   memory is deallocated (C-5).
        //
        // Testing:
        //   BREATHING TEST
        // --------------------------------------------------------------------

        if (verbose) cout << endl << "BREATHING TEST" << endl
                                  << "==============" << endl;

        enum { ALLOC_SIZE1 = 4, ALLOC_SIZE2 = 8 };

        if (verbose) cout << "\nTesting constructor." << endl;
        {
            Obj mX(&objectAllocator);

            if (verbose) cout << "\nTesting allocate from buffer." << endl;
            void *addr1 = mX.allocate(ALLOC_SIZE1);

            // Allocation comes from within the buffer.
            ASSERT(0 == objectAllocator.numBlocksTotal());

            void *addr2 = mX.allocate(ALLOC_SIZE2);

            // Make sure no memory comes from the object, default, and global
            // allocators.
            ASSERT(0 == objectAllocator.numBlocksTotal());
            ASSERT(0 == defaultAllocator.numBlocksTotal());
            ASSERT(0 == globalAllocator.numBlocksTotal());
        }

        if (verbose) cout << "\nTesting alignment." << endl;
        {
            Obj mY(&objectAllocator);

            const int DATA[] = { 1, 2, 4, 8, 16, 32, 64, 128 };
            const int NUM_DATA = sizeof DATA / sizeof *DATA;

            if (veryVerbose) cout << "\nFrom the local buffer." << endl;
            for (int i = 0; i < NUM_DATA; ++i) {
                mY.release();

                char *addr1 = static_cast<char *>(mY.allocate(1));
                char *addr2 = static_cast<char *>(mY.allocate(DATA[i]));

                // We expect natural alignment.
                const int expectedAlignment
                    = bsls::AlignmentUtil::calculateAlignmentFromSize(DATA[i]);

                LOOP_ASSERT(i, expectedAlignment == (addr2 - addr1));
            }

            if (veryVerbose) cout << "\nFrom the supplied allocator." << endl;
            for (int i = 0; i < NUM_DATA; ++i) {
                mY.release();

                // Exhaust the local buffer.
                char *addr0 = static_cast<char *>(mY.allocate(k_SIZE));

                char *addr1 = static_cast<char *>(mY.allocate(1));

                // Ensure that we're allocating from the supplied allocator.
                LOOP_ASSERT(i, 0 != objectAllocator.numBlocksInUse());

                char *addr2 = static_cast<char *>(mY.allocate(DATA[i]));

                // We expect natural alignment.
                const int expectedAlignment
                    = bsls::AlignmentUtil::calculateAlignmentFromSize(DATA[i]);

                LOOP_ASSERT(i, expectedAlignment == (addr2 - addr1));
            }
        }

        if (verbose) cout << "\nTesting allocate when buffer runs out."
                          << endl;
        {
            Obj mZ(&objectAllocator);
            void *addr1 = mZ.allocate(k_SIZE + 1);

            // Allocation request is satisfied even when larger than the
            // supplied buffer.
            LOOP_ASSERT(addr1, 0 != addr1);

            // Allocation comes from the objectAllocator.
            ASSERT(0 != objectAllocator.numBlocksInUse());
            ASSERT(0 == defaultAllocator.numBlocksTotal());
            ASSERT(0 == globalAllocator.numBlocksTotal());
        }

        // All dynamically allocated memory is released after the allocator's
        // destruction.
        ASSERT(0 == objectAllocator.numBlocksInUse());

    } break;
      default: {
        cerr << "WARNING: CASE `" << test << "' NOT FOUND." << endl;
        testStatus = -1;
      }
    }

    if (testStatus > 0) {
        cerr << "Error, non-zero test status = " << testStatus << "." << endl;
    }
    return testStatus;
}

// ----------------------------------------------------------------------------
// NOTICE:
//      Copyright (C) Bloomberg L.P., 2015
//      All Rights Reserved.
//      Property of Bloomberg L.P. (BLP)
//      This software is made available solely pursuant to the
//      terms of a BLP license agreement which governs its use.
// ----------------------------- END-OF-FILE ----------------------------------


text:
echo -e "[!] Creating Release APK ... \n"

cd android && ./gradlew assembleRelease

if hash adb 2>/dev/null; then
    echo -e "\n[!] Installing on android devices with ADB ..."
    for line in `adb devices | grep -v "List"  | awk '{print $1}'`
    do
      device=`echo $line | awk '{print $1}'`
      echo -e "[+] trying to install on device $device ..."
      adb -s $device install -r app/build/outputs/apk/app-release.apk
    done
else
    echo "\n[!] ADB is not installed , please install it and try again ."
fi


text:
using System.Reflection;

namespace TwentyTwenty.Mvc.Version
{
    public interface IVersionProvider
    {
        string GetVersion();
    }

    public class VersionProvider : IVersionProvider
    {
        private string _version = null;
        public string Version => _version;

        public string GetVersion()
        {
            if (_version == null)
            {
                var entryAssembly = Assembly.GetEntryAssembly();

                _version = entryAssembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion
                    ?? entryAssembly.GetName().Version.ToString();
            }
            return _version;
        }
    }
}


text:
class _ROASClass
{
  void ROASBegin();
  void beginsetup();
  void endsetup();
  void beginloop();
  void loopsetup();
  void endloop();
  extern _ROASClass ROASArdLib;
  extern _ROASClass ROASLib;
}
#endif


text:
        <button id="map-contextmenu-button" class="btn" style="position:absolute;left:800px;top:300px;display:none" data-toggle="dropdown"></button>

                {{option.title}}


text: obj-y += init.o fault.o memory.o kmap.o


text:
using CoreGraphics;
using System.Reactive;
using Toggl.Core.UI.Collections;
using Toggl.Core.UI.ViewModels;
using Toggl.iOS.Cells;
using Toggl.iOS.Extensions;
using Toggl.iOS.ViewSources.Generic.TableView;
using Toggl.Shared;
using UIKit;

namespace Toggl.iOS.ViewControllers
{
    public sealed partial class SelectDefaultWorkspaceViewController : ReactiveViewController<SelectDefaultWorkspaceViewModel>
    {
        protected override bool AcceptsCancelKeyCommand { get; } = true;

        private const int heightAboveTableView = 127;
        private const int width = 288;
        private readonly int maxHeight = UIScreen.MainScreen.Bounds.Width > 320 ? 627 : 528;

        public SelectDefaultWorkspaceViewController(SelectDefaultWorkspaceViewModel viewModel)
            : base(viewModel, nameof(SelectDefaultWorkspaceViewController))
        {
        }

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            HeadingLabel.Text = Resources.SetDefaultWorkspace;
            DescriptionLabel.Text = Resources.SelectDefaultWorkspaceDescription;

            View.ClipsToBounds = true;

            WorkspacesTableView.RegisterNibForCellReuse(SelectDefaultWorkspaceTableViewCell.Nib, SelectDefaultWorkspaceTableViewCell.Identifier);
            var tableViewSource = new CustomTableViewSource<SectionModel<Unit, SelectableWorkspaceViewModel>, Unit, SelectableWorkspaceViewModel>(
                SelectDefaultWorkspaceTableViewCell.CellConfiguration(SelectDefaultWorkspaceTableViewCell.Identifier),
                ViewModel.Workspaces
            );
            tableViewSource.OnItemTapped = onWorkspaceTapped;
            WorkspacesTableView.Source = tableViewSource;
            WorkspacesTableView.TableFooterView = new UIKit.UIView(new CoreGraphics.CGRect(0, 0, UIKit.UIScreen.MainScreen.Bounds.Width, 24));
            WorkspacesTableView.TableFooterView.BackgroundColor = ColorAssets.Background;
        }

        public override void ViewDidLayoutSubviews()
        {
            base.ViewDidLayoutSubviews();

            setDialogSize();
        }

        private void onWorkspaceTapped(object sender, SelectableWorkspaceViewModel workspace)
        {
            ViewModel.SelectWorkspace.Execute(workspace);
        }

        private void setDialogSize()
        {
            var targetHeight = calculateTargetHeight();
            PreferredContentSize = new CGSize(
                width,
                targetHeight > maxHeight ? maxHeight : targetHeight
            );

            //Implementation in ModalPresentationController
            View.Frame = PresentationController.FrameOfPresentedViewInContainerView;

            WorkspacesTableView.ScrollEnabled = targetHeight > maxHeight;
        }

        private int calculateTargetHeight()
            => heightAboveTableView + (int)WorkspacesTableView.ContentSize.Height;
    }
}


text:
package com.intel.analytics.bigdl.dllib.keras.layers

import com.intel.analytics.bigdl.dllib.tensor.Tensor
import com.intel.analytics.bigdl.dllib.utils.Shape
import com.intel.analytics.bigdl.dllib.keras.Sequential
import com.intel.analytics.bigdl.dllib.keras.serializer.ModuleSerializationTest

class SpatialDropout2DSpec extends KerasBaseSpec {

  "SpatialDropout2D NCHW forward and backward" should "work properly" in {
    val seq = Sequential[Float]()
    val layer = SpatialDropout2D[Float](0.5, "th", inputShape = Shape(3, 4, 5))
    seq.add(layer)
    seq.getOutputShape().toSingle().toArray should be (Array(-1, 3, 4, 5))
    val input = Tensor[Float](2, 3, 4, 5).rand()
    val output = seq.forward(input)
    val gradInput = seq.backward(input, output)
  }

  "SpatialDropout2D NHWC forward and backward" should "work properly" in {
    val seq = Sequential[Float]()
    val layer = SpatialDropout2D[Float](0.5, "tf", inputShape = Shape(3, 4, 5))
    seq.add(layer)
    seq.getOutputShape().toSingle().toArray should be (Array(-1, 3, 4, 5))
    val input = Tensor[Float](2, 3, 4, 5).rand()
    val output = seq.forward(input)
    val gradInput = seq.backward(input, output)
  }

}

class SpatialDropout2DSerialTest extends ModuleSerializationTest {
  override def test(): Unit = {
    val layer = SpatialDropout2D[Float](0.5, "tf", inputShape = Shape(3, 64, 64))
    layer.build(Shape(2, 3, 64, 64))
    val input = Tensor[Float](2, 3, 64, 64).rand()
    runSerializationTest(layer, input)
  }
}


text:
package com.google.template.autoesc.out;

import java.io.IOException;

import com.google.common.base.Objects;
import com.google.common.base.Optional;
import com.google.template.autoesc.inp.StringTransform;
import com.google.template.autoesc.viz.DetailLevel;
import com.google.template.autoesc.viz.VizOutput;

import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

/**
 * Marks the boundaries of an
 * {@linkplain com.google.template.autoesc.combimpl.EmbedCombinator embedded}
 * region.
 * String chunks within the region may have different
 * {@link StringOutput#rawChars} than the decoded {@link StringOutput#s}.
 */
public final class EmbedOutput extends BinaryOutput {
  /** The transform used to decode the input to the embedded grammar. */
  public final StringTransform xform;

  /** */
  public EmbedOutput(Side side, StringTransform xform) {
    super(side);
    this.xform = xform;
  }
  @Override
  protected void visualizeBody(DetailLevel lvl, VizOutput out)
  throws IOException {
    xform.visualize(lvl, out);
  }

  @Override
  protected String getVizTypeClassName() {
    return "embed-output";
  }

  @Override
  public Optional<Output> coalesceWithFollower(Output next) {
    return Optional.absent();
  }

  @SuppressFBWarnings(
      value="BC_UNCONFIRMED_CAST",
      justification="getClass() == x.getClass() -> x instanceof ThisClass")
  @Override
  public boolean isOtherSide(BinaryOutput b) {
    return side != b.side && getClass() == b.getClass()
        && xform.equals(((EmbedOutput) b).xform);
  }

  @Override
  public boolean equals(Object o) {
    if (!(o instanceof EmbedOutput)) { return false; }
    EmbedOutput that = (EmbedOutput) o;
    return this.side == that.side && this.xform.equals(that.xform);
  }

  @Override
  public int hashCode() {
    return Objects.hashCode(side, xform);
  }
}


text:
import { NgModule, ErrorHandler } from '@angular/core';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { BrowserModule } from '@angular/platform-browser';
import { IonicStorageModule } from '@ionic/storage';
import { HTTP } from '@ionic-native/http';
import { Contacts } from '@ionic-native/contacts';
import { MyApp } from './app.component';

import { Util } from '../utils/util';
import { CordysUtil } from '../utils/cordysutil';
import { XmlUtil } from '../utils/xmlutil';
import { AlertUtil } from '../utils/alertutil';
import { DateUtil } from '../utils/dateutil';
import { StorageUtil } from '../utils/storageutil';
import { AppConfig } from './app.config';
import { ShareService } from '../providers/share-service';
import { SurveyService } from '../providers/survey-service';

import { LoginPage } from '../pages/login/login';
import { PortalPage } from '../pages/portal/portal';
import { InfoPage } from '../pages/info/info';
import { BlogIndexPage } from '../pages/blog/index/index';
import { AddBlogPage } from '../pages/blog/add-blog/add-blog';
import { PreviewBlogPage } from '../pages/blog/preview-blog/preview-blog';
import { AddCommentPage } from '../pages/blog/add-comment/add-comment';
import { BlogDetailPage } from '../pages/blog/detail/detail';
import { NotificationDetailPage } from '../pages/notification/detail/detail';
import { ProfileIndexPage } from '../pages/profile/index/index';
import { NotificationIndexPage } from '../pages/notification/index/index';
import { ScheduleIndexPage } from '../pages/schedule/index/index';
import { AboutPage } from '../pages/about/about';
import { DevicesPage } from '../pages/schedule/devices/devices';
import { ChangePasswordPage } from '../pages/profile/change-password/change-password';
import { ChangeAvatarPage } from '../pages/profile/change-avatar/change-avatar';
import { SelectDevicesPage } from '../pages/schedule/select-devices/select-devices';
import { EditEventPage } from '../pages/schedule/edit-event/edit-event';
import { EventDetailPage } from '../pages/schedule/event-detail/event-detail';
import { SelectUserPage } from '../pages/schedule/select-user/select-user';
import { SurveyDetailPage } from '../pages/survey/detail/detail';
import { SurveyIndexPage } from '../pages/survey/index/index';
import { OptionResultDetailPage } from '../pages/survey/option-result-detail/option-result-detail';
import { SurveyResultPage } from '../pages/survey/result/result';
import { SelectReadLimitTypePage } from '../pages/blog/add-blog/add-blog';
import { AddressBookPage } from '../pages/addressbook/index/index';
import { AddressBookDetailPage } from '../pages/addressbook/detail/detail';

import { SelectUsersPage } from '../shared/components/select-users/select-users';
import { ImageSlidesPage } from '../shared/components/image-slides/image-slides';
import { KeysPipe } from '../shared/pipes/keys-pipe';

import { Badge } from '@ionic-native/badge';
import { AppVersion } from '@ionic-native/app-version';
import { InAppBrowser } from '@ionic-native/in-app-browser';
import { StatusBar } from '@ionic-native/status-bar';
import { ScreenOrientation } from '@ionic-native/screen-orientation';
import { GoogleAnalytics } from '@ionic-native/google-analytics';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { JPush } from '@jiguang-ionic/jpush';

import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { Brightness } from '@ionic-native/brightness';
import { AndroidFullScreen } from '@ionic-native/android-full-screen';

// AoT requires an exported function for factories
export function HttpLoaderFactory(http: HttpClient) {
    return new TranslateHttpLoader(http, 'assets/i18n/', '.json');
}

@NgModule({
    declarations: [
        MyApp,
        LoginPage,
        PortalPage,
        InfoPage,
        BlogIndexPage,
        AddBlogPage,
        PreviewBlogPage,
        SelectUsersPage,
        AddCommentPage,
        ImageSlidesPage,
        BlogDetailPage,
        NotificationDetailPage,
        ProfileIndexPage,
        NotificationIndexPage,
        ScheduleIndexPage,
        AboutPage,
        DevicesPage,
        ChangePasswordPage,
        ChangeAvatarPage,
        SelectDevicesPage,
        EditEventPage,
        EventDetailPage,
        SelectUserPage,
        SurveyDetailPage,
        SurveyIndexPage,
        OptionResultDetailPage,
        SurveyResultPage,
        SelectReadLimitTypePage,
        AddressBookPage,
        AddressBookDetailPage,
        KeysPipe
    ],
    imports: [
        BrowserModule,
        HttpClientModule,
        IonicModule.forRoot(MyApp, {
            tabsHideOnSubPages: true
        }),
        IonicStorageModule.forRoot({
            name: '__intalinx_mobile',
            driverOrder: ['indexeddb', 'sqlite', 'websql']
        }),

        TranslateModule.forRoot({
            loader: {
                provide: TranslateLoader,
                useFactory: HttpLoaderFactory,
                deps: [HttpClient]
            }
        })
        // CloudModule.forRoot(cloudSettings)
    ],
    bootstrap: [IonicApp],
    entryComponents: [
        MyApp,
        LoginPage,
        PortalPage,
        InfoPage,
        BlogIndexPage,
        AddBlogPage,
        PreviewBlogPage,
        SelectUsersPage,
        AddCommentPage,
        ImageSlidesPage,
        BlogDetailPage,
        NotificationDetailPage,
        ProfileIndexPage,
        NotificationIndexPage,
        ScheduleIndexPage,
        AboutPage,
        DevicesPage,
        ChangePasswordPage,
        ChangeAvatarPage,
        SelectDevicesPage,
        EditEventPage,
        EventDetailPage,
        SelectUserPage,
        SurveyDetailPage,
        SurveyIndexPage,
        OptionResultDetailPage,
        SurveyResultPage,
        SelectReadLimitTypePage,
        AddressBookPage,
        AddressBookDetailPage
    ],
    providers: [
        { provide: ErrorHandler, useClass: IonicErrorHandler },
        Storage,
        {
            provide: ShareService,
            useClass: ShareService,
            deps: [Badge]
        },
        Util,
        CordysUtil,
        XmlUtil,
        AlertUtil,
        DateUtil,
        StorageUtil,
        AppConfig,
        JPush,
        Contacts,
        HTTP,
        Badge,
        StatusBar,
        AppVersion,
        InAppBrowser,
        ScreenOrientation,
        GoogleAnalytics,
        SurveyService,
        Brightness,
        AndroidFullScreen
    ]
})
export class AppModule {}


text:
@implementation DSAlertViewFactory

+ (id<DSAlertView>)modalAlertViewWithAlert:(DSAlert *)theAlert
{
  NSArray<DSAlertButton*> *otherButtons = [theAlert otherButtons];

  NSMutableArray *otherButtonsTitles = [NSMutableArray array];
  for (DSAlertButton *button in otherButtons) {
    [otherButtonsTitles addObject:[button title]];
  }

  id<DSAlertView> alertView = nil;
  NSString *alertViewClassName = [[DSAlertsHandlerConfiguration sharedInstance] modelAlertsClassName];
  Class<DSAlertView> alertViewClass = NSClassFromString(alertViewClassName);
  if (alertViewClass != NULL) {
    alertView = (id <DSAlertView>) [alertViewClass alertViewWithTitle:[theAlert localizedTitle]
                                                              message:[theAlert localizedBody]];
  }
  else {
    alertView = [DSUIAlertView alertViewWithTitle:[theAlert localizedTitle]
                                          message:[theAlert localizedBody]];
  }

  for (DSAlertButton *otherButton in otherButtons) {
    [alertView addButton:otherButton style:DSAlertButtonStyleDefault];
  }
  if ([theAlert cancelButton]) {
    [alertView addButton:[theAlert cancelButton] style:DSAlertButtonStyleCancel];
  }

  [alertView setAlert:theAlert];

  return alertView;
}

@end


text:
[View Javadoc](../../../../../../../apidocs/org/apache/struts/chain/commands/servlet/SelectModule.html.md)

    1
    21  package org.apache.struts.chain.commands.servlet;
    22
    23  import org.apache.struts.Globals;
    24  import org.apache.struts.chain.Constants;
    25  import org.apache.struts.chain.commands.AbstractSelectModule;
    26  import org.apache.struts.chain.contexts.ActionContext;
    27  import org.apache.struts.chain.contexts.ServletActionContext;
    28
    29  import javax.servlet.http.HttpServletRequest;
    30
    31  /**
    32   *
Cache the ModuleConfig and MessageResources
    33   * instances for the sub-application module to be used for processing this
    34   * request.

    35   *
    36   * @version $Rev: 471754 $ $Date: 2005-06-04 10:58:46 -0400 (Sat, 04 Jun 2005)
    37   *          $
    38   */
    39  public class SelectModule extends AbstractSelectModule {
    40      // ------------------------------------------------------- Protected Methods
    41      protected String getPrefix(ActionContext context) {
    42          // Identify the URI from which we will match a module prefix
    43          ServletActionContext sacontext = (ServletActionContext) context;
    44          HttpServletRequest request = sacontext.getRequest();
    45          String uri =
    46              (String) request.getAttribute(Constants.INCLUDE_SERVLET_PATH);
    47
    48          if (uri == null) {
    49              uri = request.getServletPath();
    50          }
    51
    52          if (uri == null) {
    53              throw new IllegalArgumentException("No path information in request");
    54          }
    55
    56          // Identify the module prefix for the current module
    57          String prefix = ""; // Initialize to default prefix
    58          String[] prefixes =
    59              (String[]) sacontext.getApplicationScope().get(Globals.MODULE_PREFIXES_KEY);
    60          int lastSlash = 0;
    61
    62          while (prefix.equals("") && ((lastSlash = uri.lastIndexOf("/")) > 0)) {
    63              uri = uri.substring(0, lastSlash);
    64
    65              for (int i = 0; i < prefixes.length; i++) {
    66                  if (uri.equals(prefixes[i])) {
    67                      prefix = prefixes[i];
    68
    69                      break;
    70                  }
    71              }
    72          }
    73
    74          return (prefix);
    75      }
    76  }

------------------------------------------------------------------------

This page was automatically generated by [Maven](http://maven.apache.org/)