All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.14.746b58959a350aa1ebcf.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.5
Show newest version
{"version":3,"sources":["webpack:///14.746b58959a350aa1ebcf.js","webpack:///./src/components/alertconditions/AlertCondition.jsx","webpack:///./src/components/alertconditions/AlertConditionForm.jsx","webpack:///./src/components/alertconditions/AlertConditionSummary.jsx","webpack:///./src/components/alertconditions/AlertConditionsComponent.jsx","webpack:///./src/components/alertconditions/AlertConditionsList.jsx","webpack:///./src/components/alertconditions/ConditionAlertNotifications.jsx","webpack:///./src/components/alertconditions/CreateAlertConditionInput.jsx","webpack:///./src/components/alertconditions/EditAlertConditionForm.jsx","webpack:///./src/components/alertconditions/GenericAlertConditionSummary.jsx","webpack:///./src/components/alertconditions/UnknownAlertCondition.jsx","webpack:///./src/components/alertconditions/fieldcontentcondition/index.jsx","webpack:///./src/components/alertconditions/fieldcontentcondition/FieldContentConditionSummary.jsx","webpack:///./src/components/alertconditions/fieldvaluecondition/index.jsx","webpack:///./src/components/alertconditions/fieldvaluecondition/FieldValueConditionSummary.jsx","webpack:///./src/components/alertconditions/messagecountcondition/index.jsx","webpack:///./src/components/alertconditions/messagecountcondition/MessageCountConditionSummary.jsx","webpack:///./src/pages/EditAlertConditionPage.jsx","webpack:///./src/components/alertnotifications/index.jsx","webpack:///./src/components/alertconditions/index.jsx","webpack:///./src/components/alertconditions/GracePeriodSummary.jsx","webpack:///./src/components/alertconditions/BacklogSummary.jsx","webpack:///./src/components/alertconditions/RepeatNotificationsSummary.jsx","webpack:///./src/components/alertnotifications/AlertNotification.jsx","webpack:///./src/components/alertnotifications/AlertNotificationsComponent.jsx","webpack:///./src/components/alertnotifications/AlertNotificationsList.jsx","webpack:///./src/components/alertnotifications/CreateAlertNotificationInput.jsx","webpack:///./src/components/alertnotifications/UnknownAlertNotification.jsx"],"names":["webpackJsonp","1009","module","exports","__webpack_require__","_interopRequireDefault","obj","__esModule","default","Object","defineProperty","value","_propTypes","_propTypes2","_react","_react2","_reflux","_reflux2","_reactBootstrap","_CombinedProvider","_CombinedProvider2","_alertconditions","_PermissionsMixin","_PermissionsMixin2","_CombinedProvider$get","get","AlertConditionsActions","AlertConditionsStore","_CombinedProvider$get2","CurrentUserStore","AlertCondition","createClass","displayName","propTypes","alertCondition","object","isRequired","stream","mixins","connect","_onDelete","window","confirm","delete","this","props","id","render","type","condition","typeDefinition","state","types","createElement","UnknownAlertCondition","onDelete","permissions","currentUser","actions","isPermitted","DropdownButton","key","title","pullRight","MenuItem","onSelect","AlertConditionSummary","linkToDetails","1010","_configurationforms","AlertConditionForm","onCancel","func","onSubmit","string","getDefaultProps","getValue","values","refs","configurationForm","parameters","configuration","open","_onCancel","_onSubmit","request","_formatTitle","name","action","conditionName","ConfigurationForm","ref","configFields","requested_configuration","typeName","submitAction","cancelAction","titleValue","helpBlock","FormGroup","ControlLabel","FormControl","Static","human_name","1011","_reactRouterBootstrap","_Routes","_Routes2","_common","_plugin","array","bool","conditionType","PluginStore","find","c","SummaryComponent","summaryComponent","GenericAlertConditionSummary","description","content","Col","md","LinkContainer","to","show_alert_condition","EntityListItem","titleSuffix","contentRow","1012","_javascriptNaturalSort","_javascriptNaturalSort2","StreamsStore","AlertConditionsComponent","getInitialState","streams","undefined","componentDidMount","_loadData","_this","listStreams","then","setState","listAll","_isLoading","allAlertConditions","Spinner","alertConditions","sort","a1","a2","t1","t2","toLowerCase","className","ALERTS","NEW_CONDITION","Button","bsStyle","AlertConditionsList","1013","currentPage","PAGE_SIZE","_onChangePaginatedList","_paginatedConditions","slice","_formatCondition","s","alert_conditions","PaginatedList","totalItems","length","onChange","showPageSizeSelect","pageSize","EntityList","bsNoItemsStyle","noItemsText","items","map","1014","_alertnotifications","AlarmCallbacksActions","AlertNotificationsActions","ConditionAlertNotifications","conditionNotifications","available","list","callbacks","notifications","Pluralize","singular","plural","AlertNotificationsList","alertNotifications","onNotificationUpdate","onNotificationDelete","1015","_bootstrap","_UserNotification","_UserNotification2","_History","_History2","CreateAlertConditionInput","selectedStream","PLACEHOLDER","_onChange","evt","target","_onStreamChange","nextStream","data","_this2","error","save","conditionId","pushState","_openForm","_resetForm","_formatConditionForm","_formatOption","label","_this3","conditionForm","availableTypes","keys","formattedStreams","s1","s2","Row","Input","help","Select","placeholder","options","disabled","onClick","1016","EditAlertConditionForm","_onEdit","updateForm","_onUpdate","update","1017","_GracePeriodSummary","_GracePeriodSummary2","_BacklogSummary","_BacklogSummary2","graceSummary","grace","backlogSummary","backlog","ConfigurationWell","1018","Alert","1019","_FieldContentConditionSummary","enumerable","1020","_RepeatNotificationsSummary","_RepeatNotificationsSummary2","FieldContentConditionSummary","_formatMatcher","field","1021","_FieldValueConditionSummary","1022","FieldValueConditionSummary","threshold","thresholdType","threshold_type","time","1023","_MessageCountConditionSummary","1024","MessageCountConditionSummary","1351","_DocumentationLink","_DocumentationLink2","_DocsHelper","_DocsHelper2","_CombinedProvider$get3","EditAlertConditionPage","params","streamId","DocumentTitle","PageHeader","page","PAGES","text","CONDITIONS","NOTIFICATIONS","923","_AlertNotification","_AlertNotificationsComponent","_AlertNotificationsList","_CreateAlertNotificationInput","_UnknownAlertNotification","924","_AlertCondition","_AlertConditionForm","_AlertConditionSummary","_AlertConditionsComponent","_AlertConditionsList","_ConditionAlertNotifications","_CreateAlertConditionInput","_EditAlertConditionForm","_GenericAlertConditionSummary","_UnknownAlertCondition","_fieldcontentcondition","_fieldvaluecondition","_messagecountcondition","register","PluginManifest","930","GracePeriodSummary","_formatTime","931","BacklogSummary","_formatMessageCount","count","933","RepeatNotificationsSummary","repeatNotifications","repeat_notifications","938","AlertNotificationsStore","AlertNotification","alertNotification","isTestingAlert","_onTestNotification","testAlert","finally","stream_id","availableNotifications","notification","UnknownAlertNotification","divider","939","AlertNotificationsComponent","allNotifications","NEW_NOTIFICATION","940","_paginatedNotifications","_formatNotification","941","CreateAlertNotificationInput","_formatNotificationForm","notificationForm","ExternalLinkButton","href","942"],"mappings":"AAAAA,cAAc,KAERC,KACA,SAAUC,EAAQC,QAASC,GAEjC,YA+BA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GA5BvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GCTT,IAAAC,GAAAR,EAAA,GDcIS,EAAcR,EAAuBO,GCbzCE,EAAAV,EAAA,GDiBIW,EAAUV,EAAuBS,GChBrCE,EAAAZ,EAAA,GDoBIa,EAAWZ,EAAuBW,GCnBtCE,EAAAd,EAAA,IAEAe,EAAAf,EAAA,IDuBIgB,EAAqBf,EAAuBc,GCnBhDE,EAAAjB,EAAA,KACAkB,EAAAlB,EAAA,KDwBImB,EAAqBlB,EAAuBiB,GAI5CE,EChCqDJ,EAAAZ,QAAiBiB,IAAI,mBAAtEC,EDiCqBF,ECjCrBE,uBAAwBC,EDkCLH,EClCKG,qBDoC5BC,ECnCyBR,EAAAZ,QAAiBiB,IAAI,eAA1CI,EDoCeD,ECpCfC,iBAKFC,EAAiBf,EAAAP,QAAMuB,aAAYC,YAAA,iBACvCC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,WACjCC,OAAQxB,EAAAL,QAAU2B,QAEpBG,QAASrB,EAAAT,QAAO+B,QAAQZ,GAAuBV,EAAAT,QAAO+B,QAAQV,GAAtDN,EAAAf,SAERgC,UAPuC,WAQjCC,OAAOC,QAAQ,mCACjBhB,EAAuBiB,OAAOC,KAAKC,MAAMR,OAAOS,GAAIF,KAAKC,MAAMX,eAAeY,KAIlFC,OAbuC,WAcrC,GAAMC,GAAOJ,KAAKC,MAAMX,eAAec,KACjCX,EAASO,KAAKC,MAAMR,OACpBY,EAAYL,KAAKC,MAAMX,eACvBgB,EAAiBN,KAAKO,MAAMC,MAAMJ,EAExC,KAAKE,EACH,MAAOnC,GAAAP,QAAA6C,cAAAhC,EAAAiC,uBAAuBpB,eAAgBe,EAAWM,SAAUX,KAAKJ,UAAWH,OAAQA,GAG7F,IAAMmB,GAAcZ,KAAKO,MAAMM,YAAYD,YACvCE,IAUJ,OATId,MAAKe,YAAYH,EAAjB,gBAA8CnB,EAAOS,MACvDY,GACE3C,EAAAP,QAAA6C,cAAAnC,EAAA0C,gBAAgBC,IAAI,sBAAsBC,MAAM,UAAUC,WAAA,EAC1CjB,GAAA,yBAA6BG,EAAUH,IACrD/B,EAAAP,QAAA6C,cAAAnC,EAAA8C,UAAUC,SAAUrB,KAAKJ,WAAzB,aAMJzB,EAAAP,QAAA6C,cAAAhC,EAAA6C,uBAAuBhC,eAAgBe,EAAWC,eAAgBA,EAAgBb,OAAQA,EACnEqB,QAASA,EAASS,eAAA,MDyC/ChE,SAAQK,QCpCOsB,EDqCf5B,EAAOC,QAAUA,QAAiB,SAI5BiE,KACA,SAAUlE,EAAQC,QAASC,GAEjC,YA2BA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAxBvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GErGT,IAAAC,GAAAR,EAAA,GF0GIS,EAAcR,EAAuBO,GEzGzCE,EAAAV,EAAA,GF6GIW,EAAUV,EAAuBS,GE5GrCE,EAAAZ,EAAA,GFgHIa,EAAWZ,EAAuBW,GE/GtCE,EAAAd,EAAA,IAEAiE,EAAAjE,EAAA,KAEAe,EAAAf,EAAA,IFmHIgB,EAAqBf,EAAuBc,GAI5CK,EEtH6BJ,EAAAZ,QAAiBiB,IAAI,mBAA9CE,EFuHmBH,EEvHnBG,qBAEF2C,EAAqBvD,EAAAP,QAAMuB,aAAYC,YAAA,qBAC3CC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAC1BoC,SAAU1D,EAAAL,QAAUgE,KACpBC,SAAU5D,EAAAL,QAAUgE,KAAKpC,WACzBY,KAAMnC,EAAAL,QAAUkE,OAAOtC,YAEzBE,QAASrB,EAAAT,QAAO+B,QAAQZ,IAExBgD,gBAT2C,WAUzC,OACEJ,SAAU,aAEVE,SAAU,eAKdG,SAlB2C,WAmBzC,GAAMC,GAASjC,KAAKkC,KAAKC,kBAAkBH,UAC3C,QACEd,MAAOe,EAAOf,MACdd,KAAMJ,KAAKC,MAAMG,KACjBgC,WAAYH,EAAOI,gBAGvBC,KA1B2C,WA2BzCtC,KAAKkC,KAAKC,kBAAkBG,QAE9BC,UA7B2C,WA8BzCvC,KAAKC,MAAM0B,YAEba,UAhC2C,WAiCzC,GAAMC,GAAUzC,KAAKgC,UACrBhC,MAAKC,MAAM4B,SAASY,IAEtBC,aApC2C,SAoC9BpD,EAAgBqD,GAC3B,GAAMC,GAAStD,EAAiB,SAAW,aACrCuD,EAAgBvD,EAAiBnB,EAAAP,QAAA6C,cAAA,UAAKnB,EAAe4B,OAAS,YAAmByB,CACvF,OAAOxE,GAAAP,QAAA6C,cAAA,YAAOmC,EAAP,IAAgBC,IAGzB1C,OA1C2C,WA2CzC,GAAMC,GAAOJ,KAAKC,MAAMG,KAClBd,EAAiBU,KAAKC,MAAMX,eAC5BgB,EAAiBN,KAAKO,MAAMC,MAAMJ,EAExC,OACEjC,GAAAP,QAAA6C,cAAAgB,EAAAqB,mBAAmBC,IAAI,oBACJ9B,IAAI,qCACJ+B,aAAc1C,EAAe2C,wBAC7B/B,MAAOlB,KAAK0C,aAAapD,EAAgBgB,EAAeqC,MACxDO,SAAU9C,EACV+C,aAAcnD,KAAKwC,UACnBY,aAAcpD,KAAKuC,UACnBc,WAAY/D,EAAiBA,EAAe4B,MAAQ,GACpDoC,UAAU,4BACVrB,OAAQ3C,EAAiBA,EAAe8C,eACzDjE,EAAAP,QAAA6C,cAAAnC,EAAAiF,UAAA,KACEpF,EAAAP,QAAA6C,cAAAnC,EAAAkF,aAAA,KAAkBlD,EAAeqC,KAAjC,gBACAxE,EAAAP,QAAA6C,cAAAnC,EAAAmF,YAAaC,OAAb,KAAqBpD,EAAeqD,gBFgJ9CpG,SAAQK,QEzIO8D,EF0IfpE,EAAOC,QAAUA,QAAiB,SAI5BqG,KACA,SAAUtG,EAAQC,QAASC,GAEjC,YA6BA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GA1BvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GGlOT,IAAAC,GAAAR,EAAA,GHuOIS,EAAcR,EAAuBO,GGtOzCE,EAAAV,EAAA,GH0OIW,EAAUV,EAAuBS,GGzOrCI,EAAAd,EAAA,IACAqG,EAAArG,EAAA,KAEAsG,EAAAtG,EAAA,IH8OIuG,EAAWtG,EAAuBqG,GG5OtCE,EAAAxG,EAAA,IAEAiB,EAAAjB,EAAA,KACAyG,EAAAzG,EAAA,KAEM8D,EAAwBnD,EAAAP,QAAMuB,aAAYC,YAAA,wBAC9CC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,WACjCc,eAAgBrC,EAAAL,QAAU2B,OAAOC,WACjCC,OAAQxB,EAAAL,QAAU2B,OAClBuB,QAAS7C,EAAAL,QAAUsG,MAAM1E,WACzB+B,cAAetD,EAAAL,QAAUuG,MAG3BhE,OAT8C,WAU5C,GAAMV,GAASO,KAAKC,MAAMR,OACpBY,EAAYL,KAAKC,MAAMX,eACvBgB,EAAiBN,KAAKC,MAAMK,eAC5B8D,EAAgBH,EAAAI,YAAY9G,QAAQ,mBAAmB+G,KAAK,SAAAC,GAAA,MAAKA,GAAEnE,OAASC,EAAUD,WACtFoE,EAAmBJ,EAAcK,kBAAdhG,EAAAiG,6BAEnBC,EAAelF,EACnBtB,EAAAP,QAAA6C,cAAA,kCAAyBtC,EAAAP,QAAA6C,cAAA,UAAKhB,EAAOyB,QAAqB,6BAEtD0D,EACJzG,EAAAP,QAAA6C,cAAAnC,EAAAuG,KAAKC,GAAI,IACP3G,EAAAP,QAAA6C,cAAA,gCADF,IACkCtC,EAAAP,QAAA6C,cAAC+D,GAAiBlF,eAAgBe,KAIlEa,QAWJ,OATEA,GADElB,KAAKC,MAAMsB,cAEXpD,EAAAP,QAAA6C,cAAAoD,EAAAkB,eAAeC,GAAIjB,EAAAnG,QAAOqH,qBAAqBxF,EAAOS,GAAIG,EAAUH,KAClE/B,EAAAP,QAAA6C,cAAA,SAAIJ,EAAUa,MAAQb,EAAUa,MAAQ,aAInCb,EAAUa,MAAQb,EAAUa,MAAQ,WAI7C/C,EAAAP,QAAA6C,cAAAuD,EAAAkB,gBAAgBjE,IAAA,cAAmBZ,EAAUH,GAC7BgB,MAAOA,EACPiE,YAAA,IAAiB7E,EAAeqC,KAAhC,IACAgC,YAAaA,EACb7D,QAASd,KAAKC,MAAMa,QACpBsE,WAAYR,MH0QlCrH,SAAQK,QGrQO0D,EHsQfhE,EAAOC,QAAUA,QAAiB,SAI5B8H,KACA,SAAU/H,EAAQC,QAASC,GAEjC,YAmCA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAhCvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GI5UT,IAAAG,GAAAV,EAAA,GJiVIW,EAAUV,EAAuBS,GIhVrCE,EAAAZ,EAAA,GJoVIa,EAAWZ,EAAuBW,GInVtCE,EAAAd,EAAA,IACAqG,EAAArG,EAAA,KACA8H,EAAA9H,EAAA,KJyVI+H,EAA0B9H,EAAuB6H,GIvVrDtB,EAAAxG,EAAA,IACAiB,EAAAjB,EAAA,KAEAsG,EAAAtG,EAAA,IJ4VIuG,EAAWtG,EAAuBqG,GI1VtCvF,EAAAf,EAAA,IJ8VIgB,EAAqBf,EAAuBc,GAI5CK,EIjWqBJ,EAAAZ,QAAiBiB,IAAI,WAAtC2G,EJkWW5G,EIlWX4G,aJoWJxG,EInWqDR,EAAAZ,QAAiBiB,IAAI,mBAAtEE,EJoWmBC,EIpWnBD,qBAAsBD,EJqWDE,EIrWCF,uBAExB2G,EAA2BtH,EAAAP,QAAMuB,aAAYC,YAAA,2BACjDM,QAASrB,EAAAT,QAAO+B,QAAQZ,IAExB2G,gBAHiD,WAI/C,OACEC,YAASC,KAIbC,kBATiD,WAU/C7F,KAAK8F,aAGPA,UAbiD,WAarC,GAAAC,GAAA/F,IACVwF,GAAaQ,cAAcC,KAAK,SAACN,GAC/BI,EAAKG,UAAWP,QAASA,MAG3B7G,EAAuBqH,WAGzBC,WArBiD,WAsB/C,OAAQpG,KAAKO,MAAMoF,UAAY3F,KAAKO,MAAM8F,oBAG5ClG,OAzBiD,WA0B/C,GAAIH,KAAKoG,aACP,MAAOjI,GAAAP,QAAA6C,cAAAuD,EAAAsC,QAAA,KAGT,IAAMC,GAAkBvG,KAAKO,MAAM8F,mBAAmBG,KAAK,SAACC,EAAIC,GAC9D,GAAMC,GAAKF,EAAGvF,OAAS,WACjB0F,EAAKF,EAAGxF,OAAS,UACvB,QAAO,EAAAqE,EAAA3H,SAAY+I,EAAGE,cAAeD,EAAGC,gBAG1C,OACE1I,GAAAP,QAAA6C,cAAA,WACEtC,EAAAP,QAAA6C,cAAA,OAAKqG,UAAU,cACb3I,EAAAP,QAAA6C,cAAAoD,EAAAkB,eAAeC,GAAIjB,EAAAnG,QAAOmJ,OAAOC,eAC/B7I,EAAAP,QAAA6C,cAAAnC,EAAA2I,QAAQC,QAAQ,WAAhB,uBAGJ/I,EAAAP,QAAA6C,cAAA,wBACAtC,EAAAP,QAAA6C,cAAA,uDACAtC,EAAAP,QAAA6C,cAAAhC,EAAA0I,qBAAqBZ,gBAAiBA,EAAiBZ,QAAS3F,KAAKO,MAAMoF,aJ2XnFpI,SAAQK,QIrXO6H,EJsXfnI,EAAOC,QAAUA,QAAiB,SAI5B6J,KACA,SAAU9J,EAAQC,QAASC,GAEjC,YAmBA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAhBvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GKncT,IAAAC,GAAAR,EAAA,GLwcIS,EAAcR,EAAuBO,GKvczCE,EAAAV,EAAA,GL2cIW,EAAUV,EAAuBS,GKzcrCO,EAAAjB,EAAA,KACAwG,EAAAxG,EAAA,IAEM2J,EAAsBhJ,EAAAP,QAAMuB,aAAYC,YAAA,sBAC5CC,WACEkH,gBAAiBtI,EAAAL,QAAUsG,MAAM1E,WACjCmG,QAAS1H,EAAAL,QAAUsG,MAAM1E,YAG3BkG,gBAN4C,WAO1C,OACE2B,YAAa,IAIjBC,UAAW,GAEXC,uBAd4C,SAcrBF,GACrBrH,KAAKkG,UAAWmB,YAAaA,EAAc,KAG7CG,qBAlB4C,WAmB1C,MAAOxH,MAAKC,MAAMsG,gBAAgBkB,MAAMzH,KAAKO,MAAM8G,YAAcrH,KAAKsH,WAAYtH,KAAKO,MAAM8G,YAAc,GAAKrH,KAAKsH,YAGvHI,iBAtB4C,SAsB3BrH,GACf,GAAMZ,GAASO,KAAKC,MAAM0F,QAAQrB,KAAK,SAAAqD,GAAA,MAAKA,GAAEC,iBAAiBtD,KAAK,SAAAC,GAAA,MAAKA,GAAErE,KAAOG,EAAUH,MAC5F,OAAO/B,GAAAP,QAAA6C,cAAAhC,EAAAS,gBAAgB+B,IAAKZ,EAAUH,GAAIZ,eAAgBe,EAAWZ,OAAQA,KAG/EU,OA3B4C,WA2BnC,GAAA4F,GAAA/F,KACDuG,EAAkBvG,KAAKC,MAAMsG,eAEnC,OACEpI,GAAAP,QAAA6C,cAAAuD,EAAA6D,eAAeC,WAAYvB,EAAgBwB,OAAQC,SAAUhI,KAAKuH,uBACnDU,oBAAoB,EAAOC,SAAUlI,KAAKsH,WACvDnJ,EAAAP,QAAA6C,cAAAuD,EAAAmE,YAAYC,eAAe,OACfC,YAAY,sCACZC,MAAOtI,KAAKwH,uBAAuBe,IAAI,SAAAlI,GAAA,MAAa0F,GAAK2B,iBAAiBrH,UL4d9F9C,SAAQK,QKtdOuJ,ELudf7J,EAAOC,QAAUA,QAAiB,SAI5BiL,KACA,SAAUlL,EAAQC,QAASC,GAEjC,YA2BA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAxBvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GMjhBT,IAAAC,GAAAR,EAAA,GNshBIS,EAAcR,EAAuBO,GMrhBzCE,EAAAV,EAAA,GNyhBIW,EAAUV,EAAuBS,GMxhBrCoH,EAAA9H,EAAA,KN4hBI+H,EAA0B9H,EAAuB6H,GM1hBrDtB,EAAAxG,EAAA,IACAiL,EAAAjL,EAAA,KAEAe,EAAAf,EAAA,IN+hBIgB,EAAqBf,EAAuBc,GAI5CK,EMliB8BJ,EAAAZ,QAAiBiB,IAAI,kBAA/C6J,ENmiBoB9J,EMniBpB8J,sBNqiBJ1J,EMpiBkCR,EAAAZ,QAAiBiB,IAAI,sBAAnD8J,ENqiBwB3J,EMriBxB2J,0BAEFC,EAA8BzK,EAAAP,QAAMuB,aAAYC,YAAA,8BACpDC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,WACjCC,OAAQxB,EAAAL,QAAU2B,OAAOC,YAG3BkG,gBANoD,WAOlD,OACEmD,2BAAwBjD,KAI5BC,kBAZoD,WAalD7F,KAAK8F,aAGPA,UAhBoD,WAgBxC,GAAAC,GAAA/F,IACV2I,GAA0BG,YAC1BJ,EAAsBK,KAAK/I,KAAKC,MAAMR,OAAOS,IAC1C+F,KAAK,SAAA+C,GAAA,MAAajD,GAAKG,UAAW2C,uBAAwBG,OAG/D5C,WAtBoD,WAuBlD,OAAQpG,KAAKO,MAAMsI,wBAGrB1I,OA1BoD,WA2BlD,GAAIH,KAAKoG,aACP,MAAOjI,GAAAP,QAAA6C,cAAAuD,EAAAsC,QAAA,KAGT,IAAM7G,GAASO,KAAKC,MAAMR,OAEpBwJ,EAAgBjJ,KAAKO,MAAMsI,uBAAuBrC,KAAK,SAACC,EAAIC,GAChE,GAAMC,GAAKF,EAAGvF,OAAS,WACjB0F,EAAKF,EAAGxF,OAAS,UACvB,QAAO,EAAAqE,EAAA3H,SAAY+I,EAAGE,cAAeD,EAAGC,gBAG1C,OACE1I,GAAAP,QAAA6C,cAAA,WACEtC,EAAAP,QAAA6C,cAAA,2BACAtC,EAAAP,QAAA6C,cAAA,SACEtC,EAAAP,QAAA6C,cAAAuD,EAAAkF,WAAWnL,MAAOkL,EAAclB,OAAQoB,SAAS,UAAUC,OAAO,cADpE,yCAEiBjL,EAAAP,QAAA6C,cAAA,UAAKhB,EAAOyB,OAF7B,mEAKA/C,EAAAP,QAAA6C,cAAAgI,EAAAY,wBAAwBC,mBAAoBL,EAAetD,SAAU3F,KAAKC,MAAMR,QACxD8J,qBAAsBvJ,KAAK8F,UAAW0D,qBAAsBxJ,KAAK8F,eNujBjGvI,SAAQK,QMjjBOgL,ENkjBftL,EAAOC,QAAUA,QAAiB,SAI5BkM,KACA,SAAUnM,EAAQC,QAASC,GAEjC,YA2CA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAxCvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GO9nBT,IAAAG,GAAAV,EAAA,GPmoBIW,EAAUV,EAAuBS,GOloBrCE,EAAAZ,EAAA,GPsoBIa,EAAWZ,EAAuBW,GOroBtCkH,EAAA9H,EAAA,KPyoBI+H,EAA0B9H,EAAuB6H,GOxoBrDhH,EAAAd,EAAA,IAEAkM,EAAAlM,EAAA,IACAwG,EAAAxG,EAAA,IACAiB,EAAAjB,EAAA,KACAsG,EAAAtG,EAAA,IP+oBIuG,EAAWtG,EAAuBqG,GO9oBtC6F,EAAAnM,EAAA,GPkpBIoM,EAAqBnM,EAAuBkM,GOjpBhDE,EAAArM,EAAA,KPqpBIsM,EAAYrM,EAAuBoM,GOnpBvCtL,EAAAf,EAAA,IPupBIgB,EAAqBf,EAAuBc,GAI5CK,EO1pBqDJ,EAAAZ,QAAiBiB,IAAI,mBAAtEE,EP2pBmBH,EO3pBnBG,qBAAsBD,EP4pBDF,EO5pBCE,uBP8pB1BE,EO7pBqBR,EAAAZ,QAAiBiB,IAAI,WAAtC2G,EP8pBWxG,EO9pBXwG,aAEFuE,EAA4B5L,EAAAP,QAAMuB,aAAYC,YAAA,4BAClDM,QAASrB,EAAAT,QAAO+B,QAAQZ,IACxB2G,gBAFkD,WAGhD,OACEC,YAASC,GACToE,mBAAgBpE,GAChBxF,KAAMJ,KAAKiK,cAIfpE,kBAVkD,WAU9B,GAAAE,GAAA/F,IAClBwF,GAAaQ,cAAcC,KAAK,SAACN,GAC/BI,EAAKG,UAAWP,QAASA,OAI7BsE,YAAa,cAEbC,UAlBkD,SAkBxCC,GACRnK,KAAKkG,UAAW9F,KAAM+J,EAAIC,OAAOrM,SAGnCsM,gBAtBkD,SAsBlCC,GACdtK,KAAKkG,UAAW8D,eAAgBhK,KAAKO,MAAMoF,QAAQrB,KAAK,SAAAqD,GAAA,MAAKA,GAAEzH,KAAOoK,OAGxE9H,UA1BkD,SA0BxC+H,GAAM,GAAAC,GAAAxK,IACTA,MAAKO,MAAMyJ,gBACdJ,EAAAhM,QAAiB6M,MAAM,4DAA6D,4BAGtF3L,EAAuB4L,KAAK1K,KAAKO,MAAMyJ,eAAe9J,GAAIqK,GAAMtE,KAAK,SAAC0E,GACpEb,EAAAlM,QAAQgN,UAAU,KAAM7G,EAAAnG,QAAOqH,qBAAqBuF,EAAKjK,MAAMyJ,eAAe9J,GAAIyK,OAGtFE,UAnCkD,WAoChD7K,KAAKkC,KAAKC,kBAAkBG,QAE9BwI,WAtCkD,WAuChD9K,KAAKkG,UAAW9F,KAAMJ,KAAKiK,eAE7Bc,qBAzCkD,SAyC7B3K,GACnB,MACEjC,GAAAP,QAAA6C,cAAAhC,EAAAiD,oBAAoBqB,IAAI,oBAAoBpB,SAAU3B,KAAK8K,WAAYjJ,SAAU7B,KAAKwC,UAAWpC,KAAMA,KAI3G4K,cA/CkD,SA+CpC/J,EAAKlD,GACjB,OAASA,MAAOA,EAAOkN,MAAOhK,IAGhCmF,WAnDkD,WAoDhD,OAAQpG,KAAKO,MAAMC,QAAUR,KAAKO,MAAMoF,SAG1CxF,OAvDkD,WAuDzC,GAAA+K,GAAAlL,IACP,IAAIA,KAAKoG,aACP,MAAOjI,GAAAP,QAAA6C,cAAAuD,EAAAsC,QAAA,KAGT,IAAM6E,GAAiBnL,KAAKO,MAAMH,OAASJ,KAAKiK,YAAcjK,KAAK+K,qBAAqB/K,KAAKO,MAAMH,MAAQ,KACrGgL,EAAiBvN,OAAOwN,KAAKrL,KAAKO,MAAMC,OAAO+H,IAAI,SAACxK,GACxD,MAAOI,GAAAP,QAAA6C,cAAA,UAAQQ,IAAA,eAAoBlD,EAASA,MAAOA,GAAQmN,EAAK3K,MAAMC,MAAMzC,GAAO4E,QAE/E2I,EAAmBtL,KAAKO,MAAMoF,QACjC4C,IAAI,SAAA9I,GAAA,MAAUyL,GAAKF,cAAcvL,EAAOyB,MAAOzB,EAAOS,MACtDsG,KAAK,SAAC+E,EAAIC,GAAL,OAAY,EAAAjG,EAAA3H,SAAY2N,EAAGN,MAAMpE,cAAe2E,EAAGP,MAAMpE,gBACjE,OACE1I,GAAAP,QAAA6C,cAAA,WACEtC,EAAAP,QAAA6C,cAAA,uBACAtC,EAAAP,QAAA6C,cAAA,KAAGqG,UAAU,eAAb,iEAEA3I,EAAAP,QAAA6C,cAAAnC,EAAAmN,IAAA,KACEtN,EAAAP,QAAA6C,cAAAnC,EAAAuG,KAAKC,GAAI,GACP3G,EAAAP,QAAA6C,cAAA,YACEtC,EAAAP,QAAA6C,cAAAiJ,EAAAgC,OAAOT,MAAM,kBAAkBU,KAAK,oEAClCxN,EAAAP,QAAA6C,cAAAuD,EAAA4H,QAAQC,YAAY,kBAAkBC,QAASR,EAAkBtD,SAAUhI,KAAKqK,mBAGlFlM,EAAAP,QAAA6C,cAAAiJ,EAAAgC,OAAOtL,KAAK,SAASrC,MAAOiC,KAAKO,MAAMH,KAAM4H,SAAUhI,KAAKkK,UACrD6B,UAAW/L,KAAKO,MAAMyJ,eACtBiB,MAAM,iBAAiBU,KAAK,gDACjCxN,EAAAP,QAAA6C,cAAA,UAAQ1C,MAAOiC,KAAKiK,YAAa8B,UAAA,GAAjC,2BACCX,GAEFD,EACA,IACDhN,EAAAP,QAAA6C,cAAAnC,EAAA2I,QAAQ+E,QAAShM,KAAK6K,UAAWkB,SAAU/L,KAAKO,MAAMH,OAASJ,KAAKiK,YAAa/C,QAAQ,WAAzF,6BPwsBd3J,SAAQK,QO7rBOmM,EP8rBfzM,EAAOC,QAAUA,QAAiB,SAI5B0O,KACA,SAAU3O,EAAQC,QAASC,GAEjC,YAiCA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GA9BvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GQ3zBT,IAAAC,GAAAR,EAAA,GRg0BIS,EAAcR,EAAuBO,GQ/zBzCE,EAAAV,EAAA,GRm0BIW,EAAUV,EAAuBS,GQl0BrCE,EAAAZ,EAAA,GRs0BIa,EAAWZ,EAAuBW,GQr0BtCE,EAAAd,EAAA,IAEAwG,EAAAxG,EAAA,IACAiB,EAAAjB,EAAA,KACAkB,EAAAlB,EAAA,KR20BImB,EAAqBlB,EAAuBiB,GQz0BhDH,EAAAf,EAAA,IR60BIgB,EAAqBf,EAAuBc,GAI5CK,EQh1BqDJ,EAAAZ,QAAiBiB,IAAI,mBAAtEC,ERi1BqBF,EQj1BrBE,uBAAwBC,ERk1BLH,EQl1BKG,qBRo1B5BC,EQn1ByBR,EAAAZ,QAAiBiB,IAAI,eAA1CI,ERo1BeD,EQp1BfC,iBAEFiN,EAAyB/N,EAAAP,QAAMuB,aAAYC,YAAA,yBAC/CC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,WACjCC,OAAQxB,EAAAL,QAAU2B,OAAOC,YAG3BE,QAASrB,EAAAT,QAAO+B,QAAQZ,GAAuBV,EAAAT,QAAO+B,QAAQV,GAAtDN,EAAAf,SAERuO,QAR+C,WAS7CnM,KAAKkC,KAAKkK,WAAW9J,QAGvB+J,UAZ+C,SAYrC5J,GAAS,GAAAsD,GAAA/F,IACjBlB,GAAuBwN,OAAOtM,KAAKC,MAAMR,OAAOS,GAAIF,KAAKC,MAAMX,eAAeY,GAAIuC,GAASwD,KAAK,WAC9FnH,EAAuBD,IAAIkH,EAAK9F,MAAMR,OAAOS,GAAI6F,EAAK9F,MAAMX,eAAeY,OAI/EwH,iBAlB+C,WAmB7C,GAAMtH,GAAOJ,KAAKC,MAAMX,eAAec,KACjCX,EAASO,KAAKC,MAAMR,OACpBY,EAAYL,KAAKC,MAAMX,eACvBgB,EAAiBN,KAAKO,MAAMC,MAAMJ,GAElCQ,EAAcZ,KAAKO,MAAMM,YAAYD,YACvCE,IAOJ,OANId,MAAKe,YAAYH,EAAjB,gBAA8CnB,EAAOS,MACvDY,GACE3C,EAAAP,QAAA6C,cAAAnC,EAAA2I,QAAQhG,IAAI,cAAciG,QAAQ,OAAO8E,QAAShM,KAAKmM,SAAvD,WAKFhO,EAAAP,QAAA6C,cAAAhC,EAAA6C,uBAAuBL,IAAA,mBAAwBZ,EAAUH,GAAMZ,eAAgBe,EACxDC,eAAgBA,EAAgBb,OAAQA,EACxCqB,QAASA,MAIpCsF,WAvC+C,WAwC7C,OAAQpG,KAAKO,MAAMC,OAGrBL,OA3C+C,WA4C7C,GAAIH,KAAKoG,aACP,MAAOjI,GAAAP,QAAA6C,cAAAuD,EAAAsC,QAAA,KAGT,IAAMjG,GAAYL,KAAKC,MAAMX,cAE7B,OACEnB,GAAAP,QAAA6C,cAAA,WACEtC,EAAAP,QAAA6C,cAAA,+BACAtC,EAAAP,QAAA6C,cAAA,0EACAtC,EAAAP,QAAA6C,cAAAhC,EAAAiD,oBAAoBqB,IAAI,aACJ3C,KAAMC,EAAUD,KAChBd,eAAgBe,EAChBwB,SAAU7B,KAAKqM,YACnClO,EAAAP,QAAA6C,cAAAuD,EAAAmE,YAAYG,MAAOtI,KAAK0H,wBRk2BhCnK,SAAQK,QQ51BOsO,ER61Bf5O,EAAOC,QAAUA,QAAiB,SAI5BgP,KACA,SAAUjP,EAAQC,QAASC,GAEjC,YAyBA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAtBvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GSr7BT,IAAAC,GAAAR,EAAA,GT07BIS,EAAcR,EAAuBO,GSz7BzCE,EAAAV,EAAA,GT67BIW,EAAUV,EAAuBS,GS37BrCuD,EAAAjE,EAAA,KACAgP,EAAAhP,EAAA,KTg8BIiP,EAAuBhP,EAAuB+O,GS/7BlDE,EAAAlP,EAAA,KTm8BImP,EAAmBlP,EAAuBiP,GSj8BxChI,EAA+BvG,EAAAP,QAAMuB,aAAYC,YAAA,+BACrDC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,YAGnCW,OALqD,WAMnD,GAAMb,GAAiBU,KAAKC,MAAMX,eAC5BsN,EAAetN,EAAe8C,WAAWyK,MAAQ1O,EAAAP,QAAA6C,cAAAgM,EAAA7O,SAAoB0B,eAAgBA,IAAqB,KAC1GwN,EAAiBxN,EAAe8C,WAAW2K,QAAU5O,EAAAP,QAAA6C,cAAAkM,EAAA/O,SAAgB0B,eAAgBA,IAAqB,IAChH,OACEnB,GAAAP,QAAA6C,cAAA,YACGmM,EACA,IACAE,EACD3O,EAAAP,QAAA6C,cAAAgB,EAAAuL,mBAAmB3K,cAAe/C,EAAe8C,gBT68BzD7E,SAAQK,QSv8BO8G,ETw8BfpH,EAAOC,QAAUA,QAAiB,SAI5B0P,KACA,SAAU3P,EAAQC,QAASC,GAEjC,YAmBA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAhBvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GU9+BT,IAAAC,GAAAR,EAAA,GVm/BIS,EAAcR,EAAuBO,GUl/BzCE,EAAAV,EAAA,GVs/BIW,EAAUV,EAAuBS,GUr/BrCI,EAAAd,EAAA,IAEAwG,EAAAxG,EAAA,IAEMkD,EAAwBvC,EAAAP,QAAMuB,aAAYC,YAAA,wBAC9CC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,WACjCC,OAAQxB,EAAAL,QAAU2B,OAClBoB,SAAU1C,EAAAL,QAAUgE,KAAKpC,YAG3BW,OAP8C,WAQ5C,GAAME,GAAYL,KAAKC,MAAMX,eACvBG,EAASO,KAAKC,MAAMR,OAEpBqB,GACJ3C,EAAAP,QAAA6C,cAAAnC,EAAA0C,gBAAgBC,IAAI,iBAAiBC,MAAM,UAAUC,WAAA,EAAUjB,GAAA,yBAA6BG,EAAUH,IACpG/B,EAAAP,QAAA6C,cAAAnC,EAAA8C,UAAUC,SAAUrB,KAAKC,MAAMU,UAA/B,YAIEiE,EACJzG,EAAAP,QAAA6C,cAAAnC,EAAAuG,KAAKC,GAAI,IACP3G,EAAAP,QAAA6C,cAAAnC,EAAA4O,OAAOhG,QAAQ,WAAf,2GAKJ,OACE/I,GAAAP,QAAA6C,cAAAuD,EAAAkB,gBAAgBjE,IAAA,cAAmBZ,EAAUH,GAC7BgB,MAAM,oBACNiE,YAAA,IAAiB9E,EAAUD,KAA3B,IACAuE,YAAalF,EAAStB,EAAAP,QAAA6C,cAAA,+BAAsBtC,EAAAP,QAAA6C,cAAA,UAAKhB,EAAOyB,QAAqB,0BAC7EJ,QAASA,EACTsE,WAAYR,MV6gClCrH,SAAQK,QUxgCO8C,EVygCfpD,EAAOC,QAAUA,QAAiB,SAI5B4P,KACA,SAAU7P,EAAQC,QAASC,GAEjC,YAgBA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAbvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GAGT,IAAIqP,GAAgC5P,EAAoB,KAExDK,QAAOC,eAAeP,QAAS,gCAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuB2P,GWrkCzBxP,YX6kCH0P,KACA,SAAUhQ,EAAQC,QAASC,GAEjC,YA2BA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAxBvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GYplCT,IAAAC,GAAAR,EAAA,GZylCIS,EAAcR,EAAuBO,GYxlCzCE,EAAAV,EAAA,GZ4lCIW,EAAUV,EAAuBS,GY1lCrCsO,EAAAhP,EAAA,KZ8lCIiP,EAAuBhP,EAAuB+O,GY7lClDE,EAAAlP,EAAA,KZimCImP,EAAmBlP,EAAuBiP,GYhmC9Ca,EAAA/P,EAAA,KZomCIgQ,EAA+B/P,EAAuB8P,GYlmCpDE,EAA+BtP,EAAAP,QAAMuB,aAAYC,YAAA,+BACrDC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,YAEnCkO,eAJqD,SAItCC,EAAO5P,GACpB,MAAOI,GAAAP,QAAA6C,cAAA,gBAAYkN,EAAZ,MAAuB5P,EAAvB,OAEToC,OAPqD,WAQnD,GAAMb,GAAiBU,KAAKC,MAAMX,eAC5BqO,EAAQrO,EAAe8C,WAAWuL,MAClC5P,EAAQuB,EAAe8C,WAAWrE,KAExC,OACEI,GAAAP,QAAA6C,cAAA,yDAC6CT,KAAK0N,eAAeC,EAAO5P,GADxE,iBAEG,IACDI,EAAAP,QAAA6C,cAAAgM,EAAA7O,SAAoB0B,eAAgBA,IACnC,IACDnB,EAAAP,QAAA6C,cAAAkM,EAAA/O,SAAgB0B,eAAgBA,IAC/B,IACDnB,EAAAP,QAAA6C,cAAA+M,EAAA5P,SAA4B0B,eAAgBA,OZonCpD/B,SAAQK,QY9mCO6P,EZ+mCfnQ,EAAOC,QAAUA,QAAiB,SAI5BqQ,KACA,SAAUtQ,EAAQC,QAASC,GAEjC,YAgBA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAbvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GAGT,IAAI8P,GAA8BrQ,EAAoB,KAEtDK,QAAOC,eAAeP,QAAS,8BAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuBoQ,GanqCzBjQ,Yb2qCHkQ,KACA,SAAUxQ,EAAQC,QAASC,GAEjC,YA6BA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GA1BvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GclrCT,IAAAC,GAAAR,EAAA,GdurCIS,EAAcR,EAAuBO,GctrCzCE,EAAAV,EAAA,Gd0rCIW,EAAUV,EAAuBS,GcxrCrCsO,EAAAhP,EAAA,Kd4rCIiP,EAAuBhP,EAAuB+O,Gc3rClDE,EAAAlP,EAAA,Kd+rCImP,EAAmBlP,EAAuBiP,Gc9rC9Ca,EAAA/P,EAAA,KdksCIgQ,EAA+B/P,EAAuB8P,GcjsC1DvJ,EAAAxG,EAAA,IAEMuQ,EAA6B5P,EAAAP,QAAMuB,aAAYC,YAAA,6BACnDC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,YAEnCW,OAJmD,WAKjD,GAAMb,GAAiBU,KAAKC,MAAMX,eAC5BqO,EAAQrO,EAAe8C,WAAWuL,MAClCK,EAAY1O,EAAe8C,WAAW4L,UACtCC,EAAgB3O,EAAe8C,WAAW8L,eAAerH,cACzDzG,EAAOd,EAAe8C,WAAWhC,KAAKyG,cACtCsH,EAAO7O,EAAe8C,WAAW+L,IAEvC,OACEhQ,GAAAP,QAAA6C,cAAA,iDACqCkN,EADrC,UACmDM,EAChD,IAAK7N,EAFR,eAE0B4N,EAF1B,UAGG,IACD7P,EAAAP,QAAA6C,cAAAuD,EAAAkF,WAAWnL,MAAOoQ,EAAMhF,SAAS,cAAcC,OAAA,QAAgB+E,EAAhB,aAJjD,IAKG,IACDhQ,EAAAP,QAAA6C,cAAAgM,EAAA7O,SAAoB0B,eAAgBA,IACnC,IACDnB,EAAAP,QAAA6C,cAAAkM,EAAA/O,SAAgB0B,eAAgBA,IAC/B,IACDnB,EAAAP,QAAA6C,cAAA+M,EAAA5P,SAA4B0B,eAAgBA,OdqtCpD/B,SAAQK,Qc/sCOmQ,EdgtCfzQ,EAAOC,QAAUA,QAAiB,SAI5B6Q,KACA,SAAU9Q,EAAQC,QAASC,GAEjC,YAgBA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAbvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GAGT,IAAIsQ,GAAgC7Q,EAAoB,KAExDK,QAAOC,eAAeP,QAAS,gCAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuB4Q,GexwCzBzQ,YfgxCH0Q,KACA,SAAUhR,EAAQC,QAASC,GAEjC,YA6BA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GA1BvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GgBvxCT,IAAAC,GAAAR,EAAA,GhB4xCIS,EAAcR,EAAuBO,GgB3xCzCE,EAAAV,EAAA,GhB+xCIW,EAAUV,EAAuBS,GgB7xCrCsO,EAAAhP,EAAA,KhBiyCIiP,EAAuBhP,EAAuB+O,GgBhyClDE,EAAAlP,EAAA,KhBoyCImP,EAAmBlP,EAAuBiP,GgBnyC9Ca,EAAA/P,EAAA,KhBuyCIgQ,EAA+B/P,EAAuB8P,GgBtyC1DvJ,EAAAxG,EAAA,IAEM+Q,EAA+BpQ,EAAAP,QAAMuB,aAAYC,YAAA,+BACrDC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,YAEnCW,OAJqD,WAKnD,GAAMb,GAAiBU,KAAKC,MAAMX,eAC5B0O,EAAY1O,EAAe8C,WAAW4L,UACtCC,EAAgB3O,EAAe8C,WAAW8L,eAAerH,cACzDsH,EAAO7O,EAAe8C,WAAW+L,IAEvC,OACEhQ,GAAAP,QAAA6C,cAAA,4CAEG,IACDtC,EAAAP,QAAA6C,cAAAuD,EAAAkF,WAAWnL,MAAOiQ,EAAW7E,SAAA,MAAgB8E,EAAhB,oBAClB7E,OAAA,OAAe6E,EAAf,SAAqCD,EAArC,cACV,IALH,SAKc,IACZ7P,EAAAP,QAAA6C,cAAAuD,EAAAkF,WAAWnL,MAAOoQ,EAAMhF,SAAS,cAAcC,OAAA,QAAgB+E,EAAhB,aANjD,IAOG,IACDhQ,EAAAP,QAAA6C,cAAAgM,EAAA7O,SAAoB0B,eAAgBA,IACnC,IACDnB,EAAAP,QAAA6C,cAAAkM,EAAA/O,SAAgB0B,eAAgBA,IAC/B,IACDnB,EAAAP,QAAA6C,cAAA+M,EAAA5P,SAA4B0B,eAAgBA,OhBqzCpD/B,SAAQK,QgB/yCO2Q,EhBgzCfjR,EAAOC,QAAUA,QAAiB,SAI5BiR,KACA,SAAUlR,EAAQC,QAASC,GAEjC,YA2CA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAxCvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GiBh2CT,IAAAC,GAAAR,EAAA,GjBq2CIS,EAAcR,EAAuBO,GiBp2CzCE,EAAAV,EAAA,GjBw2CIW,EAAUV,EAAuBS,GiBv2CrCE,EAAAZ,EAAA,GjB22CIa,EAAWZ,EAAuBW,GiB12CtCE,EAAAd,EAAA,IACAqG,EAAArG,EAAA,KAEAiR,EAAAjR,EAAA,KjB+2CIkR,EAAsBjR,EAAuBgR,GiB92CjDzK,EAAAxG,EAAA,IACAiB,EAAAjB,EAAA,KAEAsG,EAAAtG,EAAA,IjBm3CIuG,EAAWtG,EAAuBqG,GiBl3CtC6K,EAAAnR,EAAA,KjBs3CIoR,EAAenR,EAAuBkR,GiBp3C1CpQ,EAAAf,EAAA,IjBw3CIgB,EAAqBf,EAAuBc,GAI5CK,EiB33CyBJ,EAAAZ,QAAiBiB,IAAI,eAA1CI,EjB43CeL,EiB53CfK,iBjB83CJD,EiB73CqBR,EAAAZ,QAAiBiB,IAAI,WAAtC2G,EjB83CWxG,EiB93CXwG,ajBg4CJqJ,EiB/3CqDrQ,EAAAZ,QAAiBiB,IAAI,mBAAtEE,EjBg4CmB8P,EiBh4CnB9P,qBAAsBD,EjBi4CD+P,EiBj4CC/P,uBAExBgQ,EAAyB3Q,EAAAP,QAAMuB,aAAYC,YAAA,yBAC/CC,WACE0P,OAAQ9Q,EAAAL,QAAU2B,OAAOC,YAG3BE,QAASrB,EAAAT,QAAO+B,QAAQV,GAAmBZ,EAAAT,QAAO+B,QAAQZ,IAE1D2G,gBAP+C,WAQ7C,OACEjG,WAAQmG,KAIZC,kBAb+C,WAa3B,GAAAE,GAAA/F,IAClBwF,GAAa3G,IAAImB,KAAKC,MAAM8O,OAAOC,SAAU,SAACvP,GAC5CsG,EAAKG,UAAWzG,OAAQA,MAG1BX,EAAuBD,IAAImB,KAAKC,MAAM8O,OAAOC,SAAUhP,KAAKC,MAAM8O,OAAOpE,cAG3EvE,WArB+C,WAsB7C,OAAQpG,KAAKO,MAAMd,SAAWO,KAAKO,MAAMjB,gBAG3Ca,OAzB+C,WA0B7C,GAAIH,KAAKoG,aACP,MAAOjI,GAAAP,QAAA6C,cAAAuD,EAAAsC,QAAA,KAGT,IAAMjG,GAAYL,KAAKO,MAAMjB,eACvBG,EAASO,KAAKO,MAAMd,MAE1B,OACEtB,GAAAP,QAAA6C,cAAAuD,EAAAiL,eAAe/N,MAAA,cAAoBb,EAAUa,OAAS,aACpD/C,EAAAP,QAAA6C,cAAA,WACEtC,EAAAP,QAAA6C,cAAAuD,EAAAkL,YAAYhO,MAAO/C,EAAAP,QAAA6C,cAAA,yBAAgBtC,EAAAP,QAAA6C,cAAA,UAAKJ,EAAUa,OAAS,cACzD/C,EAAAP,QAAA6C,cAAA,yHAIAtC,EAAAP,QAAA6C,cAAA,sHAEM,IACJtC,EAAAP,QAAA6C,cAAAiO,EAAA9Q,SAAmBuR,KAAMP,EAAAhR,QAAWwR,MAAMrI,OAAQsI,KAAK,kBAHzD,KAMAlR,EAAAP,QAAA6C,cAAA,YACEtC,EAAAP,QAAA6C,cAAAoD,EAAAkB,eAAeC,GAAIjB,EAAAnG,QAAOmJ,OAAOuI,YAC/BnR,EAAAP,QAAA6C,cAAAnC,EAAA2I,QAAQC,QAAQ,QAAhB,sBAFJ,IAKE/I,EAAAP,QAAA6C,cAAAoD,EAAAkB,eAAeC,GAAIjB,EAAAnG,QAAOmJ,OAAOwI,eAC/BpR,EAAAP,QAAA6C,cAAAnC,EAAA2I,QAAQC,QAAQ,QAAhB,2BAKN/I,EAAAP,QAAA6C,cAAAnC,EAAAmN,KAAK3E,UAAU,WACb3I,EAAAP,QAAA6C,cAAAnC,EAAAuG,KAAKC,GAAI,IACP3G,EAAAP,QAAA6C,cAAAhC,EAAAyN,wBAAwB5M,eAAgBe,EAAWZ,OAAQA,MAI/DtB,EAAAP,QAAA6C,cAAAnC,EAAAmN,KAAK3E,UAAU,WACb3I,EAAAP,QAAA6C,cAAAnC,EAAAuG,KAAKC,GAAI,IACP3G,EAAAP,QAAA6C,cAAAhC,EAAAmK,6BAA6BtJ,eAAgBe,EAAWZ,OAAQA,UjB+6C9ElC,SAAQK,QiBt6COkR,EjBu6CfxR,EAAOC,QAAUA,QAAiB,SAI5BiS,IACA,SAAUlS,EAAQC,QAASC,GAEjC,YAoDA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAjDvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GAGT,IAAI0R,GAAqBjS,EAAoB,IAE7CK,QAAOC,eAAeP,QAAS,qBAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuBgS,GkBvhDzB7R,UlB2hDT,IAAI8R,GAA+BlS,EAAoB,IAEvDK,QAAOC,eAAeP,QAAS,+BAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuBiS,GkB/hDzB9R,UlBmiDT,IAAI+R,GAA0BnS,EAAoB,IAElDK,QAAOC,eAAeP,QAAS,0BAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuBkS,GkBviDzB/R,UlB2iDT,IAAIgS,GAAgCpS,EAAoB,IAExDK,QAAOC,eAAeP,QAAS,gCAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuBmS,GkB/iDzBhS,UlBmjDT,IAAIiS,GAA4BrS,EAAoB,IAEpDK,QAAOC,eAAeP,QAAS,4BAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuBoS,GkBvjDzBjS,YlB+jDHkS,IACA,SAAUxS,EAAQC,QAASC,GAEjC,YA0GA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAvGvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,IAETR,QAAQmD,sBAAwBnD,QAAQmH,6BAA+BnH,QAAQ2O,uBAAyB3O,QAAQwM,0BAA4BxM,QAAQqL,4BAA8BrL,QAAQ4J,oBAAsB5J,QAAQkI,yBAA2BlI,QAAQ+D,sBAAwB/D,QAAQmE,mBAAqBnE,QAAQ2B,mBAAiB0G,EAEzU,IAAImK,GAAkBvS,EAAoB,KAE1CK,QAAOC,eAAeP,QAAS,kBAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuBsS,GmBnlDzBnS,UnBulDT,IAAIoS,GAAsBxS,EAAoB,KAE9CK,QAAOC,eAAeP,QAAS,sBAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuBuS,GmB3lDzBpS,UnB+lDT,IAAIqS,GAAyBzS,EAAoB,KAEjDK,QAAOC,eAAeP,QAAS,yBAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuBwS,GmBnmDzBrS,UnBumDT,IAAIsS,GAA4B1S,EAAoB,KAEpDK,QAAOC,eAAeP,QAAS,4BAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuByS,GmB3mDzBtS,UnB+mDT,IAAIuS,GAAuB3S,EAAoB,KAE/CK,QAAOC,eAAeP,QAAS,uBAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuB0S,GmBnnDzBvS,UnBunDT,IAAIwS,GAA+B5S,EAAoB,KAEvDK,QAAOC,eAAeP,QAAS,+BAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuB2S,GmB3nDzBxS,UnB+nDT,IAAIyS,GAA6B7S,EAAoB,KAErDK,QAAOC,eAAeP,QAAS,6BAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuB4S,GmBnoDzBzS,UnBuoDT,IAAI0S,GAA0B9S,EAAoB,KAElDK,QAAOC,eAAeP,QAAS,0BAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuB6S,GmB3oDzB1S,UnB+oDT,IAAI2S,GAAgC/S,EAAoB,KAExDK,QAAOC,eAAeP,QAAS,gCAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuB8S,GmBnpDzB3S,UnBupDT,IAAI4S,GAAyBhT,EAAoB,KAEjDK,QAAOC,eAAeP,QAAS,yBAC7B8P,YAAY,EACZxO,IAAK,WACH,MAAOpB,GAAuB+S,GmB3pDzB5S,UAET,IAAAqG,GAAAzG,EAAA,KACAiT,EAAAjT,EAAA,MACAkT,EAAAlT,EAAA,MACAmT,EAAAnT,EAAA,KAEAyG,GAAAI,YAAYuM,SAAS,GAAA3M,GAAA4M,mBACnBtK,kBAEI9B,gDACArE,KAAM,wBAGNqE,8CACArE,KAAM,gBAGNqE,gDACArE,KAAM,sBnBqqDN0Q,IACA,SAAUxT,EAAQC,QAASC,GAEjC,YAeA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAZvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GoBxsDT,IAAAC,GAAAR,EAAA,GpB6sDIS,EAAcR,EAAuBO,GoB5sDzCE,EAAAV,EAAA,GpBgtDIW,EAAUV,EAAuBS,GoB9sD/B6S,EAAqB5S,EAAAP,QAAMuB,aAAYC,YAAA,qBAC3CC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,YAEnCwR,YAJ2C,SAI/B7C,GACV,MAAa,KAATA,EACK,WAGCA,EAAV,YAEFhO,OAX2C,WAYzC,GAAMgO,GAAOnO,KAAKC,MAAMX,eAAe8C,WAAWyK,KAClD,OAAO1O,GAAAP,QAAA6C,cAAA,6BAAqBT,KAAKgR,YAAY7C,GAAtC,OpB8tDX5Q,SAAQK,QoB1tDOmT,EpB2tDfzT,EAAOC,QAAUA,QAAiB,SAI5B0T,IACA,SAAU3T,EAAQC,QAASC,GAEjC,YAeA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAZvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GqB1vDT,IAAAC,GAAAR,EAAA,GrB+vDIS,EAAcR,EAAuBO,GqB9vDzCE,EAAAV,EAAA,GrBkwDIW,EAAUV,EAAuBS,GqBhwD/BgT,EAAiB/S,EAAAP,QAAMuB,aAAYC,YAAA,iBACvCC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,YAEnC2R,oBAJuC,SAInBC,GAClB,MAAc,KAAVA,EACK,6BAGK,IAAVA,EACK,yBAGT,kBAAyBA,EAAzB,aAEFjR,OAfuC,WAgBrC,GAAM4M,GAAU/M,KAAKC,MAAMX,eAAe8C,WAAW2K,OACrD,OACE5O,GAAAP,QAAA6C,cAAA,YAAOT,KAAKmR,oBAAoBpE,GAAhC,6BrB8wDNxP,SAAQK,QqBzwDOsT,ErB0wDf5T,EAAOC,QAAUA,QAAiB,SAI5B8T,IACA,SAAU/T,EAAQC,QAASC,GAEjC,YAeA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAZvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GsB/yDT,IAAAC,GAAAR,EAAA,GtBozDIS,EAAcR,EAAuBO,GsBnzDzCE,EAAAV,EAAA,GtBuzDIW,EAAUV,EAAuBS,GsBrzD/BoT,EAA6BnT,EAAAP,QAAMuB,aAAYC,YAAA,6BACnDC,WACEC,eAAgBrB,EAAAL,QAAU2B,OAAOC,YAEnCW,OAJmD,WAKjD,GAAMoR,GAAsBvR,KAAKC,MAAMX,eAAe8C,WAAWoP,uBAAwB,CACzF,OACErT,GAAAP,QAAA6C,cAAA,8BAAsB8Q,GAAuBpT,EAAAP,QAAA6C,cAAA,gBAA7C,4BtBw0DNlD,SAAQK,QsBn0DO0T,EtBo0DfhU,EAAOC,QAAUA,QAAiB,SAI5BkU,IACA,SAAUnU,EAAQC,QAASC,GAEjC,YAmCA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAhCvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GuB91DT,IAAAC,GAAAR,EAAA,GvBm2DIS,EAAcR,EAAuBO,GuBl2DzCE,EAAAV,EAAA,GvBs2DIW,EAAUV,EAAuBS,GuBr2DrCE,EAAAZ,EAAA,GvBy2DIa,EAAWZ,EAAuBW,GuBx2DtCE,EAAAd,EAAA,IAEAkB,EAAAlB,EAAA,KvB42DImB,EAAqBlB,EAAuBiB,GuB12DhDH,EAAAf,EAAA,IvB82DIgB,EAAqBf,EAAuBc,GuBz2DhDyF,EAAAxG,EAAA,IACAiL,EAAAjL,EAAA,KACAiE,EAAAjE,EAAA,KvBi3DIoB,EuBv3DgCJ,EAAAZ,QAAiBiB,IAAI,sBAAjD6S,EvBw3DsB9S,EuBx3DtB8S,wBvB03DJ1S,EuBz3D8BR,EAAAZ,QAAiBiB,IAAI,kBAA/C6J,EvB03DoB1J,EuB13DpB0J,sBvB43DJmG,EuB33DyBrQ,EAAAZ,QAAiBiB,IAAI,eAA1CI,EvB43De4P,EuB53Df5P,iBAMF0S,EAAoBxT,EAAAP,QAAMuB,aAAYC,YAAA,oBAC1CC,WACEuS,kBAAmB3T,EAAAL,QAAU2B,OAAOC,WACpCC,OAAQxB,EAAAL,QAAU2B,OAClBgK,qBAAsBtL,EAAAL,QAAUgE,KAChC4H,qBAAsBvL,EAAAL,QAAUgE,MAElClC,QAASrB,EAAAT,QAAO+B,QAAQ+R,GAA0BrT,EAAAT,QAAO+B,QAAQV,GAAzDN,EAAAf,SAER8H,gBAT0C,WAUxC,OACEmM,gBAAgB,IAIpBC,oBAf0C,WAepB,GAAA/L,GAAA/F,IACpBA,MAAKkG,UAAW2L,gBAAgB,IAChCH,EAAwBK,UAAU/R,KAAKC,MAAM2R,kBAAkB1R,IAC5D8R,QAAQ,iBAAMjM,GAAKG,UAAW2L,gBAAgB,OAGnD1F,QArB0C,WAsBxCnM,KAAKkC,KAAKC,kBAAkBG,QAG9BE,UAzB0C,SAyBhC+H,GAAM,GAAAC,GAAAxK,IACd0I,GAAsB4D,OAAOtM,KAAKC,MAAM2R,kBAAkBK,UAAWjS,KAAKC,MAAM2R,kBAAkB1R,GAAIqK,GACnGtE,KAAK,WAC2C,kBAApCuE,GAAKvK,MAAMsJ,sBACpBiB,EAAKvK,MAAMsJ,0BAKnB3J,UAlC0C,WAkC9B,GAAAsL,GAAAlL,IACNH,QAAOC,QAAQ,sCACjB4I,EAAsB3I,OAAOC,KAAKC,MAAM2R,kBAAkBK,UAAWjS,KAAKC,MAAM2R,kBAAkB1R,IAC/F+F,KAAK,WAC2C,kBAApCiF,GAAKjL,MAAMsJ,sBACpB2B,EAAKjL,MAAMsJ,0BAMrBpJ,OA7C0C,WA8CxC,IAAKH,KAAKO,MAAM2R,uBACd,MAAO/T,GAAAP,QAAA6C,cAAAuD,EAAAsC,QAAA,KAGT,IAAM6L,GAAenS,KAAKC,MAAM2R,kBAC1BnS,EAASO,KAAKC,MAAMR,OACpBa,EAAiBN,KAAKO,MAAM2R,uBAAuBC,EAAa/R,KAEtE,KAAKE,EACH,MAAOnC,GAAAP,QAAA6C,cAAAgI,EAAA2J,0BAA0BR,kBAAmBO,EAAcxR,SAAUX,KAAKJ,WAGnF,IAAM+E,GAAelF,EACnBtB,EAAAP,QAAA6C,cAAA,qEAA4DtC,EAAAP,QAAA6C,cAAA,UAAKhB,EAAOyB,QACtE,mDAEEJ,EAAUd,KAAKe,YAAYf,KAAKO,MAAMM,YAAYD,aAAa,gBAAiBnB,EAAOS,OAC3F/B,EAAAP,QAAA6C,cAAAnC,EAAA2I,QAAQhG,IAAI,cAAciG,QAAQ,OAAO6E,SAAU/L,KAAKO,MAAMsR,eAAgB7F,QAAShM,KAAK8R,qBACzF9R,KAAKO,MAAMsR,eAAiB,aAAe,QAE9C1T,EAAAP,QAAA6C,cAAAnC,EAAA0C,gBAAgBC,IAAI,sBAAsBC,MAAM,eAAeC,WAAA,EAC/CjB,GAAA,yBAA6BiS,EAAajS,IACxD/B,EAAAP,QAAA6C,cAAAnC,EAAA8C,UAAUC,SAAUrB,KAAKmM,SAAzB,QACAhO,EAAAP,QAAA6C,cAAAnC,EAAA8C,UAAUiR,SAAA,IACVlU,EAAAP,QAAA6C,cAAAnC,EAAA8C,UAAUC,SAAUrB,KAAKJ,WAAzB,YAIEgF,EACJzG,EAAAP,QAAA6C,cAAAnC,EAAAuG,KAAKC,GAAI,IACP3G,EAAAP,QAAA6C,cAAA,OAAKqG,UAAU,kCACb3I,EAAAP,QAAA6C,cAAAgB,EAAAqB,mBAAmBC,IAAI,oBACJ9B,IAAA,mCAAwCkR,EAAajS,GACrD8C,aAAc1C,EAAe2C,wBAC7B/B,MAAO,+BACPgC,SAAUiP,EAAa/R,KACvBiD,WAAY8O,EAAajR,MACzBiC,aAAcnD,KAAKwC,UACnBP,OAAQkQ,EAAa9P,gBACxClE,EAAAP,QAAA6C,cAAAgB,EAAAuL,mBAAmB3K,cAAe8P,EAAa9P,cAAe/B,eAAgBA,KAKpF,OACEnC,GAAAP,QAAA6C,cAAAuD,EAAAkB,gBAAgBjE,IAAA,cAAmBkR,EAAajS,GAChCgB,MAAOiR,EAAajR,MAAQiR,EAAajR,MAAQ,WACjDiE,YAAA,IAAiB7E,EAAeqC,KAAhC,IACAgC,YAAaA,EACb7D,QAASA,EACTsE,WAAYR,MvB+4DlCrH,SAAQK,QuB14DO+T,EvB24DfrU,EAAOC,QAAUA,QAAiB,SAI5B+U,IACA,SAAUhV,EAAQC,QAASC,GAEjC,YAmCA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAhCvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GwB3gET,IAAAG,GAAAV,EAAA,GxBghEIW,EAAUV,EAAuBS,GwB/gErCE,EAAAZ,EAAA,GxBmhEIa,EAAWZ,EAAuBW,GwBlhEtCE,EAAAd,EAAA,IACAqG,EAAArG,EAAA,KACA8H,EAAA9H,EAAA,KxBwhEI+H,EAA0B9H,EAAuB6H,GwBthErDtB,EAAAxG,EAAA,IACAiL,EAAAjL,EAAA,KAEAsG,EAAAtG,EAAA,IxB2hEIuG,EAAWtG,EAAuBqG,GwBzhEtCvF,EAAAf,EAAA,IxB6hEIgB,EAAqBf,EAAuBc,GAI5CK,EwBhiE2DJ,EAAAZ,QAAiBiB,IAAI,sBAA5E6S,ExBiiEsB9S,EwBjiEtB8S,wBAAyB/I,ExBkiED/J,EwBliEC+J,0BxBoiE7B3J,EwBniEqBR,EAAAZ,QAAiBiB,IAAI,WAAtC2G,ExBoiEWxG,EwBpiEXwG,aAEF+M,EAA8BpU,EAAAP,QAAMuB,aAAYC,YAAA,8BACpDM,QAASrB,EAAAT,QAAO+B,QAAQ+R,IAExBhM,gBAHoD,WAIlD,OACEC,YAASC,KAIbC,kBAToD,WAUlD7F,KAAK8F,aAGPA,UAboD,WAaxC,GAAAC,GAAA/F,IACVwF,GAAaQ,cAAcC,KAAK,SAACN,GAC/BI,EAAKG,UAAWP,QAASA,MAG3BgD,EAA0BG,YAC1BH,EAA0BxC,WAG5BC,WAtBoD,WAuBlD,OAAQpG,KAAKO,MAAMoF,UAAY3F,KAAKO,MAAM2R,yBAA2BlS,KAAKO,MAAMiS,kBAGlFrS,OA1BoD,WA2BlD,GAAIH,KAAKoG,aACP,MAAOjI,GAAAP,QAAA6C,cAAAuD,EAAAsC,QAAA,KAGT,IAAM2C,GAAgBjJ,KAAKO,MAAMiS,iBAAiBhM,KAAK,SAACC,EAAIC,GAC1D,GAAMC,GAAKF,EAAGvF,OAAS,WACjB0F,EAAKF,EAAGxF,OAAS,UACvB,QAAO,EAAAqE,EAAA3H,SAAY+I,EAAGE,cAAeD,EAAGC,gBAG1C,OACE1I,GAAAP,QAAA6C,cAAA,WACEtC,EAAAP,QAAA6C,cAAA,OAAKqG,UAAU,cACb3I,EAAAP,QAAA6C,cAAAoD,EAAAkB,eAAeC,GAAIjB,EAAAnG,QAAOmJ,OAAO0L,kBAC/BtU,EAAAP,QAAA6C,cAAAnC,EAAA2I,QAAQC,QAAQ,WAAhB,0BAGJ/I,EAAAP,QAAA6C,cAAA,2BACAtC,EAAAP,QAAA6C,cAAA,0DACAtC,EAAAP,QAAA6C,cAAAgI,EAAAY,wBAAwBC,mBAAoBL,EAAetD,QAAS3F,KAAKO,MAAMoF,QACvD4D,qBAAsBvJ,KAAK8F,UAAW0D,qBAAsBxJ,KAAK8F,exB0jEjGvI,SAAQK,QwBpjEO2U,ExBqjEfjV,EAAOC,QAAUA,QAAiB,SAI5BmV,IACA,SAAUpV,EAAQC,QAASC,GAEjC,YAmBA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAhBvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,GyBpoET,IAAAC,GAAAR,EAAA,GzByoEIS,EAAcR,EAAuBO,GyBxoEzCE,EAAAV,EAAA,GzB4oEIW,EAAUV,EAAuBS,GyB1oErCuK,EAAAjL,EAAA,KACAwG,EAAAxG,EAAA,IAEM6L,EAAyBlL,EAAAP,QAAMuB,aAAYC,YAAA,yBAC/CC,WACEiK,mBAAoBrL,EAAAL,QAAUsG,MAAM1E,WACpCmG,QAAS1H,EAAAL,QAAUsG,MAAM1E,WACzB+J,qBAAsBtL,EAAAL,QAAUgE,KAChC4H,qBAAsBvL,EAAAL,QAAUgE,MAGlC8D,gBAR+C,WAS7C,OACE2B,YAAa,IAIjBC,UAAW,GAEXC,uBAhB+C,SAgBxBF,GACrBrH,KAAKkG,UAAWmB,YAAaA,EAAc,KAG7CsL,wBApB+C,WAqB7C,MAAO3S,MAAKC,MAAMqJ,mBAAmB7B,MAAMzH,KAAKO,MAAM8G,YAAcrH,KAAKsH,WAAYtH,KAAKO,MAAM8G,YAAc,GAAKrH,KAAKsH,YAG1HsL,oBAxB+C,SAwB3BT,GAClB,GAAM1S,GAASO,KAAKC,MAAM0F,QAAQrB,KAAK,SAAAqD,GAAA,MAAKA,GAAEzH,KAAOiS,EAAaF,WAClE,OACE9T,GAAAP,QAAA6C,cAAAgI,EAAAkJ,mBAAmB1Q,IAAKkR,EAAajS,GAAI0R,kBAAmBO,EAAc1S,OAAQA,EAC/D8J,qBAAsBvJ,KAAKC,MAAMsJ,qBACjCC,qBAAsBxJ,KAAKC,MAAMuJ,wBAIxDrJ,OAjC+C,WAiCtC,GAAA4F,GAAA/F,KACDiJ,EAAgBjJ,KAAKC,MAAMqJ,kBAEjC,OACEnL,GAAAP,QAAA6C,cAAAuD,EAAA6D,eAAeC,WAAYmB,EAAclB,OAAQC,SAAUhI,KAAKuH,uBACjDU,oBAAoB,EAAOC,SAAUlI,KAAKsH,WACvDnJ,EAAAP,QAAA6C,cAAAuD,EAAAmE,YAAYC,eAAe,OACfC,YAAY,yCACZC,MAAOtI,KAAK2S,0BAA0BpK,IAAI,SAAA4J,GAAA,MAAgBpM,GAAK6M,oBAAoBT,UzBypEvG5U,SAAQK,QyBnpEOyL,EzBopEf/L,EAAOC,QAAUA,QAAiB,SAI5BsV,IACA,SAAUvV,EAAQC,QAASC,GAEjC,YA2CA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAxCvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,G0BptET,IAAAG,GAAAV,EAAA,G1BytEIW,EAAUV,EAAuBS,G0BxtErCE,EAAAZ,EAAA,G1B4tEIa,EAAWZ,EAAuBW,G0B3tEtCkH,EAAA9H,EAAA,K1B+tEI+H,EAA0B9H,EAAuB6H,G0B9tErDhH,EAAAd,EAAA,IAEAkM,EAAAlM,EAAA,IACAwG,EAAAxG,EAAA,IACAiE,EAAAjE,EAAA,KACAsG,EAAAtG,EAAA,I1BquEIuG,EAAWtG,EAAuBqG,G0BpuEtC6F,EAAAnM,EAAA,G1BwuEIoM,EAAqBnM,EAAuBkM,G0BvuEhDE,EAAArM,EAAA,K1B2uEIsM,EAAYrM,EAAuBoM,G0BzuEvCtL,EAAAf,EAAA,I1B6uEIgB,EAAqBf,EAAuBc,GAI5CK,E0BhvE2DJ,EAAAZ,QAAiBiB,IAAI,sBAA5E6S,E1BivEsB9S,E0BjvEtB8S,wBAAyB/I,E1BkvED/J,E0BlvEC+J,0B1BovE7B3J,E0BnvE8BR,EAAAZ,QAAiBiB,IAAI,kBAA/C6J,E1BovEoB1J,E0BpvEpB0J,sB1BsvEJmG,E0BrvEqBrQ,EAAAZ,QAAiBiB,IAAI,WAAtC2G,E1BsvEWqJ,E0BtvEXrJ,aAEFsN,EAA+B3U,EAAAP,QAAMuB,aAAYC,YAAA,+BACrDM,QAASrB,EAAAT,QAAO+B,QAAQ+R,IACxBhM,gBAFqD,WAGnD,OACEC,YAASC,GACToE,mBAAgBpE,GAChBxF,KAAMJ,KAAKiK,cAIfpE,kBAVqD,WAUjC,GAAAE,GAAA/F,IAClBwF,GAAaQ,cAAcC,KAAK,SAACN,GAC/BI,EAAKG,UAAWP,QAASA,MAE3BgD,EAA0BG,aAG5BmB,YAAa,cAEbC,UAnBqD,SAmB3CC,GACRnK,KAAKkG,UAAW9F,KAAM+J,EAAIC,OAAOrM,SAGnCsM,gBAvBqD,SAuBrCC,GACdtK,KAAKkG,UAAW8D,eAAgBhK,KAAKO,MAAMoF,QAAQrB,KAAK,SAAAqD,GAAA,MAAKA,GAAEzH,KAAOoK,OAGxE9H,UA3BqD,SA2B3C+H,GAAM,GAAAC,GAAAxK,IACTA,MAAKO,MAAMyJ,gBACdJ,EAAAhM,QAAiB6M,MAAM,4DAA6D,4BAGtF/B,EAAsBgC,KAAK1K,KAAKO,MAAMyJ,eAAe9J,GAAIqK,GAAMtE,KAC7D,WACE6D,EAAAlM,QAAQgN,UAAU,KAAM7G,EAAAnG,QAAOmJ,OAAOwI,gBAExC,iBAAM/E,GAAKtI,KAAKC,kBAAkBG,UAGtCuI,UAvCqD,WAwCnD7K,KAAKkC,KAAKC,kBAAkBG,QAE9BwI,WA1CqD,WA2CnD9K,KAAKkG,UAAW9F,KAAMJ,KAAKiK,eAE7B8I,wBA7CqD,SA6C7B3S,GACtB,GAAME,GAAiBN,KAAKO,MAAM2R,uBAAuB9R,EACzD,OACEjC,GAAAP,QAAA6C,cAAAgB,EAAAqB,mBAAmBC,IAAI,oBACJ9B,IAAI,4BACJ+B,aAAc1C,EAAe2C,wBAC7B/B,MAAA,cAAqBZ,EAAeqC,KACpCO,SAAU9C,EACV+C,aAAcnD,KAAKwC,UACnBY,aAAcpD,KAAK8K,cAI1CE,cA1DqD,SA0DvC/J,EAAKlD,GACjB,OAASA,MAAOA,EAAOkN,MAAOhK,IAGhCmF,WA9DqD,WA+DnD,OAAQpG,KAAKO,MAAM2R,yBAA2BlS,KAAKO,MAAMoF,SAG3DxF,OAlEqD,WAkE5C,GAAA+K,GAAAlL,IACP,IAAIA,KAAKoG,aACP,MAAOjI,GAAAP,QAAA6C,cAAAuD,EAAAsC,QAAA,KAGT,IAAM0M,GAAoBhT,KAAKO,MAAMH,OAASJ,KAAKiK,YAAcjK,KAAK+S,wBAAwB/S,KAAKO,MAAMH,MAAQ,KAC3GgL,EAAiBvN,OAAOwN,KAAKrL,KAAKO,MAAM2R,wBAAwB3J,IAAI,SAACxK,GACzE,MACEI,GAAAP,QAAA6C,cAAA,UAAQQ,IAAA,eAAoBlD,EAASA,MAAOA,GACzCmN,EAAK3K,MAAM2R,uBAAuBnU,GAAO4E,QAI1C2I,EAAmBtL,KAAKO,MAAMoF,QACjC4C,IAAI,SAAA9I,GAAA,MAAUyL,GAAKF,cAAcvL,EAAOyB,MAAOzB,EAAOS,MACtDsG,KAAK,SAAC+E,EAAIC,GAAL,OAAY,EAAAjG,EAAA3H,SAAY2N,EAAGN,MAAMpE,cAAe2E,EAAGP,MAAMpE,gBACjE,OACE1I,GAAAP,QAAA6C,cAAA,WACEtC,EAAAP,QAAA6C,cAAAuD,EAAAiP,oBAAoBC,KAAK,mCACLhM,QAAQ,OACRJ,UAAU,cAF9B,2BAMA3I,EAAAP,QAAA6C,cAAA,0BACAtC,EAAAP,QAAA6C,cAAA,KAAGqG,UAAU,eAAb,yFAIA3I,EAAAP,QAAA6C,cAAAnC,EAAAmN,IAAA,KACEtN,EAAAP,QAAA6C,cAAAnC,EAAAuG,KAAKC,GAAI,GACP3G,EAAAP,QAAA6C,cAAA,YACEtC,EAAAP,QAAA6C,cAAAiJ,EAAAgC,OAAOT,MAAM,mBACNU,KAAK,gGACVxN,EAAAP,QAAA6C,cAAAuD,EAAA4H,QAAQC,YAAY,kBAAkBC,QAASR,EAAkBtD,SAAUhI,KAAKqK,mBAGlFlM,EAAAP,QAAA6C,cAAAiJ,EAAAgC,OAAOtL,KAAK,SAASrC,MAAOiC,KAAKO,MAAMH,KAAM4H,SAAUhI,KAAKkK,UACrD6B,UAAW/L,KAAKO,MAAMyJ,eACtBiB,MAAM,oBAAoBU,KAAK,mDACpCxN,EAAAP,QAAA6C,cAAA,UAAQ1C,MAAOiC,KAAKiK,YAAa8B,UAAA,GAAjC,8BACCX,GAEF4H,EACA,IACD7U,EAAAP,QAAA6C,cAAAnC,EAAA2I,QAAQ+E,QAAShM,KAAK6K,UAAWkB,SAAU/L,KAAKO,MAAMH,OAASJ,KAAKiK,YAAa/C,QAAQ,WAAzF,gC1B0xEd3J,SAAQK,Q0B/wEOkV,E1BgxEfxV,EAAOC,QAAUA,QAAiB,SAI5B4V,IACA,SAAU7V,EAAQC,QAASC,GAEjC,YAmBA,SAASC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAhBvFG,OAAOC,eAAeP,QAAS,cAC7BQ,OAAO,G2Bt6ET,IAAAC,GAAAR,EAAA,G3B26EIS,EAAcR,EAAuBO,G2B16EzCE,EAAAV,EAAA,G3B86EIW,EAAUV,EAAuBS,G2B76ErCI,EAAAd,EAAA,IAEAwG,EAAAxG,EAAA,IAEM4U,EAA2BjU,EAAAP,QAAMuB,aAAYC,YAAA,2BACjDC,WACEuS,kBAAmB3T,EAAAL,QAAU2B,OAAOC,WACpCmB,SAAU1C,EAAAL,QAAUgE,KAAKpC,YAG3BW,OANiD,WAO/C,GAAMgS,GAAenS,KAAKC,MAAM2R,kBAE1B9Q,GACJ3C,EAAAP,QAAA6C,cAAAnC,EAAA0C,gBAAgBC,IAAI,iBAAiBC,MAAM,UAAUC,WAAA,EAAUjB,GAAA,yBAA6BiS,EAAajS,IACvG/B,EAAAP,QAAA6C,cAAAnC,EAAA8C,UAAUC,SAAUrB,KAAKC,MAAMU,UAA/B,YAIEiE,EACJzG,EAAAP,QAAA6C,cAAAnC,EAAAuG,KAAKC,GAAI,IACP3G,EAAAP,QAAA6C,cAAAnC,EAAA4O,OAAOhG,QAAQ,WAAf,8GAKJ,OACE/I,GAAAP,QAAA6C,cAAAuD,EAAAkB,gBAAgBjE,IAAA,cAAmBkR,EAAajS,GAChCgB,MAAM,uBACNiE,YAAA,IAAiBgN,EAAa/R,KAA9B,IACAuE,YAAY,4DACZ7D,QAASA,EACTsE,WAAYR,M3B47ElCrH,SAAQK,Q2Bv7EOwU,E3Bw7Ef9U,EAAOC,QAAUA,QAAiB","file":"14.746b58959a350aa1ebcf.js","sourcesContent":["webpackJsonp([14],{\n\n/***/ 1009:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nvar _alertconditions = __webpack_require__(924);\n\nvar _PermissionsMixin = __webpack_require__(167);\n\nvar _PermissionsMixin2 = _interopRequireDefault(_PermissionsMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('AlertConditions'),\n    AlertConditionsActions = _CombinedProvider$get.AlertConditionsActions,\n    AlertConditionsStore = _CombinedProvider$get.AlertConditionsStore;\n\nvar _CombinedProvider$get2 = _CombinedProvider2.default.get('CurrentUser'),\n    CurrentUserStore = _CombinedProvider$get2.CurrentUserStore;\n\nvar AlertCondition = _react2.default.createClass({\n  displayName: 'AlertCondition',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired,\n    stream: _propTypes2.default.object\n  },\n  mixins: [_reflux2.default.connect(AlertConditionsStore), _reflux2.default.connect(CurrentUserStore), _PermissionsMixin2.default],\n\n  _onDelete: function _onDelete() {\n    if (window.confirm('Really delete alert condition?')) {\n      AlertConditionsActions.delete(this.props.stream.id, this.props.alertCondition.id);\n    }\n  },\n  render: function render() {\n    var type = this.props.alertCondition.type;\n    var stream = this.props.stream;\n    var condition = this.props.alertCondition;\n    var typeDefinition = this.state.types[type];\n\n    if (!typeDefinition) {\n      return _react2.default.createElement(_alertconditions.UnknownAlertCondition, { alertCondition: condition, onDelete: this._onDelete, stream: stream });\n    }\n\n    var permissions = this.state.currentUser.permissions;\n    var actions = [];\n    if (this.isPermitted(permissions, 'streams:edit:' + stream.id)) {\n      actions = [_react2.default.createElement(\n        _reactBootstrap.DropdownButton,\n        { key: 'more-actions-button', title: 'Actions', pullRight: true,\n          id: 'more-actions-dropdown-' + condition.id },\n        _react2.default.createElement(\n          _reactBootstrap.MenuItem,\n          { onSelect: this._onDelete },\n          'Delete'\n        )\n      )];\n    }\n\n    return _react2.default.createElement(_alertconditions.AlertConditionSummary, { alertCondition: condition, typeDefinition: typeDefinition, stream: stream,\n      actions: actions, linkToDetails: true });\n  }\n});\n\nexports.default = AlertCondition;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1010:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _configurationforms = __webpack_require__(919);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('AlertConditions'),\n    AlertConditionsStore = _CombinedProvider$get.AlertConditionsStore;\n\nvar AlertConditionForm = _react2.default.createClass({\n  displayName: 'AlertConditionForm',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object,\n    onCancel: _propTypes2.default.func,\n    onSubmit: _propTypes2.default.func.isRequired,\n    type: _propTypes2.default.string.isRequired\n  },\n  mixins: [_reflux2.default.connect(AlertConditionsStore)],\n\n  getDefaultProps: function getDefaultProps() {\n    return {\n      onCancel: function onCancel() {},\n      onSubmit: function onSubmit() {}\n    };\n  },\n  getValue: function getValue() {\n    var values = this.refs.configurationForm.getValue();\n    return {\n      title: values.title,\n      type: this.props.type,\n      parameters: values.configuration\n    };\n  },\n  open: function open() {\n    this.refs.configurationForm.open();\n  },\n  _onCancel: function _onCancel() {\n    this.props.onCancel();\n  },\n  _onSubmit: function _onSubmit() {\n    var request = this.getValue();\n    this.props.onSubmit(request);\n  },\n  _formatTitle: function _formatTitle(alertCondition, name) {\n    var action = alertCondition ? 'Update' : 'Create new';\n    var conditionName = alertCondition ? _react2.default.createElement(\n      'em',\n      null,\n      alertCondition.title || 'Untitled'\n    ) : name;\n    return _react2.default.createElement(\n      'span',\n      null,\n      action,\n      ' ',\n      conditionName\n    );\n  },\n  render: function render() {\n    var type = this.props.type;\n    var alertCondition = this.props.alertCondition;\n    var typeDefinition = this.state.types[type];\n\n    return _react2.default.createElement(\n      _configurationforms.ConfigurationForm,\n      { ref: 'configurationForm',\n        key: 'configuration-form-alert-condition',\n        configFields: typeDefinition.requested_configuration,\n        title: this._formatTitle(alertCondition, typeDefinition.name),\n        typeName: type,\n        submitAction: this._onSubmit,\n        cancelAction: this._onCancel,\n        titleValue: alertCondition ? alertCondition.title : '',\n        helpBlock: 'The alert condition title',\n        values: alertCondition ? alertCondition.parameters : {} },\n      _react2.default.createElement(\n        _reactBootstrap.FormGroup,\n        null,\n        _react2.default.createElement(\n          _reactBootstrap.ControlLabel,\n          null,\n          typeDefinition.name + ' description'\n        ),\n        _react2.default.createElement(\n          _reactBootstrap.FormControl.Static,\n          null,\n          typeDefinition.human_name\n        )\n      )\n    );\n  }\n});\n\nexports.default = AlertConditionForm;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1011:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _reactRouterBootstrap = __webpack_require__(915);\n\nvar _Routes = __webpack_require__(76);\n\nvar _Routes2 = _interopRequireDefault(_Routes);\n\nvar _common = __webpack_require__(46);\n\nvar _alertconditions = __webpack_require__(924);\n\nvar _plugin = __webpack_require__(263);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar AlertConditionSummary = _react2.default.createClass({\n  displayName: 'AlertConditionSummary',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired,\n    typeDefinition: _propTypes2.default.object.isRequired,\n    stream: _propTypes2.default.object,\n    actions: _propTypes2.default.array.isRequired,\n    linkToDetails: _propTypes2.default.bool\n  },\n\n  render: function render() {\n    var stream = this.props.stream;\n    var condition = this.props.alertCondition;\n    var typeDefinition = this.props.typeDefinition;\n    var conditionType = _plugin.PluginStore.exports('alertConditions').find(function (c) {\n      return c.type === condition.type;\n    }) || {};\n    var SummaryComponent = conditionType.summaryComponent || _alertconditions.GenericAlertConditionSummary;\n\n    var description = stream ? _react2.default.createElement(\n      'span',\n      null,\n      'Alerting on stream ',\n      _react2.default.createElement(\n        'em',\n        null,\n        stream.title\n      )\n    ) : 'Not alerting on any stream';\n\n    var content = _react2.default.createElement(\n      _reactBootstrap.Col,\n      { md: 12 },\n      _react2.default.createElement(\n        'strong',\n        null,\n        'Configuration:'\n      ),\n      ' ',\n      _react2.default.createElement(SummaryComponent, { alertCondition: condition })\n    );\n\n    var title = void 0;\n    if (this.props.linkToDetails) {\n      title = _react2.default.createElement(\n        _reactRouterBootstrap.LinkContainer,\n        { to: _Routes2.default.show_alert_condition(stream.id, condition.id) },\n        _react2.default.createElement(\n          'a',\n          null,\n          condition.title ? condition.title : 'Untitled'\n        )\n      );\n    } else {\n      title = condition.title ? condition.title : 'Untitled';\n    }\n\n    return _react2.default.createElement(_common.EntityListItem, { key: 'entry-list-' + condition.id,\n      title: title,\n      titleSuffix: '(' + typeDefinition.name + ')',\n      description: description,\n      actions: this.props.actions,\n      contentRow: content });\n  }\n});\n\nexports.default = AlertConditionSummary;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1012:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _reactRouterBootstrap = __webpack_require__(915);\n\nvar _javascriptNaturalSort = __webpack_require__(917);\n\nvar _javascriptNaturalSort2 = _interopRequireDefault(_javascriptNaturalSort);\n\nvar _common = __webpack_require__(46);\n\nvar _alertconditions = __webpack_require__(924);\n\nvar _Routes = __webpack_require__(76);\n\nvar _Routes2 = _interopRequireDefault(_Routes);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('Streams'),\n    StreamsStore = _CombinedProvider$get.StreamsStore;\n\nvar _CombinedProvider$get2 = _CombinedProvider2.default.get('AlertConditions'),\n    AlertConditionsStore = _CombinedProvider$get2.AlertConditionsStore,\n    AlertConditionsActions = _CombinedProvider$get2.AlertConditionsActions;\n\nvar AlertConditionsComponent = _react2.default.createClass({\n  displayName: 'AlertConditionsComponent',\n\n  mixins: [_reflux2.default.connect(AlertConditionsStore)],\n\n  getInitialState: function getInitialState() {\n    return {\n      streams: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    this._loadData();\n  },\n  _loadData: function _loadData() {\n    var _this = this;\n\n    StreamsStore.listStreams().then(function (streams) {\n      _this.setState({ streams: streams });\n    });\n\n    AlertConditionsActions.listAll();\n  },\n  _isLoading: function _isLoading() {\n    return !this.state.streams || !this.state.allAlertConditions;\n  },\n  render: function render() {\n    if (this._isLoading()) {\n      return _react2.default.createElement(_common.Spinner, null);\n    }\n\n    var alertConditions = this.state.allAlertConditions.sort(function (a1, a2) {\n      var t1 = a1.title || 'Untitled';\n      var t2 = a2.title || 'Untitled';\n      return (0, _javascriptNaturalSort2.default)(t1.toLowerCase(), t2.toLowerCase());\n    });\n\n    return _react2.default.createElement(\n      'div',\n      null,\n      _react2.default.createElement(\n        'div',\n        { className: 'pull-right' },\n        _react2.default.createElement(\n          _reactRouterBootstrap.LinkContainer,\n          { to: _Routes2.default.ALERTS.NEW_CONDITION },\n          _react2.default.createElement(\n            _reactBootstrap.Button,\n            { bsStyle: 'success' },\n            'Add new condition'\n          )\n        )\n      ),\n      _react2.default.createElement(\n        'h2',\n        null,\n        'Conditions'\n      ),\n      _react2.default.createElement(\n        'p',\n        null,\n        'These are all configured alert conditions.'\n      ),\n      _react2.default.createElement(_alertconditions.AlertConditionsList, { alertConditions: alertConditions, streams: this.state.streams })\n    );\n  }\n});\n\nexports.default = AlertConditionsComponent;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1013:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _alertconditions = __webpack_require__(924);\n\nvar _common = __webpack_require__(46);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar AlertConditionsList = _react2.default.createClass({\n  displayName: 'AlertConditionsList',\n\n  propTypes: {\n    alertConditions: _propTypes2.default.array.isRequired,\n    streams: _propTypes2.default.array.isRequired\n  },\n\n  getInitialState: function getInitialState() {\n    return {\n      currentPage: 0\n    };\n  },\n\n\n  PAGE_SIZE: 10,\n\n  _onChangePaginatedList: function _onChangePaginatedList(currentPage) {\n    this.setState({ currentPage: currentPage - 1 });\n  },\n  _paginatedConditions: function _paginatedConditions() {\n    return this.props.alertConditions.slice(this.state.currentPage * this.PAGE_SIZE, (this.state.currentPage + 1) * this.PAGE_SIZE);\n  },\n  _formatCondition: function _formatCondition(condition) {\n    var stream = this.props.streams.find(function (s) {\n      return s.alert_conditions.find(function (c) {\n        return c.id === condition.id;\n      });\n    });\n    return _react2.default.createElement(_alertconditions.AlertCondition, { key: condition.id, alertCondition: condition, stream: stream });\n  },\n  render: function render() {\n    var _this = this;\n\n    var alertConditions = this.props.alertConditions;\n\n    return _react2.default.createElement(\n      _common.PaginatedList,\n      { totalItems: alertConditions.length, onChange: this._onChangePaginatedList,\n        showPageSizeSelect: false, pageSize: this.PAGE_SIZE },\n      _react2.default.createElement(_common.EntityList, { bsNoItemsStyle: 'info',\n        noItemsText: 'There are no configured conditions.',\n        items: this._paginatedConditions().map(function (condition) {\n          return _this._formatCondition(condition);\n        }) })\n    );\n  }\n});\n\nexports.default = AlertConditionsList;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1014:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _javascriptNaturalSort = __webpack_require__(917);\n\nvar _javascriptNaturalSort2 = _interopRequireDefault(_javascriptNaturalSort);\n\nvar _common = __webpack_require__(46);\n\nvar _alertnotifications = __webpack_require__(923);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('AlarmCallbacks'),\n    AlarmCallbacksActions = _CombinedProvider$get.AlarmCallbacksActions;\n\nvar _CombinedProvider$get2 = _CombinedProvider2.default.get('AlertNotifications'),\n    AlertNotificationsActions = _CombinedProvider$get2.AlertNotificationsActions;\n\nvar ConditionAlertNotifications = _react2.default.createClass({\n  displayName: 'ConditionAlertNotifications',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired,\n    stream: _propTypes2.default.object.isRequired\n  },\n\n  getInitialState: function getInitialState() {\n    return {\n      conditionNotifications: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    this._loadData();\n  },\n  _loadData: function _loadData() {\n    var _this = this;\n\n    AlertNotificationsActions.available();\n    AlarmCallbacksActions.list(this.props.stream.id).then(function (callbacks) {\n      return _this.setState({ conditionNotifications: callbacks });\n    });\n  },\n  _isLoading: function _isLoading() {\n    return !this.state.conditionNotifications;\n  },\n  render: function render() {\n    if (this._isLoading()) {\n      return _react2.default.createElement(_common.Spinner, null);\n    }\n\n    var stream = this.props.stream;\n\n    var notifications = this.state.conditionNotifications.sort(function (a1, a2) {\n      var t1 = a1.title || 'Untitled';\n      var t2 = a2.title || 'Untitled';\n      return (0, _javascriptNaturalSort2.default)(t1.toLowerCase(), t2.toLowerCase());\n    });\n\n    return _react2.default.createElement(\n      'div',\n      null,\n      _react2.default.createElement(\n        'h2',\n        null,\n        'Notifications'\n      ),\n      _react2.default.createElement(\n        'p',\n        null,\n        _react2.default.createElement(_common.Pluralize, { value: notifications.length, singular: 'This is', plural: 'These are' }),\n        ' the notifications set for the stream ',\n        _react2.default.createElement(\n          'em',\n          null,\n          stream.title\n        ),\n        '. They will be triggered when the alert condition is satisfied.'\n      ),\n      _react2.default.createElement(_alertnotifications.AlertNotificationsList, { alertNotifications: notifications, streams: [this.props.stream],\n        onNotificationUpdate: this._loadData, onNotificationDelete: this._loadData })\n    );\n  }\n});\n\nexports.default = ConditionAlertNotifications;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1015:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _javascriptNaturalSort = __webpack_require__(917);\n\nvar _javascriptNaturalSort2 = _interopRequireDefault(_javascriptNaturalSort);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _bootstrap = __webpack_require__(47);\n\nvar _common = __webpack_require__(46);\n\nvar _alertconditions = __webpack_require__(924);\n\nvar _Routes = __webpack_require__(76);\n\nvar _Routes2 = _interopRequireDefault(_Routes);\n\nvar _UserNotification = __webpack_require__(6);\n\nvar _UserNotification2 = _interopRequireDefault(_UserNotification);\n\nvar _History = __webpack_require__(168);\n\nvar _History2 = _interopRequireDefault(_History);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('AlertConditions'),\n    AlertConditionsStore = _CombinedProvider$get.AlertConditionsStore,\n    AlertConditionsActions = _CombinedProvider$get.AlertConditionsActions;\n\nvar _CombinedProvider$get2 = _CombinedProvider2.default.get('Streams'),\n    StreamsStore = _CombinedProvider$get2.StreamsStore;\n\nvar CreateAlertConditionInput = _react2.default.createClass({\n  displayName: 'CreateAlertConditionInput',\n\n  mixins: [_reflux2.default.connect(AlertConditionsStore)],\n  getInitialState: function getInitialState() {\n    return {\n      streams: undefined,\n      selectedStream: undefined,\n      type: this.PLACEHOLDER\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    StreamsStore.listStreams().then(function (streams) {\n      _this.setState({ streams: streams });\n    });\n  },\n\n\n  PLACEHOLDER: 'placeholder',\n\n  _onChange: function _onChange(evt) {\n    this.setState({ type: evt.target.value });\n  },\n  _onStreamChange: function _onStreamChange(nextStream) {\n    this.setState({ selectedStream: this.state.streams.find(function (s) {\n        return s.id === nextStream;\n      }) });\n  },\n  _onSubmit: function _onSubmit(data) {\n    var _this2 = this;\n\n    if (!this.state.selectedStream) {\n      _UserNotification2.default.error('Please select the stream that the condition should check.', 'Could not save condition');\n    }\n\n    AlertConditionsActions.save(this.state.selectedStream.id, data).then(function (conditionId) {\n      _History2.default.pushState(null, _Routes2.default.show_alert_condition(_this2.state.selectedStream.id, conditionId));\n    });\n  },\n  _openForm: function _openForm() {\n    this.refs.configurationForm.open();\n  },\n  _resetForm: function _resetForm() {\n    this.setState({ type: this.PLACEHOLDER });\n  },\n  _formatConditionForm: function _formatConditionForm(type) {\n    return _react2.default.createElement(_alertconditions.AlertConditionForm, { ref: 'configurationForm', onCancel: this._resetForm, onSubmit: this._onSubmit, type: type });\n  },\n  _formatOption: function _formatOption(key, value) {\n    return { value: value, label: key };\n  },\n  _isLoading: function _isLoading() {\n    return !this.state.types || !this.state.streams;\n  },\n  render: function render() {\n    var _this3 = this;\n\n    if (this._isLoading()) {\n      return _react2.default.createElement(_common.Spinner, null);\n    }\n\n    var conditionForm = this.state.type !== this.PLACEHOLDER ? this._formatConditionForm(this.state.type) : null;\n    var availableTypes = Object.keys(this.state.types).map(function (value) {\n      return _react2.default.createElement(\n        'option',\n        { key: 'type-option-' + value, value: value },\n        _this3.state.types[value].name\n      );\n    });\n    var formattedStreams = this.state.streams.map(function (stream) {\n      return _this3._formatOption(stream.title, stream.id);\n    }).sort(function (s1, s2) {\n      return (0, _javascriptNaturalSort2.default)(s1.label.toLowerCase(), s2.label.toLowerCase());\n    });\n    return _react2.default.createElement(\n      'div',\n      null,\n      _react2.default.createElement(\n        'h2',\n        null,\n        'Condition'\n      ),\n      _react2.default.createElement(\n        'p',\n        { className: 'description' },\n        'Define the condition to evaluate when triggering a new alert.'\n      ),\n      _react2.default.createElement(\n        _reactBootstrap.Row,\n        null,\n        _react2.default.createElement(\n          _reactBootstrap.Col,\n          { md: 6 },\n          _react2.default.createElement(\n            'form',\n            null,\n            _react2.default.createElement(\n              _bootstrap.Input,\n              { label: 'Alert on stream', help: 'Select the stream that the condition will use to trigger alerts.' },\n              _react2.default.createElement(_common.Select, { placeholder: 'Select a stream', options: formattedStreams, onChange: this._onStreamChange })\n            ),\n            _react2.default.createElement(\n              _bootstrap.Input,\n              { type: 'select', value: this.state.type, onChange: this._onChange,\n                disabled: !this.state.selectedStream,\n                label: 'Condition type', help: 'Select the condition type that will be used.' },\n              _react2.default.createElement(\n                'option',\n                { value: this.PLACEHOLDER, disabled: true },\n                'Select a condition type'\n              ),\n              availableTypes\n            ),\n            conditionForm,\n            ' ',\n            _react2.default.createElement(\n              _reactBootstrap.Button,\n              { onClick: this._openForm, disabled: this.state.type === this.PLACEHOLDER, bsStyle: 'success' },\n              'Add alert condition'\n            )\n          )\n        )\n      )\n    );\n  }\n});\n\nexports.default = CreateAlertConditionInput;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1016:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _common = __webpack_require__(46);\n\nvar _alertconditions = __webpack_require__(924);\n\nvar _PermissionsMixin = __webpack_require__(167);\n\nvar _PermissionsMixin2 = _interopRequireDefault(_PermissionsMixin);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('AlertConditions'),\n    AlertConditionsActions = _CombinedProvider$get.AlertConditionsActions,\n    AlertConditionsStore = _CombinedProvider$get.AlertConditionsStore;\n\nvar _CombinedProvider$get2 = _CombinedProvider2.default.get('CurrentUser'),\n    CurrentUserStore = _CombinedProvider$get2.CurrentUserStore;\n\nvar EditAlertConditionForm = _react2.default.createClass({\n  displayName: 'EditAlertConditionForm',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired,\n    stream: _propTypes2.default.object.isRequired\n  },\n\n  mixins: [_reflux2.default.connect(AlertConditionsStore), _reflux2.default.connect(CurrentUserStore), _PermissionsMixin2.default],\n\n  _onEdit: function _onEdit() {\n    this.refs.updateForm.open();\n  },\n  _onUpdate: function _onUpdate(request) {\n    var _this = this;\n\n    AlertConditionsActions.update(this.props.stream.id, this.props.alertCondition.id, request).then(function () {\n      AlertConditionsActions.get(_this.props.stream.id, _this.props.alertCondition.id);\n    });\n  },\n  _formatCondition: function _formatCondition() {\n    var type = this.props.alertCondition.type;\n    var stream = this.props.stream;\n    var condition = this.props.alertCondition;\n    var typeDefinition = this.state.types[type];\n\n    var permissions = this.state.currentUser.permissions;\n    var actions = [];\n    if (this.isPermitted(permissions, 'streams:edit:' + stream.id)) {\n      actions = [_react2.default.createElement(\n        _reactBootstrap.Button,\n        { key: 'edit-button', bsStyle: 'info', onClick: this._onEdit },\n        'Edit'\n      )];\n    }\n\n    return [_react2.default.createElement(_alertconditions.AlertConditionSummary, { key: 'alert-condition-' + condition.id, alertCondition: condition,\n      typeDefinition: typeDefinition, stream: stream,\n      actions: actions })];\n  },\n  _isLoading: function _isLoading() {\n    return !this.state.types;\n  },\n  render: function render() {\n    if (this._isLoading()) {\n      return _react2.default.createElement(_common.Spinner, null);\n    }\n\n    var condition = this.props.alertCondition;\n\n    return _react2.default.createElement(\n      'div',\n      null,\n      _react2.default.createElement(\n        'h2',\n        null,\n        'Condition details'\n      ),\n      _react2.default.createElement(\n        'p',\n        null,\n        'Define the condition to evaluate when triggering a new alert.'\n      ),\n      _react2.default.createElement(_alertconditions.AlertConditionForm, { ref: 'updateForm',\n        type: condition.type,\n        alertCondition: condition,\n        onSubmit: this._onUpdate }),\n      _react2.default.createElement(_common.EntityList, { items: this._formatCondition() })\n    );\n  }\n});\n\nexports.default = EditAlertConditionForm;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1017:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _configurationforms = __webpack_require__(919);\n\nvar _GracePeriodSummary = __webpack_require__(930);\n\nvar _GracePeriodSummary2 = _interopRequireDefault(_GracePeriodSummary);\n\nvar _BacklogSummary = __webpack_require__(931);\n\nvar _BacklogSummary2 = _interopRequireDefault(_BacklogSummary);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar GenericAlertConditionSummary = _react2.default.createClass({\n  displayName: 'GenericAlertConditionSummary',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired\n  },\n\n  render: function render() {\n    var alertCondition = this.props.alertCondition;\n    var graceSummary = alertCondition.parameters.grace ? _react2.default.createElement(_GracePeriodSummary2.default, { alertCondition: alertCondition }) : null;\n    var backlogSummary = alertCondition.parameters.backlog ? _react2.default.createElement(_BacklogSummary2.default, { alertCondition: alertCondition }) : null;\n    return _react2.default.createElement(\n      'span',\n      null,\n      graceSummary,\n      ' ',\n      backlogSummary,\n      _react2.default.createElement(_configurationforms.ConfigurationWell, { configuration: alertCondition.parameters })\n    );\n  }\n});\n\nexports.default = GenericAlertConditionSummary;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1018:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _common = __webpack_require__(46);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar UnknownAlertCondition = _react2.default.createClass({\n  displayName: 'UnknownAlertCondition',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired,\n    stream: _propTypes2.default.object,\n    onDelete: _propTypes2.default.func.isRequired\n  },\n\n  render: function render() {\n    var condition = this.props.alertCondition;\n    var stream = this.props.stream;\n\n    var actions = [_react2.default.createElement(\n      _reactBootstrap.DropdownButton,\n      { key: 'actions-button', title: 'Actions', pullRight: true, id: 'more-actions-dropdown-' + condition.id },\n      _react2.default.createElement(\n        _reactBootstrap.MenuItem,\n        { onSelect: this.props.onDelete },\n        'Delete'\n      )\n    )];\n\n    var content = _react2.default.createElement(\n      _reactBootstrap.Col,\n      { md: 12 },\n      _react2.default.createElement(\n        _reactBootstrap.Alert,\n        { bsStyle: 'warning' },\n        'Could not resolve condition type. This is most likely caused by a missing plugin in your Graylog setup.'\n      )\n    );\n    return _react2.default.createElement(_common.EntityListItem, { key: 'entry-list-' + condition.id,\n      title: 'Unknown condition',\n      titleSuffix: '(' + condition.type + ')',\n      description: stream ? _react2.default.createElement(\n        'span',\n        null,\n        'Watching stream ',\n        _react2.default.createElement(\n          'em',\n          null,\n          stream.title\n        )\n      ) : 'Not watching any stream',\n      actions: actions,\n      contentRow: content });\n  }\n});\n\nexports.default = UnknownAlertCondition;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1019:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _FieldContentConditionSummary = __webpack_require__(1020);\n\nObject.defineProperty(exports, 'FieldContentConditionSummary', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_FieldContentConditionSummary).default;\n  }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ }),\n\n/***/ 1020:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _GracePeriodSummary = __webpack_require__(930);\n\nvar _GracePeriodSummary2 = _interopRequireDefault(_GracePeriodSummary);\n\nvar _BacklogSummary = __webpack_require__(931);\n\nvar _BacklogSummary2 = _interopRequireDefault(_BacklogSummary);\n\nvar _RepeatNotificationsSummary = __webpack_require__(933);\n\nvar _RepeatNotificationsSummary2 = _interopRequireDefault(_RepeatNotificationsSummary);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar FieldContentConditionSummary = _react2.default.createClass({\n  displayName: 'FieldContentConditionSummary',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired\n  },\n  _formatMatcher: function _formatMatcher(field, value) {\n    return _react2.default.createElement(\n      'span',\n      null,\n      '<' + field + ': \"' + value + '\">'\n    );\n  },\n  render: function render() {\n    var alertCondition = this.props.alertCondition;\n    var field = alertCondition.parameters.field;\n    var value = alertCondition.parameters.value;\n\n    return _react2.default.createElement(\n      'span',\n      null,\n      'Alert is triggered when messages matching ',\n      this._formatMatcher(field, value),\n      ' are received.',\n      ' ',\n      _react2.default.createElement(_GracePeriodSummary2.default, { alertCondition: alertCondition }),\n      ' ',\n      _react2.default.createElement(_BacklogSummary2.default, { alertCondition: alertCondition }),\n      ' ',\n      _react2.default.createElement(_RepeatNotificationsSummary2.default, { alertCondition: alertCondition })\n    );\n  }\n});\n\nexports.default = FieldContentConditionSummary;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1021:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _FieldValueConditionSummary = __webpack_require__(1022);\n\nObject.defineProperty(exports, 'FieldValueConditionSummary', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_FieldValueConditionSummary).default;\n  }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ }),\n\n/***/ 1022:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _GracePeriodSummary = __webpack_require__(930);\n\nvar _GracePeriodSummary2 = _interopRequireDefault(_GracePeriodSummary);\n\nvar _BacklogSummary = __webpack_require__(931);\n\nvar _BacklogSummary2 = _interopRequireDefault(_BacklogSummary);\n\nvar _RepeatNotificationsSummary = __webpack_require__(933);\n\nvar _RepeatNotificationsSummary2 = _interopRequireDefault(_RepeatNotificationsSummary);\n\nvar _common = __webpack_require__(46);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar FieldValueConditionSummary = _react2.default.createClass({\n  displayName: 'FieldValueConditionSummary',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired\n  },\n  render: function render() {\n    var alertCondition = this.props.alertCondition;\n    var field = alertCondition.parameters.field;\n    var threshold = alertCondition.parameters.threshold;\n    var thresholdType = alertCondition.parameters.threshold_type.toLowerCase();\n    var type = alertCondition.parameters.type.toLowerCase();\n    var time = alertCondition.parameters.time;\n\n    return _react2.default.createElement(\n      'span',\n      null,\n      'Alert is triggered when the field ',\n      field,\n      ' has a ',\n      thresholdType,\n      ' ',\n      type,\n      ' value than ',\n      threshold,\n      ' in the',\n      ' ',\n      _react2.default.createElement(_common.Pluralize, { value: time, singular: 'last minute', plural: 'last ' + time + ' minutes' }),\n      '.',\n      ' ',\n      _react2.default.createElement(_GracePeriodSummary2.default, { alertCondition: alertCondition }),\n      ' ',\n      _react2.default.createElement(_BacklogSummary2.default, { alertCondition: alertCondition }),\n      ' ',\n      _react2.default.createElement(_RepeatNotificationsSummary2.default, { alertCondition: alertCondition })\n    );\n  }\n});\n\nexports.default = FieldValueConditionSummary;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1023:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _MessageCountConditionSummary = __webpack_require__(1024);\n\nObject.defineProperty(exports, 'MessageCountConditionSummary', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_MessageCountConditionSummary).default;\n  }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ }),\n\n/***/ 1024:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _GracePeriodSummary = __webpack_require__(930);\n\nvar _GracePeriodSummary2 = _interopRequireDefault(_GracePeriodSummary);\n\nvar _BacklogSummary = __webpack_require__(931);\n\nvar _BacklogSummary2 = _interopRequireDefault(_BacklogSummary);\n\nvar _RepeatNotificationsSummary = __webpack_require__(933);\n\nvar _RepeatNotificationsSummary2 = _interopRequireDefault(_RepeatNotificationsSummary);\n\nvar _common = __webpack_require__(46);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar MessageCountConditionSummary = _react2.default.createClass({\n  displayName: 'MessageCountConditionSummary',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired\n  },\n  render: function render() {\n    var alertCondition = this.props.alertCondition;\n    var threshold = alertCondition.parameters.threshold;\n    var thresholdType = alertCondition.parameters.threshold_type.toLowerCase();\n    var time = alertCondition.parameters.time;\n\n    return _react2.default.createElement(\n      'span',\n      null,\n      'Alert is triggered when there',\n      ' ',\n      _react2.default.createElement(_common.Pluralize, { value: threshold, singular: 'is ' + thresholdType + ' than one message',\n        plural: 'are ' + thresholdType + ' than ' + threshold + ' messages' }),\n      ' ',\n      'in the',\n      ' ',\n      _react2.default.createElement(_common.Pluralize, { value: time, singular: 'last minute', plural: 'last ' + time + ' minutes' }),\n      '.',\n      ' ',\n      _react2.default.createElement(_GracePeriodSummary2.default, { alertCondition: alertCondition }),\n      ' ',\n      _react2.default.createElement(_BacklogSummary2.default, { alertCondition: alertCondition }),\n      ' ',\n      _react2.default.createElement(_RepeatNotificationsSummary2.default, { alertCondition: alertCondition })\n    );\n  }\n});\n\nexports.default = MessageCountConditionSummary;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1351:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _reactRouterBootstrap = __webpack_require__(915);\n\nvar _DocumentationLink = __webpack_require__(922);\n\nvar _DocumentationLink2 = _interopRequireDefault(_DocumentationLink);\n\nvar _common = __webpack_require__(46);\n\nvar _alertconditions = __webpack_require__(924);\n\nvar _Routes = __webpack_require__(76);\n\nvar _Routes2 = _interopRequireDefault(_Routes);\n\nvar _DocsHelper = __webpack_require__(918);\n\nvar _DocsHelper2 = _interopRequireDefault(_DocsHelper);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('CurrentUser'),\n    CurrentUserStore = _CombinedProvider$get.CurrentUserStore;\n\nvar _CombinedProvider$get2 = _CombinedProvider2.default.get('Streams'),\n    StreamsStore = _CombinedProvider$get2.StreamsStore;\n\nvar _CombinedProvider$get3 = _CombinedProvider2.default.get('AlertConditions'),\n    AlertConditionsStore = _CombinedProvider$get3.AlertConditionsStore,\n    AlertConditionsActions = _CombinedProvider$get3.AlertConditionsActions;\n\nvar EditAlertConditionPage = _react2.default.createClass({\n  displayName: 'EditAlertConditionPage',\n\n  propTypes: {\n    params: _propTypes2.default.object.isRequired\n  },\n\n  mixins: [_reflux2.default.connect(CurrentUserStore), _reflux2.default.connect(AlertConditionsStore)],\n\n  getInitialState: function getInitialState() {\n    return {\n      stream: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    StreamsStore.get(this.props.params.streamId, function (stream) {\n      _this.setState({ stream: stream });\n    });\n\n    AlertConditionsActions.get(this.props.params.streamId, this.props.params.conditionId);\n  },\n  _isLoading: function _isLoading() {\n    return !this.state.stream || !this.state.alertCondition;\n  },\n  render: function render() {\n    if (this._isLoading()) {\n      return _react2.default.createElement(_common.Spinner, null);\n    }\n\n    var condition = this.state.alertCondition;\n    var stream = this.state.stream;\n\n    return _react2.default.createElement(\n      _common.DocumentTitle,\n      { title: 'Condition ' + (condition.title || 'Untitled') },\n      _react2.default.createElement(\n        'div',\n        null,\n        _react2.default.createElement(\n          _common.PageHeader,\n          { title: _react2.default.createElement(\n              'span',\n              null,\n              'Condition ',\n              _react2.default.createElement(\n                'em',\n                null,\n                condition.title || 'Untitled'\n              )\n            ) },\n          _react2.default.createElement(\n            'span',\n            null,\n            'Define an alert condition and configure the way Graylog will notify you when that condition is satisfied.'\n          ),\n          _react2.default.createElement(\n            'span',\n            null,\n            'Are the default conditions not flexible enough? You can write your own! Read more about alerting in the',\n            ' ',\n            _react2.default.createElement(_DocumentationLink2.default, { page: _DocsHelper2.default.PAGES.ALERTS, text: 'documentation' }),\n            '.'\n          ),\n          _react2.default.createElement(\n            'span',\n            null,\n            _react2.default.createElement(\n              _reactRouterBootstrap.LinkContainer,\n              { to: _Routes2.default.ALERTS.CONDITIONS },\n              _react2.default.createElement(\n                _reactBootstrap.Button,\n                { bsStyle: 'info' },\n                'Manage conditions'\n              )\n            ),\n            '\\xA0',\n            _react2.default.createElement(\n              _reactRouterBootstrap.LinkContainer,\n              { to: _Routes2.default.ALERTS.NOTIFICATIONS },\n              _react2.default.createElement(\n                _reactBootstrap.Button,\n                { bsStyle: 'info' },\n                'Manage notifications'\n              )\n            )\n          )\n        ),\n        _react2.default.createElement(\n          _reactBootstrap.Row,\n          { className: 'content' },\n          _react2.default.createElement(\n            _reactBootstrap.Col,\n            { md: 12 },\n            _react2.default.createElement(_alertconditions.EditAlertConditionForm, { alertCondition: condition, stream: stream })\n          )\n        ),\n        _react2.default.createElement(\n          _reactBootstrap.Row,\n          { className: 'content' },\n          _react2.default.createElement(\n            _reactBootstrap.Col,\n            { md: 12 },\n            _react2.default.createElement(_alertconditions.ConditionAlertNotifications, { alertCondition: condition, stream: stream })\n          )\n        )\n      )\n    );\n  }\n});\n\nexports.default = EditAlertConditionPage;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 923:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _AlertNotification = __webpack_require__(938);\n\nObject.defineProperty(exports, 'AlertNotification', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_AlertNotification).default;\n  }\n});\n\nvar _AlertNotificationsComponent = __webpack_require__(939);\n\nObject.defineProperty(exports, 'AlertNotificationsComponent', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_AlertNotificationsComponent).default;\n  }\n});\n\nvar _AlertNotificationsList = __webpack_require__(940);\n\nObject.defineProperty(exports, 'AlertNotificationsList', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_AlertNotificationsList).default;\n  }\n});\n\nvar _CreateAlertNotificationInput = __webpack_require__(941);\n\nObject.defineProperty(exports, 'CreateAlertNotificationInput', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_CreateAlertNotificationInput).default;\n  }\n});\n\nvar _UnknownAlertNotification = __webpack_require__(942);\n\nObject.defineProperty(exports, 'UnknownAlertNotification', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_UnknownAlertNotification).default;\n  }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ }),\n\n/***/ 924:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.UnknownAlertCondition = exports.GenericAlertConditionSummary = exports.EditAlertConditionForm = exports.CreateAlertConditionInput = exports.ConditionAlertNotifications = exports.AlertConditionsList = exports.AlertConditionsComponent = exports.AlertConditionSummary = exports.AlertConditionForm = exports.AlertCondition = undefined;\n\nvar _AlertCondition = __webpack_require__(1009);\n\nObject.defineProperty(exports, 'AlertCondition', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_AlertCondition).default;\n  }\n});\n\nvar _AlertConditionForm = __webpack_require__(1010);\n\nObject.defineProperty(exports, 'AlertConditionForm', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_AlertConditionForm).default;\n  }\n});\n\nvar _AlertConditionSummary = __webpack_require__(1011);\n\nObject.defineProperty(exports, 'AlertConditionSummary', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_AlertConditionSummary).default;\n  }\n});\n\nvar _AlertConditionsComponent = __webpack_require__(1012);\n\nObject.defineProperty(exports, 'AlertConditionsComponent', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_AlertConditionsComponent).default;\n  }\n});\n\nvar _AlertConditionsList = __webpack_require__(1013);\n\nObject.defineProperty(exports, 'AlertConditionsList', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_AlertConditionsList).default;\n  }\n});\n\nvar _ConditionAlertNotifications = __webpack_require__(1014);\n\nObject.defineProperty(exports, 'ConditionAlertNotifications', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_ConditionAlertNotifications).default;\n  }\n});\n\nvar _CreateAlertConditionInput = __webpack_require__(1015);\n\nObject.defineProperty(exports, 'CreateAlertConditionInput', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_CreateAlertConditionInput).default;\n  }\n});\n\nvar _EditAlertConditionForm = __webpack_require__(1016);\n\nObject.defineProperty(exports, 'EditAlertConditionForm', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_EditAlertConditionForm).default;\n  }\n});\n\nvar _GenericAlertConditionSummary = __webpack_require__(1017);\n\nObject.defineProperty(exports, 'GenericAlertConditionSummary', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_GenericAlertConditionSummary).default;\n  }\n});\n\nvar _UnknownAlertCondition = __webpack_require__(1018);\n\nObject.defineProperty(exports, 'UnknownAlertCondition', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_UnknownAlertCondition).default;\n  }\n});\n\nvar _plugin = __webpack_require__(263);\n\nvar _fieldcontentcondition = __webpack_require__(1019);\n\nvar _fieldvaluecondition = __webpack_require__(1021);\n\nvar _messagecountcondition = __webpack_require__(1023);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_plugin.PluginStore.register(new _plugin.PluginManifest({}, {\n  alertConditions: [{\n    summaryComponent: _fieldcontentcondition.FieldContentConditionSummary,\n    type: 'field_content_value'\n  }, {\n    summaryComponent: _fieldvaluecondition.FieldValueConditionSummary,\n    type: 'field_value'\n  }, {\n    summaryComponent: _messagecountcondition.MessageCountConditionSummary,\n    type: 'message_count'\n  }]\n}));\n\n/***/ }),\n\n/***/ 930:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar GracePeriodSummary = _react2.default.createClass({\n  displayName: 'GracePeriodSummary',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired\n  },\n  _formatTime: function _formatTime(time) {\n    if (time === 1) {\n      return '1 minute';\n    }\n\n    return time + ' minutes';\n  },\n  render: function render() {\n    var time = this.props.alertCondition.parameters.grace;\n    return _react2.default.createElement(\n      'span',\n      null,\n      'Grace period: ',\n      this._formatTime(time),\n      '.'\n    );\n  }\n});\n\nexports.default = GracePeriodSummary;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 931:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BacklogSummary = _react2.default.createClass({\n  displayName: 'BacklogSummary',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired\n  },\n  _formatMessageCount: function _formatMessageCount(count) {\n    if (count === 0) {\n      return 'Not including any messages';\n    }\n\n    if (count === 1) {\n      return 'Including last message';\n    }\n\n    return 'Including last ' + count + ' messages';\n  },\n  render: function render() {\n    var backlog = this.props.alertCondition.parameters.backlog;\n    return _react2.default.createElement(\n      'span',\n      null,\n      this._formatMessageCount(backlog),\n      ' in alert notification.'\n    );\n  }\n});\n\nexports.default = BacklogSummary;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 933:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar RepeatNotificationsSummary = _react2.default.createClass({\n  displayName: 'RepeatNotificationsSummary',\n\n  propTypes: {\n    alertCondition: _propTypes2.default.object.isRequired\n  },\n  render: function render() {\n    var repeatNotifications = this.props.alertCondition.parameters.repeat_notifications || false;\n    return _react2.default.createElement(\n      'span',\n      null,\n      'Configured to ',\n      !repeatNotifications && _react2.default.createElement(\n        'b',\n        null,\n        'not'\n      ),\n      ' repeat notifications.'\n    );\n  }\n});\n\nexports.default = RepeatNotificationsSummary;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 938:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _PermissionsMixin = __webpack_require__(167);\n\nvar _PermissionsMixin2 = _interopRequireDefault(_PermissionsMixin);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nvar _common = __webpack_require__(46);\n\nvar _alertnotifications = __webpack_require__(923);\n\nvar _configurationforms = __webpack_require__(919);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('AlertNotifications'),\n    AlertNotificationsStore = _CombinedProvider$get.AlertNotificationsStore;\n\nvar _CombinedProvider$get2 = _CombinedProvider2.default.get('AlarmCallbacks'),\n    AlarmCallbacksActions = _CombinedProvider$get2.AlarmCallbacksActions;\n\nvar _CombinedProvider$get3 = _CombinedProvider2.default.get('CurrentUser'),\n    CurrentUserStore = _CombinedProvider$get3.CurrentUserStore;\n\nvar AlertNotification = _react2.default.createClass({\n  displayName: 'AlertNotification',\n\n  propTypes: {\n    alertNotification: _propTypes2.default.object.isRequired,\n    stream: _propTypes2.default.object,\n    onNotificationUpdate: _propTypes2.default.func,\n    onNotificationDelete: _propTypes2.default.func\n  },\n  mixins: [_reflux2.default.connect(AlertNotificationsStore), _reflux2.default.connect(CurrentUserStore), _PermissionsMixin2.default],\n\n  getInitialState: function getInitialState() {\n    return {\n      isTestingAlert: false\n    };\n  },\n  _onTestNotification: function _onTestNotification() {\n    var _this = this;\n\n    this.setState({ isTestingAlert: true });\n    AlertNotificationsStore.testAlert(this.props.alertNotification.id).finally(function () {\n      return _this.setState({ isTestingAlert: false });\n    });\n  },\n  _onEdit: function _onEdit() {\n    this.refs.configurationForm.open();\n  },\n  _onSubmit: function _onSubmit(data) {\n    var _this2 = this;\n\n    AlarmCallbacksActions.update(this.props.alertNotification.stream_id, this.props.alertNotification.id, data).then(function () {\n      if (typeof _this2.props.onNotificationUpdate === 'function') {\n        _this2.props.onNotificationUpdate();\n      }\n    });\n  },\n  _onDelete: function _onDelete() {\n    var _this3 = this;\n\n    if (window.confirm('Really delete alert notification?')) {\n      AlarmCallbacksActions.delete(this.props.alertNotification.stream_id, this.props.alertNotification.id).then(function () {\n        if (typeof _this3.props.onNotificationUpdate === 'function') {\n          _this3.props.onNotificationUpdate();\n        }\n      });\n    }\n  },\n  render: function render() {\n    if (!this.state.availableNotifications) {\n      return _react2.default.createElement(_common.Spinner, null);\n    }\n\n    var notification = this.props.alertNotification;\n    var stream = this.props.stream;\n    var typeDefinition = this.state.availableNotifications[notification.type];\n\n    if (!typeDefinition) {\n      return _react2.default.createElement(_alertnotifications.UnknownAlertNotification, { alertNotification: notification, onDelete: this._onDelete });\n    }\n\n    var description = stream ? _react2.default.createElement(\n      'span',\n      null,\n      'Executed once per triggered alert condition in stream ',\n      _react2.default.createElement(\n        'em',\n        null,\n        stream.title\n      )\n    ) : 'Not executed, as it is not connected to a stream';\n\n    var actions = this.isPermitted(this.state.currentUser.permissions, ['streams:edit:' + stream.id]) && [_react2.default.createElement(\n      _reactBootstrap.Button,\n      { key: 'test-button', bsStyle: 'info', disabled: this.state.isTestingAlert, onClick: this._onTestNotification },\n      this.state.isTestingAlert ? 'Testing...' : 'Test'\n    ), _react2.default.createElement(\n      _reactBootstrap.DropdownButton,\n      { key: 'more-actions-button', title: 'More actions', pullRight: true,\n        id: 'more-actions-dropdown-' + notification.id },\n      _react2.default.createElement(\n        _reactBootstrap.MenuItem,\n        { onSelect: this._onEdit },\n        'Edit'\n      ),\n      _react2.default.createElement(_reactBootstrap.MenuItem, { divider: true }),\n      _react2.default.createElement(\n        _reactBootstrap.MenuItem,\n        { onSelect: this._onDelete },\n        'Delete'\n      )\n    )];\n\n    var content = _react2.default.createElement(\n      _reactBootstrap.Col,\n      { md: 12 },\n      _react2.default.createElement(\n        'div',\n        { className: 'alert-callback alarm-callbacks' },\n        _react2.default.createElement(_configurationforms.ConfigurationForm, { ref: 'configurationForm',\n          key: 'configuration-form-notification-' + notification.id,\n          configFields: typeDefinition.requested_configuration,\n          title: 'Editing alert configuration ',\n          typeName: notification.type,\n          titleValue: notification.title,\n          submitAction: this._onSubmit,\n          values: notification.configuration }),\n        _react2.default.createElement(_configurationforms.ConfigurationWell, { configuration: notification.configuration, typeDefinition: typeDefinition })\n      )\n    );\n\n    return _react2.default.createElement(_common.EntityListItem, { key: 'entry-list-' + notification.id,\n      title: notification.title ? notification.title : 'Untitled',\n      titleSuffix: '(' + typeDefinition.name + ')',\n      description: description,\n      actions: actions,\n      contentRow: content });\n  }\n});\n\nexports.default = AlertNotification;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 939:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _reactRouterBootstrap = __webpack_require__(915);\n\nvar _javascriptNaturalSort = __webpack_require__(917);\n\nvar _javascriptNaturalSort2 = _interopRequireDefault(_javascriptNaturalSort);\n\nvar _common = __webpack_require__(46);\n\nvar _alertnotifications = __webpack_require__(923);\n\nvar _Routes = __webpack_require__(76);\n\nvar _Routes2 = _interopRequireDefault(_Routes);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('AlertNotifications'),\n    AlertNotificationsStore = _CombinedProvider$get.AlertNotificationsStore,\n    AlertNotificationsActions = _CombinedProvider$get.AlertNotificationsActions;\n\nvar _CombinedProvider$get2 = _CombinedProvider2.default.get('Streams'),\n    StreamsStore = _CombinedProvider$get2.StreamsStore;\n\nvar AlertNotificationsComponent = _react2.default.createClass({\n  displayName: 'AlertNotificationsComponent',\n\n  mixins: [_reflux2.default.connect(AlertNotificationsStore)],\n\n  getInitialState: function getInitialState() {\n    return {\n      streams: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    this._loadData();\n  },\n  _loadData: function _loadData() {\n    var _this = this;\n\n    StreamsStore.listStreams().then(function (streams) {\n      _this.setState({ streams: streams });\n    });\n\n    AlertNotificationsActions.available();\n    AlertNotificationsActions.listAll();\n  },\n  _isLoading: function _isLoading() {\n    return !this.state.streams || !this.state.availableNotifications || !this.state.allNotifications;\n  },\n  render: function render() {\n    if (this._isLoading()) {\n      return _react2.default.createElement(_common.Spinner, null);\n    }\n\n    var notifications = this.state.allNotifications.sort(function (a1, a2) {\n      var t1 = a1.title || 'Untitled';\n      var t2 = a2.title || 'Untitled';\n      return (0, _javascriptNaturalSort2.default)(t1.toLowerCase(), t2.toLowerCase());\n    });\n\n    return _react2.default.createElement(\n      'div',\n      null,\n      _react2.default.createElement(\n        'div',\n        { className: 'pull-right' },\n        _react2.default.createElement(\n          _reactRouterBootstrap.LinkContainer,\n          { to: _Routes2.default.ALERTS.NEW_NOTIFICATION },\n          _react2.default.createElement(\n            _reactBootstrap.Button,\n            { bsStyle: 'success' },\n            'Add new notification'\n          )\n        )\n      ),\n      _react2.default.createElement(\n        'h2',\n        null,\n        'Notifications'\n      ),\n      _react2.default.createElement(\n        'p',\n        null,\n        'These are all configured alert notifications.'\n      ),\n      _react2.default.createElement(_alertnotifications.AlertNotificationsList, { alertNotifications: notifications, streams: this.state.streams,\n        onNotificationUpdate: this._loadData, onNotificationDelete: this._loadData })\n    );\n  }\n});\n\nexports.default = AlertNotificationsComponent;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 940:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _alertnotifications = __webpack_require__(923);\n\nvar _common = __webpack_require__(46);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar AlertNotificationsList = _react2.default.createClass({\n  displayName: 'AlertNotificationsList',\n\n  propTypes: {\n    alertNotifications: _propTypes2.default.array.isRequired,\n    streams: _propTypes2.default.array.isRequired,\n    onNotificationUpdate: _propTypes2.default.func,\n    onNotificationDelete: _propTypes2.default.func\n  },\n\n  getInitialState: function getInitialState() {\n    return {\n      currentPage: 0\n    };\n  },\n\n\n  PAGE_SIZE: 10,\n\n  _onChangePaginatedList: function _onChangePaginatedList(currentPage) {\n    this.setState({ currentPage: currentPage - 1 });\n  },\n  _paginatedNotifications: function _paginatedNotifications() {\n    return this.props.alertNotifications.slice(this.state.currentPage * this.PAGE_SIZE, (this.state.currentPage + 1) * this.PAGE_SIZE);\n  },\n  _formatNotification: function _formatNotification(notification) {\n    var stream = this.props.streams.find(function (s) {\n      return s.id === notification.stream_id;\n    });\n    return _react2.default.createElement(_alertnotifications.AlertNotification, { key: notification.id, alertNotification: notification, stream: stream,\n      onNotificationUpdate: this.props.onNotificationUpdate,\n      onNotificationDelete: this.props.onNotificationDelete });\n  },\n  render: function render() {\n    var _this = this;\n\n    var notifications = this.props.alertNotifications;\n\n    return _react2.default.createElement(\n      _common.PaginatedList,\n      { totalItems: notifications.length, onChange: this._onChangePaginatedList,\n        showPageSizeSelect: false, pageSize: this.PAGE_SIZE },\n      _react2.default.createElement(_common.EntityList, { bsNoItemsStyle: 'info',\n        noItemsText: 'There are no configured notifications.',\n        items: this._paginatedNotifications().map(function (notification) {\n          return _this._formatNotification(notification);\n        }) })\n    );\n  }\n});\n\nexports.default = AlertNotificationsList;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 941:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _javascriptNaturalSort = __webpack_require__(917);\n\nvar _javascriptNaturalSort2 = _interopRequireDefault(_javascriptNaturalSort);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _bootstrap = __webpack_require__(47);\n\nvar _common = __webpack_require__(46);\n\nvar _configurationforms = __webpack_require__(919);\n\nvar _Routes = __webpack_require__(76);\n\nvar _Routes2 = _interopRequireDefault(_Routes);\n\nvar _UserNotification = __webpack_require__(6);\n\nvar _UserNotification2 = _interopRequireDefault(_UserNotification);\n\nvar _History = __webpack_require__(168);\n\nvar _History2 = _interopRequireDefault(_History);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('AlertNotifications'),\n    AlertNotificationsStore = _CombinedProvider$get.AlertNotificationsStore,\n    AlertNotificationsActions = _CombinedProvider$get.AlertNotificationsActions;\n\nvar _CombinedProvider$get2 = _CombinedProvider2.default.get('AlarmCallbacks'),\n    AlarmCallbacksActions = _CombinedProvider$get2.AlarmCallbacksActions;\n\nvar _CombinedProvider$get3 = _CombinedProvider2.default.get('Streams'),\n    StreamsStore = _CombinedProvider$get3.StreamsStore;\n\nvar CreateAlertNotificationInput = _react2.default.createClass({\n  displayName: 'CreateAlertNotificationInput',\n\n  mixins: [_reflux2.default.connect(AlertNotificationsStore)],\n  getInitialState: function getInitialState() {\n    return {\n      streams: undefined,\n      selectedStream: undefined,\n      type: this.PLACEHOLDER\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    StreamsStore.listStreams().then(function (streams) {\n      _this.setState({ streams: streams });\n    });\n    AlertNotificationsActions.available();\n  },\n\n\n  PLACEHOLDER: 'placeholder',\n\n  _onChange: function _onChange(evt) {\n    this.setState({ type: evt.target.value });\n  },\n  _onStreamChange: function _onStreamChange(nextStream) {\n    this.setState({ selectedStream: this.state.streams.find(function (s) {\n        return s.id === nextStream;\n      }) });\n  },\n  _onSubmit: function _onSubmit(data) {\n    var _this2 = this;\n\n    if (!this.state.selectedStream) {\n      _UserNotification2.default.error('Please select the stream that the condition should check.', 'Could not save condition');\n    }\n\n    AlarmCallbacksActions.save(this.state.selectedStream.id, data).then(function () {\n      _History2.default.pushState(null, _Routes2.default.ALERTS.NOTIFICATIONS);\n    }, function () {\n      return _this2.refs.configurationForm.open();\n    });\n  },\n  _openForm: function _openForm() {\n    this.refs.configurationForm.open();\n  },\n  _resetForm: function _resetForm() {\n    this.setState({ type: this.PLACEHOLDER });\n  },\n  _formatNotificationForm: function _formatNotificationForm(type) {\n    var typeDefinition = this.state.availableNotifications[type];\n    return _react2.default.createElement(_configurationforms.ConfigurationForm, { ref: 'configurationForm',\n      key: 'configuration-form-output',\n      configFields: typeDefinition.requested_configuration,\n      title: 'Create new ' + typeDefinition.name,\n      typeName: type,\n      submitAction: this._onSubmit,\n      cancelAction: this._resetForm });\n  },\n  _formatOption: function _formatOption(key, value) {\n    return { value: value, label: key };\n  },\n  _isLoading: function _isLoading() {\n    return !this.state.availableNotifications || !this.state.streams;\n  },\n  render: function render() {\n    var _this3 = this;\n\n    if (this._isLoading()) {\n      return _react2.default.createElement(_common.Spinner, null);\n    }\n\n    var notificationForm = this.state.type !== this.PLACEHOLDER ? this._formatNotificationForm(this.state.type) : null;\n    var availableTypes = Object.keys(this.state.availableNotifications).map(function (value) {\n      return _react2.default.createElement(\n        'option',\n        { key: 'type-option-' + value, value: value },\n        _this3.state.availableNotifications[value].name\n      );\n    });\n    var formattedStreams = this.state.streams.map(function (stream) {\n      return _this3._formatOption(stream.title, stream.id);\n    }).sort(function (s1, s2) {\n      return (0, _javascriptNaturalSort2.default)(s1.label.toLowerCase(), s2.label.toLowerCase());\n    });\n    return _react2.default.createElement(\n      'div',\n      null,\n      _react2.default.createElement(\n        _common.ExternalLinkButton,\n        { href: 'https://marketplace.graylog.org/',\n          bsStyle: 'info',\n          className: 'pull-right' },\n        'Find more notifications'\n      ),\n      _react2.default.createElement(\n        'h2',\n        null,\n        'Notification'\n      ),\n      _react2.default.createElement(\n        'p',\n        { className: 'description' },\n        'Define the notification that will be triggered from the alert conditions in a stream.'\n      ),\n      _react2.default.createElement(\n        _reactBootstrap.Row,\n        null,\n        _react2.default.createElement(\n          _reactBootstrap.Col,\n          { md: 6 },\n          _react2.default.createElement(\n            'form',\n            null,\n            _react2.default.createElement(\n              _bootstrap.Input,\n              { label: 'Notify on stream',\n                help: 'Select the stream that should use this notification when its alert conditions are triggered.' },\n              _react2.default.createElement(_common.Select, { placeholder: 'Select a stream', options: formattedStreams, onChange: this._onStreamChange })\n            ),\n            _react2.default.createElement(\n              _bootstrap.Input,\n              { type: 'select', value: this.state.type, onChange: this._onChange,\n                disabled: !this.state.selectedStream,\n                label: 'Notification type', help: 'Select the notification type that will be used.' },\n              _react2.default.createElement(\n                'option',\n                { value: this.PLACEHOLDER, disabled: true },\n                'Select a notification type'\n              ),\n              availableTypes\n            ),\n            notificationForm,\n            ' ',\n            _react2.default.createElement(\n              _reactBootstrap.Button,\n              { onClick: this._openForm, disabled: this.state.type === this.PLACEHOLDER, bsStyle: 'success' },\n              'Add alert notification'\n            )\n          )\n        )\n      )\n    );\n  }\n});\n\nexports.default = CreateAlertNotificationInput;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 942:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _common = __webpack_require__(46);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar UnknownAlertNotification = _react2.default.createClass({\n  displayName: 'UnknownAlertNotification',\n\n  propTypes: {\n    alertNotification: _propTypes2.default.object.isRequired,\n    onDelete: _propTypes2.default.func.isRequired\n  },\n\n  render: function render() {\n    var notification = this.props.alertNotification;\n\n    var actions = [_react2.default.createElement(\n      _reactBootstrap.DropdownButton,\n      { key: 'actions-button', title: 'Actions', pullRight: true, id: 'more-actions-dropdown-' + notification.id },\n      _react2.default.createElement(\n        _reactBootstrap.MenuItem,\n        { onSelect: this.props.onDelete },\n        'Delete'\n      )\n    )];\n\n    var content = _react2.default.createElement(\n      _reactBootstrap.Col,\n      { md: 12 },\n      _react2.default.createElement(\n        _reactBootstrap.Alert,\n        { bsStyle: 'warning' },\n        'Could not resolve notification type. This is most likely caused by a missing plugin in your Graylog setup.'\n      )\n    );\n    return _react2.default.createElement(_common.EntityListItem, { key: 'entry-list-' + notification.id,\n      title: 'Unknown notification',\n      titleSuffix: '(' + notification.type + ')',\n      description: 'Cannot be executed while the notification type is unknown',\n      actions: actions,\n      contentRow: content });\n  }\n});\n\nexports.default = UnknownAlertNotification;\nmodule.exports = exports['default'];\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// 14.746b58959a350aa1ebcf.js","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Reflux from 'reflux';\nimport { DropdownButton, MenuItem } from 'react-bootstrap';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { AlertConditionsActions, AlertConditionsStore } = CombinedProvider.get('AlertConditions');\nconst { CurrentUserStore } = CombinedProvider.get('CurrentUser');\n\nimport { AlertConditionSummary, UnknownAlertCondition } from 'components/alertconditions';\nimport PermissionsMixin from 'util/PermissionsMixin';\n\nconst AlertCondition = React.createClass({\n  propTypes: {\n    alertCondition: PropTypes.object.isRequired,\n    stream: PropTypes.object,\n  },\n  mixins: [Reflux.connect(AlertConditionsStore), Reflux.connect(CurrentUserStore), PermissionsMixin],\n\n  _onDelete() {\n    if (window.confirm('Really delete alert condition?')) {\n      AlertConditionsActions.delete(this.props.stream.id, this.props.alertCondition.id);\n    }\n  },\n\n  render() {\n    const type = this.props.alertCondition.type;\n    const stream = this.props.stream;\n    const condition = this.props.alertCondition;\n    const typeDefinition = this.state.types[type];\n\n    if (!typeDefinition) {\n      return ;\n    }\n\n    const permissions = this.state.currentUser.permissions;\n    let actions = [];\n    if (this.isPermitted(permissions, `streams:edit:${stream.id}`)) {\n      actions = [\n        \n          Delete\n        ,\n      ];\n    }\n\n    return (\n      \n    );\n  },\n});\n\nexport default AlertCondition;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/AlertCondition.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Reflux from 'reflux';\nimport { ControlLabel, FormControl, FormGroup } from 'react-bootstrap';\n\nimport { ConfigurationForm } from 'components/configurationforms';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { AlertConditionsStore } = CombinedProvider.get('AlertConditions');\n\nconst AlertConditionForm = React.createClass({\n  propTypes: {\n    alertCondition: PropTypes.object,\n    onCancel: PropTypes.func,\n    onSubmit: PropTypes.func.isRequired,\n    type: PropTypes.string.isRequired,\n  },\n  mixins: [Reflux.connect(AlertConditionsStore)],\n\n  getDefaultProps() {\n    return {\n      onCancel: () => {\n      },\n      onSubmit: () => {\n      },\n    };\n  },\n\n  getValue() {\n    const values = this.refs.configurationForm.getValue();\n    return {\n      title: values.title,\n      type: this.props.type,\n      parameters: values.configuration,\n    };\n  },\n  open() {\n    this.refs.configurationForm.open();\n  },\n  _onCancel() {\n    this.props.onCancel();\n  },\n  _onSubmit() {\n    const request = this.getValue();\n    this.props.onSubmit(request);\n  },\n  _formatTitle(alertCondition, name) {\n    const action = alertCondition ? 'Update' : 'Create new';\n    const conditionName = alertCondition ? {alertCondition.title || 'Untitled'} : name;\n    return {action} {conditionName};\n  },\n\n  render() {\n    const type = this.props.type;\n    const alertCondition = this.props.alertCondition;\n    const typeDefinition = this.state.types[type];\n\n    return (\n      \n        \n          {`${typeDefinition.name} description`}\n          {typeDefinition.human_name}\n        \n      \n    );\n  },\n});\n\nexport default AlertConditionForm;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/AlertConditionForm.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Col } from 'react-bootstrap';\nimport { LinkContainer } from 'react-router-bootstrap';\n\nimport Routes from 'routing/Routes';\n\nimport { EntityListItem } from 'components/common';\n\nimport { GenericAlertConditionSummary } from 'components/alertconditions';\nimport { PluginStore } from 'graylog-web-plugin/plugin';\n\nconst AlertConditionSummary = React.createClass({\n  propTypes: {\n    alertCondition: PropTypes.object.isRequired,\n    typeDefinition: PropTypes.object.isRequired,\n    stream: PropTypes.object,\n    actions: PropTypes.array.isRequired,\n    linkToDetails: PropTypes.bool,\n  },\n\n  render() {\n    const stream = this.props.stream;\n    const condition = this.props.alertCondition;\n    const typeDefinition = this.props.typeDefinition;\n    const conditionType = PluginStore.exports('alertConditions').find(c => c.type === condition.type) || {};\n    const SummaryComponent = conditionType.summaryComponent || GenericAlertConditionSummary;\n\n    const description = (stream ?\n      Alerting on stream {stream.title} : 'Not alerting on any stream');\n\n    const content = (\n      \n        Configuration: \n      \n    );\n\n    let title;\n    if (this.props.linkToDetails) {\n      title = (\n        \n          {condition.title ? condition.title : 'Untitled'}\n        \n      );\n    } else {\n      title = (condition.title ? condition.title : 'Untitled');\n    }\n\n    return (\n      \n    );\n  },\n});\n\nexport default AlertConditionSummary;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/AlertConditionSummary.jsx","import React from 'react';\nimport Reflux from 'reflux';\nimport { Button } from 'react-bootstrap';\nimport { LinkContainer } from 'react-router-bootstrap';\nimport naturalSort from 'javascript-natural-sort';\n\nimport { Spinner } from 'components/common';\nimport { AlertConditionsList } from 'components/alertconditions';\n\nimport Routes from 'routing/Routes';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { StreamsStore } = CombinedProvider.get('Streams');\nconst { AlertConditionsStore, AlertConditionsActions } = CombinedProvider.get('AlertConditions');\n\nconst AlertConditionsComponent = React.createClass({\n  mixins: [Reflux.connect(AlertConditionsStore)],\n\n  getInitialState() {\n    return {\n      streams: undefined,\n    };\n  },\n\n  componentDidMount() {\n    this._loadData();\n  },\n\n  _loadData() {\n    StreamsStore.listStreams().then((streams) => {\n      this.setState({ streams: streams });\n    });\n\n    AlertConditionsActions.listAll();\n  },\n\n  _isLoading() {\n    return !this.state.streams || !this.state.allAlertConditions;\n  },\n\n  render() {\n    if (this._isLoading()) {\n      return ;\n    }\n\n    const alertConditions = this.state.allAlertConditions.sort((a1, a2) => {\n      const t1 = a1.title || 'Untitled';\n      const t2 = a2.title || 'Untitled';\n      return naturalSort(t1.toLowerCase(), t2.toLowerCase());\n    });\n\n    return (\n      
\n
\n \n \n \n
\n

Conditions

\n

These are all configured alert conditions.

\n \n
\n );\n },\n});\n\nexport default AlertConditionsComponent;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/AlertConditionsComponent.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { AlertCondition } from 'components/alertconditions';\nimport { EntityList, PaginatedList } from 'components/common';\n\nconst AlertConditionsList = React.createClass({\n propTypes: {\n alertConditions: PropTypes.array.isRequired,\n streams: PropTypes.array.isRequired,\n },\n\n getInitialState() {\n return {\n currentPage: 0,\n };\n },\n\n PAGE_SIZE: 10,\n\n _onChangePaginatedList(currentPage) {\n this.setState({ currentPage: currentPage - 1 });\n },\n\n _paginatedConditions() {\n return this.props.alertConditions.slice(this.state.currentPage * this.PAGE_SIZE, (this.state.currentPage + 1) * this.PAGE_SIZE);\n },\n\n _formatCondition(condition) {\n const stream = this.props.streams.find(s => s.alert_conditions.find(c => c.id === condition.id));\n return ;\n },\n\n render() {\n const alertConditions = this.props.alertConditions;\n\n return (\n \n this._formatCondition(condition))} />\n \n );\n },\n});\n\nexport default AlertConditionsList;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/AlertConditionsList.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport naturalSort from 'javascript-natural-sort';\n\nimport { Pluralize, Spinner } from 'components/common';\nimport { AlertNotificationsList } from 'components/alertnotifications';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { AlarmCallbacksActions } = CombinedProvider.get('AlarmCallbacks');\nconst { AlertNotificationsActions } = CombinedProvider.get('AlertNotifications');\n\nconst ConditionAlertNotifications = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n stream: PropTypes.object.isRequired,\n },\n\n getInitialState() {\n return {\n conditionNotifications: undefined,\n };\n },\n\n componentDidMount() {\n this._loadData();\n },\n\n _loadData() {\n AlertNotificationsActions.available();\n AlarmCallbacksActions.list(this.props.stream.id)\n .then(callbacks => this.setState({ conditionNotifications: callbacks }));\n },\n\n _isLoading() {\n return !this.state.conditionNotifications;\n },\n\n render() {\n if (this._isLoading()) {\n return ;\n }\n\n const stream = this.props.stream;\n\n const notifications = this.state.conditionNotifications.sort((a1, a2) => {\n const t1 = a1.title || 'Untitled';\n const t2 = a2.title || 'Untitled';\n return naturalSort(t1.toLowerCase(), t2.toLowerCase());\n });\n\n return (\n
\n

Notifications

\n

\n the notifications set\n for the stream {stream.title}. They will be triggered when the alert condition is satisfied.\n

\n\n \n
\n );\n },\n});\n\nexport default ConditionAlertNotifications;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/ConditionAlertNotifications.jsx","import React from 'react';\nimport Reflux from 'reflux';\nimport naturalSort from 'javascript-natural-sort';\nimport { Button, Col, Row } from 'react-bootstrap';\n\nimport { Input } from 'components/bootstrap';\nimport { Select, Spinner } from 'components/common';\nimport { AlertConditionForm } from 'components/alertconditions';\nimport Routes from 'routing/Routes';\nimport UserNotification from 'util/UserNotification';\nimport history from 'util/History';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { AlertConditionsStore, AlertConditionsActions } = CombinedProvider.get('AlertConditions');\nconst { StreamsStore } = CombinedProvider.get('Streams');\n\nconst CreateAlertConditionInput = React.createClass({\n mixins: [Reflux.connect(AlertConditionsStore)],\n getInitialState() {\n return {\n streams: undefined,\n selectedStream: undefined,\n type: this.PLACEHOLDER,\n };\n },\n\n componentDidMount() {\n StreamsStore.listStreams().then((streams) => {\n this.setState({ streams: streams });\n });\n },\n\n PLACEHOLDER: 'placeholder',\n\n _onChange(evt) {\n this.setState({ type: evt.target.value });\n },\n\n _onStreamChange(nextStream) {\n this.setState({ selectedStream: this.state.streams.find(s => s.id === nextStream) });\n },\n\n _onSubmit(data) {\n if (!this.state.selectedStream) {\n UserNotification.error('Please select the stream that the condition should check.', 'Could not save condition');\n }\n\n AlertConditionsActions.save(this.state.selectedStream.id, data).then((conditionId) => {\n history.pushState(null, Routes.show_alert_condition(this.state.selectedStream.id, conditionId));\n });\n },\n _openForm() {\n this.refs.configurationForm.open();\n },\n _resetForm() {\n this.setState({ type: this.PLACEHOLDER });\n },\n _formatConditionForm(type) {\n return (\n \n );\n },\n\n _formatOption(key, value) {\n return { value: value, label: key };\n },\n\n _isLoading() {\n return !this.state.types || !this.state.streams;\n },\n\n render() {\n if (this._isLoading()) {\n return ;\n }\n\n const conditionForm = (this.state.type !== this.PLACEHOLDER ? this._formatConditionForm(this.state.type) : null);\n const availableTypes = Object.keys(this.state.types).map((value) => {\n return ;\n });\n const formattedStreams = this.state.streams\n .map(stream => this._formatOption(stream.title, stream.id))\n .sort((s1, s2) => naturalSort(s1.label.toLowerCase(), s2.label.toLowerCase()));\n return (\n
\n

Condition

\n

Define the condition to evaluate when triggering a new alert.

\n\n \n \n
\n \n \n \n {availableTypes}\n \n {conditionForm}\n {' '}\n \n
\n \n
\n
\n );\n },\n});\n\nexport default CreateAlertConditionInput;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/CreateAlertConditionInput.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Reflux from 'reflux';\nimport { Button } from 'react-bootstrap';\n\nimport { EntityList, Spinner } from 'components/common';\nimport { AlertConditionForm, AlertConditionSummary } from 'components/alertconditions';\nimport PermissionsMixin from 'util/PermissionsMixin';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { AlertConditionsActions, AlertConditionsStore } = CombinedProvider.get('AlertConditions');\nconst { CurrentUserStore } = CombinedProvider.get('CurrentUser');\n\nconst EditAlertConditionForm = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n stream: PropTypes.object.isRequired,\n },\n\n mixins: [Reflux.connect(AlertConditionsStore), Reflux.connect(CurrentUserStore), PermissionsMixin],\n\n _onEdit() {\n this.refs.updateForm.open();\n },\n\n _onUpdate(request) {\n AlertConditionsActions.update(this.props.stream.id, this.props.alertCondition.id, request).then(() => {\n AlertConditionsActions.get(this.props.stream.id, this.props.alertCondition.id);\n });\n },\n\n _formatCondition() {\n const type = this.props.alertCondition.type;\n const stream = this.props.stream;\n const condition = this.props.alertCondition;\n const typeDefinition = this.state.types[type];\n\n const permissions = this.state.currentUser.permissions;\n let actions = [];\n if (this.isPermitted(permissions, `streams:edit:${stream.id}`)) {\n actions = [\n ,\n ];\n }\n\n return [\n ,\n ];\n },\n\n _isLoading() {\n return !this.state.types;\n },\n\n render() {\n if (this._isLoading()) {\n return ;\n }\n\n const condition = this.props.alertCondition;\n\n return (\n
\n

Condition details

\n

Define the condition to evaluate when triggering a new alert.

\n \n \n
\n );\n },\n});\n\nexport default EditAlertConditionForm;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/EditAlertConditionForm.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { ConfigurationWell } from 'components/configurationforms';\nimport GracePeriodSummary from 'components/alertconditions/GracePeriodSummary';\nimport BacklogSummary from 'components/alertconditions/BacklogSummary';\n\nconst GenericAlertConditionSummary = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n },\n\n render() {\n const alertCondition = this.props.alertCondition;\n const graceSummary = alertCondition.parameters.grace ? : null;\n const backlogSummary = alertCondition.parameters.backlog ? : null;\n return (\n \n {graceSummary}\n {' '}\n {backlogSummary}\n \n \n );\n },\n});\n\nexport default GenericAlertConditionSummary;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/GenericAlertConditionSummary.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Alert, Col, DropdownButton, MenuItem } from 'react-bootstrap';\n\nimport { EntityListItem } from 'components/common';\n\nconst UnknownAlertCondition = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n stream: PropTypes.object,\n onDelete: PropTypes.func.isRequired,\n },\n\n render() {\n const condition = this.props.alertCondition;\n const stream = this.props.stream;\n\n const actions = [\n \n Delete\n ,\n ];\n\n const content = (\n \n \n Could not resolve condition type. This is most likely caused by a missing plugin in your Graylog setup.\n \n \n );\n return (\n Watching stream {stream.title} : 'Not watching any stream'}\n actions={actions}\n contentRow={content} />\n );\n },\n});\n\nexport default UnknownAlertCondition;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/UnknownAlertCondition.jsx","export { default as FieldContentConditionSummary } from './FieldContentConditionSummary';\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/fieldcontentcondition/index.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport GracePeriodSummary from 'components/alertconditions/GracePeriodSummary';\nimport BacklogSummary from 'components/alertconditions/BacklogSummary';\nimport RepeatNotificationsSummary from 'components/alertconditions/RepeatNotificationsSummary';\n\nconst FieldContentConditionSummary = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n },\n _formatMatcher(field, value) {\n return {`\\<${field}: \"${value}\"\\>`};\n },\n render() {\n const alertCondition = this.props.alertCondition;\n const field = alertCondition.parameters.field;\n const value = alertCondition.parameters.value;\n\n return (\n \n Alert is triggered when messages matching {this._formatMatcher(field, value)} are received.\n {' '}\n \n {' '}\n \n {' '}\n \n \n );\n },\n});\n\nexport default FieldContentConditionSummary;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/fieldcontentcondition/FieldContentConditionSummary.jsx","export { default as FieldValueConditionSummary } from './FieldValueConditionSummary';\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/fieldvaluecondition/index.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport GracePeriodSummary from 'components/alertconditions/GracePeriodSummary';\nimport BacklogSummary from 'components/alertconditions/BacklogSummary';\nimport RepeatNotificationsSummary from 'components/alertconditions/RepeatNotificationsSummary';\nimport { Pluralize } from 'components/common';\n\nconst FieldValueConditionSummary = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n },\n render() {\n const alertCondition = this.props.alertCondition;\n const field = alertCondition.parameters.field;\n const threshold = alertCondition.parameters.threshold;\n const thresholdType = alertCondition.parameters.threshold_type.toLowerCase();\n const type = alertCondition.parameters.type.toLowerCase();\n const time = alertCondition.parameters.time;\n\n return (\n \n Alert is triggered when the field {field} has a {thresholdType}\n {' '}{type} value than {threshold} in the\n {' '}\n .\n {' '}\n \n {' '}\n \n {' '}\n \n \n );\n },\n});\n\nexport default FieldValueConditionSummary;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/fieldvaluecondition/FieldValueConditionSummary.jsx","export { default as MessageCountConditionSummary } from './MessageCountConditionSummary';\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/messagecountcondition/index.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport GracePeriodSummary from 'components/alertconditions/GracePeriodSummary';\nimport BacklogSummary from 'components/alertconditions/BacklogSummary';\nimport RepeatNotificationsSummary from 'components/alertconditions/RepeatNotificationsSummary';\nimport { Pluralize } from 'components/common';\n\nconst MessageCountConditionSummary = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n },\n render() {\n const alertCondition = this.props.alertCondition;\n const threshold = alertCondition.parameters.threshold;\n const thresholdType = alertCondition.parameters.threshold_type.toLowerCase();\n const time = alertCondition.parameters.time;\n\n return (\n \n Alert is triggered when there\n {' '}\n \n {' '}in the{' '}\n .\n {' '}\n \n {' '}\n \n {' '}\n \n \n );\n },\n});\n\nexport default MessageCountConditionSummary;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/messagecountcondition/MessageCountConditionSummary.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Reflux from 'reflux';\nimport { Button, Col, Row } from 'react-bootstrap';\nimport { LinkContainer } from 'react-router-bootstrap';\n\nimport DocumentationLink from 'components/support/DocumentationLink';\nimport { DocumentTitle, PageHeader, Spinner } from 'components/common';\nimport { ConditionAlertNotifications, EditAlertConditionForm } from 'components/alertconditions';\n\nimport Routes from 'routing/Routes';\nimport DocsHelper from 'util/DocsHelper';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { CurrentUserStore } = CombinedProvider.get('CurrentUser');\nconst { StreamsStore } = CombinedProvider.get('Streams');\nconst { AlertConditionsStore, AlertConditionsActions } = CombinedProvider.get('AlertConditions');\n\nconst EditAlertConditionPage = React.createClass({\n propTypes: {\n params: PropTypes.object.isRequired,\n },\n\n mixins: [Reflux.connect(CurrentUserStore), Reflux.connect(AlertConditionsStore)],\n\n getInitialState() {\n return {\n stream: undefined,\n };\n },\n\n componentDidMount() {\n StreamsStore.get(this.props.params.streamId, (stream) => {\n this.setState({ stream: stream });\n });\n\n AlertConditionsActions.get(this.props.params.streamId, this.props.params.conditionId);\n },\n\n _isLoading() {\n return !this.state.stream || !this.state.alertCondition;\n },\n\n render() {\n if (this._isLoading()) {\n return ;\n }\n\n const condition = this.state.alertCondition;\n const stream = this.state.stream;\n\n return (\n \n
\n Condition {condition.title || 'Untitled'}}>\n \n Define an alert condition and configure the way Graylog will notify you when that condition is satisfied.\n \n\n \n Are the default conditions not flexible enough? You can write your own! Read more about alerting in\n the{' '}\n .\n \n\n \n \n \n \n  \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n
\n
\n );\n },\n});\n\nexport default EditAlertConditionPage;\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/EditAlertConditionPage.jsx","export { default as AlertNotification } from './AlertNotification';\nexport { default as AlertNotificationsComponent } from './AlertNotificationsComponent';\nexport { default as AlertNotificationsList } from './AlertNotificationsList';\nexport { default as CreateAlertNotificationInput } from './CreateAlertNotificationInput';\nexport { default as UnknownAlertNotification } from './UnknownAlertNotification';\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertnotifications/index.jsx","export { default as AlertCondition } from './AlertCondition';\nexport { default as AlertConditionForm } from './AlertConditionForm';\nexport { default as AlertConditionSummary } from './AlertConditionSummary';\nexport { default as AlertConditionsComponent } from './AlertConditionsComponent';\nexport { default as AlertConditionsList } from './AlertConditionsList';\nexport { default as ConditionAlertNotifications } from './ConditionAlertNotifications';\nexport { default as CreateAlertConditionInput } from './CreateAlertConditionInput';\nexport { default as EditAlertConditionForm } from './EditAlertConditionForm';\nexport { default as GenericAlertConditionSummary } from './GenericAlertConditionSummary';\nexport { default as UnknownAlertCondition } from './UnknownAlertCondition';\n\nimport { PluginManifest, PluginStore } from 'graylog-web-plugin/plugin';\nimport { FieldContentConditionSummary } from 'components/alertconditions/fieldcontentcondition';\nimport { FieldValueConditionSummary } from 'components/alertconditions/fieldvaluecondition';\nimport { MessageCountConditionSummary } from 'components/alertconditions/messagecountcondition';\n\nPluginStore.register(new PluginManifest({}, {\n alertConditions: [\n {\n summaryComponent: FieldContentConditionSummary,\n type: 'field_content_value',\n },\n {\n summaryComponent: FieldValueConditionSummary,\n type: 'field_value',\n },\n {\n summaryComponent: MessageCountConditionSummary,\n type: 'message_count',\n },\n ],\n}));\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/index.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst GracePeriodSummary = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n },\n _formatTime(time) {\n if (time === 1) {\n return '1 minute';\n }\n\n return `${time} minutes`;\n },\n render() {\n const time = this.props.alertCondition.parameters.grace;\n return Grace period: {this._formatTime(time)}.;\n },\n});\n\nexport default GracePeriodSummary;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/GracePeriodSummary.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst BacklogSummary = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n },\n _formatMessageCount(count) {\n if (count === 0) {\n return 'Not including any messages';\n }\n\n if (count === 1) {\n return 'Including last message';\n }\n\n return `Including last ${count} messages`;\n },\n render() {\n const backlog = this.props.alertCondition.parameters.backlog;\n return (\n {this._formatMessageCount(backlog)} in alert notification.\n );\n },\n});\n\nexport default BacklogSummary;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/BacklogSummary.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst RepeatNotificationsSummary = React.createClass({\n propTypes: {\n alertCondition: PropTypes.object.isRequired,\n },\n render() {\n const repeatNotifications = this.props.alertCondition.parameters.repeat_notifications || false;\n return (\n Configured to {!repeatNotifications && not} repeat notifications.\n );\n },\n});\n\nexport default RepeatNotificationsSummary;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertconditions/RepeatNotificationsSummary.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Reflux from 'reflux';\nimport { Button, Col, DropdownButton, MenuItem } from 'react-bootstrap';\n\nimport PermissionsMixin from 'util/PermissionsMixin';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { AlertNotificationsStore } = CombinedProvider.get('AlertNotifications');\nconst { AlarmCallbacksActions } = CombinedProvider.get('AlarmCallbacks');\nconst { CurrentUserStore } = CombinedProvider.get('CurrentUser');\n\nimport { EntityListItem, Spinner } from 'components/common';\nimport { UnknownAlertNotification } from 'components/alertnotifications';\nimport { ConfigurationForm, ConfigurationWell } from 'components/configurationforms';\n\nconst AlertNotification = React.createClass({\n propTypes: {\n alertNotification: PropTypes.object.isRequired,\n stream: PropTypes.object,\n onNotificationUpdate: PropTypes.func,\n onNotificationDelete: PropTypes.func,\n },\n mixins: [Reflux.connect(AlertNotificationsStore), Reflux.connect(CurrentUserStore), PermissionsMixin],\n\n getInitialState() {\n return {\n isTestingAlert: false,\n };\n },\n\n _onTestNotification() {\n this.setState({ isTestingAlert: true });\n AlertNotificationsStore.testAlert(this.props.alertNotification.id)\n .finally(() => this.setState({ isTestingAlert: false }));\n },\n\n _onEdit() {\n this.refs.configurationForm.open();\n },\n\n _onSubmit(data) {\n AlarmCallbacksActions.update(this.props.alertNotification.stream_id, this.props.alertNotification.id, data)\n .then(() => {\n if (typeof this.props.onNotificationUpdate === 'function') {\n this.props.onNotificationUpdate();\n }\n });\n },\n\n _onDelete() {\n if (window.confirm('Really delete alert notification?')) {\n AlarmCallbacksActions.delete(this.props.alertNotification.stream_id, this.props.alertNotification.id)\n .then(() => {\n if (typeof this.props.onNotificationUpdate === 'function') {\n this.props.onNotificationUpdate();\n }\n });\n }\n },\n\n render() {\n if (!this.state.availableNotifications) {\n return ;\n }\n\n const notification = this.props.alertNotification;\n const stream = this.props.stream;\n const typeDefinition = this.state.availableNotifications[notification.type];\n\n if (!typeDefinition) {\n return ;\n }\n\n const description = (stream ?\n Executed once per triggered alert condition in stream {stream.title}\n : 'Not executed, as it is not connected to a stream');\n\n const actions = this.isPermitted(this.state.currentUser.permissions, [`streams:edit:${stream.id}`]) && [\n ,\n \n Edit\n \n Delete\n ,\n ];\n\n const content = (\n \n
\n \n \n
\n \n );\n\n return (\n \n );\n },\n});\n\nexport default AlertNotification;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertnotifications/AlertNotification.jsx","import React from 'react';\nimport Reflux from 'reflux';\nimport { Button } from 'react-bootstrap';\nimport { LinkContainer } from 'react-router-bootstrap';\nimport naturalSort from 'javascript-natural-sort';\n\nimport { Spinner } from 'components/common';\nimport { AlertNotificationsList } from 'components/alertnotifications';\n\nimport Routes from 'routing/Routes';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { AlertNotificationsStore, AlertNotificationsActions } = CombinedProvider.get('AlertNotifications');\nconst { StreamsStore } = CombinedProvider.get('Streams');\n\nconst AlertNotificationsComponent = React.createClass({\n mixins: [Reflux.connect(AlertNotificationsStore)],\n\n getInitialState() {\n return {\n streams: undefined,\n };\n },\n\n componentDidMount() {\n this._loadData();\n },\n\n _loadData() {\n StreamsStore.listStreams().then((streams) => {\n this.setState({ streams: streams });\n });\n\n AlertNotificationsActions.available();\n AlertNotificationsActions.listAll();\n },\n\n _isLoading() {\n return !this.state.streams || !this.state.availableNotifications || !this.state.allNotifications;\n },\n\n render() {\n if (this._isLoading()) {\n return ;\n }\n\n const notifications = this.state.allNotifications.sort((a1, a2) => {\n const t1 = a1.title || 'Untitled';\n const t2 = a2.title || 'Untitled';\n return naturalSort(t1.toLowerCase(), t2.toLowerCase());\n });\n\n return (\n
\n
\n \n \n \n
\n

Notifications

\n

These are all configured alert notifications.

\n \n
\n );\n },\n});\n\nexport default AlertNotificationsComponent;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertnotifications/AlertNotificationsComponent.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { AlertNotification } from 'components/alertnotifications';\nimport { EntityList, PaginatedList } from 'components/common';\n\nconst AlertNotificationsList = React.createClass({\n propTypes: {\n alertNotifications: PropTypes.array.isRequired,\n streams: PropTypes.array.isRequired,\n onNotificationUpdate: PropTypes.func,\n onNotificationDelete: PropTypes.func,\n },\n\n getInitialState() {\n return {\n currentPage: 0,\n };\n },\n\n PAGE_SIZE: 10,\n\n _onChangePaginatedList(currentPage) {\n this.setState({ currentPage: currentPage - 1 });\n },\n\n _paginatedNotifications() {\n return this.props.alertNotifications.slice(this.state.currentPage * this.PAGE_SIZE, (this.state.currentPage + 1) * this.PAGE_SIZE);\n },\n\n _formatNotification(notification) {\n const stream = this.props.streams.find(s => s.id === notification.stream_id);\n return (\n \n );\n },\n\n render() {\n const notifications = this.props.alertNotifications;\n\n return (\n \n this._formatNotification(notification))} />\n \n );\n },\n});\n\nexport default AlertNotificationsList;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertnotifications/AlertNotificationsList.jsx","import React from 'react';\nimport Reflux from 'reflux';\nimport naturalSort from 'javascript-natural-sort';\nimport { Button, Col, Row } from 'react-bootstrap';\n\nimport { Input } from 'components/bootstrap';\nimport { ExternalLinkButton, Select, Spinner } from 'components/common';\nimport { ConfigurationForm } from 'components/configurationforms';\nimport Routes from 'routing/Routes';\nimport UserNotification from 'util/UserNotification';\nimport history from 'util/History';\n\nimport CombinedProvider from 'injection/CombinedProvider';\nconst { AlertNotificationsStore, AlertNotificationsActions } = CombinedProvider.get('AlertNotifications');\nconst { AlarmCallbacksActions } = CombinedProvider.get('AlarmCallbacks');\nconst { StreamsStore } = CombinedProvider.get('Streams');\n\nconst CreateAlertNotificationInput = React.createClass({\n mixins: [Reflux.connect(AlertNotificationsStore)],\n getInitialState() {\n return {\n streams: undefined,\n selectedStream: undefined,\n type: this.PLACEHOLDER,\n };\n },\n\n componentDidMount() {\n StreamsStore.listStreams().then((streams) => {\n this.setState({ streams: streams });\n });\n AlertNotificationsActions.available();\n },\n\n PLACEHOLDER: 'placeholder',\n\n _onChange(evt) {\n this.setState({ type: evt.target.value });\n },\n\n _onStreamChange(nextStream) {\n this.setState({ selectedStream: this.state.streams.find(s => s.id === nextStream) });\n },\n\n _onSubmit(data) {\n if (!this.state.selectedStream) {\n UserNotification.error('Please select the stream that the condition should check.', 'Could not save condition');\n }\n\n AlarmCallbacksActions.save(this.state.selectedStream.id, data).then(\n () => {\n history.pushState(null, Routes.ALERTS.NOTIFICATIONS);\n },\n () => this.refs.configurationForm.open(),\n );\n },\n _openForm() {\n this.refs.configurationForm.open();\n },\n _resetForm() {\n this.setState({ type: this.PLACEHOLDER });\n },\n _formatNotificationForm(type) {\n const typeDefinition = this.state.availableNotifications[type];\n return (\n \n );\n },\n\n _formatOption(key, value) {\n return { value: value, label: key };\n },\n\n _isLoading() {\n return !this.state.availableNotifications || !this.state.streams;\n },\n\n render() {\n if (this._isLoading()) {\n return ;\n }\n\n const notificationForm = (this.state.type !== this.PLACEHOLDER ? this._formatNotificationForm(this.state.type) : null);\n const availableTypes = Object.keys(this.state.availableNotifications).map((value) => {\n return (\n \n );\n });\n const formattedStreams = this.state.streams\n .map(stream => this._formatOption(stream.title, stream.id))\n .sort((s1, s2) => naturalSort(s1.label.toLowerCase(), s2.label.toLowerCase()));\n return (\n
\n \n Find more notifications\n \n\n

Notification

\n

\n Define the notification that will be triggered from the alert conditions in a stream.\n

\n\n \n \n
\n \n \n \n {availableTypes}\n \n {notificationForm}\n {' '}\n \n
\n \n
\n
\n );\n },\n});\n\nexport default CreateAlertNotificationInput;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertnotifications/CreateAlertNotificationInput.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Alert, Col, DropdownButton, MenuItem } from 'react-bootstrap';\n\nimport { EntityListItem } from 'components/common';\n\nconst UnknownAlertNotification = React.createClass({\n propTypes: {\n alertNotification: PropTypes.object.isRequired,\n onDelete: PropTypes.func.isRequired,\n },\n\n render() {\n const notification = this.props.alertNotification;\n\n const actions = [\n \n Delete\n ,\n ];\n\n const content = (\n \n \n Could not resolve notification type. This is most likely caused by a missing plugin in your Graylog setup.\n \n \n );\n return (\n \n );\n },\n});\n\nexport default UnknownAlertNotification;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/alertnotifications/UnknownAlertNotification.jsx"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy